Fix/workaround for newer FFmpeg 1.1.3 and MP3 decoder

FFmpeg is now using S16P sampler for MP3 which is not actually
supported by audaspace, so request for S16 sampler instead.
This commit is contained in:
Sergey Sharybin 2013-02-28 18:28:08 +00:00
parent 402f2159fa
commit d7e427beff
2 changed files with 6 additions and 0 deletions

@ -133,6 +133,11 @@ void AUD_FFMPEGReader::init()
if(!aCodec)
AUD_THROW(AUD_ERROR_FFMPEG, nodecoder_error);
#ifdef FFMPEG_SAMPLE_FMT_S16P_SUPPORTED
if(m_codecCtx->sample_fmt == AV_SAMPLE_FMT_S16P)
m_codecCtx->request_sample_fmt = AV_SAMPLE_FMT_S16;
#endif
if(avcodec_open2(m_codecCtx, aCodec, NULL) < 0)
AUD_THROW(AUD_ERROR_FFMPEG, codecopen_error);

@ -74,6 +74,7 @@
#if ((LIBAVUTIL_VERSION_MAJOR > 51) || (LIBAVUTIL_VERSION_MAJOR == 51) && (LIBAVUTIL_VERSION_MINOR >= 32))
#define FFMPEG_FFV1_ALPHA_SUPPORTED
#define FFMPEG_SAMPLE_FMT_S16P_SUPPORTED
#endif
#if ((LIBAVUTIL_VERSION_MAJOR < 51) || (LIBAVUTIL_VERSION_MAJOR == 51) && (LIBAVUTIL_VERSION_MINOR < 22))