X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_repository.c;h=9c25b2151e6d34f1bae8e32cefc31c97feb0eaf0;hb=19d5d8f23b0930d8d10b0c9075830415cd5fec4d;hp=0928b371965bbef65d248e795ffc34e7b891345a;hpb=4ed2712bbdac2182c7c0d6477ac77c9f92aaf02a;p=melted diff --git a/src/framework/mlt_repository.c b/src/framework/mlt_repository.c index 0928b37..9c25b21 100644 --- a/src/framework/mlt_repository.c +++ b/src/framework/mlt_repository.c @@ -66,7 +66,7 @@ static mlt_properties construct_service( mlt_properties object, char *id ) return output; } -void *construct_instance( mlt_properties service_properties, char *symbol, void *input ) +static void *construct_instance( mlt_properties service_properties, char *symbol, void *input ) { // Extract the service char *service = mlt_properties_get( service_properties, "id" ); @@ -94,6 +94,8 @@ void *construct_instance( mlt_properties service_properties, char *symbol, void // Open the shared object object = dlopen( full_file, RTLD_NOW | RTLD_GLOBAL ); + if ( object == NULL ) + fprintf( stderr, "Failed to load plugin: %s\n", dlerror() ); // Set it on the properties mlt_properties_set_data( object_properties, "dlopen", object, 0, ( void (*)( void * ) )dlclose, NULL ); @@ -126,7 +128,7 @@ mlt_repository mlt_repository_init( mlt_properties object_list, char *prefix, ch // Construct the repository mlt_repository this = calloc( sizeof( struct mlt_repository_s ), 1 ); - mlt_properties_init( &this->parent, NULL ); + mlt_properties_init( &this->parent, this ); // Add the symbol to THIS repository properties. mlt_properties_set( &this->parent, "_symbol", symbol );