ffserver: reflow start_children()

Signed-off-by: Reynaldo H. Verdejo Pinochet <reynaldo@osg.samsung.com>
This commit is contained in:
Reynaldo H. Verdejo Pinochet 2014-12-09 02:57:02 -03:00
parent 1abdfb100a
commit ec42251715

View File

@ -384,11 +384,29 @@ static int compute_datarate(DataRateData *drd, int64_t count)
static void start_children(FFServerStream *feed) static void start_children(FFServerStream *feed)
{ {
char pathname[1024];
char *slash;
int i;
if (no_launch) if (no_launch)
return; 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;
else
slash++;
strcpy(slash, "ffmpeg");
for (; feed; feed = feed->next) { for (; feed; feed = feed->next) {
if (feed->child_argv && !feed->pid) {
if (!feed->child_argv || feed->pid)
continue;
feed->pid_start = time(0); feed->pid_start = time(0);
feed->pid = fork(); feed->pid = fork();
@ -397,21 +415,11 @@ static void start_children(FFServerStream *feed)
http_log("Unable to create children\n"); http_log("Unable to create children\n");
exit(1); exit(1);
} }
if (!feed->pid) {
/* In child */
char pathname[1024];
char *slash;
int i;
/* replace "ffserver" with "ffmpeg" in the path of current if (feed->pid)
* program. Ignore user provided path */ continue;
av_strlcpy(pathname, my_program_name, sizeof(pathname));
slash = strrchr(pathname, '/'); /* In child */
if (!slash)
slash = pathname;
else
slash++;
strcpy(slash, "ffmpeg");
http_log("Launch command line: "); http_log("Launch command line: ");
http_log("%s ", pathname); http_log("%s ", pathname);
@ -436,8 +444,6 @@ static void start_children(FFServerStream *feed)
execvp(pathname, feed->child_argv); execvp(pathname, feed->child_argv);
_exit(1); _exit(1);
}
}
} }
} }