diff options
| author | Thibaut Mattern <tmattern@users.sourceforge.net> | 2005-02-09 20:03:18 +0000 |
|---|---|---|
| committer | Thibaut Mattern <tmattern@users.sourceforge.net> | 2005-02-09 20:03:18 +0000 |
| commit | 98ae0af69a0e10d5fe88414617d47ddd7eab1147 (patch) | |
| tree | f8db6d101dfb2f3b0e1b6f2660d1d39f7ae0b270 /src/xine-engine/plugin_catalog.h | |
| parent | 3a2698a5975e3a9cc7f1f4c006677f664da2c194 (diff) | |
| download | xine-lib-98ae0af69a0e10d5fe88414617d47ddd7eab1147.tar.gz xine-lib-98ae0af69a0e10d5fe88414617d47ddd7eab1147.tar.bz2 | |
Finally commit the plugin loader improvements.
see my last mail about this stuff:
http://thread.gmane.org/gmane.comp.video.xine.devel/12547
and this thread:
http://thread.gmane.org/gmane.comp.video.xine.devel/11213
CVS patchset: 7395
CVS date: 2005/02/09 20:03:18
Diffstat (limited to 'src/xine-engine/plugin_catalog.h')
| -rw-r--r-- | src/xine-engine/plugin_catalog.h | 16 |
1 files changed, 12 insertions, 4 deletions
diff --git a/src/xine-engine/plugin_catalog.h b/src/xine-engine/plugin_catalog.h index 5cc716a95..e57410f13 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.16 2004/06/23 19:45:54 mroi Exp $ + * $Id: plugin_catalog.h,v 1.17 2005/02/09 20:03:21 tmattern Exp $ * * xine-internal header: Definitions for plugin lists * @@ -46,11 +46,18 @@ 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; + int ref; /* count number of classes */ + void *lib_handle; + int no_unload; /* set if the file can't be unloaded */ +} plugin_file_t ; + +typedef struct { + plugin_file_t *file; + plugin_info_t *info; + void *plugin_class; + int ref; /* count intances of plugins */ } plugin_node_t ; struct plugin_catalog_s { @@ -64,6 +71,7 @@ struct plugin_catalog_s { xine_list_t *post; xine_list_t *cache; + xine_list_t *file; plugin_node_t *audio_decoder_map[DECODER_MAX][PLUGINS_PER_TYPE]; plugin_node_t *video_decoder_map[DECODER_MAX][PLUGINS_PER_TYPE]; |
