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 w32pthreads: use the condition variable API directly when targeting newer versions of Windows 2014-10-10 11:27:30 +03:00
doc movenc: Remove an outdated comment 2014-11-08 11:13:37 +02:00
libavcodec opusdec: make sure all substreams have the same number of coded samples 2014-11-27 14:06:03 +01:00
libavdevice v4l2: Unify one instance of reading/storing errno 2014-11-11 10:07:20 +02:00
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 avresample: Make sure the even check does not overflow 2014-10-18 16:15:10 +01:00
libavutil lavu: fix memory leaks by using a mutex instead of atomics 2014-11-27 13:36:00 +01:00
libswscale swscale: fix sign extensions in yuv planar conversion 2014-10-18 16:15:10 +01:00
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
arch.mak
avconv_dxva2.c
avconv_filter.c avconv: fix leak in filter error 2014-10-17 09:55:46 +01:00
avconv_opt.c avconv: fix parsing the AVOptions for -target 2014-08-27 06:21:55 +00:00
avconv_vda.c
avconv_vdpau.c avconv_vdpau: update to new VDPAU interface 2014-10-06 06:20:40 +00:00
avconv.c avconv: copy stream-level side data when streamcopying 2014-10-24 09:03:16 +02:00
avconv.h
avplay.c avplay: Use av_gettime_relative 2014-10-24 09:53:44 +03:00
avprobe.c avprobe: Remove a pointless check 2014-10-17 09:55:46 +01:00
Changelog lavf: Add an MPEG-DASH ISOFF segmenting muxer 2014-11-17 16:17:07 +02:00
cmdutils_common_opts.h
cmdutils.c cmdutils: Use the correct guard 2014-10-17 09:55:46 +01:00
cmdutils.h
common.mak
configure lavf: Use MoveFileEx instead of rename/_wrename on windows 2014-11-27 09:29:29 +02:00
COPYING.GPLv2
COPYING.GPLv3
COPYING.LGPLv2.1
COPYING.LGPLv3
CREDITS
INSTALL
library.mak
LICENSE license: Mention that vf_interlace is GPL, not LGPL 2014-08-28 19:47:43 +02:00
Makefile
README doc: Add more information in the README 2014-08-16 00:49:22 +02:00
README.md doc: Add more information in the README 2014-08-16 00:49:22 +02:00
RELEASE Prepare for 11_beta2 Release 2014-08-23 10:12:16 -04:00
version.sh

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.