Apply cosmetic cleanup part of ldflags_order patch from Alberto Villa.
[melted] / src / miracle / miracle.c
index e3d26f4..24aac66 100644 (file)
@@ -1,5 +1,5 @@
 /*
- * miracle.c -- A DV over IEEE 1394 TCP Server
+ * miracle.c -- MLT Video TCP Server
  *
  * Copyright (C) 2002-2003 Ushodaya Enterprises Limited
  * Authors:
@@ -28,6 +28,7 @@
 #include <sys/types.h>
 #include <unistd.h>
 #include <time.h>
+#include <sched.h>
 
 #include <framework/mlt.h>
 
@@ -45,7 +46,7 @@ static miracle_server server = NULL;
 
 static void main_cleanup( )
 {
-       miracle_server_shutdown( server );
+       miracle_server_close( server );
 }
 
 /** Report usage and exit.
@@ -66,6 +67,16 @@ int main( int argc, char **argv )
        int index = 0;
        int background = 1;
        struct timespec tm = { 5, 0 };
+       struct sched_param scp;
+
+       // Use realtime scheduling if possible
+       memset( &scp, '\0', sizeof( scp ) );
+       scp.sched_priority = sched_get_priority_max( SCHED_FIFO ) - 1;
+#ifndef __DARWIN__
+       sched_setscheduler( 0, SCHED_FIFO, &scp );
+#endif
+
+       mlt_factory_init( NULL );
 
        server = miracle_server_init( argv[ 0 ] );
 
@@ -97,6 +108,9 @@ int main( int argc, char **argv )
 
        atexit( main_cleanup );
 
+       /* Set the config script */
+       miracle_server_set_config( server, "/etc/miracle.conf" );
+
        /* Execute the server */
        error = miracle_server_execute( server );