[FFmpeg-devel] [PATCH] Update decode_simple_internal() to get the side data correctly.
James Almer
jamrial at gmail.com
Tue Jun 20 23:34:41 EEST 2017
On 6/20/2017 5:09 PM, John Rummell wrote:
> 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 at chromium.org <mailto: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.
>
> 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(-)
>
> 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) {
> avctx->internal->skip_samples = AV_RL32(side) *
> avctx->internal->skip_samples_multiplier;
> discard_padding = AV_RL32(side + 4);
> --
> 2.13.1.518.g3df882009-goog
Pushed, thanks.
More information about the ffmpeg-devel
mailing list