- 23 Dec, 2019 24 commits
-
-
Zhao Zhili authored
-
Zhao Zhili authored
The argument 'opaque' is always NULL since 0acf7e26 (2013), and avfilter_init_filter() was removed in 52067b3c (2016).
-
Zhao Zhili authored
-
Zhao Zhili authored
!(c->pix_fmt != AV_PIX_FMT_NONE || c->got_format_from_params) equals (c->pix_fmt == AV_PIX_FMT_NONE) && !c->got_format_from_params 1. When (c->pix_fmt == AV_PIX_FMT_NONE) is true, got_format_from_params is always false, the flag doesn't contribute to the result. 2. When the first part is false, the second part doesn't matter, the flag doesn't contribute to the result. The result only depends on c->pix_fmt.
-
Gyan Doshi authored
The MPEG-TS muxer will mux streams with unsupported codec id as a private data stream; this usually makes the stream not recognizable by ffmpeg and likely other tools.
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
Steven Liu authored
Signed-off-by: Steven Liu <lq@onvideo.cn> Reviewed-by: Lou Logan <lou@lrcd.com>
-
Nicolas George authored
This allows to remove the queued frame entirely.
-
Nicolas George authored
This design is no longer used and was replaced a long time ago.
-
Nicolas George authored
-
Nicolas George authored
It is never used.
-
Nicolas George authored
The frame is immediately pushed, the fifo has never more than one.
-
Limin Wang authored
Signed-off-by: Limin Wang <lance.lmwang@gmail.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
When a parameter like e.g. language is contained more than once in the part of var_stream_map pertaining to a single VariantStream, the later one just overwrites the pointer to the earlier one, leading to a memleak. This commit changes this by handling the situation gracefully: The earlier string is silently freed first, so that the last one wins. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
"If an error is detected, localtime_r() shall return a null pointer and set errno to indicate the error." Yet in case this happened in hls_init(), AVERROR(ENOMEM) has been returned. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
The hls muxer allocates an array of VariantStreams, a structure that contains pointers to objects that need to be freed on their own. This means that the number of allocated VariantStreams needs to be correct when they are freed; yet the number of VariantStreams is set in update_variant_stream_info() resp. parse_variant_stream_mapstring() before the allocation has been checked for success, so that upon error an attempt would be made to free the objects whose pointers are positioned at position NULL (the location of VariantStreams) + offsetof(VariantStream, the corresponding pointer). Furthermore d1fe1344 added another possibility for the first function to leave an inconsistent state behind: If an allocation of one of the objects referenced by the VariantStream fails, the VariantStream will be freed, but the number of allocated VariantStreams isn't reset, leading to the same problem as above. (This was done in the mistaken belief that the VariantStreams array would leak otherwise.) Essentially the same also happens for the number of cc-streams. It has been fixed, too. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
Under certain circumstances hls_write_packet() would add options to an AVDictionary. Said dictionary was never explicitly freed, instead it was presumed that these options would be consumed when opening a new IO-context. This left several possibilities for memleaks: a) When no new IO-context would be opened at all. This is possible when using both the flags temp_file and single_file together with a file output. b) When an error happens before one actually tries to open the new IO-context. c) When the new IO-context does not consume all options. All three have been fixed; furthermore, the AVDictionary has been put into a smaller scope (namely the only part of hls_write_packet() where it is actually used). Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
hls_mux_init() currently leaks an AVDictionary if opening a dynamic buffer fails or if avformat_init_output fails. This has been fixed by moving the initialization resp. the freeing of the dictionary around: In the former case to a place after opening the dynamic buffer, in the latter to a place before the check for initialization failure so that it is done unconditionally. Furthermore, the dictionary is now only copied and freed if the options in it are actually used (namely when in SEGMENT_TYPE_FMP4 mode). Finally, a similar situation in hls_start() has been fixed, too. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
hls_init() would allocate a buffer, although it is only needed in one of two branches that follow. This commit moves the allocation to the branch that actually needs the buffer. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Andreas Rheinhardt authored
Before ed897633, the hls muxer would free its child AVFormatContexts and reset the pointer to these contexts to NULL immediately afterwards; ed897633 moved the former to later (into a separate function), but kept the resetting, ensuring that the child context leaks. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Steven Liu <lq@onvideo.cn>
-
Jun Zhao authored
Before this fix, ffmpeg -h full | grep map get the command dump like: -map [-]input_file_id[:stream_specifier][,sync_file_id[:stream_s set input stream mapping ^ | truncated after this fix, we can get full option dump. Found-by: vacingfang <vacingfang@tencent.com> Signed-off-by: Jun Zhao <barryjzhao@tencent.com>
-
- 21 Dec, 2019 10 commits
-
-
James Almer authored
Based on h264 code. Reviewed-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
-
Paul B Mahol authored
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
James Almer authored
Signed-off-by: James Almer <jamrial@gmail.com>
-
Nicolas Gaullier authored
Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Andreas Rheinhardt authored
This will probably also fix CID 1452559, a false positive where Coverity claims a double-free occurs, because it thinks that av_dict_set() frees its key and value arguments even when the AV_DICT_DONT_STRDUP_* flags aren't used. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Reviewed-by: Marvin Scholz <epirat07@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Nicolas Gaullier authored
CPB side_data is copied when stream-copying (see init_output_stream_streamcopy()), but it shall not be copied when the stream is decoded. Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
Paul B Mahol authored
As described in U.S. Federal Register, Volume 56, Number 114, June 13, 1991, pages 27204-27205.
-
Limin Wang authored
According to the specifications, the payloadSize includes the 16-byte size of UUID. Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
-
- 20 Dec, 2019 3 commits
-
-
Wonkap Jang authored
ts_target_bitrate is in kbps, not bps. This commit clarifies the unit and modifies the example to match the description. Signed-off-by: James Zern <jzern@google.com>
-
Paul B Mahol authored
Lots of options are now obsolete.
-
Limin Wang authored
Signed-off-by: Limin Wang <lance.lmwang@gmail.com> Signed-off-by: James Almer <jamrial@gmail.com>
-
- 19 Dec, 2019 3 commits
-
-
Andreas Rheinhardt authored
In case an AVBPrint was not complete, icecast_open() would free some buffers that have not been allocated yet instead of freeing the data of the AVBPrint (if they have been allocated). Because this error does not trigger a jump to the general cleanup section any more, one can moreover remove a (now unnecessary) initialization of a pointer. Furthermore, finalizing an AVBPrint can fail (namely when the string inside the AVBPrint has not been allocated yet) and so this needs to be checked. Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com> Signed-off-by: Michael Niedermayer <michael@niedermayer.cc>
-
James Almer authored
They have been removed altogether without a compat implementation, and are either no-ops or return NULL. This fixes compiler warnings about checks always evaluating to false, and leaks of allocated mutexes. Signed-off-by: James Almer <jamrial@gmail.com>
-
James Almer authored
It is a requirement of bitstream conformance that num_cr_points is less than or equal to 10. It is a requirement of bitstream conformance that num_cb_points is less than or equal to 10. Signed-off-by: James Almer <jamrial@gmail.com>
-