summaryrefslogtreecommitdiff
path: root/libavformat/mpegtsenc.c
Commit message (Collapse)AuthorAgeFilesLines
...
| * cosmetics: Fix spelling mistakesVittorio Giovara2016-05-041-5/+5
| | | | | | | | Signed-off-by: Diego Biurrun <diego@biurrun.de>
* | lavf/mpegtsenc: set metadata stream type and write descriptor for ID3 packetsStefano Sabatini2016-05-191-0/+10
| | | | | | | | This allow to remux data packets which are then recognized as ID3 packets.
* | avformat/mpegtsenc: fix usage of AVStream.codecJames Almer2016-05-041-2/+2
| | | | | | | | Signed-off-by: James Almer <jamrial@gmail.com>
* | lavf/mpegtsenc: Define service_type "HEVC digital television service".smallishzulu2016-05-031-1/+5
| | | | | | | | Fixes ticket #5455.
* | lavf/mpegtsenc: Fix stream_type for low sample rate MP2/MP3.Carl Eugen Hoyos2016-05-031-1/+6
| |
* | Merge commit '9200514ad8717c63f82101dc394f4378854325bf'Derek Buitenhuis2016-04-101-76/+77
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | * 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-231-27/+28
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
| * mpegtsenc: add flag to embed an AC-3 ES the DVB wayStefan Pöschel2015-12-141-1/+13
| | | | | | | | | | | | | | | | | | | | | | | | | | So far an AC-3 elementary stream is refered to in the PMT according to System A (ATSC). However System B (DVB) has a different way to signal an AC-3 ES within the PMT. This different way can be enabled by a new flag. The flag is more generally named 'system_b' as there are further differences between ATSC and DVB (e.g. the signalling of E-AC-3) which should then also be covered by it in the future. Bug-Id: 73 Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | avformat/mpegtsenc: Fix used serviceMichael Niedermayer2016-03-241-0/+12
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegtsenc: Keep track of the program for each serviceMichael Niedermayer2016-03-241-9/+8
| | | | | | | | | | | | Simplifies code Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavc/lavf: transmit stream_id information for mpegts KLV data packetsStefano Sabatini2016-02-231-6/+20
| | | | | | | | | | | | | | | | | | | | | | | | 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.
* | mpegtsenc: Do not fail ADTS AAC muxing if the first frame is not ADTSHagen Schmidt2016-01-291-2/+0
| | | | | | | | | | | | Fixes ticket 279. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegtsenc: Fix multi program so that it supports adding the same ↵Vittorio Gambaletta (VittGam)2016-01-251-2/+13
| | | | | | | | | | | | | | stream to multiple programs. Signed-off-by: Vittorio Gambaletta <ffmpeg-dev@vittgam.net> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | lavf/mpegtsenc: add automatic bitstream filteringRodger Combs2015-12-281-30/+35
| |
* | avformat/mpegtsenc: add flag to embed an AC-3/E-AC-3 ES the DVB wayStefan Pöschel2015-12-241-2/+18
| | | | | | | | | | | | | | | | | | | | So far an AC-3 elementary stream is refered to in the PMT according to System A (ATSC). An E-AC-3 ES in contrast is embedded the System B (DVB) way. To fix this inconsistency, this commit changes the default E-AC-3 behaviour to use the ATSC way, too. Furthermore a new flag is added to optionally select the DVB way (regarding both codecs and possible further differences in the future). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegtsenc: Add basic multi program supportMichael Niedermayer2015-12-111-15/+42
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat: use AV_OPT_TYPE_BOOL in a bunch of placesClément Bœsch2015-12-041-3/+3
| |
* | mpegtsenc: Fix off-by-one in indexing into Opus channel mapping arraysSebastian Dröge2015-12-041-2/+2
| | | | | | | | | | | | Fixes, CID1338323, CID1338324 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegencts: Fix overflow in cbr mode period calculationsTimo Teräs2015-12-031-3/+3
| | | | | | | | | | | | | | | | | | | | | | ts->mux_rate is int (signed 32-bit) type. The period calculations will start to overflow when mux_rate > 5mbps. This fixes overflows by converting first to 64-bit type. Fixes #5044. Signed-off-by: Timo Teräs <timo.teras@iki.fi> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegtsenc: add vc-1 support to MPEG-TS muxer (ticket 2141)Hagen Schmidt2015-11-161-0/+10
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegtsenc: Implement writing of Opus trim_start/trim_end control valuesSebastian Dröge2015-11-061-3/+40
| | | | | | | | | | | | Signed-off-by: Sebastian Dröge <sebastian@centricular.com> Reviewed-by: Kieran Kunhya <kierank@obe.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegtsenc: Add support for muxing Opus in MPEG-TSSebastian Dröge2015-11-061-1/+179
| | | | | | | | | | | | Signed-off-by: Sebastian Dröge <sebastian@centricular.com> Previous version reviewed-by: Kieran Kunhya <kierank@obe.tv> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | mpegts: Make the sdt_period a doubleDerek Buitenhuis2015-10-171-2/+2
| | | | | | | | | | | | | | Having it as a float didn't even allow enough precision to check for INT_MAX/2. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | mpegts: Make the pat_period a doubleDerek Buitenhuis2015-10-171-2/+2
| | | | | | | | | | | | | | Having it as a float didn't even allow enough precision to check for INT_MAX/2. Signed-off-by: Derek Buitenhuis <derek.buitenhuis@gmail.com>
* | avformat/mpegtsenc: Add sdt_period, similar to pat_periodMichael Niedermayer2015-07-181-1/+15
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegtsenc: Support a user specified PAT/PMT periodMichael Niedermayer2015-07-181-3/+19
| | | | | | | | | | | | Can be used to fix Ticket3714 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mpegtsenc: support storing PAT/PMT per frameMichael Niedermayer2015-07-181-0/+9
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | Merge commit '4512ee78e19fdb011bdec1b3a8dc0b315c82a81e'Michael Niedermayer2015-07-151-1/+1
|\ \ | |/ | | | | | | | | | | * commit '4512ee78e19fdb011bdec1b3a8dc0b315c82a81e': mpegts: Mark the muxer as supporting variable fps Merged-by: Michael Niedermayer <michael@niedermayer.cc>
| * mpegts: Mark the muxer as supporting variable fpsLuca Barbato2015-07-151-1/+1
| | | | | | | | Signed-off-by: Luca Barbato <lu_zero@gentoo.org>
* | lavf/mpegtsenc: Only fail aac muxing if the first frame is invalid.Carl Eugen Hoyos2015-07-071-3/+4
| | | | | | | | Fixes ticket #3957.
* | Merge commit '1a3eb042c704dea190c644def5b32c9cee8832b8'Michael Niedermayer2015-04-201-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | * commit '1a3eb042c704dea190c644def5b32c9cee8832b8': Replace av_dlog with normal av_log at trace level Conflicts: ffplay.c libavdevice/fbdev_dec.c libavfilter/avfilter.c libavfilter/internal.h libavfilter/setpts.c libavfilter/src_movie.c libavfilter/vf_crop.c libavfilter/vf_drawtext.c libavfilter/vf_fieldorder.c libavformat/assdec.c libavformat/avidec.c libavformat/flvdec.c libavformat/http.c libavformat/ipmovie.c libavformat/isom.c libavformat/mov.c libavformat/mpegenc.c libavformat/mpegts.c libavformat/mpegtsenc.c libavformat/mux.c libavformat/mxfdec.c libavformat/nsvdec.c libavformat/oggdec.c libavformat/r3d.c libavformat/rtspdec.c libavformat/utils.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Replace av_dlog with normal av_log at trace levelVittorio Giovara2015-04-191-1/+1
| | | | | | | | This applies to every library where performance is not critical.
* | lavf/mpegtsenc: Accept 0x000001 as startcode for hevc.Carl Eugen Hoyos2015-04-141-1/+1
| | | | | | | | Fixes ticket #4194.
* | Merge commit '7d097a0fc57f0fa8385962a539c657c2f40b5ed0'Michael Niedermayer2015-04-031-1/+4
|\ \ | |/ | | | | | | | | | | | | | | | | * commit '7d097a0fc57f0fa8385962a539c657c2f40b5ed0': mpegtsenc: Take max_delay into account when buffering multiple audio packets into one PES packet Conflicts: libavformat/mpegtsenc.c Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mpegtsenc: Take max_delay into account when buffering multiple audio packets ↵Martin Storsjö2015-04-031-1/+4
| | | | | | | | | | | | | | | | | | | | into one PES packet Make sure we don't buffer up more than max_delay worth of data before writing a PES packet, even if pes_payload_size is set to a larger value. Signed-off-by: Martin Storsjö <martin@martin.st>
* | Allow muxing h264 into ts with startcode "001" instead of "0001".Carl Eugen Hoyos2015-02-251-1/+1
| | | | | | | | | | Fixes ticket #2220. Fixes ticket #4324.
* | Merge commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a'Michael Niedermayer2015-02-251-3/+2
|\ \ | |/ | | | | | | | | | | * commit '8e32b1f0963d01d4f5d4803eb721f162e0d58d9a': libavformat: Use ffio_free_dyn_buf where applicable Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * libavformat: Use ffio_free_dyn_buf where applicableMartin Storsjö2015-02-241-3/+2
| | | | | | | | Signed-off-by: Martin Storsjö <martin@martin.st>
* | avformat/mpegtsenc: Do not create invalid files from annex b streams without ↵Michael Niedermayer2015-02-121-3/+12
| | | | | | | | | | | | | | | | | | | | SPS/PPS use global headers to create SPS/PPS when they are available Fixes Ticket4248 Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mpegtsenc: Fix build with msvcMatt Oliver2015-02-031-10/+10
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Revert "avformat/mpegtsenc: Change the service_type field to enum"Michael Niedermayer2015-02-021-12/+11
| | | | | | | | | | | | | | This isnt safe due to AVOption accessing this field as int i just realized a moment after pushing This reverts commit 0935453e84a17035f0c3544913e7ab7775839176.
* | avformat/mpegtsenc: Change the service_type field to enumMichael Niedermayer2015-02-021-11/+12
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | libavformat/mpegtsenc: allow to set service_type in sdtdhead6662015-02-021-1/+36
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | This adds an option to set the service type in mpegts as defined in ETSI 300 468. I added what I believe are the most useful service types as pre defined values, the others can be sent by using their hexdecimal form directly (e.g. -mpegts_service_type digital_radio, -mpegts_service_type 0x07). I've been using this patch in order to pipe internet radio stream (originally as HLS/m3u8) from ffmpeg to tvheadend, when the service type set right tvheadend recognize the mpegts stream as a radio channel. The patch in its original form was written by linuxstb from freenode's hts channel which allowed me pushing it upstream. This close issue 4118. Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | avformat/mpegtsenc: Use av_freep() to avoid leaving stale pointers in memoryMichael Niedermayer2014-12-211-4/+4
| | | | | | | | Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
* | Merge commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa'Michael Niedermayer2014-12-201-1/+2
|\ \ | |/ | | | | | | | | | | * commit 'e2ce16392205d8efe9143329ed3fb5fcb15498fa': mpegts: Support running the write_trailer function without an AVIOContext Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * mpegts: Support running the write_trailer function without an AVIOContextMartin Storsjö2014-12-191-1/+2
| | | | | | | | | | | | | | | | If opening and closing dynamic buffers as AVIOContext, we may not have any AVIOContext available when wanting to close and deallocate the muxer. Allow calling write_trailer despite this. Signed-off-by: Martin Storsjö <martin@martin.st>
| * Drop the unofficial extension prefix for MPEG and MPEG-TS formatsFlorent Le Coz2014-12-021-1/+1
| | | | | | | | | | | | | | | | As per the RFCs: http://tools.ietf.org/html/rfc3555#page-38 http://tools.ietf.org/html/rfc3003 CC: libav-stable@libav.org
| * mpegtsenc: recognize .mts as MPEG Transport StreamJean-Baptiste Mardelle2014-12-021-1/+1
| |
* | Merge commit '8f8caca2242e1fe05f37493cfabcd3f4de198550'Michael Niedermayer2014-12-021-1/+1
|\ \ | |/ | | | | | | | | | | | | | | | | | | * commit '8f8caca2242e1fe05f37493cfabcd3f4de198550': Add support for BDAV/m2ts-mode muxing Conflicts: libavformat/mpegtsenc.c See: 09a858da7d5535e78e9cf942a468aec411ffbf19 Merged-by: Michael Niedermayer <michaelni@gmx.at>
| * Add support for BDAV/m2ts-mode muxingFredrik Axelsson2014-12-021-7/+35
| | | | | | | | | | Signed-off-by: Fredrik Axelsson <fraxbe@gmail.com> Signed-off-by: Michael Niedermayer <michaelni@gmx.at>