[FFmpeg-devel] [PATCH] Update decode_simple_internal() to get the side data correctly.

John Rummell jrummell at chromium.org
Thu Jun 15 03:04:56 EEST 2017


>From 6418fc43b06cea4cf49e410d474ae92022c4dbd1 Mon Sep 17 00:00:00 2001
From: John Rummell <jrummell at chromium.org>
Date: Wed, 14 Jun 2017 14:43:04 -0700
Subject: [PATCH] Update decode_simple_internal() to get the side data
correctly.

When FF_API_MERGE_SD is set, the compressed side data is expanded into
|tmp|,
leaving the original |pkt| unchanged. So when retrieving side data, get it
from |tmp|. If the side data is not compressed, |tmp| is a copy of |pkt|
so the side data should be accessible from either.
---
 libavcodec/decode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 584d9d6241..327fb8ccb7 100644
--- a/libavcodec/decode.c
+++ b/libavcodec/decode.c
@@ -462,7 +462,7 @@ FF_ENABLE_DEPRECATION_WARNINGS
                 frame->sample_rate = avctx->sample_rate;
         }

-        side= av_packet_get_side_data(pkt, AV_PKT_DATA_SKIP_SAMPLES,
&side_size);
+        side= av_packet_get_side_data(&tmp, AV_PKT_DATA_SKIP_SAMPLES,
&side_size);
         if(side && side_size>=10) {
             avctx->internal->skip_samples = AV_RL32(side) *
avctx->internal->skip_samples_multiplier;
             discard_padding = AV_RL32(side + 4);
-- 
2.13.1.518.g3df882009-goog


More information about the ffmpeg-devel mailing list