From 05de0ecec3ef32a04ffcf91fe7c690529735d59f Mon Sep 17 00:00:00 2001 From: Max Kellermann Date: Tue, 23 Aug 2016 09:37:19 +0200 Subject: [PATCH] decoder/ffmpeg: call avcodec_parameters_to_context() These bug reports describe problems with some FFmpeg codecs: https://bugs.musicpd.org/view.php?id=4564 https://bugs.musicpd.org/view.php?id=4568 https://bugs.musicpd.org/view.php?id=4572 According to the FFmpeg bug tracker, a call to avcodec_parameters_to_context() is required after avcodec_alloc_context3(): https://trac.ffmpeg.org/ticket/5781 This requirement was previously undocumented. --- NEWS | 1 + src/decoder/plugins/FfmpegDecoderPlugin.cxx | 2 ++ 2 files changed, 3 insertions(+) diff --git a/NEWS b/NEWS index 65f8950a6..33ab0f476 100644 --- a/NEWS +++ b/NEWS @@ -1,5 +1,6 @@ ver 0.19.19 (not yet released) * decoder + - ffmpeg: bug fix for FFmpeg 3.1 support - wildmidi: support libWildMidi 0.4 * output - pulse: support 32 bit, 24 bit and floating point playback diff --git a/src/decoder/plugins/FfmpegDecoderPlugin.cxx b/src/decoder/plugins/FfmpegDecoderPlugin.cxx index 7695dcb4f..ca1f3c0f8 100644 --- a/src/decoder/plugins/FfmpegDecoderPlugin.cxx +++ b/src/decoder/plugins/FfmpegDecoderPlugin.cxx @@ -547,6 +547,8 @@ FfmpegDecode(Decoder &decoder, InputStream &input, AtScopeExit(&codec_context) { avcodec_free_context(&codec_context); }; + + avcodec_parameters_to_context(codec_context, av_stream.codecpar); #endif const SampleFormat sample_format =