X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmiracle%2Fmiracle.c;h=24aac66c9653c0c32a886e47bb87cafd08f2cb25;hb=bb2674a23b551cbc146d40ff7a122c87856b49ff;hp=e3d26f460fb338984998dce902c2e68da78ab38a;hpb=b5d9ea5dbfed75300deb78bfecc052ab37576e5d;p=melted diff --git a/src/miracle/miracle.c b/src/miracle/miracle.c index e3d26f4..24aac66 100644 --- a/src/miracle/miracle.c +++ b/src/miracle/miracle.c @@ -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 #include #include +#include #include @@ -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 );