1
0
mirror of https://github.com/FFmpeg/FFmpeg.git synced 2024-12-28 20:53:54 +02:00
Go to file
Jan Ekström e760c12aee ffmpeg: prevent premature EOF in sub2video with nullptr AVSubtitles
With certain types of input and the filter chain getting re-initialized
or re-configured, multiple nullptr AVSubtitles can get pushed into
sub2video_update() in a row from sub2video_heartbeat.

This causes end_pts, and on the next round pts, to become INT64_MAX,
latter of which signals EOF in framesync, leading to complete loss of
subtitles from that point on.

Thus, check that the sub2video.end_pts is smaller than INT64_MAX
in a similar fashion to sub2video_flush before sending out the
nullptr AVSubtitle. This keeps premature EOFs from happening in
framesync and the subtitle overlay is kept past the filter chain
re-initializations/configurations.
2018-04-01 13:56:31 +03:00
compat compat: remove in-tree NVidia headers 2018-02-27 16:22:12 +01:00
doc Revert "lavd: add new API for iterating input and output devices" 2018-03-31 23:26:31 +01:00
ffbuild
fftools ffmpeg: prevent premature EOF in sub2video with nullptr AVSubtitles 2018-04-01 13:56:31 +03:00
libavcodec avcodec/utvideodec: Set pro flag based on fourcc 2018-04-01 02:58:51 +02:00
libavdevice lavd: remove linked lists 2018-03-31 23:26:31 +01:00
libavfilter vf_libvmaf: Fix memory leak 2018-03-31 20:58:09 -07:00
libavformat avformat/mov: parse multiple iTunes cover images 2018-04-01 02:58:51 +02:00
libavresample avresample: remove deprecated attribute from the AVAudioResampleContext struct 2018-01-09 10:56:53 -03:00
libavutil Merge commit '3a7b4ae62c798edbd82bcd8fef863c74ed2acd4a' 2018-03-30 15:48:17 -03:00
libpostproc
libswresample swresample/rematrix: fix update of channel matrix if input or output layout is undefined 2018-02-19 08:32:25 +01:00
libswscale arm: swscale: Only compile the rgb2yuv asm if .dn aliases are supported 2018-03-31 21:54:56 +03:00
presets
tests checkasm/Makefile: add EXTRALIBS-libavformat 2018-03-31 23:20:16 +01:00
tools fftools, tools, examples: migrate to AVFormatContext->url 2018-01-28 23:06:43 +01:00
.gitattributes
.gitignore Remove the ffserver program 2018-01-06 18:31:37 +00:00
.travis.yml
Changelog Merge commit 'a2fc8dbae85339d1b418d296f2982b6c04c53c57' 2018-03-29 21:56:19 -03:00
configure configure: fix build 2018-04-01 02:58:42 +02:00
CONTRIBUTING.md
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md
MAINTAINERS MAINTAINERS: add myself to mediacodec 2018-03-06 13:54:35 -08:00
Makefile Revert "lavd: add new API for iterating input and output devices" 2018-03-31 23:26:31 +01:00
README.md Remove the ffserver program 2018-01-06 18:31:37 +00:00
RELEASE

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.