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:
@@ -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;
|
||||||
|
|||||||
Reference in New Issue
Block a user