e9391ab121
avformat/mpegts: enhance logging in trace mode
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-14 21:34:23 +02:00
00c4861f13
avformat/mpegts: adjust probe score for low check_count
...
Fixes mis-detection of tiff as mpegts
Fixes Ticket5565
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-14 02:20:10 +02:00
e01b19dece
avformat/mpegts: Fix probing of mpegts with invalid ASC
...
Fixes Ticket5566
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-07 15:46:08 +02:00
a5eb70ad95
avformat/mpegts: Do not trust BSSD descriptor, it is sometimes not an S302M stream
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-06-06 21:56:51 +02:00
4b38df82c2
lavf/mpegts: add ID3 entry to the REGD_types array
...
This allows to recognize ID3 packets from their corresponding descriptor
tag.
2016-05-19 18:26:32 +02:00
41ed7ab45f
cosmetics: Fix spelling mistakes
...
Signed-off-by: Diego Biurrun <diego@biurrun.de >
2016-05-04 18:16:21 +02:00
80d14de52d
lavf/mpegts: Add E-AC3 registered stream specifier "EAC3".
...
Related to ticket #5501 .
2016-05-03 10:51:35 +02:00
74d98d1b0e
mpegts: Validate the SL Packet Header Configuration
...
timeStampLength, OCRLength and AU_Length have well specified upper
boundaries.
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2016-05-03 14:21:45 +09:00
88a849c714
lavf/mpegts: Return small probe score for very short transport streams.
...
Fixes Debian bug 823098.
2016-05-01 15:39:13 +02:00
dbe1dd59e0
avformat/mpegts: Skip over broken 0x80 headers
...
This fixes demuxing of 01c56b0dc1.ts
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-04-24 02:51:50 +02:00
ea41ab0987
avformat/mpegts: factor duplicate seek back code into mpegts_resync
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-04-24 02:51:50 +02:00
0520d573db
Merge commit '9765549f551ff40869aee1a6492b6a976c86cfe9'
...
* commit '9765549f551ff40869aee1a6492b6a976c86cfe9':
mpegts: Forward the errors on mpeg4 objects parsing
Merged-by: Derek Buitenhuis <derek.buitenhuis@gmail.com >
2016-04-14 14:01:31 +01:00
6f69f7a8bf
Merge commit '9200514ad8717c63f82101dc394f4378854325bf'
...
* 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 >
2016-04-10 20:59:55 +01:00
38a6242b27
avformat/mpegts: Remove unused argument from analyze()
...
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2016-04-10 13:32:26 +02:00
ee7a642b0e
avformat/mpegts: Check adaption field control in analyze() more instead of 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 >
2016-04-10 13:32:25 +02:00
9765549f55
mpegts: Forward the errors on mpeg4 objects parsing
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2016-03-20 01:04:12 +01:00
14f7a3d55a
lavc/lavf: transmit stream_id information for mpegts KLV data packets
...
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.
2016-02-23 18:44:12 +01:00
9200514ad8
lavf: replace AVStream.codec with AVStream.codecpar
...
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.
2016-02-23 17:01:58 +01:00
4bec36f98c
avformat/mpegts: consider stream_type 4 just a hint toward mp3 and not definite
...
Fixes Ticket 4864
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-12-24 20:47:25 +01:00
676a93f2d8
avformat: Add av_program_add_stream_index()
...
This will be used by the subsequent commit(s)
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-12-11 22:27:25 +01:00
43ecec0f03
avformat: use AV_OPT_TYPE_BOOL in a bunch of places
2015-12-04 15:43:33 +01:00
085ab74972
lavf/mpegts: use AVERROR_INVALIDDATA instead of AVERROR(EINTR).
2015-12-03 19:16:12 +01:00
3692d859f4
avformat/mpegts: Only start probing data streams within probe_packets
...
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 >
2015-11-05 17:06:02 +01:00
6255bf3d0d
mpegts: Fix FATE seek test
2015-10-27 15:42:59 +01:00
c2f861ca42
Replace remaining occurances of av_free_packet with av_packet_unref
2015-10-27 14:35:30 +01:00
7f5af80ba4
Merge commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457'
...
* commit 'ce70f28a1732c74a9cd7fec2d56178750bd6e457':
avpacket: Replace av_free_packet with av_packet_unref
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-10-27 14:28:56 +01:00
ce70f28a17
avpacket: Replace av_free_packet with av_packet_unref
...
`av_packet_unref` matches the AVFrame ref-counted API and can be used as
a drop in replacement.
Deprecate `av_free_packet`.
2015-10-26 18:00:55 +01:00
4b7685b6c6
Merge commit 'cc8db760616a7ec3bd39b22ca45888c01326db13'
...
* commit 'cc8db760616a7ec3bd39b22ca45888c01326db13':
mpegts: use avcodec_get_type() to set codec_type
Merged-by: Hendrik Leppkes <h.leppkes@gmail.com >
2015-09-29 13:45:23 +02:00
cc8db76061
mpegts: use avcodec_get_type() to set codec_type
...
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 >
2015-09-28 10:50:50 +02:00
655b6dcb34
lavc/lavf: remove incompatible abi checks for the new 64bit fields
...
Reviewed-by: Michael Niedermayer <michaelni@gmx.at >
Signed-off-by: James Almer <jamrial@gmail.com >
2015-09-17 11:36:16 -03:00
b290972b8f
lavf: Switch probesize and max_analyze_duration to 64bit.
...
Both are only accessible through AVOptions.
2015-09-15 18:02:51 +02:00
5d12d7de2c
mpegts: demux BluRay text subtitles
...
Reviewed-by: Paul B Mahol <onemda@gmail.com >
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-09-01 14:35:32 +02:00
757cb0f286
mpegts: fix demuxing PES private stream 2
...
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 >
2015-09-01 14:35:32 +02:00
670d8ecfae
lavf: Remove probesize32 and max_analyze_duration32 on version bump.
...
Add FF_API_PROBESIZE_32 to allow removing 32bit probesize and 32bit
max_analyze_duration after the next libavformat version bump.
2015-09-01 09:19:49 +02:00
229843aa35
Replace av_dlog with ff_dlog.
...
ff_dlog checks compilability, and is non-public. av_dlog is deprecated
and no longer exists if FF_API_DLOG=0.
2015-08-18 10:24:01 -04:00
fedc422684
lavf/mpegts: apply misc option description fixes
...
Use impersonal form, drop capitalization and ending dot.
2015-08-14 12:08:57 +02:00
29d147c94d
Merge commit '059a934806d61f7af9ab3fd9f74994b838ea5eba'
...
* 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 >
2015-07-27 23:15:19 +02:00
059a934806
lavc: Consistently prefix input buffer defines
...
Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com >
2015-07-27 15:24:59 +01:00
c8c86b8f9b
avformat/mpegts: Replace silent cliping of language_count by asserts
...
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 >
2015-07-27 18:15:17 +02:00
42aa02418e
avformat/mpegts: Use DVB_TELETEXT timestamp heuristic also for DVB subtitles
...
Fixes Ticket4200
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc >
2015-07-27 15:38:40 +02:00
42bc768e52
mpegts: Add jpeg2000 stream type
...
Signed-off-by: Luca Barbato <lu_zero@gentoo.org >
2015-06-30 10:08:16 +02:00
088b410ea2
Merge commit '42bc768e5240ec01237ad2eb7c69b917158de258'
...
* commit '42bc768e5240ec01237ad2eb7c69b917158de258':
mpegts: Add jpeg2000 stream type
Conflicts:
libavformat/mpegts.c
Merged-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-30 13:08:26 +02:00
77c0b149be
lavf/mpegts: Return 0 if the probe function does not detect mpegts.
...
Reduces console spamming on debug level.
2015-06-29 16:27:36 +02:00
b64e70436e
avformat/mpegts: Use STREAM_TYPE_PRIVATE_DATA instead of 6
...
Suggested-by: Wolfgang Lorenz <wl-chmw@gmx.de >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-23 03:42:12 +02:00
d59a033a69
avformat/mpegts: recognizes and export private streams
...
Based on patch by Wolfgang Lorenz <wl-chmw@gmx.de >
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-12 13:59:00 +02:00
c465254fbf
avformat/mpegts: Do not ignore registration descriptors when probing is enabled
...
This is required for the (not yet in git) private stream detection/export,
no other testcase known
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-06-10 23:50:46 +02:00
db07fc2020
avformat/mpegts: Avoid float in bitrate calculation
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-26 12:02:44 +02:00
e0153145f6
avformat/mpegts: Detect changes in packet through CRC instead of just the 5bit version
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-01 02:14:14 +02:00
4b6be54bed
avformat/mpegts: reset last_ver on corrupted packets
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-01 02:13:26 +02:00
4e8d01f20c
avformat/mpegts: Factorize version checking code out
...
Signed-off-by: Michael Niedermayer <michaelni@gmx.at >
2015-05-01 01:29:43 +02:00