From b4e3330c12f0650272277b9d1dc5023dcf79e625 Mon Sep 17 00:00:00 2001 From: "Ronald S. Bultje" Date: Thu, 10 Jan 2008 13:52:35 +0000 Subject: [PATCH] Make rtp_parse_packet() always call the vfunc of the dynamic payload handler if there is one. See "[PATCH] Realmedia / RTSP (RDT)" thread on ML. Originally committed as revision 11493 to svn://svn.ffmpeg.org/ffmpeg/trunk --- libavformat/rtpdec.c | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/libavformat/rtpdec.c b/libavformat/rtpdec.c index f5e2d6dd6f..66f2310b2f 100644 --- a/libavformat/rtpdec.c +++ b/libavformat/rtpdec.c @@ -474,6 +474,8 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, s->read_buf_index = 0; return 1; } + } else if (s->parse_packet) { + rv = s->parse_packet(s, pkt, ×tamp, buf, len); } else { // at this point, the RTP header has been stripped; This is ASSUMING that there is only 1 CSRC, which in't wise. switch(st->codec->codec_id) { @@ -529,12 +531,8 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt, rv= 0; break; default: - if(s->parse_packet) { - rv= s->parse_packet(s, pkt, ×tamp, buf, len); - } else { av_new_packet(pkt, len); memcpy(pkt->data, buf, len); - } break; }