• Ronald S. Bultje's avatar
    Don't let finalize_packet() touch pkt->stream_index. Instead, let individual · eafb17d1
    Ronald S. Bultje authored
    payload handlers take care of that themselves at their own option. What this
    patch really does is "fix" a bug in MS-RTSP protocol where incoming packets
    are always coming in over the connection (UDP) or interleave-id (TCP) of
    the stream-id of the first ASF packet in the RTP packet. However, RTP packets
    may contain multiple ASF packets (and usually do, from what I can see), and
    therefore this leads to playback bugs. The intended stream-id per ASF packet
    is given in the respective ASF packet header. The ASF demuxer will correctly
    read this and set pkt->stream_index, but since the "stream" parameter can
    not be known to rtpdec.c or any of the RTP/RTSP code, the "st" parameter
    in all these functions is basically invalid. Therefore, using st->id as
    pkt->stream_index leads to various playback bugs. The result of this patch
    is that pkt->stream_index is left untouched for RTP/ASF (and possibly for
    other payloads that have similar behaviour).
    
    The patch was discussed in the "[PATCH] rtpdec.c: don't overwrite
    pkt->stream_index in finalize_packet()" thread on the mailinglist.
    
    Originally committed as revision 17767 to svn://svn.ffmpeg.org/ffmpeg/trunk
    eafb17d1
Name
Last commit
Last update
doc Loading commit data...
ffpresets Loading commit data...
libavcodec Loading commit data...
libavdevice Loading commit data...
libavfilter Loading commit data...
libavformat Loading commit data...
libavutil Loading commit data...
libpostproc Loading commit data...
libswscale Loading commit data...
tests Loading commit data...
tools Loading commit data...
vhook Loading commit data...
COPYING.GPL Loading commit data...
COPYING.LGPL Loading commit data...
CREDITS Loading commit data...
Changelog Loading commit data...
Doxyfile Loading commit data...
INSTALL Loading commit data...
MAINTAINERS Loading commit data...
Makefile Loading commit data...
README Loading commit data...
cmdutils.c Loading commit data...
cmdutils.h Loading commit data...
common.mak Loading commit data...
configure Loading commit data...
ffmpeg.c Loading commit data...
ffplay.c Loading commit data...
ffserver.c Loading commit data...
ffserver.h Loading commit data...
output_example.c Loading commit data...
subdir.mak Loading commit data...
version.sh Loading commit data...