From c95736fd9ee742f5e6db06bbe579f23895f55eba Mon Sep 17 00:00:00 2001 From: lilo_booter Date: Wed, 13 Jul 2005 07:59:01 +0000 Subject: [PATCH] mlt_repository.c + VERY temporary hack to avoid global symbol clashes (RTLD_GLOBAL needed by kino/libquicktime only so far) git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@761 d19143bc-622f-0410-bfdd-b5b2a6649095 --- src/framework/mlt_repository.c | 8 +++++++- 1 files changed, 7 insertions(+), 1 deletions(-) diff --git a/src/framework/mlt_repository.c b/src/framework/mlt_repository.c index 45a2e92..066b4b5 100644 --- a/src/framework/mlt_repository.c +++ b/src/framework/mlt_repository.c @@ -85,12 +85,18 @@ static void *construct_instance( mlt_properties service_properties, const char * // Get the prefix and id of the shared object char *prefix = mlt_properties_get( object_properties, "prefix" ); char *file = mlt_properties_get( object_properties, "id" ); + int flags = RTLD_NOW; + + // Very temporary hack to allow the quicktime plugins to work + // TODO: extend repository to allow this to be used on a case by case basis + if ( !strcmp( service, "kino" ) ) + flags |= RTLD_GLOBAL; // Construct the full file construct_full_file( full_file, prefix, file ); // Open the shared object - object = dlopen( full_file, RTLD_NOW | RTLD_GLOBAL ); + object = dlopen( full_file, flags ); if ( object != NULL ) { // Set it on the properties -- 1.7.4.4