Commit graph

21448 commits

Author SHA1 Message Date
Carl Eugen Hoyos
d234ed7633 lavf/Makefile: Fix kux demuxer standalone compilation. 2019-04-07 02:00:30 +02:00
Swaraj Hota
208ae228fa lavf/flvdec: added support for KUX container
Fixes ticket #4519.

The metadata starting at 0xe00004 is encrypted
with the password "meta" but zlib does not
support decryption, so no kux metadata is read.
2019-04-06 15:54:38 +02:00
Andreas Rheinhardt via ffmpeg-devel
18a851aca7 avformat/matroskadec: Improve length check
The earlier code had three flaws:

1. The case of an unknown-sized element inside a finite-sized element
(which is against the specifications) was not caught.

2. The error message wasn't helpful: It compared the length of the child
with the offset of the end of the parent and claimed that the first
exceeds the latter, although that is not necessarily true.

3. Unknown-sized elements that are not parsed can't be skipped. Given
that according to the Matroska specifications only the segment and the
clusters can be of unknown-size, this is handled by not allowing any
other units to have infinite size whereas the earlier code would seek
back by 1 byte upon encountering an infinite-size element that ought
to be skipped.

Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@googlemail.com>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-04-05 12:05:47 +02:00
Gyan Doshi
8161ac2902 lavf/movenc: fix tmcd writing for non-MP4/MOV modes
write_tmcd allows tmcd track to be created with any mode but in
mov_write_header, index for first tmcd track is only set for modes
MP4 or MOV, causing a crash if tmcd creation is attempted with other
modes.
2019-04-03 15:50:22 +05:30
Jun Zhao
ecb4398d71 lavf/hashenc: Correct the hash/MD5 muxer class name
Follow the name style to correct the hash/md5 muxer class name

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-04-03 10:17:22 +08:00
Karthick J
6aeaac3e1c avformat/dashenc: Add support for Global SIDX 2019-04-02 11:16:06 +05:30
Karthick J
3d0894990d avformat/movenc: Fix skip_trailer when global_sidx is enabled 2019-04-02 11:15:57 +05:30
Steven Liu
326cec3771 avformat/hls: make different warning message between open url and parse playlist
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-04-02 12:11:47 +08:00
Gyan Doshi
8eca42e632 lavf/mov: skip extradata check in esds for MPEG-1/2 audio
As per 14496-3 9.D.2.2, it's not defined for these audio object types.

Fixes #7817.
2019-04-01 23:28:25 +05:30
James Almer
27c94c57dc avformat/movenc: free eac3 private data only when closing the stream
This makes sure the data is available when writing the moov atom during the
second pass triggered by the faststart movflag.

Fixes ticket #7780

Signed-off-by: James Almer <jamrial@gmail.com>
2019-03-31 20:08:28 -03:00
Jun Li
4f5e660e69 avformat/doc, http, icecast, rtsp: Add option to disable send-expect-100
Fix ticket #7297
The current setting for send-expect-100 option is either
enabled if applicable or forced enabled, no option to force
disable the header. This change is to expand the option setting
to provide more flexibility, which is useful for rstp case.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-31 23:23:52 +02:00
Jun Zhao
e995e2395b lavf/flvdec: Cosmetics: Fix indentation for flv_read_packet
Commit e34ba5ec53 missed the indent

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-31 18:02:46 +08:00
Jun Zhao
24dac56e1d lavf/flvdec: add AMF date type support
Support AMF date type when parse the FLV metadata.

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-31 18:02:46 +08:00
Paul B Mahol
4e8cbbf70e avcodec: add Amuse Graphics decoder
This work is sponsored by VideoLAN.
2019-03-31 10:48:43 +02:00
Carl Eugen Hoyos
6bc800dead lavf/latmenc: Return the correct error for wrong codec.
Requested-by: Nicolas George
2019-03-27 14:54:05 +01:00
Jun Zhao
e9c9514ce3 avformat/avformat.h: Update the comment for AVInputFormat.flags
AVFMT_NOTIMESTAMPS may be using in AVInputFormat.flags for demuxing

