# HG changeset patch # User pross # Date 1266314156 0 # Node ID 1701ad9b606469e4f31ff507707d8414f1589037 # Parent d76ffa7128d4b3d5ba920162f393a140a300e588 Support IFF ANNO (annotation) chunk type diff -r d76ffa7128d4 -r 1701ad9b6064 iff.c --- 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;