Change function prototype of RTPDynamicPayloadHandler.parse_packet() to

not use RTPDemuxContext, but rather take a pointer to the payload context
directly. This allows using payload handlers regardless over the transport
over which they were sent, and prepares for the introduction of a future
RDTDemuxContext. See discussion in "RDT/Realmedia patches #2" thread on ML.

Originally committed as revision 15541 to svn://svn.ffmpeg.org/ffmpeg/trunk
This commit is contained in:
Ronald S. Bultje
2008-10-04 04:15:06 +00:00
parent ed0aacc76e
commit 9b932b8ac0
4 changed files with 15 additions and 12 deletions
+4 -2
View File
@@ -399,7 +399,8 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
/* return the next packets, if any */
if(s->st && s->parse_packet) {
timestamp= 0; ///< Should not be used if buf is NULL, but should be set to the timestamp of the packet returned....
rv= s->parse_packet(s, pkt, &timestamp, NULL, 0, flags);
rv= s->parse_packet(s->dynamic_protocol_context,
s->st, pkt, &timestamp, NULL, 0, flags);
finalize_packet(s, pkt, timestamp);
return rv;
} else {
@@ -463,7 +464,8 @@ int rtp_parse_packet(RTPDemuxContext *s, AVPacket *pkt,
return 1;
}
} else if (s->parse_packet) {
rv = s->parse_packet(s, pkt, &timestamp, buf, len, flags);
rv = s->parse_packet(s->dynamic_protocol_context,
s->st, pkt, &timestamp, buf, len, flags);
} 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) {