summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.c
diff options
context:
space:
mode:
authorRonald S. Bultje <rsbultje@gmail.com>2008-01-10 13:52:35 +0000
committerRonald S. Bultje <rsbultje@gmail.com>2008-01-10 13:52:35 +0000
commitb4e3330c12f0650272277b9d1dc5023dcf79e625 (patch)
tree198d29b98ec57e686fd0508cbab92d978bd62640 /libavformat/rtpdec.c
parent927688d6e061d6132b6ba957269e3c2a4a3bb869 (diff)
downloadffmpeg-b4e3330c12f0650272277b9d1dc5023dcf79e625.tar.gz
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
Diffstat (limited to 'libavformat/rtpdec.c')
-rw-r--r--libavformat/rtpdec.c6
1 files 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, &timestamp, 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, &timestamp, buf, len);
- } else {
av_new_packet(pkt, len);
memcpy(pkt->data, buf, len);
- }
break;
}