X-Git-Url: http://research.m1stereo.tv/gitweb?a=blobdiff_plain;f=src%2Fframework%2Fmlt_repository.c;h=826268dc0afb7405baeeb51e6894a9ec953daca9;hb=f0f9e433051b21e14471bb48bc5d140e6c2b14c5;hp=066b4b5ead9cd07c4b4a9482ecc0cbef595638a4;hpb=c95736fd9ee742f5e6db06bbe579f23895f55eba;p=melted diff --git a/src/framework/mlt_repository.c b/src/framework/mlt_repository.c index 066b4b5..826268d 100644 --- a/src/framework/mlt_repository.c +++ b/src/framework/mlt_repository.c @@ -3,19 +3,19 @@ * Copyright (C) 2003-2004 Ushodaya Enterprises Limited * Author: Charles Yates * - * This program is free software; you can redistribute it and/or modify - * it under the terms of the GNU General Public License as published by - * the Free Software Foundation; either version 2 of the License, or - * (at your option) any later version. + * This library is free software; you can redistribute it and/or + * modify it under the terms of the GNU Lesser General Public + * License as published by the Free Software Foundation; either + * version 2.1 of the License, or (at your option) any later version. * - * This program is distributed in the hope that it will be useful, + * This library is distributed in the hope that it will be useful, * but WITHOUT ANY WARRANTY; without even the implied warranty of - * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the - * GNU General Public License for more details. + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + * Lesser General Public License for more details. * - * You should have received a copy of the GNU General Public License - * along with this program; if not, write to the Free Software Foundation, - * Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. + * You should have received a copy of the GNU Lesser General Public + * License along with this library; if not, write to the Free Software + * Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA */ #include "mlt_repository.h" @@ -63,7 +63,7 @@ static mlt_properties construct_service( mlt_properties object, const char *id ) return output; } -static void *construct_instance( mlt_properties service_properties, const char *symbol, void *input ) +static void *construct_instance( mlt_properties service_properties, mlt_profile profile, mlt_service_type type, const char *symbol, void *input ) { // Extract the service char *service = mlt_properties_get( service_properties, "id" ); @@ -75,7 +75,7 @@ static void *construct_instance( mlt_properties service_properties, const char * void *object = mlt_properties_get_data( object_properties, "dlopen", NULL ); // Get the dlsym'd symbol - void *( *symbol_ptr )( const char *, void * ) = mlt_properties_get_data( object_properties, symbol, NULL ); + void *( *symbol_ptr )( mlt_profile, mlt_service_type, const char *, void * ) = mlt_properties_get_data( object_properties, symbol, NULL ); // Check that we have object and open if we don't if ( object == NULL ) @@ -119,7 +119,7 @@ static void *construct_instance( mlt_properties service_properties, const char * } // Construct the service - return symbol_ptr != NULL ? symbol_ptr( service, input ) : NULL; + return symbol_ptr != NULL ? symbol_ptr( profile, type, service, input ) : NULL; } mlt_repository mlt_repository_init( mlt_properties object_list, const char *prefix, const char *data, const char *symbol ) @@ -182,7 +182,7 @@ mlt_repository mlt_repository_init( mlt_properties object_list, const char *pref return this; } -void *mlt_repository_fetch( mlt_repository this, const char *service, void *input ) +void *mlt_repository_fetch( mlt_repository this, mlt_profile profile, mlt_service_type type, const char *service, void *input ) { // Get the service properties mlt_properties service_properties = mlt_properties_get_data( &this->parent, service, NULL ); @@ -194,7 +194,7 @@ void *mlt_repository_fetch( mlt_repository this, const char *service, void *inpu char *symbol = mlt_properties_get( &this->parent, "_symbol" ); // Now get an instance of the service - return construct_instance( service_properties, symbol, input ); + return construct_instance( service_properties, profile, type, symbol, input ); } return NULL;