{ ATOM_covr, MP4_ReadBoxContainer, MP4_FreeBox_Common, ATOM_ilst },
{ ATOM_disk, MP4_ReadBox_Metadata, MP4_FreeBox_Common, ATOM_ilst },
{ ATOM_gnre, MP4_ReadBox_Metadata, MP4_FreeBox_Common, ATOM_ilst },
+ { ATOM_rtng, MP4_ReadBox_Metadata, MP4_FreeBox_Common, ATOM_ilst },
{ ATOM_trkn, MP4_ReadBox_Metadata, MP4_FreeBox_Common, ATOM_ilst },
/* udta */
#define ATOM_ilst VLC_FOURCC( 'i', 'l', 's', 't' )
#define ATOM_cnID VLC_FOURCC( 'c', 'n', 'I', 'D' )
#define ATOM_covr VLC_FOURCC( 'c', 'o', 'v', 'r' )
+#define ATOM_rtng VLC_FOURCC( 'r', 't', 'n', 'g' )
#define ATOM_chap VLC_FOURCC( 'c', 'h', 'a', 'p' )
#define ATOM_SDLN VLC_FOURCC( 'S', 'D', 'L', 'N' )
}
break;
}
+ case ATOM_rtng:
+ {
+ if ( p_data && BOXDATA(p_data) && BOXDATA(p_data)->i_blob >= 1 )
+ {
+ const char *psz_rating;
+ switch( *BOXDATA(p_data)->p_blob )
+ {
+ case 0x4:
+ psz_rating = N_("Explicit");
+ break;
+ case 0x2:
+ psz_rating = N_("Clean");
+ break;
+ default:
+ case 0x0:
+ psz_rating = N_("None");
+ break;
+ }
+ vlc_meta_AddExtra( p_meta, N_("Rating"), psz_rating );
+ }
+ }
case ATOM_trkn:
{
if ( p_data && BOXDATA(p_data) && BOXDATA(p_data)->i_blob >= 4 &&