summaryrefslogtreecommitdiff
path: root/libavformat/audiointerleave.c
Commit message (Collapse)AuthorAge
* avformat/audiointerleave: Check before dereferencingAndreas Rheinhardt2020-01-26
| | | | | | | | | | | | | | | | | | In order to use ff_audio_rechunk_interleave() (a special interleavement function for situations where the ordinary "interleave by dts" is not appropriate), the AVStreams must have private data and this private data must begin with an AudioInterleaveContext which contains a fifo that may need to be freed and when ff_audio_interleave_close() was called, it just assumed that everything has been properly set up, i.e. that every streams priv_data exists. This implies that this function can not be called from the deinit function of a muxer, because such functions might be called if the private data has not been successfully allocated. In order to change this, add a check for whether the private data exists before trying to free the fifo in it. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mux: Use const AVPacket * in compare functionsAndreas Rheinhardt2019-08-15
| | | | | | | | | There is no reason for these functions to modify the given packets at all. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/audiointerleave: pad last audio frameBaptiste Coudurier2018-08-21
|
* 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 'f7e932473314e6ca4c851d49cbde8570b6e66383'Michael Niedermayer2015-06-08
|\| | | | | | | | | | | | | | | | | | | * commit 'f7e932473314e6ca4c851d49cbde8570b6e66383': audiointerleave: Always initialize new_pkt Conflicts: libavformat/audiointerleave.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * audiointerleave: Always initialize new_pktVittorio Giovara2015-06-08
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 609333
* | Merge commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d'Michael Niedermayer2014-10-25
|\| | | | | | | | | | | | | | | | | | | | | * commit '1967cd4e4c1cd96dfa195ce14e4b212ddb70586d': audiointerleave: check av_new_packet return value Conflicts: libavformat/audiointerleave.c See: 3ca8a2328878ebdb203e49d0a060df1b5337a370 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * audiointerleave: check av_new_packet return valueVittorio Giovara2014-10-24
| | | | | | | | | | CC: libav-stable@libav.org Bug-Id: CID 1087078
* | Merge commit '324ff59444ff5470bb325ff1e2be7c4b054fc944'Michael Niedermayer2014-07-17
|\| | | | | | | | | | | | | | | | | | | | | | | | | * commit '324ff59444ff5470bb325ff1e2be7c4b054fc944': avpacket: Check for and return errors in ff_interleave_add_packet() Conflicts: libavformat/audiointerleave.c libavformat/internal.h libavformat/mux.c See: 4d7c71c36467331f1e0c0f17af9f371d33308a9c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avpacket: Check for and return errors in ff_interleave_add_packet()Nidhi Makhijani2014-07-17
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | lavf/audiointerleave: return more meaningful error codesLukasz Marek2014-05-20
| | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
* | lavf/audiointerleave: check for allocation failureLukasz Marek2014-05-20
| | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
* | lavf/audiointerleave: use av_fifo_alloc_arrayLukasz Marek2014-05-20
| | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
* | lavf: use av_fifo_freepLukasz Marek2014-05-07
| | | | | | | | Signed-off-by: Lukasz Marek <lukasz.m.luki2@gmail.com>
* | Merge commit 'e926b5ceb1962833f0c884a328382bc2eca67aff'Michael Niedermayer2013-05-01
|\| | | | | | | | | | | | | | | | | | | | | | | * commit 'e926b5ceb1962833f0c884a328382bc2eca67aff': avformat: Drop unnecessary ff_ name prefixes from static functions Conflicts: libavformat/audiointerleave.c libavformat/mux.c libavformat/mxfenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * avformat: Drop unnecessary ff_ name prefixes from static functionsDiego Biurrun2013-04-30
| |
* | 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>
| * audiointerleave: deobfuscate a function call.Anton Khirnov2012-11-02
| | | | | | | | | | right above there is if (pkt) {<do stuff>; pkt = NULL}, so pkt is just a fancy name for NULL at this point.
* | lavf/audiointerleave: check return value of av_new_packet()Paul B Mahol2012-10-15
| | | | | | | | | | | | Fixes CID733709. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | audiointerleave: check timebaseMichael Niedermayer2012-04-01
| | | | | | | | | | | | Replaces FPE by clean error Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Check for OOM after av_mallocz() in ff_interleave_add_packet().Carl Eugen Hoyos2011-11-08
| | | | | | | | Fixes a crash with the sample from Ubuntu bug #869125.
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2011-07-04
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: (40 commits) H.264: template left MB handling H.264: faster fill_decode_caches H.264: faster write_back_* H.264: faster fill_filter_caches H.264: make filter_mb_fast support the case of unavailable top mb Do not include log.h in avutil.h Do not include pixfmt.h in avutil.h Do not include rational.h in avutil.h Do not include mathematics.h in avutil.h Do not include intfloat_readwrite.h in avutil.h Remove return statements following infinite loops without break RTSP: Doxygen comment cleanup doxygen: Escape '\' in Doxygen documentation. md5: cosmetics md5: use AV_WL32 to write result md5: add fate test md5: include correct headers md5: fix test program doxygen: Drop array size declarations from Doxygen parameter names. doxygen: Fix parameter names to match the function prototypes. ... Conflicts: libavcodec/x86/dsputil_mmx.c libavformat/flvenc.c libavformat/oggenc.c libavformat/wtv.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Do not include mathematics.h in avutil.hMans Rullgard2011-07-03
| | | | | | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
| * Replace FFmpeg with Libav in licence headersMans Rullgard2011-03-19
|/ | | | Signed-off-by: Mans Rullgard <mans@mansr.com>
* Define AVMediaType enum, and use it instead of enum CodecType, whichStefano Sabatini2010-03-30
| | | | | | is deprecated and will be dropped at the next major bump. Originally committed as revision 22735 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Reorder arguments for av_fifo_generic_read to be more logical andReimar Döffinger2009-03-09
| | | | | | consistent with av_fifo_generic_write. Originally committed as revision 17914 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Replace all uses of the replaced av_fifo_read by av_fifo_generic_readReimar Döffinger2009-03-08
| | | | Originally committed as revision 17873 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Allocate AVFifoBuffer through the fifo API to reduce future API/ABI issues.Michael Niedermayer2009-03-08
| | | | | | | Yes this breaks ABI/API but ive already broken it and will bump avutil major soon. Originally committed as revision 17869 to svn://svn.ffmpeg.org/ffmpeg/trunk
* check fifo size and realloc if neededBaptiste Coudurier2009-02-18
| | | | Originally committed as revision 17420 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rename ff_audio_interleave to ff_audio_rechunk_interleaveBaptiste Coudurier2009-02-09
| | | | Originally committed as revision 17103 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Move declaration of ff_interleave_add_packet to internal.h.Baptiste Coudurier2009-02-08
| | | | | | It is an internal function and should not be in an installed header. Originally committed as revision 17070 to svn://svn.ffmpeg.org/ffmpeg/trunk
* Declare ff_interleave_new_audio_packet as static, it is not usedBaptiste Coudurier2009-02-08
| | | | | | | outside of audiointerleave.c. Also remove the function declaration from the header as it is now static. Originally committed as revision 17068 to svn://svn.ffmpeg.org/ffmpeg/trunk
* rewrite pts also, as comment saysBaptiste Coudurier2009-02-08
| | | | Originally committed as revision 17051 to svn://svn.ffmpeg.org/ffmpeg/trunk
* extract audio interleaving code from mxf muxer, will be used by gxf and dvBaptiste Coudurier2009-02-08
Originally committed as revision 17038 to svn://svn.ffmpeg.org/ffmpeg/trunk