Check return value of frame_start(), this avoids a crash if AVCodecContext::get_buffer failed.

Not sure if returning -1 is the best possible solution but at least avoids the crash.

Originally committed as revision 17520 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Reimar Döffinger 2009-02-22 09:51:58 +00:00
parent 67d44b84c1
commit 66e6038cf1
1 changed files with 2 additions and 1 deletions

View File

@ -3792,7 +3792,8 @@ static int decode_slice_header(H264Context *h, H264Context *h0){
while(h->frame_num != h->prev_frame_num &&
h->frame_num != (h->prev_frame_num+1)%(1<<h->sps.log2_max_frame_num)){
av_log(NULL, AV_LOG_DEBUG, "Frame num gap %d %d\n", h->frame_num, h->prev_frame_num);
frame_start(h);
if (frame_start(h) < 0)
return -1;
h->prev_frame_num++;
h->prev_frame_num %= 1<<h->sps.log2_max_frame_num;
s->current_picture_ptr->frame_num= h->prev_frame_num;