summaryrefslogtreecommitdiff
path: root/libavformat/wavdec.c
Commit message (Collapse)AuthorAge
* avformat/id3v2: Remove unnecessary indirectionAndreas Rheinhardt2020-05-25
| | | | | | | | | ff_id3v2_parse_apic/chapters/priv/priv_dict all had a parameter extra_meta of type ID3v2ExtraMeta ** as if the functions wanted to make *extra_meta point to something else. But they don't, so just use an ID3v2ExtraMeta *. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
* avformat: Don't free old extradata before ff_alloc/get_extradataAndreas Rheinhardt2019-12-12
| | | | | | | | These functions already free it themselves before they allocate the new extradata. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* 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>
* avcodec/adpcm: add support for 5.1 ADPCM MSPaul B Mahol2019-07-26
|
* lafv/wavdec: Fail bext parsing on incomplete readsMatt Wolenetz2019-07-26
| | | | | | | | | | | | | | | | | avio_read can successfully return even when less than the requested amount of input was read. wavdec's bext parsing mistakenly assumed a successful avio_read always read the full amount that was requested. The result could be dictionary tags populated with partially uninitialized values. This change also fixes a broken assertion in wav_parse_bext_string that was off-by-one, though no known current usage of that method hits that broken case. Chromium bug: 987270 Signed-off-by: Matt Wolenetz <wolenetz@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf: Constify the probe function argument.Carl Eugen Hoyos2019-03-21
| | | | | Reviewed-by: Lauri Kasanen Reviewed-by: Tomas Härdin
* avformat/wavdec: add support for 'id3 ' chunkPaul B Mahol2018-12-13
| | | | Fixes #5700.
* avformat/wavdec: make fact chunk parsing for w64 more robustPaul B Mahol2018-01-10
| | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* avcodec/wmaprodec: support multichannel XMA stream configurationsbnnm2017-10-09
| | | | | | Signed-off-by: bnnm <bananaman255@gmail.com> Now accepts any combination of 1/2ch streams, described in the RIFF chunks/extradata
* avformat/wavdec: Check chunk_size李赞2017-05-10
| | | | | | Fixes integer overflow and out of array access Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf: fix usages of av_get_codec_tag_string()Clément Bœsch2017-03-29
|
* Merge commit '83548fe894cdb455cc127f754d09905b6d23c173'James Almer2017-03-21
|\ | | | | | | | | | | | | * commit '83548fe894cdb455cc127f754d09905b6d23c173': lavf: fix usage of AVIOContext.seekable Merged-by: James Almer <jamrial@gmail.com>
| * lavf: fix usage of AVIOContext.seekableAnton Khirnov2016-09-30
| | | | | | | | | | | | | | | | It is supposed to be a flag. The only currently defined value is AVIO_SEEKABLE_NORMAL, but other ones may be added in the future. However all the current lavf code treats this field as a bool (mainly for historical reasons). Change all those cases to properly check for AVIO_SEEKABLE_NORMAL.
* | avformat/wavdec: enable seeking with XMA2Paul B Mahol2017-01-20
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avcodec/wmaprodec: >2 channel support for XMAPaul B Mahol2017-01-19
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/wavdec: add support for decoding 24.0 and 16.8 floating point pcm ↵Paul B Mahol2016-12-22
| | | | | | | | | | | | | | | | formats Fixes #5602 and #5603. Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/wavdec: Eliminate goto for clang -O0 DCEMark Harris2016-12-16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Clang is not able to eliminate the reference to ff_spdif_probe() when there is a goto target in the same block and optimization is disabled. This fixes the following build failure on OS X: ./configure --disable-everything --disable-doc \ --enable-decoder=pcm_s16le --enable-demuxer=wav \ --enable-protocol=file --disable-optimizations --cc=clang make ... Undefined symbols for architecture x86_64: "_ff_spdif_probe", referenced from: _set_spdif in libavformat.a(wavdec.o) ld: symbol(s) not found for architecture x86_64 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | 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.
* | avformat/wavdec: fix typo with lenMichael Niedermayer2016-04-03
| | | | | | | | | | Found-by: carl Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/wavdec: Remove direct s->pb->buffer accessMichael Niedermayer2016-04-03
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | wavdec: Only set the codec ID in read_headerDerek Buitenhuis2016-04-03
| | | | | | | | | | | | | | | | WAV is not a NOHEADER format, and thus should not be changing stream codec IDs and probing in read_packet. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/wavdec: allow data chunk to be before fmt/xma2 chunkPaul B Mahol2015-11-10
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/wavdec: parse XMA2 tagPaul B Mahol2015-11-10
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/wavdec: use AV_OPT_TYPE_BOOL for ignore_lengthPaul B Mahol2015-09-11
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/wavdec: Detect wrongly interpreted specification about the sample ↵Michael Niedermayer2015-08-13
| | | | | | | | | | | | | | | | value in the fact chunk Fixes Ticket703 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/wavdec: Do not discard sample_count due to roundingMichael Niedermayer2015-08-13
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/wavdec: add extra sample count check for G.729 filesGanesh Ajjanagadde2015-07-31
| | | | | | | | | | | | | | Can be used to fix Ticket4577 Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/wavdec: Check for data_size overflowMichael Niedermayer2015-07-29
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | wavdec: make sample count check more preciseGanesh Ajjanagadde2015-07-29
| | | | | | | | | | | | | | May be used to fix Ticket4577 Signed-off-by: Ganesh Ajjanagadde <gajjanagadde@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit 'd80811c94e068085aab797f9ba35790529126f85'Michael Niedermayer2015-07-12
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit 'd80811c94e068085aab797f9ba35790529126f85': riff: Use the correct logging context Conflicts: libavformat/asfdec_o.c libavformat/avidec.c libavformat/dxa.c libavformat/matroskadec.c libavformat/mov.c libavformat/riff.h libavformat/riffdec.c libavformat/wavdec.c libavformat/wtvdec.c libavformat/xwma.c Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * riff: Use the correct logging contextLuca Barbato2015-07-11
| |
* | avformat/wavdec: Increase dts packet threshold to fix more misdetectionsRodger Combs2015-05-23
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/wavdec: Increase probe_packets limitMichael Niedermayer2015-05-23
| | | | | | | | | | | | Fixes DTS detection of b2429e5ba9.dts Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/wav: Read files >4G if no smaller filesize was written.Carl Eugen Hoyos2015-05-17
| | | | | | | | Fixes second part of ticket #4543.
* | avformat/wavdec: make start_code string largerClément Bœsch2014-12-19
| | | | | | | | av_get_codec_tag_string() uses more that 1 char for unprintable characters.
* | wavdec: avoid output of arbitrary charsThomas Volkert2014-12-19
| | | | | | | | | | | | | | use av_get_codec_tag_string() in wav_read_header() for printing the faulty start code from riff header Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | wavdec: refactor wav_read_header()Thomas Volkert2014-12-19
| | | | | | | | | | | | | | | | Make it more readable and display an error message in case an invalid header is detected (the current version just returns AVERROR_INVALIDDATA) Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | wavdec: RIFX file format supportThomas Volkert2014-12-18
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | lavf/wavdec: add sanity check for AVCodecContext.channelsJames Almer2014-08-18
| | | | | | | | | | | | | | | | Fixes ticket #3862. As a side effect, this also fixes aac_latm in wav. Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | replace calls to url_feof() with avio_feof()James Almer2014-08-08
| | | | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/wavdec: add basic sanity check for the sample countMichael Niedermayer2014-07-14
| | | | | | | | | | | | Fixes Ticket3708 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/wavdec: enlarge probe_packets for wavcsheng2014-04-19
| | | | | | | | | | | | fix issue https://trac.ffmpeg.org/ticket/3550 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge remote-tracking branch 'qatar/master'Michael Niedermayer2013-11-24
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | * qatar/master: Add missing #includes for *INT64_MAX and *INT64_C Conflicts: ffmpeg.c ffmpeg_filter.c ffplay.c libavformat/assdec.c libavformat/avidec.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add missing #includes for *INT64_MAX and *INT64_CDiego Biurrun2013-11-23
| |
* | avformat/wavdec: Fix smv packet interleavingMichael Niedermayer2013-10-25
| | | | | | | | | | | | | | | | This strips the relative timestamp "flag" off. Fixes Ticket2849 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat: use ff_alloc_extradata()Paul B Mahol2013-10-13
| | | | | | | | Signed-off-by: Paul B Mahol <onemda@gmail.com>
* | avformat/wavdec: Dont trust the fact chunk for PCMMichael Niedermayer2013-10-09
| | | | | | | | | | | | Fixes Ticket3033 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/wavdec: check smv_frames_per_jpegMichael Niedermayer2013-09-26
| | | | | | | | | | | | | | | | | | Values outside would not be possible due to limitations of jpeg itself Fixes very long running loop Fixes Ticket2977 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | w64dec: fix end position of summarylist guidPaul B Mahol2013-09-03
| | | | | | | | | | | | Noticed-by: James Almer Signed-off-by: Paul B Mahol <onemda@gmail.com>