rework batchrender, renderfarm improvements, ffmpeg audio quality, a few fixes
[goodguy/history.git] / cinelerra-5.1 / cinelerra / file.C
index 4b9c1be85a5ccc60c4544442de152593834e2b7b..bc1a6290ef3388240d40b903c0d149278bf68b94 100644 (file)
@@ -1146,7 +1146,7 @@ int File::read_frame(VFrame *frame, int is_thread)
                }
 
                if( !temp_frame ) {
-                       temp_frame = new VFrame(asset->width, asset->height, supported_colormodel);
+                       temp_frame = new VFrame(asset->width, asset->height, supported_colormodel, 0);
                }
 
 //                     printf("File::read_frame %d\n", __LINE__);
@@ -1317,12 +1317,10 @@ int File::bytes_per_sample(int bits)
 }
 
 
-
-
-
-int File::get_best_colormodel(int driver)
+int File::get_best_colormodel(int driver, int vstream)
 {
-       return get_best_colormodel(asset, driver);
+       return file ? file->get_best_colormodel(driver, vstream) :
+               get_best_colormodel(asset, driver);
 }
 
 int File::get_best_colormodel(Asset *asset, int driver)
@@ -1580,42 +1578,26 @@ void File::getenv_path(char *result, const char *path)
        *rp = 0;
 }
 
-void File::setenv_path(char *result, const char *var, const char *path)
+void File::setenv_path(const char *var, const char *path, int overwrite)
 {
-       char *env = getenv(var);
-       if( env ) return;
        char env_path[BCTEXTLEN];
        getenv_path(env_path, path);
-       sprintf(result, "%s=%s", var, env_path);
-       putenv(result);
+       setenv(var, env_path, overwrite);
 }
 
-char File::cinexe_path[BCTEXTLEN];
-char File::cinpkg_path[BCTEXTLEN];
-char File::cindat_path[BCTEXTLEN];
-char File::cinlib_path[BCTEXTLEN];
-char File::cincfg_path[BCTEXTLEN];
-char File::cinplg_path[BCTEXTLEN];
-char File::cinlad_path[BCTEXTLEN];
-char File::cinlcl_path[BCTEXTLEN];
-char File::cinbwr_path[BCTEXTLEN];
-
 void File::init_cin_path()
 {
        char env_path[BCTEXTLEN], env_pkg[BCTEXTLEN];
 // these values are advertised for forks/shell scripts
        get_exe_path(env_path, env_pkg);
-       snprintf(cinexe_path, sizeof(cinexe_path), "CIN_PATH=%s", env_path);
-       putenv(cinexe_path);
-       snprintf(cinpkg_path, sizeof(cinpkg_path), "CIN_PKG=%s", env_pkg);
-       putenv(cinpkg_path);
-
-       setenv_path(cindat_path, "CIN_DAT", CINDAT_DIR);
-       setenv_path(cinlib_path, "CIN_LIB", CINLIB_DIR);
-       setenv_path(cincfg_path, "CIN_CONFIG", CONFIG_DIR);
-       setenv_path(cinplg_path, "CIN_PLUGIN", PLUGIN_DIR);
-       setenv_path(cinlad_path, "CIN_LADSPA", LADSPA_DIR);
-       setenv_path(cinlcl_path, "CIN_LOCALE", LOCALE_DIR);
-       setenv_path(cinbwr_path, "CIN_BROWSER", CIN_BROWSER);
+       setenv_path("CIN_PATH", env_path, 1);
+       setenv_path("CIN_PKG", env_pkg, 1);
+       setenv_path("CIN_DAT", CINDAT_DIR, 0);
+       setenv_path("CIN_LIB", CINLIB_DIR, 0);
+       setenv_path("CIN_CONFIG", CONFIG_DIR, 0);
+       setenv_path("CIN_PLUGIN", PLUGIN_DIR, 0);
+       setenv_path("CIN_LADSPA", LADSPA_DIR, 0);
+       setenv_path("CIN_LOCALE", LOCALE_DIR, 0);
+       setenv_path("CIN_BROWSER", CIN_BROWSER, 0);
 }