summaryrefslogtreecommitdiff
path: root/libavformat/mpegts.c
Commit message (Collapse)AuthorAge
* 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.
* | lavf/mpegts: Make a pointer cast explicit.Carl Eugen Hoyos2017-02-12
| | | | | | | | | | | | Silences an "assignment discards ‘const’ qualifier" warning. Reviewed-by: Marton Balint
* | mpegts: prevent division by zeroAndreas Cadhalpun2016-11-08
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | lavf/mpegts: add missed fixes to scte35 section callbackCarlos Fernandez2016-10-23
| | | | | | | | | | | | They somehow got lost along the patch versions. Signed-off-by: Marton Balint <cus@passwd.hu>
* | mpegts: handle AVMEDIA_TYPE_UNKNOWN correctlyAndreas Cadhalpun2016-10-22
| | | | | | | | | | | | | | | | | | It is negative, so can't be used for left shifting. This fixes ubsan runtime error: shift exponent -1 is negative Reviewed-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Andreas Cadhalpun <Andreas.Cadhalpun@googlemail.com>
* | lavf/mpegts: SCTE-35 extraction from mpegtsCarlos Fernandez2016-10-21
| | | | | | | | | | | | | | Reviewed-by: Marton Balint <cus@passwd.hu> Acked-by: Michael Niedermayer <michael@niedermayer.cc> Signed-off-by: Carlos Fernandez <carlos@ccextractor.org> Signed-off-by: Marton Balint <cus@passwd.hu>
* | Merge commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | * commit '41ed7ab45fc693f7d7fc35664c0233f4c32d69bb': cosmetics: Fix spelling mistakes Merged-by: Clément Bœsch <u@pkh.me>
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-04
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | avformat/mpegts: include stream type for aacAman Gupta2016-06-21
| | | | | | | | | | | | | | | | this removes the need to probe to discover aac streams inside mpegts containers, thus speeding up initial playback. Reviewed-by: Hendrik Leppkes <h.leppkes@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '74d98d1b0e0e7af444c933ea3c472494de3ce6f2'Clément Bœsch2016-06-21
|\| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '74d98d1b0e0e7af444c933ea3c472494de3ce6f2': mpegts: Validate the SL Packet Header Configuration See e630ca5111077fa8adc972fe8a3d7e2b3e8dc91f Our local timestamp_len > 64 is adjusted to > 63 to match the Libav check and the actual specifications (14496-1, 10.2.2). There is no need to request a sample as it violates the specifications and such a file would likely be the result of a crafted/fuzzed sample. On the other hand, the clipping of the value is kept for extra safety. Merged-by: Clément Bœsch <clement@stupeflix.com>
| * mpegts: Validate the SL Packet Header ConfigurationLuca Barbato2016-05-03
| | | | | | | | | | | | | | timeStampLength, OCRLength and AU_Length have well specified upper boundaries. Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/mpegts: enhance logging in trace modeAman Gupta2016-06-14
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegts: adjust probe score for low check_countMichael Niedermayer2016-06-14
| | | | | | | | | | | | | | Fixes mis-detection of tiff as mpegts Fixes Ticket5565 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegts: Fix probing of mpegts with invalid ASCMichael Niedermayer2016-06-07
| | | | | | | | | | | | Fixes Ticket5566 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M ↵Michael Niedermayer2016-06-06
| | | | | | | | | | | | stream Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/mpegts: add ID3 entry to the REGD_types arrayStefano Sabatini2016-05-19
| | | | | | | | | | This allows to recognize ID3 packets from their corresponding descriptor tag.
* | lavf/mpegts: Add E-AC3 registered stream specifier "EAC3".Carl Eugen Hoyos2016-05-03
| | | | | | | | Related to ticket #5501.
* | lavf/mpegts: Return small probe score for very short transport streams.Carl Eugen Hoyos2016-05-01
| | | | | | | | Fixes Debian bug 823098.
* | avformat/mpegts: Skip over broken 0x80 headersMichael Niedermayer2016-04-24
| | | | | | | | | | | | This fixes demuxing of 01c56b0dc1.ts Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegts: factor duplicate seek back code into mpegts_resyncMichael Niedermayer2016-04-24
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '9765549f551ff40869aee1a6492b6a976c86cfe9'Derek Buitenhuis2016-04-14
|\| | | | | | | | | | | | | * commit '9765549f551ff40869aee1a6492b6a976c86cfe9': mpegts: Forward the errors on mpeg4 objects parsing Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
| * mpegts: Forward the errors on mpeg4 objects parsingLuca Barbato2016-03-20
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | 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/mpegts: Remove unused argument from analyze()Michael Niedermayer2016-04-10
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegts: Check adaption field control in analyze() more instead of ↵Michael Niedermayer2016-04-10
| | | | | | | | | | | | | | | | | | | | | | transport_error_indicator transport_error_indicator is not required to be 0 Fixes probing Fixes Ticket 4862 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc/lavf: transmit stream_id information for mpegts KLV data packetsStefano Sabatini2016-02-23
| | | | | | | | | | | | | | | | | | | | | | | | This allows to copy information related to the stream ID from the demuxer to the muxer, thus allowing for example to retain information related to synchronous and asynchronous KLV data packets. This information is used in the muxer when remuxing to distinguish the two kind of packets (if the information is lacking, data packets are considered synchronous). The fate reference changes are due to the use of av_packet_merge_side_data(), which increases the size of the output packet size, since side data is merged into the packet data.
* | avformat/mpegts: consider stream_type 4 just a hint toward mp3 and not definiteMichael Niedermayer2015-12-24
| | | | | | | | | | | | Fixes Ticket 4864 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: Add av_program_add_stream_index()Michael Niedermayer2015-12-11
| | | | | | | | | | | | This will be used by the subsequent commit(s) Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: use AV_OPT_TYPE_BOOL in a bunch of placesClément Bœsch2015-12-04
| |
* | lavf/mpegts: use AVERROR_INVALIDDATA instead of AVERROR(EINTR).Nicolas George2015-12-03
| |
* | avformat/mpegts: Only start probing data streams within probe_packetsMichael Niedermayer2015-11-05
| | | | | | | | | | | | | | | | Fixes assertion failure Fixes: 4321db8ac331f5967ebfbfe80ce5eb78/signal_sigabrt_7ffff6ae7cc9_7213_0d6457b9d6897fa7c78507fa5de53510.ts Found-by: Mateusz "j00ru" Jurczyk and Gynvael Coldwind Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegts: Fix FATE seek testHendrik Leppkes2015-10-27
| |
* | Replace remaining occurances of av_free_packet with av_packet_unrefHendrik Leppkes2015-10-27
| |
* | 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 'cc8db760616a7ec3bd39b22ca45888c01326db13'Hendrik Leppkes2015-09-29
|\| | | | | | | | | | | | | * commit 'cc8db760616a7ec3bd39b22ca45888c01326db13': mpegts: use avcodec_get_type() to set codec_type Merged-by: Hendrik Leppkes <h.leppkes@gmail.com>
| * mpegts: use avcodec_get_type() to set codec_typewm42015-09-28
| | | | | | | | | | | | | | Note that this slightly changes behavior: it sets AVMEDIA_TYPE_UNKNOWN if the codec type is unknown. This should be ok. Signed-off-by: Anton Khirnov <anton@khirnov.net>
* | lavc/lavf: remove incompatible abi checks for the new 64bit fieldsJames Almer2015-09-17
| | | | | | | | | | Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavf: Switch probesize and max_analyze_duration to 64bit.Carl Eugen Hoyos2015-09-15
| | | | | | | | Both are only accessible through AVOptions.
* | mpegts: demux BluRay text subtitlesPetri Hintukainen2015-09-01
| | | | | | | | | | Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegts: fix demuxing PES private stream 2Petri Hintukainen2015-09-01
| | | | | | | | | | | | | | PES header size is 6 bytes (00 00 01 bf XX XX), not 0. BluRay text subtitles use private stream 2. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf: Remove probesize32 and max_analyze_duration32 on version bump.Carl Eugen Hoyos2015-09-01
| | | | | | | | | | Add FF_API_PROBESIZE_32 to allow removing 32bit probesize and 32bit max_analyze_duration after the next libavformat version bump.
* | Replace av_dlog with ff_dlog.Ronald S. Bultje2015-08-18
| | | | | | | | | | ff_dlog checks compilability, and is non-public. av_dlog is deprecated and no longer exists if FF_API_DLOG=0.
* | lavf/mpegts: apply misc option description fixesStefano Sabatini2015-08-14
| | | | | | | | Use impersonal form, drop capitalization and ending dot.
* | 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/mpegts: Replace silent cliping of language_count by assertsMichael Niedermayer2015-07-27
| | | | | | | | | | | | | | Failure should not be possible, if it does occur then the code is buggy and should be fixed not silently clip Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegts: Use DVB_TELETEXT timestamp heuristic also for DVB subtitlesMichael Niedermayer2015-07-27
| | | | | | | | | | | | Fixes Ticket4200 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>