diff options
author | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-12-08 20:53:02 +0000 |
---|---|---|
committer | Miguel Freitas <miguelfreitas@users.sourceforge.net> | 2002-12-08 20:53:02 +0000 |
commit | 3c919d37ea15fa0d0b1d63203a8ce2f7129a6f55 (patch) | |
tree | b070985aeb45e6c1ce6c11b246b4062e044f372b /src/xine-engine/plugin_catalog.h | |
parent | c8b3320dabcc9737204343f7e1cb135bf9edc336 (diff) | |
download | xine-lib-3c919d37ea15fa0d0b1d63203a8ce2f7129a6f55.tar.gz xine-lib-3c919d37ea15fa0d0b1d63203a8ce2f7129a6f55.tar.bz2 |
introduce the catalog cache. saves information from plugins with
file size and modification date to ~/.xine/catalog.cache.
next time xine starts the first stage loader won't need to open any libraries,
reducing the loading time. the difference under gdb can be quite dramatic.
note1: xine still have to initialize all input and demuxers on startup.
note2: i have not added post plugins to cache yet.
CVS patchset: 3464
CVS date: 2002/12/08 20:53:02
Diffstat (limited to 'src/xine-engine/plugin_catalog.h')
-rw-r--r-- | src/xine-engine/plugin_catalog.h | 9 |
1 files changed, 8 insertions, 1 deletions
diff --git a/src/xine-engine/plugin_catalog.h b/src/xine-engine/plugin_catalog.h index 0790b410f..1aedd6c70 100644 --- a/src/xine-engine/plugin_catalog.h +++ b/src/xine-engine/plugin_catalog.h @@ -17,7 +17,7 @@ * along with this program; if not, write to the Free Software * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA * - * $Id: plugin_catalog.h,v 1.7 2002/12/01 15:10:04 mroi Exp $ + * $Id: plugin_catalog.h,v 1.8 2002/12/08 20:53:02 miguelfreitas Exp $ * * xine-internal header: Definitions for plugin lists * @@ -35,11 +35,16 @@ /* the engine takes this many plugins for one stream type */ #define PLUGINS_PER_TYPE 10 +#define CACHE_CATALOG_VERSION 0 +#define CACHE_CATALOG_FILE ".xine/catalog.cache" + typedef struct { char *filename; plugin_info_t *info; void *plugin_class; int ref; /* count instances created of this plugin */ + off_t filesize; + time_t filemtime; } plugin_node_t ; struct plugin_catalog_s { @@ -51,6 +56,8 @@ struct plugin_catalog_s { xine_list_t *aout; xine_list_t *vout; xine_list_t *post; + + xine_list_t *cache; plugin_node_t *audio_decoder_map[DECODER_MAX][PLUGINS_PER_TYPE]; plugin_node_t *video_decoder_map[DECODER_MAX][PLUGINS_PER_TYPE]; |