diff options
author | Vittorio Giovara <vittorio.giovara@gmail.com> | 2014-11-28 23:25:20 +0000 |
---|---|---|
committer | Vittorio Giovara <vittorio.giovara@gmail.com> | 2014-12-08 14:28:09 +0000 |
commit | e2e07dbaab1f17e995842b7eacec4665d44c3d14 (patch) | |
tree | 85deb1b2e1eca1b4c76d257ca7efd657dcd0fc8b /libavformat | |
parent | b704b648f9ecb830874627db958a37e004107d1b (diff) | |
download | ffmpeg-e2e07dbaab1f17e995842b7eacec4665d44c3d14.tar.gz |
mov: expand the list of parsed metadata tags
Based on L-Smash code by Yusuke Nakamura <muken.the.vfrmaniac@gmail.com>.
Diffstat (limited to 'libavformat')
-rw-r--r-- | libavformat/mov.c | 23 |
1 files changed, 23 insertions, 0 deletions
diff --git a/libavformat/mov.c b/libavformat/mov.c index 8124d690b1..44e26fea5a 100644 --- a/libavformat/mov.c +++ b/libavformat/mov.c @@ -266,19 +266,39 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG( 'X','M','P','_'): if (c->export_xmp) { key = "xmp"; raw = 1; } break; case MKTAG( 'a','A','R','T'): key = "album_artist"; break; + case MKTAG( 'a','k','I','D'): key = "account_type"; + parse = mov_metadata_int8_no_padding; break; + case MKTAG( 'a','p','I','D'): key = "account_id"; break; + case MKTAG( 'c','a','t','g'): key = "category"; break; + case MKTAG( 'c','p','i','l'): key = "compilation"; + parse = mov_metadata_int8_no_padding; break; case MKTAG( 'c','p','r','t'): key = "copyright"; break; case MKTAG( 'd','e','s','c'): key = "description"; break; case MKTAG( 'd','i','s','k'): key = "disc"; parse = mov_metadata_track_or_disc_number; break; + case MKTAG( 'e','g','i','d'): key = "episode_uid"; + parse = mov_metadata_int8_no_padding; break; case MKTAG( 'g','n','r','e'): key = "genre"; parse = mov_metadata_gnre; break; case MKTAG( 'h','d','v','d'): key = "hd_video"; parse = mov_metadata_int8_no_padding; break; + case MKTAG( 'k','e','y','w'): key = "keywords"; break; case MKTAG( 'l','d','e','s'): key = "synopsis"; break; case MKTAG( 'l','o','c','i'): return mov_metadata_loci(c, pb, atom.size); + case MKTAG( 'p','c','s','t'): key = "podcast"; + parse = mov_metadata_int8_no_padding; break; case MKTAG( 'p','g','a','p'): key = "gapless_playback"; parse = mov_metadata_int8_no_padding; break; + case MKTAG( 'p','u','r','d'): key = "purchase_date"; break; + case MKTAG( 'r','t','n','g'): key = "rating"; + parse = mov_metadata_int8_no_padding; break; + case MKTAG( 's','o','a','a'): key = "sort_album_artist"; break; + case MKTAG( 's','o','a','l'): key = "sort_album"; break; + case MKTAG( 's','o','a','r'): key = "sort_artist"; break; + case MKTAG( 's','o','c','o'): key = "sort_composer"; break; + case MKTAG( 's','o','n','m'): key = "sort_name"; break; + case MKTAG( 's','o','s','n'): key = "sort_show"; break; case MKTAG( 's','t','i','k'): key = "media_type"; parse = mov_metadata_int8_no_padding; break; case MKTAG( 't','r','k','n'): key = "track"; @@ -298,8 +318,11 @@ static int mov_read_udta_string(MOVContext *c, AVIOContext *pb, MOVAtom atom) case MKTAG(0xa9,'d','a','y'): key = "date"; break; case MKTAG(0xa9,'e','n','c'): key = "encoder"; break; case MKTAG(0xa9,'g','e','n'): key = "genre"; break; + case MKTAG(0xa9,'g','r','p'): key = "grouping"; break; case MKTAG(0xa9,'i','n','f'): key = "comment"; break; + case MKTAG(0xa9,'l','y','r'): key = "lyrics"; break; case MKTAG(0xa9,'n','a','m'): key = "title"; break; + case MKTAG(0xa9,'s','t','3'): key = "subtitle"; break; case MKTAG(0xa9,'s','w','r'): key = "encoder"; break; case MKTAG(0xa9,'t','o','o'): key = "encoder"; break; case MKTAG(0xa9,'w','r','t'): key = "composer"; break; |