# HG changeset patch # User rbultje # Date 1199973155 0 # Node ID 62ff44e23c10d8d8ff51007d1f9b1e8dc9d1f001 # Parent c2588e541432be624c36d0d250724d3898b56b5e 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. diff -r c2588e541432 -r 62ff44e23c10 rtpdec.c --- a/rtpdec.c Thu Jan 10 08:34:37 2008 +0000 +++ b/rtpdec.c Thu Jan 10 13:52:35 2008 +0000 @@ -474,6 +474,8 @@ 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 @@ 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; }