ffmpeg | branch: master | James Almer <jamr...@gmail.com> | Mon Jun 6 01:14:11 2016 -0300| [49b024663501320310ec729f3bd15d0420bd9e59] | committer: James Almer
avformat/matroskadec: force 48kHz sample rate when rescaling Opus inital padding Mkvtoolnix stores the sample rate of the original stream as reported by the "OpusHead" stream header instead of 48kHz, the actual sample rate of the Opus stream. Ignoring the stored sample rate and forcing 48kHz preserves the correct initial padding when remuxing such files. Reviewed-by: Michael Niedermayer <mich...@niedermayer.cc> Signed-off-by: James Almer <jamr...@gmail.com> > http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=49b024663501320310ec729f3bd15d0420bd9e59 --- libavformat/matroskadec.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/libavformat/matroskadec.c b/libavformat/matroskadec.c index 3270009..7880a10 100644 --- a/libavformat/matroskadec.c +++ b/libavformat/matroskadec.c @@ -2353,7 +2353,8 @@ static int matroska_parse_tracks(AVFormatContext *s) if (track->codec_delay > 0) { st->codecpar->initial_padding = av_rescale_q(track->codec_delay, (AVRational){1, 1000000000}, - (AVRational){1, st->codecpar->sample_rate}); + (AVRational){1, st->codecpar->codec_id == AV_CODEC_ID_OPUS ? + 48000 : st->codecpar->sample_rate}); } if (track->seek_preroll > 0) { st->codecpar->seek_preroll = av_rescale_q(track->seek_preroll, _______________________________________________ ffmpeg-cvslog mailing list ffmpeg-cvslog@ffmpeg.org http://ffmpeg.org/mailman/listinfo/ffmpeg-cvslog