summaryrefslogtreecommitdiff
path: root/src/xine-engine/load_plugins.c
diff options
context:
space:
mode:
authorDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-06-09 18:21:04 +0200
committerDiego 'Flameeyes' Pettenò <flameeyes@gmail.com>2007-06-09 18:21:04 +0200
commitf36b9d822626dbbaf585e70cfa7ea60aa6d194af (patch)
tree220b7a7d185f262dc793c14c92a77ea615950d86 /src/xine-engine/load_plugins.c
parentb6055c5fe61d918259d1c253aa32fa97dd3e5163 (diff)
parentd5d3776bf7e2733d382c5811b317bcdb7c2c9e88 (diff)
downloadxine-lib-f36b9d822626dbbaf585e70cfa7ea60aa6d194af.tar.gz
xine-lib-f36b9d822626dbbaf585e70cfa7ea60aa6d194af.tar.bz2
Merge with 1.2 branch.
Diffstat (limited to 'src/xine-engine/load_plugins.c')
-rw-r--r--src/xine-engine/load_plugins.c32
1 files changed, 32 insertions, 0 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index ca1f87c7a..750ec21e7 100644
--- a/src/xine-engine/load_plugins.c
+++ b/src/xine-engine/load_plugins.c
@@ -1721,6 +1721,38 @@ static ao_driver_t *_load_audio_driver (xine_t *this, plugin_node_t *node,
return driver;
}
+ao_driver_t *_x_load_audio_output_plugin (xine_t *this, const char *id)
+{
+ plugin_node_t *node;
+ ao_driver_t *driver = NULL;
+ ao_info_t *ao_info;
+ plugin_catalog_t *catalog = this->plugin_catalog;
+ int list_id, list_size;
+
+ pthread_mutex_lock (&catalog->lock);
+
+ list_size = xine_sarray_size (this->plugin_catalog->plugin_lists[PLUGIN_AUDIO_OUT - 1]);
+ for (list_id = 0; list_id < list_size; list_id++) {
+
+ node = xine_sarray_get (this->plugin_catalog->plugin_lists[PLUGIN_AUDIO_OUT - 1], list_id);
+
+ ao_info = (ao_info_t *)node->info->special_info;
+
+ if (!strcasecmp(node->info->id, id)) {
+ driver = _load_audio_driver (this, node, NULL);
+ break;
+ }
+ }
+
+ pthread_mutex_unlock (&catalog->lock);
+
+ if (!driver) {
+ xprintf (this, XINE_VERBOSITY_LOG,
+ _("load_plugins: failed to load audio output plugin <%s>\n"), id);
+ }
+ return driver;
+}
+
xine_audio_port_t *xine_open_audio_driver (xine_t *this, const char *id,
void *data) {