On 09/20/2012 03:51 AM, Luca Barbato wrote: > --- > libavformat/oggparsetheora.c | 15 ++++++++++++--- > 1 files changed, 12 insertions(+), 3 deletions(-) > > diff --git a/libavformat/oggparsetheora.c b/libavformat/oggparsetheora.c > index 632c4ef..dfb73c9 100644 > --- a/libavformat/oggparsetheora.c > +++ b/libavformat/oggparsetheora.c > @@ -53,7 +53,8 @@ theora_header (AVFormatContext * s, int idx) > os->private = thp; > } > > - if (os->buf[os->pstart] == 0x80) { > + switch (os->buf[os->pstart]) { > + case 0x80: { > GetBitContext gb; > int width, height; > AVRational timebase; > @@ -110,8 +111,16 @@ theora_header (AVFormatContext * s, int idx) > st->codec->codec_id = AV_CODEC_ID_THEORA; > st->need_parsing = AVSTREAM_PARSE_HEADERS; > > - } else if (os->buf[os->pstart] == 0x83) { > - ff_vorbis_comment (s, &st->metadata, os->buf + os->pstart + 7, > os->psize - 8); > + } > + break; > + case 0x81: > + ff_vorbis_comment(s, &st->metadata, os->buf + os->pstart + 7, > os->psize - 8); > + case 0x82: > + if (!thp->version) > + return -1; > + break; > + default: > + return -1; > } > > st->codec->extradata = av_realloc (st->codec->extradata,
I don't quite get the patch. Is it just making sure the 0x80 header comes first? Also, the existing code parses vorbis comment for 0x83, but the new patch does it for 0x81. Which is correct? And what is 0x82 supposed to be used for? -Justin _______________________________________________ libav-devel mailing list libav-devel@libav.org https://lists.libav.org/mailman/listinfo/libav-devel