summaryrefslogtreecommitdiff
path: root/libavformat/iff.c
diff options
context:
space:
mode:
Diffstat (limited to 'libavformat/iff.c')
-rw-r--r--libavformat/iff.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/libavformat/iff.c b/libavformat/iff.c
index b85ab3f90f..f08700530f 100644
--- a/libavformat/iff.c
+++ b/libavformat/iff.c
@@ -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 @@ static int iff_read_header(AVFormatContext *s,
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 @@ static int iff_read_header(AVFormatContext *s,
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;