Go to file
wm4 8a108bdea0 http: block while waiting for reconnecting
It makes no sense to return an error after the first reconnect, and then
somehow resume the next time it's called. Usually this will lead to
demuxer errors. Make reconnecting block instead, until it has either
successfully reconnected, or given up.

Also make the wait reasonably interruptible. Since there is no mechanism
for this in the API, polling is the best we can do. This behaves roughly
the same as other interruptible network functions in libavformat.

(The original code would work if it returned AVERROR(EAGAIN) or so,
which would make retry_transfer_wrapper() repeat the read call. But I
think having an explicit loop for this is better anyway.)

I also snuck in a fix for reconnect_at_eof. It has to check for
AVERROR_EOF, not 0.
2018-01-04 15:07:55 +01:00
compat w32pthreads: remove some remaining superfluous checks 2017-12-25 23:17:56 -03:00
doc avfilter: add hilbert source FIR filter 2018-01-04 12:26:19 +01:00
ffbuild Merge commit '17b6c7efb471e8ff1b8a7271f6531ba1d52bf69c' 2017-11-12 01:02:02 -03:00
fftools ffplay: drop lock manager use 2017-12-26 02:50:00 +01:00
libavcodec opusenc_psy: disable stereo searches for mono streams 2018-01-04 02:52:40 +00:00
libavdevice lavd/alsa: Double maximum alsa buffer size. 2017-11-27 14:05:28 +01:00
libavfilter avfilter: add hilbert source FIR filter 2018-01-04 12:26:19 +01:00
libavformat http: block while waiting for reconnecting 2018-01-04 15:07:55 +01:00
libavresample lavr: deprecate the entire library 2018-01-04 01:38:22 +00:00
libavutil lavu/mem: Allow allocations close to max_alloc_size with av_fast_realloc(). 2018-01-04 05:39:18 +01:00
libpostproc postproc: Drop deprecated qp typedef 2017-10-22 00:35:23 -03:00
libswresample lswr/rematrix: Support s32p. 2017-11-01 01:04:43 +01:00
libswscale Fix missing used attribute for inline assembly variables 2017-11-13 03:58:34 +01:00
presets
tests avcodec/utvideoenc: switch to planar RGB formats 2018-01-02 13:41:50 +01:00
tools patcheck: Add 'threshhold' to common typo list 2017-12-13 12:25:44 +01:00
.gitattributes fate: add SCC test 2017-01-27 17:06:42 +01:00
.gitignore build: add support for building .cu files via nvcc 2017-05-15 11:46:50 +02:00
.travis.yml Merge commit '4809781586d1c956005f72946a2aab5915eab350' 2017-10-28 15:08:31 -03:00
Changelog avfilter: add hilbert source FIR filter 2018-01-04 12:26:19 +01:00
configure lavr: deprecate the entire library 2018-01-04 01:38:22 +00:00
CONTRIBUTING.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL.md
LICENSE.md Merge commit '4fef648d10bf3bcfd4b8fa5755c1128966a2427c' 2017-03-15 22:07:47 +01:00
MAINTAINERS MAINTAINERS: add myself as videotoolbox* maintainer 2017-11-13 19:54:20 +01:00
Makefile Makefile: fix distclean target 2017-11-14 10:09:40 -03:00
README.md Add CONTRIBUTING.md 2016-09-18 10:02:13 +01:00
RELEASE RELEASE: update for git after 3.4 branchpoint 2017-10-11 02:46:23 +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.
  • ffserver is a multimedia streaming server for live broadcasts.
  • 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.