static int
rdt_parse_packet (AVFormatContext *ctx, PayloadContext *rdt, AVStream *st,
AVPacket *pkt, uint32_t *timestamp,
- const uint8_t *buf, int len, int flags)
+ const uint8_t *buf, int len, uint16_t rtp_seq, int flags)
{
int seq = 1, res;
AVIOContext pb;
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->ic, s->dynamic_protocol_context,
s->streams[s->prev_stream_id],
- pkt, ×tamp, NULL, 0, flags);
+ pkt, ×tamp, NULL, 0, 0, flags);
return rv;
}
rv = s->parse_packet(s->ic, s->dynamic_protocol_context,
s->streams[s->prev_stream_id],
- pkt, ×tamp, buf, len, flags);
+ pkt, ×tamp, buf, len, 0, flags);
return rv;
}
for (n = 0; n < s->nb_streams; n++)
if (s->streams[n]->id == stream->id) {
- int count = s->streams[n]->index + 1;
+ int count = s->streams[n]->index + 1, err;
if (first == -1) first = n;
if (rdt->nb_rmst < count) {
- RMStream **rmst= av_realloc(rdt->rmst, count*sizeof(*rmst));
- if (!rmst)
- return AVERROR(ENOMEM);
- memset(rmst + rdt->nb_rmst, 0,
- (count - rdt->nb_rmst) * sizeof(*rmst));
- rdt->rmst = rmst;
+ if ((err = av_reallocp(&rdt->rmst,
+ count * sizeof(*rdt->rmst))) < 0) {
+ rdt->nb_rmst = 0;
+ return err;
+ }
+ memset(rdt->rmst + rdt->nb_rmst, 0,
+ (count - rdt->nb_rmst) * sizeof(*rdt->rmst));
rdt->nb_rmst = count;
}
rdt->rmst[s->streams[n]->index] = ff_rm_alloc_rmstream();
}
#define RDT_HANDLER(n, s, t) \
-static RTPDynamicProtocolHandler ff_rdt_ ## n ## _handler = { \
+static RTPDynamicProtocolHandler rdt_ ## n ## _handler = { \
.enc_name = s, \
.codec_type = t, \
.codec_id = AV_CODEC_ID_NONE, \
RDT_HANDLER(video, "x-pn-realvideo", AVMEDIA_TYPE_VIDEO);
RDT_HANDLER(audio, "x-pn-realaudio", AVMEDIA_TYPE_AUDIO);
-void av_register_rdt_dynamic_payload_handlers(void)
+void ff_register_rdt_dynamic_payload_handlers(void)
{
- ff_register_dynamic_payload_handler(&ff_rdt_video_handler);
- ff_register_dynamic_payload_handler(&ff_rdt_audio_handler);
- ff_register_dynamic_payload_handler(&ff_rdt_live_video_handler);
- ff_register_dynamic_payload_handler(&ff_rdt_live_audio_handler);
+ ff_register_dynamic_payload_handler(&rdt_video_handler);
+ ff_register_dynamic_payload_handler(&rdt_audio_handler);
+ ff_register_dynamic_payload_handler(&rdt_live_video_handler);
+ ff_register_dynamic_payload_handler(&rdt_live_audio_handler);
}