]> git.sesse.net Git - vlc/commitdiff
differentiate mpga (layer 2) and mp3 (layer 3) codecs
authorIlkka Ollakka <ileoo@videolan.org>
Mon, 6 Jan 2014 20:15:55 +0000 (22:15 +0200)
committerIlkka Ollakka <ileoo@videolan.org>
Fri, 10 Jan 2014 11:36:46 +0000 (13:36 +0200)
Fixes #10318

include/vlc_codecs.h
modules/audio_filter/converter/mpgatofixed32.c
modules/codec/avcodec/encoder.c
modules/codec/avcodec/fourcc.c
modules/codec/mpeg_audio.c

index af3fba5980ecc2f7978150eb4393aa9794c6bd69..0e7b59cfa645477f49bfa43b8187073fcb8b2c3d 100644 (file)
@@ -374,7 +374,7 @@ wave_format_tag_to_fourcc[] =
     { WAVE_FORMAT_G723_1,     VLC_CODEC_G723_1,                 "G.723.1" },
     { WAVE_FORMAT_MSG723,     VLC_CODEC_G723_1,                 "Microsoft G.723 [G723.1]" },
     { WAVE_FORMAT_VIVOG723,   VLC_CODEC_G723_1,                 "Vivo G.723.1" },
-    { WAVE_FORMAT_MPEGLAYER3, VLC_CODEC_MPGA,                   "Mpeg Audio" },
+    { WAVE_FORMAT_MPEGLAYER3, VLC_CODEC_MP3,                    "Mpeg Audio Layer 3" },
     { WAVE_FORMAT_MPEG,       VLC_CODEC_MPGA,                   "Mpeg Audio" },
     { WAVE_FORMAT_AMR_NB,     VLC_CODEC_AMR_NB,                 "AMR NB" },
     { WAVE_FORMAT_AMR_WB,     VLC_CODEC_AMR_WB,                 "AMR Wideband" },
index 781af870c9d00b1c6d5b30684849a8a62288da64..34714e8766ecb984f5e12873216e8a69c6eae8ac 100644 (file)
@@ -156,6 +156,7 @@ static int OpenFilter( vlc_object_t *p_this )
     filter_sys_t *p_sys;
 
     if( p_filter->fmt_in.audio.i_format != VLC_CODEC_MPGA &&
+        p_filter->fmt_in.audio.i_format != VLC_CODEC_MP3 &&
         p_filter->fmt_in.audio.i_format != VLC_FOURCC('m','p','g','3') )
         return VLC_EGENERIC;
 
index 8203fe660cd91296afeea6e1b27793b07f4cd2e3..ac0f8973c60e369491850a069cce8d1d5b57478e 100644 (file)
@@ -220,19 +220,7 @@ int OpenEncoder( vlc_object_t *p_this )
 
     config_ChainParse( p_enc, ENC_CFG_PREFIX, ppsz_enc_options, p_enc->p_cfg );
 
-    if( p_enc->fmt_out.i_codec == VLC_CODEC_MP3 )
-    {
-        i_cat = AUDIO_ES;
-        i_codec_id = AV_CODEC_ID_MP3;
-        psz_namecodec = "MPEG I/II Layer 3";
-    }
-    else if( p_enc->fmt_out.i_codec == VLC_CODEC_MP2 )
-    {
-        i_cat = AUDIO_ES;
-        i_codec_id = AV_CODEC_ID_MP2;
-        psz_namecodec = "MPEG I/II Layer 2";
-    }
-    else if( p_enc->fmt_out.i_codec == VLC_CODEC_MP1V )
+    if( p_enc->fmt_out.i_codec == VLC_CODEC_MP1V )
     {
         i_cat = VIDEO_ES;
         i_codec_id = AV_CODEC_ID_MPEG1VIDEO;
index 5dd2360f4755ebc0c869d7bec8b5df301e78ace1..2afdfa588ec9635adb26d9b272b4a2e42708b0f7 100644 (file)
@@ -365,8 +365,9 @@ static const struct
     /* AV_CODEC_ID_SOL_DPCM */
 
     /* audio codecs */
-    { VLC_CODEC_MPGA, AV_CODEC_ID_MP3, AUDIO_ES }, /* prefer MP3 over MP2 */
+    { VLC_CODEC_MP3, AV_CODEC_ID_MP3, AUDIO_ES },
     { VLC_CODEC_MPGA, AV_CODEC_ID_MP2, AUDIO_ES },
+    { VLC_CODEC_MP2, AV_CODEC_ID_MP2, AUDIO_ES },
     { VLC_CODEC_MP4A, AV_CODEC_ID_AAC, AUDIO_ES },
     { VLC_CODEC_A52, AV_CODEC_ID_AC3, AUDIO_ES },
     { VLC_CODEC_DTS, AV_CODEC_ID_DTS, AUDIO_ES },
index 8a1daba67f38e19a251c6ca5837860ea77b2bd33..e67abeba49e0d0a6e606fd60dba42c2a490c68f9 100644 (file)
@@ -124,7 +124,8 @@ static int Open( vlc_object_t *p_this )
     decoder_t *p_dec = (decoder_t*)p_this;
     decoder_sys_t *p_sys;
 
-    if( p_dec->fmt_in.i_codec != VLC_CODEC_MPGA )
+    if(( p_dec->fmt_in.i_codec != VLC_CODEC_MPGA ) &&
+       ( p_dec->fmt_in.i_codec != VLC_CODEC_MP3 ) )
     {
         return VLC_EGENERIC;
     }