summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_xiph.c
Commit message (Collapse)AuthorAge
* lavf: replace AVStream.codec with AVStream.codecparAnton Khirnov2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Currently, AVStream contains an embedded AVCodecContext instance, which is used by demuxers to export stream parameters to the caller and by muxers to receive stream parameters from the caller. It is also used internally as the codec context that is passed to parsers. In addition, it is also widely used by the callers as the decoding (when demuxer) or encoding (when muxing) context, though this has been officially discouraged since Libav 11. There are multiple important problems with this approach: - the fields in AVCodecContext are in general one of * stream parameters * codec options * codec state However, it's not clear which ones are which. It is consequently unclear which fields are a demuxer allowed to set or a muxer allowed to read. This leads to erratic behaviour depending on whether decoding or encoding is being performed or not (and whether it uses the AVStream embedded codec context). - various synchronization issues arising from the fact that the same context is used by several different APIs (muxers/demuxers, parsers, bitstream filters and encoders/decoders) simultaneously, with there being no clear rules for who can modify what and the different processes being typically delayed with respect to each other. - avformat_find_stream_info() making it necessary to support opening and closing a single codec context multiple times, thus complicating the semantics of freeing various allocated objects in the codec context. Those problems are resolved by replacing the AVStream embedded codec context with a newly added AVCodecParameters instance, which stores only the stream parameters exported by the demuxers or read by the muxers.
* avpacket: Replace av_free_packet with av_packet_unrefLuca Barbato2015-10-26
| | | | | | | `av_packet_unref` matches the AVFrame ref-counted API and can be used as a drop in replacement. Deprecate `av_free_packet`.
* lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* rtpdec: Rename the free method to closeMartin Storsjö2015-02-24
| | | | | | | | | Many of these functions were named foo_free_context, and since the functions no longer should free the context itself, only allocated elements within it, the previous naming was slightly misleading. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Use ffio_free_dyn_bufMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Don't free the payload context in the .free functionMartin Storsjö2015-02-24
| | | | | | | | | | | | | | This makes it more consistent with depacketizers that don't have any .free function at all, where the payload context is freed by the surrounding framework. Always free the context in the surrounding framework, having the individual depacketizers only free any data they've specifically allocated themselves. This is similar to how this works for demuxer/muxers/codecs - a component shouldn't free the priv_data that the framework has allocated for it. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Remove unnecessary inline attributesMartin Storsjö2015-02-24
| | | | | | | These functions are far from performance critical, so there's no point in marking them as inline. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Don't pass non-const pointers to fmtp attribute parsing functionsMartin Storsjö2015-02-24
| | | | | | | This makes it clear that the individual parsing functions can't touch the parsed out value. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Get rid of all trivial .alloc/.free functionsMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Set need_parsing via a handler fieldMartin Storsjö2015-02-24
| | | | | | | This avoids implementing a full function just to set this one field. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Remove unnecessary _if_needed suffixes on functionsMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Add missing trailing commasMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: pass an AVFormatContext to ff_parse_fmtp()Anton Khirnov2014-07-09
| | | | Use it for logging, instead of NULL or the stream codec context.
* avformat: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-05
|
* rtpdec: Move setting the parsing flags to the actual depacketizersMartin Storsjö2013-01-20
| | | | | | | This gets rid of almost all the codec specific details from the generic rtpdec code. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: Pass the sequence number to depacketizersMartin Storsjö2012-12-21
| | | | | | This allows depacketizers to figure out if packets have been lost. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec: factorize identical code used in several handlersAnton Khirnov2012-11-02
|
* rtpdec_xiph: fix function return typeMans Rullgard2012-10-12
| | | | | | | parse_packed_headers() returns either zero or a negative error code so its return type must be signed. Signed-off-by: Mans Rullgard <mans@mansr.com>
* Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
|
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* cosmetics: Fix indentationMartin Storsjö2012-04-08
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtsp: Don't expose the MS-RTSP RTX data stream to the callerMartin Storsjö2012-04-08
| | | | | | | | This avoids exposing a dummy AVStream which won't get any data and which will make avformat_find_stream_info wait for info about this stream. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtp: Rename the open/close functions to alloc/freeMartin Storsjö2011-04-24
| | | | | | | This avoids clashes if we internally want to override the global open function. Signed-off-by: Martin Storsjö <martin@martin.st>
* avio: avio_ prefix for url_close_dyn_bufAnton Khirnov2011-04-03
|
* avio: avio_ prefix for url_open_dyn_bufAnton Khirnov2011-04-03
|
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* avio: avio: avio_ prefixes for put_* functionsAnton Khirnov2011-02-21
| | | | | | | | | | | | In the name of consistency: put_byte -> avio_w8 put_<type> -> avio_w<type> put_buffer -> avio_write put_nbyte will be made private put_tag will be merged with avio_put_str Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* avio: rename ByteIOContext to AVIOContext.Anton Khirnov2011-02-20
| | | | Signed-off-by: Ronald S. Bultje <rsbultje@gmail.com>
* rtpdec_xiph: Split packets in the depacketizerMartin Storsjö2010-08-05
| | | | | | | The vorbis decoder doesn't handle more than one audio frame packed into the same AVPacket, so they need to be split in the depacketizer. Originally committed as revision 24704 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec_xiph: Correct the bitmask for num_pktsMartin Storsjö2010-08-04
| | | | Originally committed as revision 24696 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove mostly unnecessary rtpdec_*.h files, store the declarations in one fileMartin Storsjö2010-07-30
| | | | Originally committed as revision 24596 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec_xiph: Handle the sampling SDP parameterJosh Allmann2010-07-28
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 24565 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec_xiph: Drop RTP packets that come in without a prior fragment start ↵Josh Allmann2010-07-27
| | | | | | | | | | marker. This can avoid segfaults in some cases. Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 24537 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec_xiph: Avoid extra memcpy in Xiph RTP depacketizerJosh Allmann2010-07-19
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 24334 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec: Cleanup FMTP parsing code in Xiph RTP depacketizerJosh Allmann2010-06-28
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23860 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Fix printf format warningsEli Friedman2010-06-09
| | | | | | patch by Eli Friedman <eli dot friedman at gmail dot com> Originally committed as revision 23547 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove explicit filename from Doxygen @file commands.Diego Biurrun2010-04-20
| | | | | | | | Passing an explicit filename to this command is only necessary if the documentation in the @file block refers to a file different from the one the block resides in. Originally committed as revision 22921 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Remove useless assert(), since this can (in theora) be used for any XiphRonald S. Bultje2010-04-15
| | | | | | | | codec, so there's no reason to (invalidly) limit it to only Theora. Also fixes issue 1880 (compilation error on -DDEBUG). Originally committed as revision 22886 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace all remaining occurrences of AVERROR_NOMEM withStefano Sabatini2010-04-03
| | | | | | | | | AVERROR(ENOMEM). AVERROR_NOMEM is deprecated and will be dropped at the next libavutil major bump. Originally committed as revision 22791 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Change a case of CODEC_TYPE_ into AVMEDIA_TYPE_Martin Storsjö2010-04-02
| | | | | | This was accidentally overwritten in the recent merge of the theora/vorbis codepaths Originally committed as revision 22774 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Merge Vorbis / Theora depayloaders.Josh Allmann2010-04-01
| | | | | | Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>. Originally committed as revision 22768 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reindent after r22766.Josh Allmann2010-04-01
| | | | | | Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>. Originally committed as revision 22767 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename functions / comments from "Theora" to "Xiph" where relevant.Josh Allmann2010-04-01
| | | | | | Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>. Originally committed as revision 22766 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Rename rtpdec_theora.[ch] to rtpdec_xiph.[ch], as a preparation for mergingJosh Allmann2010-04-01
the Vorbis / theora depacketizers. Patch by Josh Allmann <joshua DOT allmann AT gmail DOT com>. Originally committed as revision 22765 to svn://svn.ffmpeg.org/ffmpeg/trunk