h264: reset next_output_pic earlier in start_frame()

In case start_frame() fails, this potentially invalid frame can still be
output to the caller.

Bug-Id: 672
Bug-Id: debian/741240
Bug-Id: ubuntu/1288206
This commit is contained in:
Anton Khirnov
2014-04-23 22:26:40 +02:00
parent cf7bb6ceb1
commit 945a1b7ab9

View File

@@ -1290,6 +1290,8 @@ int ff_h264_frame_start(H264Context *h)
int i; int i;
const int pixel_shift = h->pixel_shift; const int pixel_shift = h->pixel_shift;
h->next_output_pic = NULL;
if (ff_MPV_frame_start(s, s->avctx) < 0) if (ff_MPV_frame_start(s, s->avctx) < 0)
return -1; return -1;
ff_er_frame_start(s); ff_er_frame_start(s);
@@ -1341,8 +1343,6 @@ int ff_h264_frame_start(H264Context *h)
s->current_picture_ptr->field_poc[0] = s->current_picture_ptr->field_poc[0] =
s->current_picture_ptr->field_poc[1] = INT_MAX; s->current_picture_ptr->field_poc[1] = INT_MAX;
h->next_output_pic = NULL;
assert(s->current_picture_ptr->long_ref == 0); assert(s->current_picture_ptr->long_ref == 0);
return 0; return 0;