From: Ronald S. Bultje Date: Tue, 3 Mar 2009 13:41:50 +0000 (+0000) Subject: In the current implementation of rtp_parse_packet(), finalize_packet() is X-Git-Tag: v0.6~5554 X-Git-Url: http://git.ffmpeg.org/gitweb/ffmpeg.git/commitdiff_plain/f3e71942e77fa8dcea62f9e4eebbbbdfbf062b61 In the current implementation of rtp_parse_packet(), finalize_packet() is called for all packets with an internal handler function but only for non-first packets from dynamic payload parse_packet() handlers. This patch fixes that. Bug was noticed by Luca in "[PATCH] rtpdec.c: don't overwrite pkt->stream_index in finalize_packet()" thread. Originally committed as revision 17764 to svn://svn.ffmpeg.org/ffmpeg/trunk --- diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index 3e833a1..764385d 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -473,6 +473,7 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, s->read_buf_index = 0; return 1; } + return 0; } else if (s->parse_packet) { rv = s->parse_packet(s->ic, s->dynamic_protocol_context, s->st, pkt, ×tamp, buf, len, flags); @@ -535,10 +536,11 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, memcpy(pkt->data, buf, len); break; } + } // now perform timestamp things.... finalize_packet(s, pkt, timestamp); - } + return rv; }