diff options
-rw-r--r-- | intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp | 5 | ||||
-rw-r--r-- | intern/ffmpeg/ffmpeg_compat.h | 1 |
2 files changed, 6 insertions, 0 deletions
diff --git a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp index 831e1998182..47bfe4e69b9 100644 --- a/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp +++ b/intern/audaspace/ffmpeg/AUD_FFMPEGReader.cpp @@ -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); diff --git a/intern/ffmpeg/ffmpeg_compat.h b/intern/ffmpeg/ffmpeg_compat.h index c07dc869291..8663c96a22e 100644 --- a/intern/ffmpeg/ffmpeg_compat.h +++ b/intern/ffmpeg/ffmpeg_compat.h @@ -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)) |