Reviewed-by: Michael Niedermayer <michael@niedermayer.cc>
Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-26 20:58:19 +08:00
Michael Niedermayer
ff13a92a6f avformat/mov: Fix potential integer overflow in entry check in mov_read_trun()
No testcase

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-25 13:20:30 +01:00
Jun Li
c3b517dac2 avformat/rtsp: Add https tunneling support
Add https based tunneling for RTSP/RTP. Tested on Axis and Bosch cameras.
Https is widely used for security consideration.
2019-03-25 01:17:23 +01:00
Steven Liu
2cb29a5d8d avformat/avformat.h: update the comment from deprecated to new API
Signed-off-by: Steven Liu <lq@chinaffmpeg.org>
2019-03-23 14:04:39 +08:00
Jun Zhao
fba42b33b7 lavf/flvdec: fix typo in log message
fix typo in log message, it's come from cd141e71bd

Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
2019-03-23 12:06:06 +08:00
Carl Eugen Hoyos
4d8875ec23 lavf: Constify the probe function argument.
Reviewed-by: Lauri Kasanen
Reviewed-by: Tomas Härdin
2019-03-21 11:42:17 +01:00
Carl Eugen Hoyos
978880c803 lavf/latmenc: Error out for unsupported codecs. 2019-03-21 00:00:47 +01:00
Carl Eugen Hoyos
3ac474892c lavf/allformats: Remove an accidentally committed line.
Regression since 3aa6208d.
Reported-by: Lou Logan
2019-03-20 23:36:45 +01:00
Carl Eugen Hoyos
6a3520bf98 lavf: Constify AVProbeData* in av_probe_input_format(). 2019-03-20 19:04:49 +01:00
Carl Eugen Hoyos
cc49341084 lavf/avformat: Add a warning that ff_const59 is not part of the public api. 2019-03-20 18:56:47 +01:00
Carl Eugen Hoyos
3aa6208db9 lavf: Constify AVInputFormat pointer. 2019-03-20 18:52:38 +01:00
Carl Eugen Hoyos
9461e4bc69 lavf: Constify AVOutputFormat pointer. 2019-03-20 18:38:48 +01:00
Carl Eugen Hoyos
7be245498b lavf/http: Print metadata updates with -loglevel verbose.
Simplifies metadata debugging.
2019-03-20 17:43:19 +01:00
Carl Eugen Hoyos
5247c4328b lavf/spdifenc: Do not overwrite buffer when muxing TrueHD.
Fixes ticket #7733.

Tested-by: Moritz Barsnick
2019-03-20 17:36:29 +01:00
Carl Eugen Hoyos
a171cafb35 lavf/sdp: Change pointer to configuration from char* to uint8_t*.
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
2019-03-20 17:19:14 +01:00
Jun Li
0739d5cd5c avformat/smoothstreamingenc:add bitrate calculate
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>
2019-03-20 13:49:02 +08:00
Paweł Wegner
4ed6a485d3 libavformat/movenc: mov: added subtitle codec tags to codec tag list
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>
2019-03-18 19:15:35 -03:00
Michael Niedermayer
38381400fc avformat/gdv: Check fps
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>
2019-03-14 16:24:35 +01:00
Jun Li
c2a221c5ae avformat/rtpdec.h remove unused variable
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>
2019-03-13 12:54:30 +01:00
Mark Reid
283ce69a10 avformat/mxfenc: allow user comments for opatom muxer
Reviewed-by: Tomas Härdin <tjoppen@acc.umu.se>
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-13 12:39:51 +01:00
Carl Eugen Hoyos
715186456c lavf/matroskaenc: Allow dvdsub remuxing from some containers.
Fixes ticket #7783.
2019-03-10 20:45:45 +01:00
Michael Niedermayer
f94b4f1611 avformat/mpegts: Simplify score compare
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-09 15:31:44 +01:00
Andriy Gelman
0a84ba2608 avformat/mpegts: reduce buffering during initialization
Reduces buffering latency with low bitrate streams, where
8192 bytes can mean several seconds.

Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
2019-03-09 15:27:07 +01:00
Matthew McKenna
f95aee2b72 Add the Canon XF-HEVC UL to the picture essence container UL list 2019-03-08 14:14:15 +01:00
joepadmiraal
056a2ac168 avformat/dashenc: Added #EXT-X-PROGRAM-DATE-TIME to HLS playlists 2019-03-06 10:58:57 +05:30
Marton Balint
57580e2ab6 avformat/utils: fix indentation
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-01 22:31:00 +01:00
Marton Balint
d4ae28e494 avformat/utils: be even more strict about stream specifiers
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>
2019-03-01 22:31:00 +01:00
Marton Balint
24e0e149ad avformat/utils: be more strict about stream specifiers
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>
2019-03-01 22:31:00 +01:00
Marton Balint
837f2c9798 avformat/mpegtsenc: write format_identifier HEVC for HEVC streams
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>
2019-03-01 22:30:13 +01:00
Marton Balint
fe36dcbff2 avformat/mpegtsenc: factorize writing registration_descriptor
Signed-off-by: Marton Balint <cus@passwd.hu>
2019-03-01 22:30:13 +01:00
Justin Ruggles
97f47fd601 mov: Fix start_time for streams with empty edits in the middle
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>
2019-02-26 14:48:27 -05:00
Justin Ruggles
69fcc093c1 http: Do not try to make a new request when seeking past the end of the file
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>
2019-02-26 14:48:27 -05:00
Karthick J
2e67f751b5 avformat/dashenc: Added comments
Added comments regarding usage of certain movflags in streaming mode.
2019-02-25 11:40:54 +05:30
Karthick J
ca5ec4cbbc avformat/dashenc: Added option to repeatedly publish master playlist
The master playlist can be published at a specified interval with this option
2019-02-25 11:40:47 +05:30
Steve Lhomme
a2c7702ccf avformat:matroskadec: use a define to mark the EBML length is unknown
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>
2019-02-24 20:31:07 +01:00