Commit f659b744 authored by Jean-Baptiste Kempf's avatar Jean-Baptiste Kempf

MP4: support more Metadata tags

parent a5cf9514
...@@ -3244,6 +3244,20 @@ static const struct ...@@ -3244,6 +3244,20 @@ static const struct
{ ATOM_0xa9PRD, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx }, { ATOM_0xa9PRD, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9grp, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx }, { ATOM_0xa9grp, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9lyr, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx }, { ATOM_0xa9lyr, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9gen, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9st3, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9ard, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9arg, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9cak, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9con, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9des, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9lnt, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9phg, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9pub, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9sne, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9sol, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9thx, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_0xa9xpd, MP4_ReadBox_0xa9xxx, MP4_FreeBox_0xa9xxx },
{ ATOM_chpl, MP4_ReadBox_chpl, MP4_FreeBox_chpl }, { ATOM_chpl, MP4_ReadBox_chpl, MP4_FreeBox_chpl },
......
...@@ -239,7 +239,21 @@ ...@@ -239,7 +239,21 @@
#define ATOM_0xa9mod VLC_FOURCC( 0xa9, 'm', 'o', 'd' ) #define ATOM_0xa9mod VLC_FOURCC( 0xa9, 'm', 'o', 'd' )
#define ATOM_0xa9PRD VLC_FOURCC( 0xa9, 'P', 'R', 'D' ) #define ATOM_0xa9PRD VLC_FOURCC( 0xa9, 'P', 'R', 'D' )
#define ATOM_0xa9grp VLC_FOURCC( 0xa9, 'g', 'r', 'p' ) #define ATOM_0xa9grp VLC_FOURCC( 0xa9, 'g', 'r', 'p' )
#define ATOM_0xa9lyr VLC_FOURCC( 0xa9, 'g', 'r', 'p' ) #define ATOM_0xa9lyr VLC_FOURCC( 0xa9, 'l', 'y', 'r' )
#define ATOM_0xa9gen VLC_FOURCC( 0xa9, 'g', 'e', 'n' )
#define ATOM_0xa9st3 VLC_FOURCC( 0xa9, 's', 't', '3' )
#define ATOM_0xa9ard VLC_FOURCC( 0xa9, 'a', 'r', 'd' )
#define ATOM_0xa9arg VLC_FOURCC( 0xa9, 'a', 'r', 'g' )
#define ATOM_0xa9cak VLC_FOURCC( 0xa9, 'c', 'a', 'k' )
#define ATOM_0xa9con VLC_FOURCC( 0xa9, 'c', 'o', 'n' )
#define ATOM_0xa9des VLC_FOURCC( 0xa9, 'd', 'e', 's' )
#define ATOM_0xa9lnt VLC_FOURCC( 0xa9, 'l', 'n', 't' )
#define ATOM_0xa9phg VLC_FOURCC( 0xa9, 'p', 'h', 'g' )
#define ATOM_0xa9pub VLC_FOURCC( 0xa9, 'p', 'u', 'b' )
#define ATOM_0xa9sne VLC_FOURCC( 0xa9, 's', 'n', 'e' )
#define ATOM_0xa9sol VLC_FOURCC( 0xa9, 's', 'o', 'l' )
#define ATOM_0xa9thx VLC_FOURCC( 0xa9, 't', 'h', 'x' )
#define ATOM_0xa9xpd VLC_FOURCC( 0xa9, 'x', 'p', 'd' )
#define ATOM_chpl VLC_FOURCC( 'c', 'h', 'p', 'l' ) #define ATOM_chpl VLC_FOURCC( 'c', 'h', 'p', 'l' )
#define ATOM_WLOC VLC_FOURCC( 'W', 'L', 'O', 'C' ) #define ATOM_WLOC VLC_FOURCC( 'W', 'L', 'O', 'C' )
......
...@@ -861,6 +861,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) ...@@ -861,6 +861,10 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
SET( vlc_meta_SetEncodedBy ); SET( vlc_meta_SetEncodedBy );
break; break;
case ATOM_0xa9pub:
SET( vlc_meta_SetPublisher );
break;
default: default:
break; break;
} }
...@@ -883,10 +887,24 @@ static int Control( demux_t *p_demux, int i_query, va_list args ) ...@@ -883,10 +887,24 @@ static int Control( demux_t *p_demux, int i_query, va_list args )
{ ATOM_0xa9wrn, N_("Warning") }, { ATOM_0xa9wrn, N_("Warning") },
{ ATOM_0xa9swr, N_("Software") }, { ATOM_0xa9swr, N_("Software") },
{ ATOM_0xa9lyr, N_("Lyrics") }, { ATOM_0xa9lyr, N_("Lyrics") },
{ ATOM_0xa9mak, N_("Make") }, { ATOM_0xa9mak, N_("Record Company") },
{ ATOM_0xa9mod, N_("Model") }, { ATOM_0xa9mod, N_("Model") },
{ ATOM_0xa9PRD, N_("Product") }, { ATOM_0xa9PRD, N_("Product") },
{ ATOM_0xa9grp, N_("Grouping") }, { ATOM_0xa9grp, N_("Grouping") },
{ ATOM_0xa9gen, N_("Genre") },
{ ATOM_0xa9st3, N_("Sub-Title") },
{ ATOM_0xa9arg, N_("Arranger") },
{ ATOM_0xa9ard, N_("Art Director") },
{ ATOM_0xa9cak, N_("Copyright Acknowledgement") },
{ ATOM_0xa9con, N_("Conductor") },
{ ATOM_0xa9des, N_("Song Description") },
{ ATOM_0xa9lnt, N_("Liner Notes") },
{ ATOM_0xa9phg, N_("Phonogram Rights") },
{ ATOM_0xa9pub, N_("Publisher") },
{ ATOM_0xa9sne, N_("Sound Engineer") },
{ ATOM_0xa9sol, N_("Soloist") },
{ ATOM_0xa9thx, N_("Thanks") },
{ ATOM_0xa9xpd, N_("Executive Producer") },
{ 0, "" }, { 0, "" },
}; };
for( unsigned i = 0; xa9typetoextrameta[i].xa9_type; i++ ) for( unsigned i = 0; xa9typetoextrameta[i].xa9_type; i++ )
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment