diff options
author | Ben Boeckel <mathstuf@gmail.com> | 2015-02-01 20:00:02 -0500 |
---|---|---|
committer | Michael Niedermayer <michaelni@gmx.at> | 2015-02-02 03:11:49 +0100 |
commit | 1fe94ea79eb749ea4978596d34d76421272288ea (patch) | |
tree | 49fb890c9f23a418ee7b996b169be2bfe224a199 | |
parent | 17d87571c83177ca60527de8f8919ba5050158d5 (diff) | |
download | ffmpeg-1fe94ea79eb749ea4978596d34d76421272288ea.tar.gz |
vorbis: parse out setup headers as well
Prevents an 'Invalid packet' message. Currently mid-stream setup packets
are ignored. Theoretically, they could, based on the specification, be used to
reinitialize the stream if parameters change, but I don't expect that to be
common (and no one seems to have asked for it).
Signed-off-by: Ben Boeckel <mathstuf@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
-rw-r--r-- | libavcodec/vorbis_parser.c | 2 | ||||
-rw-r--r-- | libavcodec/vorbis_parser.h | 1 |
2 files changed, 3 insertions, 0 deletions
diff --git a/libavcodec/vorbis_parser.c b/libavcodec/vorbis_parser.c index 547fd47098..8fa6d99588 100644 --- a/libavcodec/vorbis_parser.c +++ b/libavcodec/vorbis_parser.c @@ -229,6 +229,8 @@ int av_vorbis_parse_frame_flags(AVVorbisParseContext *s, const uint8_t *buf, *flags |= VORBIS_FLAG_HEADER; else if (buf[0] == 3) *flags |= VORBIS_FLAG_COMMENT; + else if (buf[0] == 5) + *flags |= VORBIS_FLAG_SETUP; else goto bad_packet; diff --git a/libavcodec/vorbis_parser.h b/libavcodec/vorbis_parser.h index 0f73537ae5..06e48bd3b0 100644 --- a/libavcodec/vorbis_parser.h +++ b/libavcodec/vorbis_parser.h @@ -47,6 +47,7 @@ void av_vorbis_parse_free(AVVorbisParseContext **s); #define VORBIS_FLAG_HEADER 0x00000001 #define VORBIS_FLAG_COMMENT 0x00000002 +#define VORBIS_FLAG_SETUP 0x00000004 /** * Get the duration for a Vorbis packet. |