summaryrefslogtreecommitdiff
path: root/src/xine-engine/plugin_catalog.h
diff options
context:
space:
mode:
authorThibaut Mattern <tmattern@users.sourceforge.net>2005-02-09 20:03:18 +0000
committerThibaut Mattern <tmattern@users.sourceforge.net>2005-02-09 20:03:18 +0000
commit98ae0af69a0e10d5fe88414617d47ddd7eab1147 (patch)
treef8db6d101dfb2f3b0e1b6f2660d1d39f7ae0b270 /src/xine-engine/plugin_catalog.h
parent3a2698a5975e3a9cc7f1f4c006677f664da2c194 (diff)
downloadxine-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.h16
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];