// to delete the file object. Otherwise we'd delete just the cached frames
// while the list of open files grew.
void set_cache_frames(int value);
-// Delete frame cache. Return 0 if successful. Return 1 if
-// nothing to delete.
+// Delete oldest frame from cache.
+// Return number of bytes freed if successful.
+// Return 0 if nothing to delete.
int purge_cache();
// Delete oldest frame from cache. Return 0 if successful. Return 1 if
// nothing to delete.
// allocated.
// Get best colormodel to translate for hardware accelerated playback.
// Called by VRender.
- int get_best_colormodel(int driver);
+ int get_best_colormodel(int driver, int vstream=-1);
// Get best colormodel for hardware accelerated recording.
// Called by VideoDevice.
static int get_best_colormodel(Asset *asset, int driver);
+// asset scaling on read_frame
+ static int can_scale_input(Asset *asset);
// Get nearest colormodel that can be decoded without a temporary frame.
// Used by read_frame.
int colormodel_supported(int colormodel);
// The minimum setting for cache_size should be bigger than 1MB.
int64_t get_memory_usage();
- static int supports_video(ArrayList<PluginServer*> *plugindb, char *format); // returns 1 if the format supports video or audio
- static int supports_audio(ArrayList<PluginServer*> *plugindb, char *format);
+ static int renders_video(int format);
+ static int renders_video(Asset *asset);
+ static int renders_audio(int format);
+ static int renders_audio(Asset *asset);
// Get the extension for the filename
static const char* get_tag(int format);
static const char* get_prefix(int format);
- static int supports_video(int format); // returns 1 if the format supports video or audio
- static int supports_audio(int format);
static int strtoformat(const char *format);
static const char* formattostr(int format);
- static int strtoformat(ArrayList<PluginServer*> *plugindb, const char *format);
- static const char* formattostr(ArrayList<PluginServer*> *plugindb, int format);
+ static int is_image_render(int format);
static int strtobits(const char *bits);
static const char* bitstostr(int bits);
static int str_to_byteorder(const char *string);
static void init_cin_path();
static void get_exe_path(char *result, char *bnp=0);
static void getenv_path(char *result, const char *path);
- static char cinexe_path[BCTEXTLEN], cinpkg_path[BCTEXTLEN];
- static char cindat_path[BCTEXTLEN], cinlib_path[BCTEXTLEN];
- static char cincfg_path[BCTEXTLEN], cinplg_path[BCTEXTLEN];
- static char cinlad_path[BCTEXTLEN], cinlcl_path[BCTEXTLEN];
+ static void setenv_path(const char *var, const char *path, int overwrite);
static const char *get_cin() { return getenv("CIN_PKG"); }
static const char *get_cin_path() { return getenv("CIN_PATH"); }
static const char *get_cindat_path() { return getenv("CIN_DAT"); }
static const char *get_plugin_path() { return getenv("CIN_PLUGIN"); }
static const char *get_ladspa_path() { return getenv("CIN_LADSPA"); }
static const char *get_locale_path() { return getenv("CIN_LOCALE"); }
+ static const char *get_render_path() { return getenv("CIN_RENDER"); }
+ static const char *get_browser_path() { return getenv("CIN_BROWSER"); }
static const char *default_probes[];
static const int nb_probes;