aboutsummaryrefslogtreecommitdiffstats
path: root/libavformat/iff.c
diff options
context:
space:
mode:
authorPeter Ross <pross@xvid.org>2010-02-16 09:55:56 +0000
committerPeter Ross <pross@xvid.org>2010-02-16 09:55:56 +0000
commit899605f150d5f7e0d3bcc8df002acd189516c68a (patch)
tree35ff86c16de33280aa5be81d6e0646f1cf288490 /libavformat/iff.c
parentcbba8fec23209e06015a436437b5a29cefbe1d5c (diff)
downloadffmpeg-899605f150d5f7e0d3bcc8df002acd189516c68a.tar.gz
Support IFF ANNO (annotation) chunk type
Originally committed as revision 21847 to svn://svn.ffmpeg.org/ffmpeg/trunk
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;