[vlc-commits] demux: mp4: add some missing raw audio atom/rules

Francois Cartegnie git at videolan.org
Thu Oct 16 20:57:22 CEST 2014


vlc | branch: master | Francois Cartegnie <fcvlcdev at free.fr> | Thu Oct 16 20:46:32 2014 +0200| [89f99df872437b3a144fa113629e99d54db31832] | committer: Francois Cartegnie

demux: mp4: add some missing raw audio atom/rules

> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=89f99df872437b3a144fa113629e99d54db31832
---

 modules/demux/mp4/essetup.c |    8 ++++----
 modules/demux/mp4/libmp4.c  |    4 ++++
 modules/demux/mp4/libmp4.h  |    4 ++++
 3 files changed, 12 insertions(+), 4 deletions(-)

diff --git a/modules/demux/mp4/essetup.c b/modules/demux/mp4/essetup.c
index eadbb89..87292e6 100644
--- a/modules/demux/mp4/essetup.c
+++ b/modules/demux/mp4/essetup.c
@@ -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;
diff --git a/modules/demux/mp4/libmp4.c b/modules/demux/mp4/libmp4.c
index 9ce70c2..53f4a32 100644
--- a/modules/demux/mp4/libmp4.c
+++ b/modules/demux/mp4/libmp4.c
@@ -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 },
diff --git a/modules/demux/mp4/libmp4.h b/modules/demux/mp4/libmp4.h
index 041644c..6abfc29 100644
--- a/modules/demux/mp4/libmp4.h
+++ b/modules/demux/mp4/libmp4.h
@@ -152,6 +152,10 @@
 #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' )



More information about the vlc-commits mailing list