summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec_xiph.c
Commit message (Collapse)AuthorAge
* avformat: Forward errors where possibleAndreas Rheinhardt2019-12-12
| | | | | | | | | | It is not uncommon to find code where the caller thinks to know better what the return value should be than the callee. E.g. something like "if (av_new_packet(pkt, size) < 0) return AVERROR(ENOMEM);". This commit changes several instances of this to instead forward the actual error. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/rtpdec*: Constify all RTPDynamicProtocolHandler.Carl Eugen Hoyos2018-02-14
| | | | Reviewed-by: Muhammad Faiz
* Merge commit '67deba8a416d818f3d95aef0aa916589090396e2'Clément Bœsch2017-03-31
|\ | | | | | | | | | | | | * commit '67deba8a416d818f3d95aef0aa916589090396e2': Use avpriv_report_missing_feature() where appropriate Merged-by: Clément Bœsch <cboesch@gopro.com>
| * Use avpriv_report_missing_feature() where appropriateDiego Biurrun2016-11-08
| |
* | Merge commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50'Clément Bœsch2017-03-24
|\| | | | | | | | | | | | | * commit '1263b2039eb5aaf1522e9de9f07c787ab30a5f50': Adjust printf conversion specifiers to match variable signedness Merged-by: Clément Bœsch <u@pkh.me>
| * Adjust printf conversion specifiers to match variable signednessDiego Biurrun2016-10-28
| |
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-10
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '9200514ad8717c63f82101dc394f4378854325bf': lavf: replace AVStream.codec with AVStream.codecpar This has been a HUGE effort from: - Derek Buitenhuis <derek.buitenhuis@gmail.com> - Hendrik Leppkes <h.leppkes@gmail.com> - wm4 <nfxjfg@googlemail.com> - Clément Bœsch <clement@stupeflix.com> - James Almer <jamrial@gmail.com> - Michael Niedermayer <michael@niedermayer.cc> - Rostislav Pehlivanov <atomnuker@gmail.com> Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * 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.
* | Merge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'Hendrik Leppkes2015-10-27
|\| | | | | | | | | | | | | * commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457': avpacket: Replace av_free_packet with av_packet_unref Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * 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`.
* | Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'Michael Niedermayer2015-07-27
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '059a934806d61f7af9ab3fd9f74994b838ea5eba': lavc: Consistently prefix input buffer defines Conflicts: doc/examples/decoding_encoding.c libavcodec/4xm.c libavcodec/aac_adtstoasc_bsf.c libavcodec/aacdec.c libavcodec/aacenc.c libavcodec/ac3dec.h libavcodec/asvenc.c libavcodec/avcodec.h libavcodec/avpacket.c libavcodec/dvdec.c libavcodec/ffv1enc.c libavcodec/g2meet.c libavcodec/gif.c libavcodec/h264.c libavcodec/h264_mp4toannexb_bsf.c libavcodec/huffyuvdec.c libavcodec/huffyuvenc.c libavcodec/jpeglsenc.c libavcodec/libxvid.c libavcodec/mdec.c libavcodec/motionpixels.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo.c libavcodec/noise_bsf.c libavcodec/nuv.c libavcodec/nvenc.c libavcodec/options.c libavcodec/parser.c libavcodec/pngenc.c libavcodec/proresenc_kostya.c libavcodec/qsvdec.c libavcodec/svq1enc.c libavcodec/tiffenc.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/utvideoenc.c libavcodec/vc1dec.c libavcodec/wmalosslessdec.c libavformat/adxdec.c libavformat/aiffdec.c libavformat/apc.c libavformat/apetag.c libavformat/avidec.c libavformat/bink.c libavformat/cafdec.c libavformat/flvdec.c libavformat/id3v2.c libavformat/isom.c libavformat/matroskadec.c libavformat/mov.c libavformat/mpc.c libavformat/mpc8.c libavformat/mpegts.c libavformat/mvi.c libavformat/mxfdec.c libavformat/mxg.c libavformat/nutdec.c libavformat/oggdec.c libavformat/oggparsecelt.c libavformat/oggparseflac.c libavformat/oggparseopus.c libavformat/oggparsespeex.c libavformat/omadec.c libavformat/rawdec.c libavformat/riffdec.c libavformat/rl2.c libavformat/rmdec.c libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_qdm2.c libavformat/rtpdec_svq3.c libavformat/sierravmd.c libavformat/smacker.c libavformat/smush.c libavformat/spdifenc.c libavformat/takdec.c libavformat/tta.c libavformat/utils.c libavformat/vqf.c libavformat/westwood_vqa.c libavformat/xmv.c libavformat/xwma.c libavformat/yop.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * lavc: Consistently prefix input buffer definesVittorio Giovara2015-07-27
| | | | | | | | Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* | avformat/rtpdec_xiph: Move pkt_len onto one side of the checkMichael Niedermayer2015-05-12
| | | | | | | | | | | | | | This is more correct Fixes CID1271793 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/rtpdec_xiph: Check upper bound on len in xiph_handle_packet()Michael Niedermayer2015-05-12
| | | | | | | | | | | | Larger packets are not supported and would cause problems later Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | * commit 'd594dbecce5f3af7f80bbf5bb1b516d740b69ccd': rtpdec: Rename the free method to close Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '199fb40278146c5bb162990c66ad3cd561abc780'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | | | | | | | | | | | * commit '199fb40278146c5bb162990c66ad3cd561abc780': rtpdec: Use ffio_free_dyn_buf Conflicts: libavformat/rtpdec_latm.c libavformat/rtpdec_svq3.c libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Use ffio_free_dyn_bufMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit 'bb4a310bb85f43e62240145a656b1e5285b14239'Michael Niedermayer2015-02-25
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit 'bb4a310bb85f43e62240145a656b1e5285b14239': rtpdec: Don't free the payload context in the .free function Conflicts: libavformat/rtpdec_latm.c libavformat/rtpdec_mpeg4.c libavformat/rtpdec_mpegts.c libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '88434f9725e7c9484dcbcf323566ae88a2904f32'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '88434f9725e7c9484dcbcf323566ae88a2904f32': rtpdec: Remove unnecessary inline attributes Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit 'ec96a89c3e507cf0fb1f2b159b28a53f2bad9a74': rtpdec: Don't pass non-const pointers to fmtp attribute parsing functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '5d8cae45737bed6239bd6b6e0698802dbe1463c8': rtpdec: Get rid of all trivial .alloc/.free functions Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Get rid of all trivial .alloc/.free functionsMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '2b982e92f42a6e661d90b12b6592cd13cae496d4'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '2b982e92f42a6e661d90b12b6592cd13cae496d4': rtpdec: Set need_parsing via a handler field Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit 'db158f0dd217cf839be8af195d66cf49a76537a8'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | | | | | | | * commit 'db158f0dd217cf839be8af195d66cf49a76537a8': rtpdec: Remove unnecessary _if_needed suffixes on functions Conflicts: libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Remove unnecessary _if_needed suffixes on functionsMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | Merge commit '3cd5828fc0007e6d056067444de053a34ddedd02'Michael Niedermayer2015-02-24
|\| | | | | | | | | | | | | * commit '3cd5828fc0007e6d056067444de053a34ddedd02': rtpdec: Add missing trailing commas Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: Add missing trailing commasMartin Storsjö2015-02-24
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/rtpdec_xiph: use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-12-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit '0307cc2253e76772b1c645ac6117d08da87a147c'Michael Niedermayer2014-07-09
|\| | | | | | | | | | | | | * commit '0307cc2253e76772b1c645ac6117d08da87a147c': rtpdec: pass an AVFormatContext to ff_parse_fmtp() Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: pass an AVFormatContext to ff_parse_fmtp()Anton Khirnov2014-07-09
| | | | | | | | Use it for logging, instead of NULL or the stream codec context.
* | Use correct msvc type specifiers for ptrdiff_t and size_t.Carl Eugen Hoyos2014-04-24
| | | | | | | | | | | | | | The Windows runtime aborts if it finds %t or %z. Fixes ticket #3472. Reviewed-by: Ronald Bultje
* | avformat: use ff_alloc_extradata()Paul B Mahol2013-10-13
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | Merge commit '7abd35a1ffaecfd79fa07b801621ee11ab595c43'Michael Niedermayer2013-05-06
|\| | | | | | | | | | | | | | | | | | | * commit '7abd35a1ffaecfd79fa07b801621ee11ab595c43': avformat: Add av_cold attributes to init functions missing them Conflicts: libavformat/rtpdec_xiph.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Add av_cold attributes to init functions missing themDiego Biurrun2013-05-05
| |
* | Merge commit 'c6f1dc8e4cd967ae056698eafb891a08003c211c'Michael Niedermayer2013-01-21
|\| | | | | | | | | | | | | | | | | | | | | * commit 'c6f1dc8e4cd967ae056698eafb891a08003c211c': rtpdec: Move setting the parsing flags to the actual depacketizers rtpdec: Split handling of mpeg12 audio/video to a separate depacketizer Conflicts: libavformat/rtpdec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59'Michael Niedermayer2012-12-21
|\| | | | | | | | | | | | | | | | | | | | | * commit '90c784cc13f6bf21a8eb69f3b88b50c7a70f6c59': rtpdec: Pass the sequence number to depacketizers configure: Make avconv depend on null, anull and resample filters Conflicts: configure Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2012-11-02
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: dv1394: Swap the min and max values of the 'standard' option rtpdec_vp8: Don't parse fields that aren't used lavc: add some AVPacket doxy. audiointerleave: deobfuscate a function call. rtpdec: factorize identical code used in several handlers a64: remove interleaved mode. doc: Point to the new location of the c99-to-c89 tool decode_audio3: initialize AVFrame ws-snd1: set channel layout wmavoice: set channel layout wmapro: use AVCodecContext.channels instead of keeping a private copy wma: do not keep private copies of some AVCodecContext fields Conflicts: libavcodec/wmadec.c libavcodec/wmaenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * rtpdec: factorize identical code used in several handlersAnton Khirnov2012-11-02
| |
* | Merge commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723'Michael Niedermayer2012-10-13
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '0a7005bebd23ade7bb852bce0401af1a8fdbb723': rtpdec_xiph: fix function return type smjpeg: fix type of 'ret' variable in smjpeg_read_packet() mpegvideo: remove write-only variable Use proper return values in case of missing features fate: add avstring test rangecoder-test: Set error message log level to error, instead of debug Conflicts: libavcodec/aacdec.c libavcodec/amrnbdec.c libavcodec/mpegvideo.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * 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>
* | Merge commit '716d413c13981da15323c7a3821860536eefdbbb'Michael Niedermayer2012-10-08
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '716d413c13981da15323c7a3821860536eefdbbb': Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormat Conflicts: doc/examples/muxing.c ffmpeg.h ffmpeg_filter.c ffmpeg_opt.c ffplay.c ffprobe.c libavcodec/8bps.c libavcodec/aasc.c libavcodec/aura.c libavcodec/avcodec.h libavcodec/avs.c libavcodec/bfi.c libavcodec/bmp.c libavcodec/bmpenc.c libavcodec/c93.c libavcodec/cscd.c libavcodec/cyuv.c libavcodec/dpx.c libavcodec/dpxenc.c libavcodec/eatgv.c libavcodec/escape124.c libavcodec/ffv1.c libavcodec/flashsv.c libavcodec/fraps.c libavcodec/h264.c libavcodec/huffyuv.c libavcodec/iff.c libavcodec/imgconvert.c libavcodec/indeo3.c libavcodec/kmvc.c libavcodec/libopenjpegdec.c libavcodec/libopenjpegenc.c libavcodec/libx264.c libavcodec/ljpegenc.c libavcodec/mjpegdec.c libavcodec/mjpegenc.c libavcodec/motionpixels.c libavcodec/mpeg12.c libavcodec/mpeg12enc.c libavcodec/mpeg4videodec.c libavcodec/mpegvideo_enc.c libavcodec/pamenc.c libavcodec/pcxenc.c libavcodec/pgssubdec.c libavcodec/pngdec.c libavcodec/pngenc.c libavcodec/pnm.c libavcodec/pnmdec.c libavcodec/pnmenc.c libavcodec/ptx.c libavcodec/qdrw.c libavcodec/qpeg.c libavcodec/qtrleenc.c libavcodec/raw.c libavcodec/rawdec.c libavcodec/rl2.c libavcodec/sgidec.c libavcodec/sgienc.c libavcodec/snowdec.c libavcodec/snowenc.c libavcodec/sunrast.c libavcodec/targa.c libavcodec/targaenc.c libavcodec/tiff.c libavcodec/tiffenc.c libavcodec/tmv.c libavcodec/truemotion2.c libavcodec/utils.c libavcodec/vb.c libavcodec/vp3.c libavcodec/wnv1.c libavcodec/xl.c libavcodec/xwddec.c libavcodec/xwdenc.c libavcodec/yop.c libavdevice/v4l2.c libavdevice/x11grab.c libavfilter/avfilter.c libavfilter/avfilter.h libavfilter/buffersrc.c libavfilter/drawutils.c libavfilter/formats.c libavfilter/src_movie.c libavfilter/vf_ass.c libavfilter/vf_drawtext.c libavfilter/vf_fade.c libavfilter/vf_format.c libavfilter/vf_hflip.c libavfilter/vf_lut.c libavfilter/vf_overlay.c libavfilter/vf_pad.c libavfilter/vf_scale.c libavfilter/vf_transpose.c libavfilter/vf_yadif.c libavfilter/video.c libavfilter/vsrc_testsrc.c libavformat/movenc.c libavformat/mxf.h libavformat/utils.c libavformat/yuv4mpeg.c libavutil/imgutils.c libavutil/pixdesc.c libswscale/input.c libswscale/output.c libswscale/swscale_internal.h libswscale/swscale_unscaled.c libswscale/utils.c libswscale/x86/swscale_template.c libswscale/x86/yuv2rgb.c libswscale/x86/yuv2rgb_template.c libswscale/yuv2rgb.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace PIX_FMT_* -> AV_PIX_FMT_*, PixelFormat -> AVPixelFormatAnton Khirnov2012-10-08
| |
* | rtpdec_xiph: switch to av_assert()Michael Niedermayer2012-08-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>