ffserver: reflow start_children()

Signed-off-by: 's avatarReynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
parent 1abdfb10
......@@ -384,28 +384,17 @@ static int compute_datarate(DataRateData *drd, int64_t count)
static void start_children(FFServerStream *feed)
{
if (no_launch)
return;
for (; feed; feed = feed->next) {
if (feed->child_argv && !feed->pid) {
feed->pid_start = time(0);
feed->pid = fork();
if (feed->pid < 0) {
http_log("Unable to create children\n");
exit(1);
}
if (!feed->pid) {
/* In child */
char pathname[1024];
char *slash;
int i;
if (no_launch)
return;
/* replace "ffserver" with "ffmpeg" in the path of current
* program. Ignore user provided path */
av_strlcpy(pathname, my_program_name, sizeof(pathname));
slash = strrchr(pathname, '/');
if (!slash)
slash = pathname;
......@@ -413,6 +402,25 @@ static void start_children(FFServerStream *feed)
slash++;
strcpy(slash, "ffmpeg");
for (; feed; feed = feed->next) {
if (!feed->child_argv || feed->pid)
continue;
feed->pid_start = time(0);
feed->pid = fork();
if (feed->pid < 0) {
http_log("Unable to create children\n");
exit(1);
}
if (feed->pid)
continue;
/* In child */
http_log("Launch command line: ");
http_log("%s ", pathname);
for (i = 1; feed->child_argv[i] && feed->child_argv[i][0]; i++)
......@@ -437,8 +445,6 @@ static void start_children(FFServerStream *feed)
_exit(1);
}
}
}
}
/* open a listening socket */
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment