]> git.sesse.net Git - vlc/commitdiff
demux: mp4: add some missing raw audio atom/rules
authorFrancois Cartegnie <fcvlcdev@free.fr>
Thu, 16 Oct 2014 18:46:32 +0000 (20:46 +0200)
committerFrancois Cartegnie <fcvlcdev@free.fr>
Thu, 16 Oct 2014 18:46:32 +0000 (20:46 +0200)
modules/demux/mp4/essetup.c
modules/demux/mp4/libmp4.c
modules/demux/mp4/libmp4.h

index eadbb8936890540f2354dfd81fc7e0649ee7fbe0..87292e6b5a98cad37bb883fb46ef224e4c84aeb3 100644 (file)
@@ -524,19 +524,19 @@ int SetupAudioES( demux_t *p_demux, mp4_track_t *p_track, MP4_Box_t *p_sample )
             break;
         }
 
-        case VLC_FOURCC('i','n','2','4'):
+        case ATOM_in24:
             p_track->fmt.i_codec = p_enda && BOXDATA(p_enda)->i_little_endian == 1 ?
                                     VLC_FOURCC('4','2','n','i') : VLC_FOURCC('i','n','2','4');
             break;
-        case VLC_FOURCC('i','n','3','2'):
+        case ATOM_in32:
             p_track->fmt.i_codec = p_enda && BOXDATA(p_enda)->i_little_endian == 1 ?
                                     VLC_CODEC_S32L : VLC_CODEC_S32B;
             break;
-        case VLC_FOURCC('f','l','3','2'):
+        case ATOM_fl32:
             p_track->fmt.i_codec = p_enda && BOXDATA(p_enda)->i_little_endian == 1 ?
                                     VLC_CODEC_F32L : VLC_CODEC_F32B;
             break;
-        case VLC_FOURCC('f','l','6','4'):
+        case ATOM_fl64:
             p_track->fmt.i_codec = p_enda && BOXDATA(p_enda)->i_little_endian == 1 ?
                                     VLC_CODEC_F64L : VLC_CODEC_F64B;
             break;
index 9ce70c2c45689492d5cb4155b8c8dc9953aa779b..53f4a32426e3b485b50cf387d65bcced3a87dbd5 100644 (file)
@@ -3524,6 +3524,10 @@ static const struct
     { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_stsd },
     { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_mp4a }, /* some quicktime mp4a/wave/mp4a.. */
     { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_WMA2 }, /* flip4mac */
+    { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_in24 },
+    { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_in32 },
+    { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_fl32 },
+    { ATOM_wave,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_fl64 },
     { ATOM_ilst,    MP4_ReadBox_ilst,         MP4_FreeBox_Common, ATOM_meta },
     { ATOM_mvex,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_moov },
     { ATOM_mvex,    MP4_ReadBoxContainer,     MP4_FreeBox_Common, ATOM_ftyp },
index 041644cf72bdc7a09faf5499fc3e2b7ec47f664c..6abfc2975f6634891f847d2a078cbe5dbe15672c 100644 (file)
 #define ATOM_gnre VLC_FOURCC( 'g', 'n', 'r', 'e' )
 #define ATOM_trkn VLC_FOURCC( 't', 'r', 'k', 'n' )
 #define ATOM_chan VLC_FOURCC( 'c', 'h', 'a', 'n' )
+#define ATOM_in24 VLC_FOURCC( 'i', 'n', '2', '4' )
+#define ATOM_in32 VLC_FOURCC( 'i', 'n', '3', '2' )
+#define ATOM_fl32 VLC_FOURCC( 'f', 'l', '3', '2' )
+#define ATOM_fl64 VLC_FOURCC( 'f', 'l', '6', '4' )
 
 #define ATOM_zlib VLC_FOURCC( 'z', 'l', 'i', 'b' )
 #define ATOM_SVQ1 VLC_FOURCC( 'S', 'V', 'Q', '1' )