#include "libavutil/md5.h"
#include "rm.h"
#include "internal.h"
-#include "libavcodec/bitstream.h"
+#include "libavcodec/get_bits.h"
struct RDTDemuxContext {
AVFormatContext *ic; /**< the containing (RTSP) demux context */
s->prev_set_id = -1;
s->prev_stream_id = -1;
s->prev_timestamp = -1;
- s->parse_packet = handler->parse_packet;
+ s->parse_packet = handler ? handler->parse_packet : NULL;
s->dynamic_protocol_context = priv_data;
return s;
init_put_byte(&pb, buf, len, 0, NULL, NULL, NULL, NULL);
flags = (flags & RTP_FLAG_KEY) ? 2 : 0;
res = ff_rm_parse_packet (rdt->rmctx, &pb, st, rdt->rmst[st->index], len, pkt,
- &seq, &flags, timestamp);
+ &seq, flags, *timestamp);
pos = url_ftell(&pb);
if (res < 0)
return res;
}
static PayloadContext *
-rdt_new_extradata (void)
+rdt_new_context (void)
{
PayloadContext *rdt = av_mallocz(sizeof(PayloadContext));
}
static void
-rdt_free_extradata (PayloadContext *rdt)
+rdt_free_context (PayloadContext *rdt)
{
int i;
#define RDT_HANDLER(n, s, t) \
static RTPDynamicProtocolHandler ff_rdt_ ## n ## _handler = { \
- s, \
- t, \
- CODEC_ID_NONE, \
- rdt_parse_sdp_line, \
- rdt_new_extradata, \
- rdt_free_extradata, \
- rdt_parse_packet \
+ .enc_name = s, \
+ .codec_type = t, \
+ .codec_id = CODEC_ID_NONE, \
+ .parse_sdp_a_line = rdt_parse_sdp_line, \
+ .open = rdt_new_context, \
+ .close = rdt_free_context, \
+ .parse_packet = rdt_parse_packet \
};
RDT_HANDLER(live_video, "x-pn-multirate-realvideo-live", CODEC_TYPE_VIDEO);