summaryrefslogtreecommitdiff
path: root/libavformat
Commit message (Collapse)AuthorAge
...
* lavf/avformat: Add a warning that ff_const59 is not part of the public api.Carl Eugen Hoyos2019-03-20
|
* lavf: Constify AVInputFormat pointer.Carl Eugen Hoyos2019-03-20
|
* lavf: Constify AVOutputFormat pointer.Carl Eugen Hoyos2019-03-20
|
* lavf/http: Print metadata updates with -loglevel verbose.Carl Eugen Hoyos2019-03-20
| | | | Simplifies metadata debugging.
* lavf/spdifenc: Do not overwrite buffer when muxing TrueHD.Carl Eugen Hoyos2019-03-20
| | | | | | Fixes ticket #7733. Tested-by: Moritz Barsnick
* lavf/sdp: Change pointer to configuration from char* to uint8_t*.Carl Eugen Hoyos2019-03-20
| | | | | | | | This is also what av_base64_encode() expects. Fixes the following warnings with clang: libavformat/sdp.c:394:40: warning: implicit conversion from 'int' to 'char' changes value from 254 to -2 libavformat/sdp.c:395:40: warning: implicit conversion from 'int' to 'char' changes value from 205 to -51 libavformat/sdp.c:396:40: warning: implicit conversion from 'int' to 'char' changes value from 186 to -70
* avformat/smoothstreamingenc:add bitrate calculateJun Li2019-03-20
| | | | | | | | Calculate bitrate based on fragment size, only applied when bitrate is not set, for example rtsp source. Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Jun Li <junli1026@gmail.com>
* libavformat/movenc: mov: added subtitle codec tags to codec tag listPaweł Wegner2019-03-18
| | | | | | | | This fixes avformat_query_codec incorrectly returning 0 for mov container and mov_text subtitles. Signed-off-by: Paweł Wegner <pawel.wegner95@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
* avformat/gdv: Check fpsMichael Niedermayer2019-03-14
| | | | | | | | Fixes: Division by 0 Fixes: ffmpeg_zero_division.bin Found-by: Anatoly Trosinenko <anatoly.trosinenko@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/rtpdec.h remove unused variableJun Li2019-03-13
| | | | | | | | | Looks like the variable 'cur_timestamp' is not used anywhere. So remove this variable. Signed-off-by: Jun Li <junli1026@gmail.com> Reviewed-by: Steven Liu <lq@chinaffmpeg.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mxfenc: allow user comments for opatom muxerMark Reid2019-03-13
| | | | | Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* lavf/matroskaenc: Allow dvdsub remuxing from some containers.Carl Eugen Hoyos2019-03-10
| | | | Fixes ticket #7783.
* avformat/mpegts: Simplify score compareMichael Niedermayer2019-03-09
| | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpegts: reduce buffering during initializationAndriy Gelman2019-03-09
| | | | | | | Reduces buffering latency with low bitrate streams, where 8192 bytes can mean several seconds. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Add the Canon XF-HEVC UL to the picture essence container UL listMatthew McKenna2019-03-08
|
* avformat/dashenc: Added #EXT-X-PROGRAM-DATE-TIME to HLS playlistsjoepadmiraal2019-03-06
|
* avformat/utils: fix indentationMarton Balint2019-03-01
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/utils: be even more strict about stream specifiersMarton Balint2019-03-01
| | | | | | | | | After this change we always parse the full specifier even if we know the result in the middle of the parsing. Sligtly slower, but this is needed to consistently reject incorrect specifiers in both matching and non-matching cases. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/utils: be more strict about stream specifiersMarton Balint2019-03-01
| | | | | | | | | | | | This reworks the code to be more strict about accepting stream specifiers. From now on we strictly enforce the syntax in the documentation up until the decisive part of the stream specifier. Therefore matching stream specifiers always need to be correct, non matching specifiers only need to be correct until the decisive part. Also recursion is changed to a simple loop. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mpegtsenc: write format_identifier HEVC for HEVC streamsMarton Balint2019-03-01
| | | | | | | | | | | | | This improves compatibility with some consumer (LG WebOS) TVs which apparently search a HEVC descriptor (which our mpegts muxer can't generate) or a format identifier. Since the HEVC format identifier is not registered (but used in the wild), it is not written if strict_std_compliance is higher than normal. This fixes the issue in ticket #7744. Signed-off-by: Marton Balint <cus@passwd.hu>
* avformat/mpegtsenc: factorize writing registration_descriptorMarton Balint2019-03-01
| | | | Signed-off-by: Marton Balint <cus@passwd.hu>
* mov: Fix start_time for streams with empty edits in the middleJustin Ruggles2019-02-26
| | | | | | | | | Empty edits can occur at any position within the edit list except for at the end. Empty edits in the middle should not impact the reported stream start_time or the video PTS adjustment, so only include empty edits at the start of the list in empty_edits_sum_duration. Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* http: Do not try to make a new request when seeking past the end of the fileJustin Ruggles2019-02-26
| | | | | | | | | | This avoids making invalid HTTP Range requests for a byte range past the known end of the file during a seek. Those requests generally return a HTTP response of 416 Range Not Satisfiable, which causes an error response. Reference: https://tools.ietf.org/html/rfc7233 Signed-off-by: Vittorio Giovara <vittorio.giovara@gmail.com>
* avformat/dashenc: Added commentsKarthick J2019-02-25
| | | | Added comments regarding usage of certain movflags in streaming mode.
* avformat/dashenc: Added option to repeatedly publish master playlistKarthick J2019-02-25
| | | | The master playlist can be published at a specified interval with this option
* avformat:matroskadec: use a define to mark the EBML length is unknownSteve Lhomme2019-02-24
| | | | | | | | | | Unifying the way the EBML unknown length is signaled, rather than using two incompatible values. UINT64_MAX cannot be read as a valid EBML length with the current code. Co-authored-by: Steve Lhomme <robux4@ycbcr.xyz> Co-authored-by: Dale Curtis <dalecurtis@chromium.org> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* rtpenc_chain: forward strict_std_compliance flags to rtp muxerTristan Matthews2019-02-23
| | | | | fixes: https://trac.ffmpeg.org/ticket/6713 Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* avformat/mpegtsenc: add support for service and provider names with utf8 ↵Marton Balint2019-02-21
| | | | | | encoding Signed-off-by: Marton Balint <cus@passwd.hu>
* lavf/jacosubdec: compute subtitle duration correctlyAdam Sampson2019-02-20
| | | | | | | | | | | | | | | | | | When a JACOsub subtitle has two timestamps, they represent its start and end times (http://unicorn.us.com/jacosub/jscripts.html#l_times); the duration is the difference between the two, not the sum of the two. The subtitle end times in the FATE test for this were wrong as a result; fix them too. (This test is based on JACOsub's demo.txt, and the end time computed for the last line using @ now matches what the comments there say it should be.) Also tested in practice using MPV, a LaserDisc, and some authentic 1993 JACOsub files. Signed-off-by: Adam Sampson <ats@offog.org> Reviewed-by: Paul B Mahol <onemda@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* Merge commit '90b15f60bf4919deaed66d868e18107eba371da7'James Almer2019-02-20
|\ | | | | | | | | | | | | * commit '90b15f60bf4919deaed66d868e18107eba371da7': srt: Set srto_sender flag to sender srt socket Merged-by: James Almer <jamrial@gmail.com>
| * srt: Set srto_sender flag to sender srt socketSven Dueking2019-02-12
| | | | | | | | | | | | | | | | | | | | | | | | SRT API Documentation: This flag is superfluous if both parties are at least version 1.3.0 (this shall be enforced by setting this value to SRTO_MINVERSION if you expect that it be true) and therefore support HSv5 handshake, where the SRT extended handshake is done with the overall handshake process. This flag is however obligatory if at least one party may be using SRT below version 1.3.0 and does not support HSv5.
* | lavf/mpeg: fix indentXiaofeng Wang2019-02-18
| | | | | | | | | | Signed-off-by: Xiaofeng Wang <xiaofeng.wang@bqvision.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/matroskadec: Check parents remaining lengthSteve Lhomme2019-02-17
| | | | | | | | | | This was found through the Hacker One program on VLC but is not a security issue in libavformat Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/webmdashenc: Check id in adaption_setsMichael Niedermayer2019-02-17
| | | | | | | | | | | | | | Fixes: out of array access Found-by: Wenxiang Qian Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/http: Fix Out-of-Bounds access in process_line()Wenxiang Qian2019-02-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/ftp: Fix Out-of-Bounds Access and Information Leak in ftp.c:393Wenxiang Qian2019-02-17
| | | | | | | | Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/matroskadec: Do not leak queued packets on sync errorsMichael Niedermayer2019-02-17
| | | | | | | | | | | | | | | | | | Fixes: memleak Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5649187601121280 Reported-by: Chris Cunningham <chcunningham@google.com> Tested-by: Chris Cunningham <chcunningham@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mov: Do not use reference stream in mov_read_sidx() if there is no ↵Michael Niedermayer2019-02-14
| | | | | | | | | | | | | | | | | | | | reference stream Fixes: NULL pointer dereference Fixes: clusterfuzz-testcase-minimized-audio_decoder_fuzzer-5634316373721088 Reported-by: Chris Cunningham <chcunningham@google.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/utils: parse some stream specifiers recursivelyMarton Balint2019-02-13
| | | | | | | | | | | | | | | | This removes lots of code duplication and also allows more complex specifiers, for example you can use p:204:a:m:language:eng to select the English language audio stream from program 204. Signed-off-by: Marton Balint <cus@passwd.hu>
* | avformat/mpegts: also convert strings without a specified encoding to UTF-8Marton Balint2019-02-13
| | | | | | | | | | | | The default codepage (ISO6937) should be used in this case. Signed-off-by: Marton Balint <cus@passwd.hu>
* | avformat/mpegts: fix charset of type 0x11Marton Balint2019-02-13
| | | | | | | | | | | | | | ISO-10646 alone means UCS-4 for iconv, the specs refers to the Basic Multilingual Plane (BMP), therefore we need UCS-2. VLC also using that. Signed-off-by: Marton Balint <cus@passwd.hu>
* | avformat/mov: fix hang while seek on a kind of fragmented mp4Charles Liu2019-02-11
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Binary searching would hang if the fragment items do NOT have timestamp for the specified stream. For example, a fmp4 consists of separated 'moof' boxes for each track, and separated 'sidx' for each segment, but no 'mfra' box. Then every fragment item only have the timestamp for one of its tracks. Example: ffmpeg -f lavfi -i testsrc -f lavfi -i sine -movflags dash+frag_keyframe+skip_trailer+separate_moof -t 1 out.mp4 ffmpeg -ss 0.5 -i out.mp4 -f null none Also fixes the hang in ticket #7572, but not the reason for having AV_NOPTS_VALUE timestamps there. Signed-off-by: Charles Liu <liuchh83@gmail.com> Signed-off-by: Marton Balint <cus@passwd.hu>
* | avformat/mov: don't rescale mastering display values from the SmDm atomJames Almer2019-02-11
| | | | | | | | | | | | | | Simplifies code. Reviewed-by: Michael Niedermayer <michaelni@gmx.at> Signed-off-by: James Almer <jamrial@gmail.com>
* | lavf/img2: Move "loop" into common options.Carl Eugen Hoyos2019-02-10
| | | | | | | | | | While the image2pipe demuxer ignores the option - confusing users - the autodetecting demuxers that are favoured over image2 act on it.
* | lavf/img2dec: Split img2 and img2pipe options.Carl Eugen Hoyos2019-02-10
| |
* | avformat/hlsenc: fix fmp4_init_filename file name with %v problemSteven Liu2019-02-10
| | | | | | | | | | | | | | | | | | | | | | when set option fmp4_init_filename to init_%v.mp4 before patch: the init file will be init_%v_0.mp4, init_%v_1.mp4 after patch: the init file will be init_0.mp4, init_1.mp4 Reported-By: Gyan Doshi <ffmpeg@gyani.pro> Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
* | lavf/mpegts: add reading of ARIB data coding descriptorJan Ekström2019-02-10
| | | | | | | | | | | | | | | | | | This enables us to read the data coding type utilized for a specific private data stream, of which we currently are interested in ARIB caption streams. The component tag limitations are according to ARIB TR-B14, and the component IDs are defined in ARIB STD-B10.
* | lavf/mpegts: Convert service_name and service_provider to utf-8.Carl Eugen Hoyos2019-02-09
| | | | | | | | Fixes ticket #6320.
* | avformat/mov: validate chunk_count vs stsc_datachcunningham2019-02-08
| | | | | | | | | | | | | | | | | | | | Bad content may contain stsc boxes with a first_chunk index that exceeds stco.entries (chunk_count). This ammends the existing check to include cases where chunk_count == 0. It also patches up the case when stsc refers to unknown chunks, but stts has no samples (so we can simply ignore stsc). Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
* | avformat/mov.c: require tfhd to begin parsing trunchcunningham2019-02-08
| | | | | | | | | | | | | | | | | | | | Detecting missing tfhd avoids re-using tfhd track info from the previous moof. For files with multiple tracks, this may make a mess of the avindex and fragindex, which can later trigger av_assert0 in mov_read_trun(). Reviewed-by: Derek Buitenhuis <derek.buitenhuis@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>