[FFmpeg-cvslog] r17767 - in trunk/libavformat: rtp_h264.c rtpdec.c

Reimar Döffinger Reimar.Doeffinger
Tue Mar 3 15:23:08 CET 2009


On Tue, Mar 03, 2009 at 02:51:34PM +0100, rbultje wrote:
> Author: rbultje
> Date: Tue Mar  3 14:51:34 2009
> New Revision: 17767
> 
> Log:
> Don't let finalize_packet() touch pkt->stream_index. Instead, let individual
> 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.

The reference is good, but IMO you should have used it to reduce the
commit message to something someone only marginally interested would
read. Personally I consider it far too long to read and as a consequence
I don't really have any idea what the point of the change is (the first
3 sentences don't really clarify it).




More information about the ffmpeg-cvslog mailing list