From: ddennedy Date: Sat, 2 Feb 2008 08:52:39 +0000 (+0000) Subject: mlt_factory.c: guard against setting mlt_environment before it is available X-Git-Url: https://git.sesse.net/?a=commitdiff_plain;h=1a16869c02718e42807618ed5c7a37478dd9577c;p=mlt mlt_factory.c: guard against setting mlt_environment before it is available mlt_profile.c: use getenv instead of mlt_environment in case profile is created before factory git-svn-id: https://mlt.svn.sourceforge.net/svnroot/mlt/trunk/mlt@1052 d19143bc-622f-0410-bfdd-b5b2a6649095 --- diff --git a/src/framework/mlt_factory.c b/src/framework/mlt_factory.c index cd19b158..0b4508c5 100644 --- a/src/framework/mlt_factory.c +++ b/src/framework/mlt_factory.c @@ -147,7 +147,10 @@ char *mlt_environment( const char *name ) int mlt_environment_set( const char *name, const char *value ) { - return mlt_properties_set( global_properties, name, value ); + if ( global_properties ) + return mlt_properties_set( global_properties, name, value ); + else + return -1; } static void set_common_properties( mlt_properties properties, mlt_profile profile, const char *type, const char *service ) diff --git a/src/framework/mlt_profile.c b/src/framework/mlt_profile.c index 778bb538..b9e230f6 100644 --- a/src/framework/mlt_profile.c +++ b/src/framework/mlt_profile.c @@ -89,9 +89,9 @@ mlt_profile mlt_profile_init( const char *name ) { // MLT_PROFILE is preferred environment variable if ( getenv( "MLT_PROFILE" ) ) - profile = mlt_profile_select( mlt_environment( "MLT_PROFILE" ) ); + profile = mlt_profile_select( getenv( "MLT_PROFILE" ) ); // MLT_NORMALISATION backwards compatibility - else if ( strcmp( mlt_environment( "MLT_NORMALISATION" ), "PAL" ) ) + else if ( getenv( "MLT_NORMALISATION" ) && strcmp( getenv( "MLT_NORMALISATION" ), "PAL" ) ) profile = mlt_profile_select( "dv_ntsc" ); else profile = mlt_profile_select( "dv_pal" ); @@ -144,20 +144,22 @@ mlt_profile mlt_profile_load_file( const char *file ) } // Set MLT_NORMALISATION to appease legacy modules - char *profile_name = mlt_environment( "MLT_PROFILE" ); - if ( strstr( profile_name, "_ntsc" ) || - strstr( profile_name, "_60" ) || - strstr( profile_name, "_30" ) ) + char *profile_name = getenv( "MLT_PROFILE" ); + if ( profile_name ) { - mlt_environment_set( "MLT_NORMALISATION", "NTSC" ); - } - else if ( strstr( profile_name, "_pal" ) || - strstr( profile_name, "_50" ) || - strstr( profile_name, "_25" ) ) - { - mlt_environment_set( "MLT_NORMALISATION", "PAL" ); + if ( strstr( profile_name, "_ntsc" ) || + strstr( profile_name, "_60" ) || + strstr( profile_name, "_30" ) ) + { + mlt_environment_set( "MLT_NORMALISATION", "NTSC" ); + } + else if ( strstr( profile_name, "_pal" ) || + strstr( profile_name, "_50" ) || + strstr( profile_name, "_25" ) ) + { + mlt_environment_set( "MLT_NORMALISATION", "PAL" ); + } } - return profile; }