summaryrefslogtreecommitdiff
path: root/src/xine-engine/load_plugins.c
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2002-11-20 11:57:38 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2002-11-20 11:57:38 +0000
commit4e95a4f5224e241075b8cd86b4423c85c1d0ee26 (patch)
treecd9287e15591dce94560663ad66fc4005d006012 /src/xine-engine/load_plugins.c
parent74893748b868ecc6ae539fa66e326e06947c4ac9 (diff)
downloadxine-lib-4e95a4f5224e241075b8cd86b4423c85c1d0ee26.tar.gz
xine-lib-4e95a4f5224e241075b8cd86b4423c85c1d0ee26.tar.bz2
engine modifications to allow post plugin layer:
* new public output interface xine_{audio,video}_port_t instead of xine_{ao,vo}_driver_t, old names kept as aliases for compatibility * modified the engine to allow multiple streams per output * renaming of some internal structures according to public changes * moving SCR out of per-stream-metronom into a global metronom_clock_t residing in xine_t and therefore easily available to the output layer * adapting all available plugins (note to external projects: the compiler will help you a lot, if a plugin compiles, it is adapted, because all changes add new parameters to some functions) * bump up all interface versions because of xine_t and xine_stream_t changes CVS patchset: 3312 CVS date: 2002/11/20 11:57:38
Diffstat (limited to 'src/xine-engine/load_plugins.c')
-rw-r--r--src/xine-engine/load_plugins.c42
1 files changed, 24 insertions, 18 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index b838f589e..5a82607a7 100644
--- a/src/xine-engine/load_plugins.c
+++ b/src/xine-engine/load_plugins.c
@@ -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: load_plugins.c,v 1.113 2002/11/14 19:45:01 esnel Exp $
+ * $Id: load_plugins.c,v 1.114 2002/11/20 11:57:49 mroi Exp $
*
*
* Load input/demux/audio_out/video_out/codec plugins
@@ -816,10 +816,10 @@ const char *xine_get_input_plugin_description (xine_t *this, const char *plugin_
* video out plugins section
*/
-static xine_vo_driver_t *_load_video_driver (xine_t *this, plugin_node_t *node,
- void *data) {
+static vo_driver_t *_load_video_driver (xine_t *this, plugin_node_t *node,
+ void *data) {
- xine_vo_driver_t *driver;
+ vo_driver_t *driver;
if (!node->plugin_class)
node->plugin_class = _load_plugin_class (this, node->filename, node->info, data);
@@ -843,12 +843,13 @@ static xine_vo_driver_t *_load_video_driver (xine_t *this, plugin_node_t *node,
return driver;
}
-xine_vo_driver_t *xine_open_video_driver (xine_t *this,
- const char *id,
- int visual_type, void *visual) {
+xine_video_port_t *xine_open_video_driver (xine_t *this,
+ const char *id,
+ int visual_type, void *visual) {
plugin_node_t *node;
- xine_vo_driver_t *driver;
+ vo_driver_t *driver;
+ xine_video_port_t *port;
vo_info_t *vo_info;
plugin_catalog_t *catalog = this->plugin_catalog;
@@ -895,7 +896,9 @@ xine_vo_driver_t *xine_open_video_driver (xine_t *this,
pthread_mutex_unlock (&catalog->lock);
- return driver;
+ port = vo_new_port(this, driver);
+
+ return port;
}
/*
@@ -958,10 +961,10 @@ const char *const *xine_list_video_output_plugins (xine_t *this) {
return catalog->ids;
}
-static xine_ao_driver_t *_load_audio_driver (xine_t *this, plugin_node_t *node,
- void *data) {
+static ao_driver_t *_load_audio_driver (xine_t *this, plugin_node_t *node,
+ void *data) {
- xine_ao_driver_t *driver;
+ ao_driver_t *driver;
if (!node->plugin_class)
node->plugin_class = _load_plugin_class (this, node->filename, node->info, data);
@@ -985,11 +988,12 @@ static xine_ao_driver_t *_load_audio_driver (xine_t *this, plugin_node_t *node,
return driver;
}
-xine_ao_driver_t *xine_open_audio_driver (xine_t *this, const char *id,
- void *data) {
+xine_audio_port_t *xine_open_audio_driver (xine_t *this, const char *id,
+ void *data) {
plugin_node_t *node;
- xine_ao_driver_t *driver;
+ ao_driver_t *driver;
+ xine_audio_port_t *port;
ao_info_t *ao_info;
plugin_catalog_t *catalog = this->plugin_catalog;
@@ -1035,16 +1039,18 @@ xine_ao_driver_t *xine_open_audio_driver (xine_t *this, const char *id,
}
pthread_mutex_unlock (&catalog->lock);
+
+ port = ao_new_port(this, driver);
- return driver;
+ return port;
}
-void xine_close_audio_driver (xine_t *this, xine_ao_driver_t *driver) {
+void xine_close_audio_driver (xine_t *this, xine_audio_port_t *driver) {
/* FIXME : implement */
}
-void xine_close_video_driver (xine_t *this, xine_vo_driver_t *driver) {
+void xine_close_video_driver (xine_t *this, xine_video_port_t *driver) {
/* FIXME : implement */