summaryrefslogtreecommitdiff
path: root/libavformat/rtpdec.c
diff options
context:
space:
mode:
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;
}