X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fmiracle%2Fmiracle.c;h=24aac66c9653c0c32a886e47bb87cafd08f2cb25;hb=2bd3c395eac9fb8b02f6b39786659c7d1481872d;hp=47a645ab958048aa3a6440996fc3064b3609be55;hpb=661165812e3410fe2f6f49d7af882b36a0efcf82;p=melted diff --git a/src/miracle/miracle.c b/src/miracle/miracle.c index 47a645a..24aac66 100644 --- a/src/miracle/miracle.c +++ b/src/miracle/miracle.c @@ -1,5 +1,5 @@ /* - * dv1394d.c -- A DV over IEEE 1394 TCP Server + * miracle.c -- MLT Video TCP Server * * Copyright (C) 2002-2003 Ushodaya Enterprises Limited * Authors: @@ -21,10 +21,6 @@ * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ -#ifdef HAVE_CONFIG_H -#include -#endif - /* System header files */ #include #include @@ -32,22 +28,25 @@ #include #include #include +#include + +#include /* Application header files */ -#include "dvserver.h" -#include "log.h" +#include "miracle_server.h" +#include "miracle_log.h" /** Our dv server. */ -static dv_server server = NULL; +static miracle_server server = NULL; /** atexit shutdown handler for the server. */ static void main_cleanup( ) { - dv_server_shutdown( server ); + miracle_server_close( server ); } /** Report usage and exit. @@ -68,15 +67,25 @@ int main( int argc, char **argv ) int index = 0; int background = 1; struct timespec tm = { 5, 0 }; + struct sched_param scp; - server = dv_server_init( argv[ 0 ] ); + // 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 ] ); for ( index = 1; index < argc; index ++ ) { if ( !strcmp( argv[ index ], "-port" ) ) - dv_server_set_port( server, atoi( argv[ ++ index ] ) ); + miracle_server_set_port( server, atoi( argv[ ++ index ] ) ); else if ( !strcmp( argv[ index ], "-proxy" ) ) - dv_server_set_proxy( server, argv[ ++ index ] ); + miracle_server_set_proxy( server, argv[ ++ index ] ); else if ( !strcmp( argv[ index ], "-test" ) ) background = 0; else @@ -90,17 +99,20 @@ int main( int argc, char **argv ) if ( fork() ) return 0; setsid(); - dv1394d_log_init( log_syslog, LOG_INFO ); + miracle_log_init( log_syslog, LOG_INFO ); } else { - dv1394d_log_init( log_stderr, LOG_INFO ); + miracle_log_init( log_stderr, LOG_DEBUG ); } atexit( main_cleanup ); + /* Set the config script */ + miracle_server_set_config( server, "/etc/miracle.conf" ); + /* Execute the server */ - error = dv_server_execute( server ); + error = miracle_server_execute( server ); /* We need to wait until we're exited.. */ while ( !server->shutdown )