Mercurial > libavformat.hg
diff rdt.c @ 3976:64056a0c38ce libavformat
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.
author | rbultje |
---|---|
date | Sat, 04 Oct 2008 04:15:06 +0000 |
parents | 44561554cb7e |
children | e6bf0896a019 |
line wrap: on
line diff
--- a/rdt.c Sat Oct 04 04:11:12 2008 +0000 +++ b/rdt.c Sat Oct 04 04:15:06 2008 +0000 @@ -163,14 +163,13 @@ /**< return 0 on packet, no more left, 1 on packet, 1 on partial packet... */ static int -rdt_parse_packet (RTPDemuxContext *s, AVPacket *pkt, uint32_t *timestamp, +rdt_parse_packet (PayloadContext *rdt, AVStream *st, + AVPacket *pkt, uint32_t *timestamp, const uint8_t *buf, int len, int flags) { - PayloadContext *rdt = s->dynamic_protocol_context; int seq = 1, res; ByteIOContext *pb = rdt->rmctx->pb; RMContext *rm = rdt->rmctx->priv_data; - AVStream *st = s->st; if (rm->audio_pkt_cnt == 0) { int pos; @@ -217,7 +216,8 @@ if (!buf) { /* return the next packets, if any */ 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, ×tamp, NULL, 0, flags); + rv= s->parse_packet(s->dynamic_protocol_context, + s->st, pkt, ×tamp, NULL, 0, flags); return rv; } @@ -235,7 +235,8 @@ len -= rv; s->seq = seq; - rv = s->parse_packet(s, pkt, ×tamp, buf, len, flags); + rv = s->parse_packet(s->dynamic_protocol_context, + s->st, pkt, ×tamp, buf, len, flags); return rv; }