Commit 01f5b9c5 authored by Philip Langdale's avatar Philip Langdale

h264_parser: Fix behaviour when PARSER_FLAG_COMPLETE_FRAMES is set.

Currently, the parser is buggy and only processes the stream extradata
when the flag is set. This fixes it to actually inspect the frames.

Whitespce will be fixed in a separate change.
Signed-off-by: 's avatarPhilip Langdale <philipl@overt.org>
parent eb79c528
...@@ -270,6 +270,7 @@ static int h264_parse(AVCodecParserContext *s, ...@@ -270,6 +270,7 @@ static int h264_parse(AVCodecParserContext *s,
assert(pc->last_index + next >= 0 ); assert(pc->last_index + next >= 0 );
ff_h264_find_frame_end(h, &pc->buffer[pc->last_index + next], -next); //update state ff_h264_find_frame_end(h, &pc->buffer[pc->last_index + next], -next); //update state
} }
}
parse_nal_units(s, avctx, buf, buf_size); parse_nal_units(s, avctx, buf, buf_size);
...@@ -282,10 +283,10 @@ static int h264_parse(AVCodecParserContext *s, ...@@ -282,10 +283,10 @@ static int h264_parse(AVCodecParserContext *s,
s->dts_ref_dts_delta = INT_MIN; s->dts_ref_dts_delta = INT_MIN;
s->pts_dts_delta = INT_MIN; s->pts_dts_delta = INT_MIN;
} }
if (s->flags & PARSER_FLAG_ONCE) { if (s->flags & PARSER_FLAG_ONCE) {
s->flags &= PARSER_FLAG_COMPLETE_FRAMES; s->flags &= PARSER_FLAG_COMPLETE_FRAMES;
} }
}
*poutbuf = buf; *poutbuf = buf;
*poutbuf_size = buf_size; *poutbuf_size = buf_size;
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment