diff mbox

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

Message ID CAG4UmKurT7iidYXsLzv2mCWSWWEHvL8cW_5Q8B7BGkKnY-WU6g@mail.gmail.com
State New
Headers show

Commit Message

John Rummell June 20, 2017, 8:09 p.m. UTC
Using avci->last_pkt_props works. Chromium tests work, "make fate" passes.
Updated patch:

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

Use avci->last_pkt_props to get the side data. Using |pkt| doesn't work
when FF_API_MERGE_SD is set, as the compressed side data is expanded into
|tmp|, leaving the original |pkt| unchanged.
---
 libavcodec/decode.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

             avctx->internal->skip_samples = AV_RL32(side) *
avctx->internal->skip_samples_multiplier;
             discard_padding = AV_RL32(side + 4);
diff mbox

Patch

diff --git a/libavcodec/decode.c b/libavcodec/decode.c
index 584d9d6241..f7dea930ed 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(avci->last_pkt_props,
AV_PKT_DATA_SKIP_SAMPLES, &side_size);
         if(side && side_size>=10) {