FFmpeg git repo
Go to file
Martin Storsjö 01eac895ab rtmpproto: Only prepend @setDataFrame for onMetaData and |RtmpSampleAccess
Currently, when streaming to an RTMP server, any time a packet of type
RTMP_PT_NOTIFY is encountered, the packet is prepended with @setDataFrame
before it gets sent to the server. This is incorrect; only packets for
onMetaData and |RtmpSampleAccess should invoke @setDataFrame on the RTMP
server. Specifically, the current bug manifests itself when trying to
stream onTextData or onCuePoint invocations.

This fix addresses that problem and ensures that the @setDataFrame is
only prepended for onMetaData and |RtmpSampleAccess.

Since data is fed to the rtmp_write function in smaller pieces (depending
on the calling IO buffer size), we can't generally assume that the
whole packet (or even the whole command string) is available at once,
therefore we can only check the command string once the full packet
has been transferred to us for sending.

Based on a patch by Jeffrey Wescott.

Signed-off-by: Martin Storsjö <martin@martin.st>
2014-11-28 09:59:29 +02:00
compat
doc
libavcodec opusdec: make sure all substreams have the same number of coded samples 2014-11-27 14:06:03 +01:00
libavdevice
libavfilter vf_interlace: get rid of useless loads 2014-11-27 13:57:50 +01:00
libavformat rtmpproto: Only prepend @setDataFrame for onMetaData and |RtmpSampleAccess 2014-11-28 09:59:29 +02:00
libavresample
libavutil lavu: fix memory leaks by using a mutex instead of atomics 2014-11-27 13:36:00 +01:00
libswscale
presets
tests vc1dec: refactor check with missing parenthesis 2014-11-13 01:41:25 +01:00
tools sidxindex: Write mimeType=audio/mp4 for audio-only representations 2014-11-24 09:23:14 +02:00
.gitignore
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
Changelog lavf: Add an MPEG-DASH ISOFF segmenting muxer 2014-11-17 16:17:07 +02:00
INSTALL
LICENSE
Makefile
README
README.md
RELEASE
arch.mak
avconv.c
avconv.h
avconv_dxva2.c
avconv_filter.c
avconv_opt.c
avconv_vda.c
avconv_vdpau.c
avplay.c
avprobe.c
cmdutils.c
cmdutils.h
cmdutils_common_opts.h
common.mak
configure lavf: Use MoveFileEx instead of rename/_wrename on windows 2014-11-27 09:29:29 +02:00
library.mak
version.sh

README.md

Libav

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.