avformat/rdt: Forward whitelists to rdt demuxer

Reviewed-by: "Ronald S. Bultje" <rsbultje@gmail.com>
Signed-off-by: Michael Niedermayer <michaelni@gmx.at>
This commit is contained in:
Michael Niedermayer 2014-10-24 00:23:52 +02:00
parent 5f55819850
commit 13ee94a480

View File

@ -523,18 +523,27 @@ static PayloadContext *
rdt_new_context (void) rdt_new_context (void)
{ {
PayloadContext *rdt = av_mallocz(sizeof(PayloadContext)); PayloadContext *rdt = av_mallocz(sizeof(PayloadContext));
int ret;
if (!rdt) if (!rdt)
return NULL; return NULL;
ret = avformat_open_input(&rdt->rmctx, "", &ff_rdt_demuxer, NULL);
if (ret < 0) { rdt->rmctx = avformat_alloc_context();
av_free(rdt); if (!rdt->rmctx)
return NULL; av_freep(&rdt);
}
return rdt; return rdt;
} }
static int
rdt_init_context (AVFormatContext *s, int st_index, PayloadContext *rdt)
{
int ret;
if ((ret = ff_copy_whitelists(rdt->rmctx, s)) < 0)
return ret;
return avformat_open_input(&rdt->rmctx, "", &ff_rdt_demuxer, NULL);
}
static void static void
rdt_free_context (PayloadContext *rdt) rdt_free_context (PayloadContext *rdt)
{ {
@ -559,6 +568,7 @@ static RTPDynamicProtocolHandler rdt_ ## n ## _handler = { \
.codec_id = AV_CODEC_ID_NONE, \ .codec_id = AV_CODEC_ID_NONE, \
.parse_sdp_a_line = rdt_parse_sdp_line, \ .parse_sdp_a_line = rdt_parse_sdp_line, \
.alloc = rdt_new_context, \ .alloc = rdt_new_context, \
.init = rdt_init_context, \
.free = rdt_free_context, \ .free = rdt_free_context, \
.parse_packet = rdt_parse_packet \ .parse_packet = rdt_parse_packet \
} }