ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Sun Nov 15 18:55:39 2020 -0300| [3b8400c221983c9b1c894532d275af03144f8834] | committer: James Almer
avcodec/cbs: allow cbs_read_fragment_content() to skip decomposition of units The caller may not need all units in a fragment in reading only scenarios. They could in fact alter global state stored in the private CodedBitstreamType fields in an undesirable way. With this change, unit decomposition can be skipped based on parsed values within the unit. Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=3b8400c221983c9b1c894532d275af03144f8834 --- libavcodec/cbs.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/libavcodec/cbs.c b/libavcodec/cbs.c index d7efac5b93..ecf22b3fdb 100644 --- a/libavcodec/cbs.c +++ b/libavcodec/cbs.c @@ -202,6 +202,12 @@ static int cbs_read_fragment_content(CodedBitstreamContext *ctx, av_log(ctx->log_ctx, AV_LOG_VERBOSE, "Decomposition unimplemented for unit %d " "(type %"PRIu32").\n", i, unit->type); + } else if (err == AVERROR(EAGAIN)) { + av_log(ctx->log_ctx, AV_LOG_VERBOSE, + "Skipping decomposition of unit %d " + "(type %"PRIu32").\n", i, unit->type); + av_buffer_unref(&unit->content_ref); + unit->content = NULL; } else if (err < 0) { av_log(ctx->log_ctx, AV_LOG_ERROR, "Failed to read unit %d " "(type %"PRIu32").\n", i, unit->type); _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org https://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog To unsubscribe, visit link above, or email ffmpeg-cvslog-requ...@ffmpeg.org with subject "unsubscribe".