mirror of
https://github.com/FFmpeg/FFmpeg.git
synced 2024-11-21 10:55:51 +02:00
avcodec/opus_parser: Handle complete frames flag.
Signed-off-by: Jacob Trimble <modmaker@google.com> Signed-off-by: James Almer <jamrial@gmail.com>
This commit is contained in:
parent
955a989341
commit
7e0df5910e
@ -170,6 +170,10 @@ static int opus_parse(AVCodecParserContext *ctx, AVCodecContext *avctx,
|
|||||||
ParseContext *pc = &s->pc;
|
ParseContext *pc = &s->pc;
|
||||||
int next, header_len;
|
int next, header_len;
|
||||||
|
|
||||||
|
if (ctx->flags & PARSER_FLAG_COMPLETE_FRAMES) {
|
||||||
|
next = buf_size;
|
||||||
|
header_len = 0;
|
||||||
|
} else {
|
||||||
next = opus_find_frame_end(ctx, avctx, buf, buf_size, &header_len);
|
next = opus_find_frame_end(ctx, avctx, buf, buf_size, &header_len);
|
||||||
|
|
||||||
if (s->ts_framing && next != AVERROR_INVALIDDATA &&
|
if (s->ts_framing && next != AVERROR_INVALIDDATA &&
|
||||||
@ -184,6 +188,7 @@ static int opus_parse(AVCodecParserContext *ctx, AVCodecContext *avctx,
|
|||||||
*poutbuf_size = 0;
|
*poutbuf_size = 0;
|
||||||
return buf_size;
|
return buf_size;
|
||||||
}
|
}
|
||||||
|
}
|
||||||
|
|
||||||
*poutbuf = buf + header_len;
|
*poutbuf = buf + header_len;
|
||||||
*poutbuf_size = buf_size - header_len;
|
*poutbuf_size = buf_size - header_len;
|
||||||
|
Loading…
Reference in New Issue
Block a user