aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/decoder/ffmpeg_decoder_plugin.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/src/decoder/ffmpeg_decoder_plugin.c b/src/decoder/ffmpeg_decoder_plugin.c
index d47356581..ea5b97d08 100644
--- a/src/decoder/ffmpeg_decoder_plugin.c
+++ b/src/decoder/ffmpeg_decoder_plugin.c
@@ -231,16 +231,18 @@ static enum sample_format
ffmpeg_sample_format(G_GNUC_UNUSED const AVCodecContext *codec_context)
{
#if LIBAVCODEC_VERSION_INT >= ((51<<16)+(41<<8)+0)
- int bits = (uint8_t) av_get_bits_per_sample_format(codec_context->sample_fmt);
+ switch (codec_context->sample_fmt) {
+ case SAMPLE_FMT_S16:
+ return SAMPLE_FORMAT_S16;
- /* XXX implement & test other sample formats */
+ case SAMPLE_FMT_S32:
+ return SAMPLE_FORMAT_S32;
- switch (bits) {
- case 16:
- return SAMPLE_FORMAT_S16;
+ default:
+ g_warning("Unsupported libavcodec SampleFormat value: %d",
+ codec_context->sample_fmt);
+ return SAMPLE_FORMAT_UNDEFINED;
}
-
- return SAMPLE_FORMAT_UNDEFINED;
#else
/* XXX fixme 16-bit for older ffmpeg (13 Aug 2007) */
return SAMPLE_FORMAT_S16;