aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat
diff options
context:
space:
mode:
authorVittorio Giovara <vittorio.giovara@gmail.com>2014-11-28 23:25:20 +0000
committerVittorio Giovara <vittorio.giovara@gmail.com>2014-12-08 14:28:09 +0000
commite2e07dbaab1f17e995842b7eacec4665d44c3d14 (patch)
tree85deb1b2e1eca1b4c76d257ca7efd657dcd0fc8b /libavformat
parentb704b648f9ecb830874627db958a37e004107d1b (diff)
downloadffmpeg-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.c23
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;