[FFmpeg-cvslog] mov: expand the list of parsed metadata tags

Vittorio Giovara git at videolan.org
Mon Dec 8 23:22:07 CET 2014


ffmpeg | branch: master | Vittorio Giovara <vittorio.giovara at gmail.com> | Fri Nov 28 23:25:20 2014 +0000| [e2e07dbaab1f17e995842b7eacec4665d44c3d14] | committer: Vittorio Giovara

mov: expand the list of parsed metadata tags

Based on L-Smash code by Yusuke Nakamura <muken.the.vfrmaniac at gmail.com>.

> http://git.videolan.org/gitweb.cgi/ffmpeg.git/?a=commit;h=e2e07dbaab1f17e995842b7eacec4665d44c3d14
---

 libavformat/mov.c |   23 +++++++++++++++++++++++
 1 file changed, 23 insertions(+)

diff --git a/libavformat/mov.c b/libavformat/mov.c
index 8124d69..44e26fe 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;



More information about the ffmpeg-cvslog mailing list