FFmpeg git repo
Go to file
Martin Storsjö eb061ad6fd tls_gnutls: Readd support for nonblocking operation
The rtmp protocol uses nonblocking reads, to poll for incoming
messages from the server while publishing a stream.

Prior to 94599a6de3 and
d13b124eaf, the tls protocol
handled the nonblocking flag, mostly as a side effect from not
using custom IO callbacks for reading from the socket. When custom
IO callbacks were taken into use in
d15eec4d6b, the handling of a nonblocking
socket wasn't necessary for the default blocking mode any longer.

The code was simplified, since it was overlooked that other code
within libavformat actually used the tls protocol in nonblocking mode.

This fixes publishing over rtmps, with the gnutls backend.

Signed-off-by: Martin Storsjö <martin@martin.st>
2017-06-20 23:55:52 +03:00
avbuild build: Skip generating .version files when reconfiguring 2017-06-03 19:34:08 +02:00
avtools avconv_hw: Free device on initialisation failure 2017-06-18 17:01:49 +01:00
compat compat/atomics: add typecasts in atomic_compare_exchange_strong() 2016-12-08 15:53:58 -05:00
doc dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-08 21:20:18 +02:00
libavcodec aarch64: vp9: Fix assembling with Xcode 6.2 and older 2017-06-20 16:14:03 +03:00
libavdevice avfoundation: update to use AVCodecParameters 2017-04-26 11:47:31 -04:00
libavfilter vf_hwmap: Properly free a locally derived device 2017-06-18 17:01:31 +01:00
libavformat tls_gnutls: Readd support for nonblocking operation 2017-06-20 23:55:52 +03:00
libavresample Bump major versions of all libraries 2017-03-23 09:56:20 +01:00
libavutil d3d11va: Link directly to dxgi.dll and d3d11.dll functions if LoadLibrary is unavailable 2017-06-18 23:45:03 +03:00
libswscale swscale-test: const correctness 2017-04-24 16:10:05 +02:00
presets
tests movenc-test: Add tests for negative cts offsets 2017-05-15 14:08:53 +03:00
tools build: Move entries related to building TOOLS to a subdirectory Makefile 2016-12-07 11:02:31 +01:00
.gitattributes Treat all '*.pnm' files as non-text file 2014-11-28 17:52:43 -05:00
.gitignore build: Ignore generated .version files 2017-02-03 11:37:53 +01:00
.travis.yml travis: Exclude gcc for the macOS target 2017-04-20 12:53:08 +02:00
Changelog dxva: add support for new dxva2 and d3d11 hwaccel APIs 2017-06-08 21:20:18 +02:00
configure d3d11va: Link directly to dxgi.dll and d3d11.dll functions if LoadLibrary is unavailable 2017-06-18 23:45:03 +03:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1 cosmetics: Delete empty lines at end of file. 2012-02-09 12:26:45 +01:00
COPYING.LGPLv3
CREDITS
INSTALL
LICENSE Remove the legacy X11 screen grabber 2016-07-29 19:03:10 +02:00
Makefile build: Allow generating dependencies as a side-effect of assembling 2017-03-01 10:18:15 +01:00
README.md doc: Add travis badge 2015-09-14 00:19:08 +02:00
RELEASE Make the RELEASE file match with the most recent tag 2016-10-14 13:52:51 -04:00

Libav

Build Status

Libav 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.
  • libavresample implements audio mixing and resampling routines.
  • libswscale implements color conversion and scaling routines.

Tools

  • avconv is a command line toolbox to manipulate, convert and stream multimedia content.
  • avplay is a minimalistic multimedia player.
  • avprobe is a simple analisys 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

Conding examples are available in the doc/example directory.

License

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