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" );
// 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 );
// 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 );