From 903dedd64f94769a7eda0d4f51ac383aa8b9b39a Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 20 Apr 2010 20:22:49 +0000 Subject: Add workaround for aac-sbr-ffaac-slow.mkv playing to slow with FFmpeg AAC decoder due to wrong sample rate in container. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31051 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ad_ffmpeg.c | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c index bf2de83c97..afbbc72396 100644 --- a/libmpcodecs/ad_ffmpeg.c +++ b/libmpcodecs/ad_ffmpeg.c @@ -146,6 +146,11 @@ static int init(sh_audio_t *sh_audio) if(sh_audio->wf){ // If the decoder uses the wrong number of channels all is lost anyway. // sh_audio->channels=sh_audio->wf->nChannels; + if (lavc_context->codec_id == CODEC_ID_AAC && + sh_audio->samplerate == 2*sh_audio->wf->nSamplesPerSec) { + mp_msg(MSGT_DECAUDIO, MSGL_WARN, + "Ignoring broken container sample rate for ACC with SBR\n"); + } else if (sh_audio->wf->nSamplesPerSec) sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; if (sh_audio->wf->nAvgBytesPerSec) -- cgit v1.2.3 From 06c61307108a7231682e42b414acd3ffe6008b33 Mon Sep 17 00:00:00 2001 From: reimar Date: Tue, 20 Apr 2010 20:24:01 +0000 Subject: Cosmetics/indentation fixes. git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@31052 b3059339-0415-0410-9bf9-f77b7e298cf2 --- libmpcodecs/ad_ffmpeg.c | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) diff --git a/libmpcodecs/ad_ffmpeg.c b/libmpcodecs/ad_ffmpeg.c index afbbc72396..9d1b8356ad 100644 --- a/libmpcodecs/ad_ffmpeg.c +++ b/libmpcodecs/ad_ffmpeg.c @@ -146,15 +146,16 @@ static int init(sh_audio_t *sh_audio) if(sh_audio->wf){ // If the decoder uses the wrong number of channels all is lost anyway. // sh_audio->channels=sh_audio->wf->nChannels; + if (lavc_context->codec_id == CODEC_ID_AAC && sh_audio->samplerate == 2*sh_audio->wf->nSamplesPerSec) { mp_msg(MSGT_DECAUDIO, MSGL_WARN, "Ignoring broken container sample rate for ACC with SBR\n"); - } else - if (sh_audio->wf->nSamplesPerSec) - sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; + } else if (sh_audio->wf->nSamplesPerSec) + sh_audio->samplerate=sh_audio->wf->nSamplesPerSec; + if (sh_audio->wf->nAvgBytesPerSec) - sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec; + sh_audio->i_bps=sh_audio->wf->nAvgBytesPerSec; } sh_audio->samplesize=af_fmt2bits(sh_audio->sample_format)/ 8; return 1; -- cgit v1.2.3