|
|
|
@ -3331,6 +3331,7 @@ static int rtp_new_av_stream(HTTPContext *c, |
|
|
|
|
URLContext *h = NULL; |
|
|
|
|
uint8_t *dummy_buf; |
|
|
|
|
int max_packet_size; |
|
|
|
|
void *st_internal; |
|
|
|
|
|
|
|
|
|
/* now we can open the relevant output stream */ |
|
|
|
|
ctx = avformat_alloc_context(); |
|
|
|
@ -3338,14 +3339,13 @@ static int rtp_new_av_stream(HTTPContext *c, |
|
|
|
|
return -1; |
|
|
|
|
ctx->oformat = av_guess_format("rtp", NULL, NULL); |
|
|
|
|
|
|
|
|
|
st = av_mallocz(sizeof(AVStream)); |
|
|
|
|
st = avformat_new_stream(ctx, NULL); |
|
|
|
|
if (!st) |
|
|
|
|
goto fail; |
|
|
|
|
ctx->nb_streams = 1; |
|
|
|
|
ctx->streams = av_mallocz_array(ctx->nb_streams, sizeof(AVStream *)); |
|
|
|
|
if (!ctx->streams) |
|
|
|
|
goto fail; |
|
|
|
|
ctx->streams[0] = st; |
|
|
|
|
|
|
|
|
|
av_freep(&st->codec); |
|
|
|
|
av_freep(&st->info); |
|
|
|
|
st_internal = st->internal; |
|
|
|
|
|
|
|
|
|
if (!c->stream->feed || |
|
|
|
|
c->stream->feed == c->stream) |
|
|
|
@ -3355,6 +3355,7 @@ static int rtp_new_av_stream(HTTPContext *c, |
|
|
|
|
c->stream->feed->streams[c->stream->feed_streams[stream_index]], |
|
|
|
|
sizeof(AVStream)); |
|
|
|
|
st->priv_data = NULL; |
|
|
|
|
st->internal = st_internal; |
|
|
|
|
|
|
|
|
|
/* build destination RTP address */ |
|
|
|
|
ipaddr = inet_ntoa(dest_addr->sin_addr); |
|
|
|
|