From 4ee3b353e9229eebf5599e4bea7b81a976fca8af Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 18 Dec 2003 09:31:48 +0000 Subject: Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding... Original commit message from CVS: Sorry Dave... Add mpegversion=1 to mp3 caps everywhere so that the autoplugger uses mad and not faad for mp3 decoding. This should fix mp3 playback. --- ext/ffmpeg/gstffmpegcodecmap.c | 48 +++++++++++++++++++++++++----------------- 1 file changed, 29 insertions(+), 19 deletions(-) diff --git a/ext/ffmpeg/gstffmpegcodecmap.c b/ext/ffmpeg/gstffmpegcodecmap.c index d18e18b02a..1bbd1869ea 100644 --- a/ext/ffmpeg/gstffmpegcodecmap.c +++ b/ext/ffmpeg/gstffmpegcodecmap.c @@ -111,14 +111,16 @@ gst_ffmpeg_codecid_to_caps (enum CodecID codec_id, case CODEC_ID_MP2: caps = GST_FF_AUD_CAPS_NEW ("ffmpeg_mp2", "audio/mpeg", - "layer", GST_PROPS_INT (2) + "mpegversion", GST_PROPS_INT (1), + "layer", GST_PROPS_INT (2) ); break; case CODEC_ID_MP3LAME: caps = GST_FF_AUD_CAPS_NEW ("ffmpeg_mp3", "audio/mpeg", - "layer", GST_PROPS_INT (3) + "mpegversion", GST_PROPS_INT (1), + "layer", GST_PROPS_INT (3) ); break; @@ -1261,29 +1263,37 @@ gst_ffmpeg_caps_to_codecid (GstCaps *caps, } else if (!strcmp(mimetype, "audio/mpeg")) { - if (gst_caps_has_property (caps, "layer")) { - gint layer = 0; + if (gst_caps_has_property (caps, "mpegversion")) { + gint mpegversion = 0; - gst_caps_get_int (caps, "layer", &layer); - switch (layer) { - case 1: - case 2: - id = CODEC_ID_MP2; - break; - case 3: - id = CODEC_ID_MP3LAME; + gst_caps_get_int (caps, "mpegversion", &mpegversion); + switch (mpegversion) { + case 2: /* ffmpeg uses faad for both... */ + case 4: + id = CODEC_ID_MPEG4AAC; break; + case 1: + if (gst_caps_has_property (caps, "layer")) { + gint layer = 0; + + gst_caps_get_int (caps, "layer", &layer); + switch (layer) { + case 1: + case 2: + id = CODEC_ID_MP2; + break; + case 3: + id = CODEC_ID_MP3; + break; + default: + /* ... */ + break; + } + } default: /* ... */ break; } - } else if (gst_caps_has_property (caps, "mpegversion")) { - gint mpegversion = 0; - - gst_caps_get_int (caps, "mpegversion", &mpegversion); - if (mpegversion == 4) { - id = CODEC_ID_MPEG4AAC; - } } if (id != CODEC_ID_NONE) { -- cgit v1.2.3-70-g09d2