aboutsummaryrefslogtreecommitdiff
path: root/libavformat/oggdec.h
AgeCommit message (Collapse)Author
2020-05-23oggdec: remove the oggparsedaala subdemuxerLynne
The Xiph foundation never standardized either Daala nor its mapping in Ogg, and all files that were created are undecodable without knowledge of the git hash.
2020-04-30oggdec: add support for proper demuxing of chained Opus files and streamsLynne
Part of this patch is based on Paul B Mahol's patch from last year. This also allows for single-stream parameter/codec changes.
2016-08-03avformat/oggdec: Fix integer overflow with invalid ptsMichael Niedermayer
If negative pts are possible for some codecs in ogg then the code needs to be changed to use signed values. Found-by: Thomas Guilbert <tguilbert@google.com> Fixes: clusterfuzz_usan-2016-08-02 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2015-10-21lavf: add oggparsedaala and bump microRostislav Pehlivanov
This commit introduces a parser for the current bitstream produced by Daala. It currently bears a large similarity with Theora, another codec produced by Xiph. While likely to change in the future, its basic format of packet parsing should remain fairly identical with its current structure. Once the bitstream freezes, there are a few probable simplifications that could be made. Also, the current version (major, minor and micro) is stuck at zero so it's unusable as a way to warn about possible incompatibilities. This will change once the bitstream freezes, however until then this file is strictly targeting the current git master of the reference encoder, libdaala. This file was developed independently at the same time by both myself and Vittorio Giovara, who used libav as a starting point. For fairness, and to prevent confusion and allegations, his name has been added to the copyright in the license header as well, and vice versa.
2014-08-14Merge commit 'db68ef898a3802e51b6f41fd600d0d46d058e3f8'Michael Niedermayer
* commit 'db68ef898a3802e51b6f41fd600d0d46d058e3f8': ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes. Conflicts: libavformat/oggparsevorbis.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-08-13ogg: update event_flags with STREAM_/METADATA_UPDATED whenever metadata changes.Andrew Stone
Originally, AVFormatContext and a metadata dict were provided to ff_vorbis_comment(), but this presented issues if an AVStream was being updated or the metadata on AVFormatContext wasn't actually being updated. To remedy this, ff_vorbis_stream_comment() explicitly updates a stream's metadata and sets any necessary flags. ff_vorbis_comment() does not modify any flags, and any calls to it that update AVFormatContext's metadata (just a single call) must also update AVFormatContext.event_flags after detecting any metadata changes to the provided dictionary, as signaled by a positive return value. Signed-off-by: Anton Khirnov <anton@khirnov.net>
2014-05-28Merge commit '23f741f79327e31be7b2a75ebb2e02111e06e52f'Michael Niedermayer
* commit '23f741f79327e31be7b2a75ebb2e02111e06e52f': matroskadec: parse the channel layout mask for FLAC Conflicts: libavformat/oggparsevorbis.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2014-05-28matroskadec: parse the channel layout mask for FLACAnton Khirnov
It is commonly stored in a vorbiscomment block in codec private data.
2014-02-05ogg: allow streams to update metadataBen Boeckel
Signed-off-by: Ben Boeckel <mathstuf@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-12-30oggdec: add support for VP8 demuxingJames Almer
Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-10-12oggdec: add support for Opus in Ogg demuxingNicolas George
2013-09-16lavf/ogg: Support for end trimming OpusVignesh Venkatasubramanian
Adding support for end trimming Opus embedded in Ogg container. Signed-Off By: Vignesh Venkatasubramanian <vigneshv@google.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-15oggdec: resync from the last page.Michael Niedermayer
Previously we re synced from where we where which cam lead to loosing pages. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-07Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: oggdec: make sure the private parse data is cleaned up Merged-by: Michael Niedermayer <michaelni@gmx.at>
2013-01-06oggdec: make sure the private parse data is cleaned upLuca Barbato
2012-09-25oggdec: add missing () for OGG_NOGRANULE_VALUEMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25Merge commit 'd1f05dd18375f2f8e68372edee11436927e43ba8'Michael Niedermayer
* commit 'd1f05dd18375f2f8e68372edee11436927e43ba8': ogg: calculate the start position once all the headers are parsed Conflicts: libavformat/oggdec.c libavformat/oggparseskeleton.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-25Merge commit '7751e4693dd10ec98c20fbd9887233b575034272'Michael Niedermayer
* commit '7751e4693dd10ec98c20fbd9887233b575034272': ogg: check that the expected number of headers had been parsed libx264: change default to closed gop to match x264cli Use avcodec_free_frame() to free AVFrames. lavf: use a malloced AVFrame in try_decode_frame(). lavc: add avcodec_free_frame(). lavc: ensure extended_data is set properly on decoding lavc: initialize AVFrame.extended_data in avcodec_get_frame_defaults() lavc: use av_mallocz to allocate AVFrames. lavc: rename the argument of avcodec_alloc_frame/get_frame_defaults Conflicts: doc/APIchanges doc/examples/decoding_encoding.c libavcodec/utils.c libavcodec/version.h libavfilter/src_movie.c libavformat/oggdec.c libavformat/oggdec.h libavformat/oggparsetheora.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2012-09-24ogg: calculate the start position once all the headers are parsedLuca Barbato
The fisbone packets can be muxed in any order as long the last one comes before the first data packet.
2012-09-24ogg: check that the expected number of headers had been parsedLuca Barbato
Not having the header for a codec is a tell-tale of a broken file.
2012-09-22lavf/oggdec: check for begin-of-stream flag in case of chained streams.Clément Bœsch
Fix Ticket #1617, revealing a regression I introduced in 8f3eebd. We need to make sure no stream is added in between Ogg context save and restore operations (because it would likely lead to a mismatch between ogg->nstreams and AVFormatContext->nb_streams after the restore op). This is the reason the ogg->state check is added in ogg_new_stream(). Before this patch, checking for ogg->headers was preventing this: ogg->headers is always set before any ogg save/restore (though, it was also preventing from creating the stream when necessary).
2012-07-20oggdec: add support for Opus codec.Nicolas George
This patch also introduces CODEC_ID_OPUS.
2011-09-26oggdec: add support for Xiph's CELT codecNicolas George
This patch also introduces CODEC_ID_CELT. Signed-off-by: Nicolas George <nicolas.george@normalesup.org> Signed-off-by: Diego Biurrun <diego@biurrun.de>
2011-08-24oggdec: Make sure start time correction is applied once to each streamMichael Niedermayer
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-09Merge remote-tracking branch 'qatar/master'Michael Niedermayer
* qatar/master: crypto: Use av_freep instead of av_free lavf: don't try to free private options if priv_data is NULL. swscale: fix types of assembly arguments. swscale: move two macros that are only used once into caller. swscale: remove unused function. options: Add missing braces around struct initializer. mov: Remove leftover crufty debug statement with references to a local file. dvbsubdec: Fix compilation of debug code. Remove all uses of now deprecated metadata functions. Move metadata API from lavf to lavu. Conflicts: doc/APIchanges libavformat/aiffdec.c libavformat/asfdec.c libavformat/avformat.h libavformat/avidec.c libavformat/cafdec.c libavformat/matroskaenc.c libavformat/mov.c libavformat/mp3enc.c libavformat/wtv.c libavutil/avutil.h libavutil/internal.h libswscale/swscale.c libswscale/x86/swscale_template.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
2011-06-08Remove all uses of now deprecated metadata functions.Anton Khirnov
2011-04-19Ogg: add support for Xiph's CELT (Opus) codec.Nicolas George
This patch also introduces CODEC_ID_CELT. Signed-off-by: Nicolas George <nicolas.george@normalesup.org>
2011-04-15oggdec: simplify audio chained ogg streams supportClément Bœsch
Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2011-04-10oggdec: fix demuxing chained audio streamsClément Bœsch
Chained ogg served by icecast and mpd should demux properly now. Fixes issue2337 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
2010-04-16oggdec: Remove write-only variableDavid Conrad
Originally committed as revision 22889 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-20Add VorbisComment writing to FLAC files.James Darnley
Patch by James Darnley <james darnley at gmail>. Originally committed as revision 22605 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12oggdec: Pass packets to header() until the stream is done with themDavid Conrad
This fixes some old ogm files that had the 3rd vorbis header after a data packet in another stream. This is invalid in ogg, but this change shouldn't affect the behaviour of any valid file. Originally committed as revision 22478 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12Const correctness for vorbis_commentDavid Conrad
Originally committed as revision 22474 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12oggdec: Metadata is per-stream; don't merge multiple streams' togetherDavid Conrad
Originally committed as revision 22473 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-12Add ff_ prefix to vorbis_commentDavid Conrad
Originally committed as revision 22472 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11oggdec: Seek to keyframesDavid Conrad
Originally committed as revision 22463 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11oggdec: Parse skeleton to determine the start time of each streamDavid Conrad
Originally committed as revision 22457 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11oggdec: Check that we have a codec in gptopts (needed for skeleton)David Conrad
Originally committed as revision 22456 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11oggdec: Move ogg_find_stream and ogg_gptopts to oggdec.hDavid Conrad
(skeleton will need them) Originally committed as revision 22455 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-03-11oggdec: Save offset of the page needed to reconstruct the current packetDavid Conrad
Originally committed as revision 22453 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-02-08Fix playback with invalid files that don't set the continuation flag forDavid Conrad
pages that continue packets started in prior pages. Fixes issue1248 Originally committed as revision 21688 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11oggdec: Set dts when knownDavid Conrad
Originally committed as revision 21134 to svn://svn.ffmpeg.org/ffmpeg/trunk
2010-01-11Add support for dirac in oggDavid Conrad
Originally committed as revision 21128 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-12-12Fix PTS for OGM codecs.David Conrad
Fixes issue251 Originally committed as revision 20815 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-10-12Calculate correct packet durations when demuxing Ogg/Speex. This involvesJustin Ruggles
determining if there is any delay in the first packet and/or any truncation in the final packet. Originally committed as revision 20216 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-06-13Add a VorbisComment metadata conversion table and use it in the FLAC andJustin Ruggles
Ogg demuxers. Originally committed as revision 19186 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-05-06Warning fix: Make ogg_stream.codec constDaniel Verkamp
This matches the return value of ogg_find_codec and fixes "libavformat/oggdec.c:333: warning: assignment discards qualifiers from pointer target type" Patch by Daniel Verkamp (daniel - drv . nu) Originally committed as revision 18769 to svn://svn.ffmpeg.org/ffmpeg/trunk
2009-03-21Document ogg_codec's header functionDavid Conrad
Originally committed as revision 18100 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-12-03Delete unnecessary 'extern' keywords.Diego Biurrun
Originally committed as revision 15990 to svn://svn.ffmpeg.org/ffmpeg/trunk
2008-11-06OGG: untypedef demuxer structsMåns Rullgård
Originally committed as revision 15784 to svn://svn.ffmpeg.org/ffmpeg/trunk