summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_mpeg4.c
Commit message (Collapse)AuthorAge
* cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* 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.
* 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: 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: 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: Add const to string parameters in internal fmtp parsing functionsMartin Storsjö2015-02-24
| | | | 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: Add missing trailing commasMartin Storsjö2015-02-24
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_mpeg4: reassemble fragmented AAC framesGilles Chanteperdrix2015-02-21
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_mpeg4: add more verbose error loggingGilles Chanteperdrix2015-02-21
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* avformat: Don't anonymously typedef structsDiego Biurrun2015-02-14
|
* 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_mpeg4: Return one AAC AU per AVPacketMartin Storsjö2013-01-20
| | | | | | | This makes the returned data valid to stream copy into other containers as well, not only for decoding straight away. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_mpeg4: Check the remaining amount of data before readingMartin Storsjö2013-01-16
| | | | | | This fixes possible buffer overreads. Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_mpeg4: Check the return value from mallocMartin Storsjö2013-01-15
| | | | 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_mpeg4: Cosmetic cleanupMartin Storsjö2012-12-12
| | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* rtpdec_mpeg4: au_headers is a single array, simple av_free is enoughJanne Grunau2012-10-09
| | | | Fixes CID700204.
* Replace all CODEC_ID_* with AV_CODEC_ID_*Anton Khirnov2012-08-07
|
* 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>
* doxygen: Do not include license boilerplates in Doxygen comment blocks.Diego Biurrun2012-02-06
|
* Eliminate pointless 0/NULL initializers in AVCodec and similar declarations.Diego Biurrun2011-11-28
|
* Replace all usage of strcasecmp/strncasecmpReimar Döffinger2011-11-06
| | | | | | | | | | | All current usages of it are incompatible with localization. For example strcasecmp("i", "I") != 0 is possible, but would break many of the places where it is used. Instead use our own implementations that always treat the data as ASCII. 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>
* Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Remove a few if (p) av_free(p) formsClément Bœsch2011-02-03
| | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Make hex_to_data a lavf internal functionMartin Storsjö2010-08-09
| | | | | | This is useful for other future RTP depacketizers Originally committed as revision 24747 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
* Move SPACE_CHARS back to libavformat/internal.hMartin Storsjö2010-07-16
| | | | | | It will be used by other parts of lavf now. This reverts svn rev 23846. Originally committed as revision 24265 to svn://svn.ffmpeg.org/ffmpeg/trunk
* ReindentJosh Allmann2010-06-28
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23852 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec: Clean up FMTP parsing code in MPEG-4/AAC RTP depacketizerJosh Allmann2010-06-28
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23851 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec: Move space_chars from avformat/internal to rtpdecJosh Allmann2010-06-28
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23846 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec_mpeg4: Rename PayloadContext to be consistently 'data'Josh Allmann2010-06-25
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23773 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTSP, rtpdec: Move RTPPayloadData into rtpdec_mpeg4 and remove all ↵Josh Allmann2010-06-25
| | | | | | | | references to rtp_payload_data in rtpdec and rtsp Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23772 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rtpdec: Move AAC depacketization code in rtpdec to a proper payload handlerJosh Allmann2010-06-25
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23771 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTSP: Move more SDP/FMTP stuff from rtsp.c to rtpdec_mpeg4.cJosh Allmann2010-06-25
| | | | | | Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23770 to svn://svn.ffmpeg.org/ffmpeg/trunk
* RTSP: Decouple MPEG-4 and AAC specific parts from rtsp.cJosh Allmann2010-06-25
Patch by Josh Allmann, joshua dot allmann at gmail Originally committed as revision 23769 to svn://svn.ffmpeg.org/ffmpeg/trunk