changeset 5660:1701ad9b6064 libavformat

Support IFF ANNO (annotation) chunk type
author pross
date Tue, 16 Feb 2010 09:55:56 +0000
parents d76ffa7128d4
children 6d530eb42996
files iff.c
diffstat 1 files changed, 11 insertions(+), 0 deletions(-) [+]
line wrap: on
line diff
--- a/iff.c	Mon Feb 15 21:19:40 2010 +0000
+++ b/iff.c	Tue Feb 16 09:55:56 2010 +0000
@@ -51,6 +51,7 @@
 #define ID_NAME       MKTAG('N','A','M','E')
 #define ID_TEXT       MKTAG('T','E','X','T')
 #define ID_BODY       MKTAG('B','O','D','Y')
+#define ID_ANNO       MKTAG('A','N','N','O')
 
 #define LEFT    2
 #define RIGHT   4
@@ -99,6 +100,7 @@
     uint32_t chunk_id, data_size;
     int padding, done = 0;
     int compression = -1;
+    char *buf;
 
     st = av_new_stream(s, 0);
     if (!st)
@@ -156,6 +158,15 @@
             url_fskip(pb, 4); // source page width, height
             break;
 
+        case ID_ANNO:
+            buf = av_malloc(data_size + 1);
+            if (!buf)
+                break;
+            get_buffer(pb, buf, data_size);
+            buf[data_size] = 0;
+            av_metadata_set2(&s->metadata, "comment", buf, AV_METADATA_DONT_STRDUP_VAL);
+            break;
+
         default:
             url_fseek(pb, data_size + padding, SEEK_CUR);
             break;