FFmpeg git repo
Go to file
Andreas Rheinhardt bd131b64bc avformat/hlsenc: Fix leak of options when writing packets
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>
2019-12-23 14:05:40 +08:00
compat compat/cuda: Change inclusion guards 2019-08-05 12:07:09 +02:00
doc doc/encoders: correct the description for ts_target_bitrate 2019-12-20 14:37:35 -05:00
ffbuild build: add support for building CUDA files with clang 2019-08-04 19:08:08 +02:00
fftools fftools/cmdutils: Fix break command dump for -map option 2019-12-23 09:46:51 +08:00
libavcodec avcodec/hevcdec: keep closed captions in sync between multiple thread contexts 2019-12-21 16:10:21 -03:00
libavdevice avdevice/xcbgrab: wrap non-shm image replies in a buffer ref 2019-12-06 10:09:49 +01:00
libavfilter avfilter/af_adeclick: implement timeline support 2019-12-21 20:02:04 +01:00
libavformat avformat/hlsenc: Fix leak of options when writing packets 2019-12-23 14:05:40 +08:00
libavresample
libavutil lavu/log: Also print the log level for level trace. 2019-12-16 20:53:27 +01:00
libpostproc Bump minor versions again on master to keep 4.2 versions separate from master 2019-07-21 18:36:31 +02:00
libswresample swresample/audioconvert: fix invalid left shift for 64bit sample format 2019-09-26 16:22:47 +02:00
libswscale swscale/aarch64: use multiply accumulate and increase vector factor to 4 2019-12-17 23:41:47 +01:00
presets
tests avformat/movenc: use iso6 major brand when signed CTS offsets are used in trun boxes 2019-12-21 11:57:28 -03:00
tools tools/target_dec_fuzzer: Adjust threshold for dst 2019-12-15 01:01:22 +01:00
.gitattributes
.gitignore
.travis.yml
Changelog Changelog: add entry about MPEG-H 3D Audio support in mp4 2019-12-12 12:03:31 -03:00
configure fate: Add an option for disabling the 2k/4k tests 2019-12-17 10:22:29 +02:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md LICENSE: Add missing libraries that need --enable-version3. 2019-08-12 02:25:39 +02:00
MAINTAINERS MAINTAINERS: add myself as libxavs2 maintainer 2019-12-07 19:34:57 +01:00
Makefile tools: add a fuzzer tool for bitstream filters 2019-12-05 20:49:15 -03:00
README.md
RELEASE RELEASE: Update value for post 4.2 branch 2019-07-21 18:37:32 +02:00

FFmpeg README

FFmpeg is a collection of libraries and tools to process multimedia content such as audio, video, subtitles and related metadata.

Libraries

  • libavcodec provides implementation of a wider range of codecs.
  • libavformat implements streaming protocols, container formats and basic I/O access.
  • libavutil includes hashers, decompressors and miscellaneous utility functions.
  • libavfilter provides a mean to alter decoded Audio and Video through chain of filters.
  • libavdevice provides an abstraction to access capture and playback devices.
  • libswresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • ffmpeg is a command line toolbox to manipulate, convert and stream multimedia content.
  • ffplay is a minimalistic multimedia player.
  • ffprobe is a simple analysis tool to inspect multimedia content.
  • Additional small tools such as aviocat, ismindex and qt-faststart.

Documentation

The offline documentation is available in the doc/ directory.

The online documentation is available in the main website and in the wiki.

Examples

Coding examples are available in the doc/examples directory.

License

FFmpeg codebase is mainly LGPL-licensed with optional components licensed under GPL. Please refer to the LICENSE file for detailed information.

Contributing

Patches should be submitted to the ffmpeg-devel mailing list using git format-patch or git send-email. Github pull requests should be avoided because they are not part of our review process and will be ignored.