+
+ case DEMUX_GET_META:
+ {
+ vlc_meta_t **pp_meta = (vlc_meta_t**)va_arg( args, vlc_meta_t** );
+ vlc_meta_t *meta;
+ MP4_Box_t *p_udta = MP4_BoxGet( p_sys->p_root, "/moov/udta" );
+ MP4_Box_t *p_0xa9xxx;
+ if( p_udta == NULL )
+ {
+ return VLC_EGENERIC;
+ }
+ *pp_meta = meta = vlc_meta_New();
+ for( p_0xa9xxx = p_udta->p_first; p_0xa9xxx != NULL;
+ p_0xa9xxx = p_0xa9xxx->p_next )
+ {
+ switch( p_0xa9xxx->i_type )
+ {
+ case FOURCC_0xa9nam: /* Full name */
+ vlc_meta_Add( meta, VLC_META_TITLE,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+ case FOURCC_0xa9aut:
+ vlc_meta_Add( meta, VLC_META_AUTHOR,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+ case FOURCC_0xa9ART:
+ vlc_meta_Add( meta, VLC_META_ARTIST,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+ case FOURCC_0xa9cpy:
+ vlc_meta_Add( meta, VLC_META_COPYRIGHT,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+ case FOURCC_0xa9day: /* Creation Date */
+ vlc_meta_Add( meta, VLC_META_DATE,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+ case FOURCC_0xa9des: /* Description */
+ vlc_meta_Add( meta, VLC_META_DESCRIPTION,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+ case FOURCC_0xa9gen: /* Genre */
+ vlc_meta_Add( meta, VLC_META_GENRE,
+ p_0xa9xxx->data.p_0xa9xxx->psz_text );
+ break;
+
+ case FOURCC_0xa9swr:
+ case FOURCC_0xa9inf: /* Information */
+ case FOURCC_0xa9alb: /* Album */
+ case FOURCC_0xa9dir: /* Director */
+ case FOURCC_0xa9dis: /* Disclaimer */
+ case FOURCC_0xa9enc: /* Encoded By */
+ case FOURCC_0xa9trk: /* Track */
+ case FOURCC_0xa9cmt: /* Commment */
+ case FOURCC_0xa9url: /* URL */
+ case FOURCC_0xa9req: /* Requirements */
+ case FOURCC_0xa9fmt: /* Original Format */
+ case FOURCC_0xa9dsa: /* Display Source As */
+ case FOURCC_0xa9hst: /* Host Computer */
+ case FOURCC_0xa9prd: /* Producer */
+ case FOURCC_0xa9prf: /* Performers */
+ case FOURCC_0xa9ope: /* Original Performer */
+ case FOURCC_0xa9src: /* Providers Source Content */
+ case FOURCC_0xa9wrt: /* Writer */
+ case FOURCC_0xa9com: /* Composer */
+ case FOURCC_WLOC: /* Window Location */
+ /* TODO one day, but they aren't really meaningfull */
+ break;
+
+ default:
+ break;
+ }
+ }
+ return VLC_SUCCESS;
+ }
+
+ case DEMUX_GET_TITLE_INFO:
+ case DEMUX_SET_NEXT_DEMUX_TIME:
+ case DEMUX_SET_GROUP:
+ return VLC_EGENERIC;
+