|
|
|
@ -489,12 +489,14 @@ static void start_multicast(void) |
|
|
|
|
HTTPContext *rtp_c; |
|
|
|
|
struct sockaddr_in dest_addr = {0}; |
|
|
|
|
int default_port, stream_index; |
|
|
|
|
unsigned int random0, random1; |
|
|
|
|
|
|
|
|
|
default_port = 6000; |
|
|
|
|
for(stream = config.first_stream; stream; stream = stream->next) { |
|
|
|
|
if (stream->is_multicast) { |
|
|
|
|
unsigned random0 = av_lfg_get(&random_state); |
|
|
|
|
unsigned random1 = av_lfg_get(&random_state); |
|
|
|
|
if (!stream->is_multicast) |
|
|
|
|
continue; |
|
|
|
|
random0 = av_lfg_get(&random_state); |
|
|
|
|
random1 = av_lfg_get(&random_state); |
|
|
|
|
/* open the RTP connection */ |
|
|
|
|
snprintf(session_id, sizeof(session_id), "%08x%08x", |
|
|
|
|
random0, random1); |
|
|
|
@ -525,15 +527,16 @@ static void start_multicast(void) |
|
|
|
|
stream_index++) { |
|
|
|
|
dest_addr.sin_port = htons(stream->multicast_port + |
|
|
|
|
2 * stream_index); |
|
|
|
|
if (rtp_new_av_stream(rtp_c, stream_index, &dest_addr, NULL) < 0) { |
|
|
|
|
if (rtp_new_av_stream(rtp_c, stream_index, &dest_addr, NULL) |
|
|
|
|
>= 0) { |
|
|
|
|
continue; |
|
|
|
|
} |
|
|
|
|
http_log("Could not open output stream '%s/streamid=%d'\n", |
|
|
|
|
stream->filename, stream_index); |
|
|
|
|
exit(1); |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|
rtp_c->state = HTTPSTATE_SEND_DATA; |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
} |
|
|
|
|
|
|
|
|
|