From 90d959b0ae338fb5a50cd6a94f61bbc7106aab70 Mon Sep 17 00:00:00 2001 From: ddennedy Date: Sat, 13 Oct 2007 06:02:44 +0000 Subject: [PATCH] mlt_profle.c: add support for MLT_PROFILES_DIR environment variable git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@1028 d19143bc-622f-0410-bfdd-b5b2a6649095 --- setenv | 1 + src/framework/mlt_profile.c | 28 ++++++++++++++++++++++------ 2 files changed, 23 insertions(+), 6 deletions(-) diff --git a/setenv b/setenv index c57b28ae..dd381157 100644 --- a/setenv +++ b/setenv @@ -2,6 +2,7 @@ # Environment variable settings to allow execution without install export MLT_REPOSITORY=`pwd`/src/modules +export MLT_PROFILES_PATH=`pwd`/profiles export LD_LIBRARY_PATH=\ `pwd`/src/framework:\ diff --git a/src/framework/mlt_profile.c b/src/framework/mlt_profile.c index 8d0e0712..607af04c 100644 --- a/src/framework/mlt_profile.c +++ b/src/framework/mlt_profile.c @@ -63,12 +63,28 @@ mlt_profile mlt_profile_get( ) mlt_profile mlt_profile_select( const char *name ) { - const char *prefix = PREFIX; - char *filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + strlen( name ) + 2 ); - strcpy( filename, prefix ); - if ( filename[ strlen( filename ) - 1 ] != '/' ) - filename[ strlen( filename ) ] = '/'; - strcat( filename, PROFILES_DIR ); + char *filename = NULL; + const char *prefix = getenv( "MLT_PROFILES_PATH" ); + + // Allow environment to override default behavior + if ( prefix == NULL ) + { + // default behavior is to use $prefix/share/mlt/profiles + prefix = PREFIX; + filename = calloc( 1, strlen( prefix ) + strlen( PROFILES_DIR ) + strlen( name ) + 2 ); + strcpy( filename, prefix ); + if ( filename[ strlen( filename ) - 1 ] != '/' ) + filename[ strlen( filename ) ] = '/'; + strcat( filename, PROFILES_DIR ); + } + else + { + // just use environment variable + filename = calloc( 1, strlen( prefix ) + strlen( name ) + 2 ); + strcpy( filename, prefix ); + if ( filename[ strlen( filename ) - 1 ] != '/' ) + filename[ strlen( filename ) ] = '/'; + } strcat( filename, name ); return mlt_profile_load_file( filename ); } -- 2.39.2