FFmpeg git repo
Go to file
Andreas Rheinhardt ec5663d0a7 avformat/dashdec: Ensure strings are zero-terminated
strncpy only ensures that one does not write beyond the end of the
destination buffer; in case of truncation it does not zero-terminate
the destination buffer. This makes using it the way it is now in the
DASH demuxer dangerous. So use av_strlcpy instead.

Also don't write anything if there is no id: The buffer has already been
zeroed initially.

The DASH testset from the Universität Klagenfurt contains samples with
ids that are too long. E.g.
http://ftp.itec.aau.at/datasets/DASHDataset2014/TearsOfSteel/1sec/TearsOfSteel_1s_simple_2014_05_09.mpd

Reviewed-by: Steven Liu <lq@chinaffmpeg.org>
Signed-off-by: Andreas Rheinhardt <andreas.rheinhardt@gmail.com>
2021-03-02 11:49:10 +01:00
compat compat/cuda: correct ushort4 to use ushort 2021-02-22 17:03:52 +01:00
doc doc/codecs.texi: Remove removed or ineffective options 2021-02-28 17:55:39 +01:00
ffbuild ffbuild/common: Make deletion of templates possible 2021-02-07 09:45:04 +01:00
fftools fftools: Switch to const AVCodec * where possible 2021-03-02 08:20:10 +01:00
libavcodec avcodec/mpegvideo: Schedule unused, deprecated rc_strategy for removal 2021-03-02 07:32:50 +01:00
libavdevice Remove double ';' 2021-03-01 06:10:44 +01:00
libavfilter Remove double ';' 2021-03-01 06:10:44 +01:00
libavformat avformat/dashdec: Ensure strings are zero-terminated 2021-03-02 11:49:10 +01:00
libavresample
libavutil avutil/spherical: Use av_strstart instead of strncmp 2021-02-28 17:14:21 +01:00
libpostproc
libswresample
libswscale swscale/x86/swscale: Remove unused ASM constants 2021-02-24 09:47:54 +01:00
presets
tests fate/matroska: Test remuxing tracks for hearing/visually impaired 2021-03-02 07:10:46 +01:00
tools tools/target_dec_fuzzer: Adjust threshold for wavpack 2021-02-16 19:02:24 +01:00
.gitattributes
.gitignore
.mailmap
.travis.yml
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog avformat: add Digital Pictures SGA game demuxer 2021-03-01 17:41:05 +01:00
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: update names 2021-01-20 01:04:26 -06:00
Makefile
README.md
RELEASE
configure Handle AVID MJPEG streams directly in the MJPEG decoder. 2021-02-25 11:46:28 +01:00

README.md

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.