• Martin Storsjö's avatar
    rtmpproto: Only prepend @setDataFrame for onMetaData and |RtmpSampleAccess · 01eac895
    Martin Storsjö authored
    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: 's avatarMartin Storsjö <martin@martin.st>
    01eac895
Name
Last commit
Last update
compat Loading commit data...
doc Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavresample Loading commit data...
libavutil Loading commit data...
libswscale Loading commit data...
presets Loading commit data...
tests Loading commit data...
tools Loading commit data...
.gitignore Loading commit data...
COPYING.GPLv2 Loading commit data...
COPYING.GPLv3 Loading commit data...
COPYING.LGPLv2.1 Loading commit data...
COPYING.LGPLv3 Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
INSTALL Loading commit data...
LICENSE Loading commit data...
Makefile Loading commit data...
README Loading commit data...
README.md Loading commit data...
RELEASE Loading commit data...
arch.mak Loading commit data...
avconv.c Loading commit data...
avconv.h Loading commit data...
avconv_dxva2.c Loading commit data...
avconv_filter.c Loading commit data...
avconv_opt.c Loading commit data...
avconv_vda.c Loading commit data...
avconv_vdpau.c Loading commit data...
avplay.c Loading commit data...
avprobe.c Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
cmdutils_common_opts.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
library.mak Loading commit data...
version.sh Loading commit data...