summaryrefslogtreecommitdiff
path: root/src/xine-engine/load_plugins.c
diff options
context:
space:
mode:
authorMichael Roitzsch <mroi@users.sourceforge.net>2002-10-31 16:58:12 +0000
committerMichael Roitzsch <mroi@users.sourceforge.net>2002-10-31 16:58:12 +0000
commit8434b64bf82e3f111ca461a9789707558dff5dd3 (patch)
treec03b8c5961715b410e0d55d1b116c39a797c45f5 /src/xine-engine/load_plugins.c
parenta3608a5b290a41d0d9614e2316586c220fa7a5e9 (diff)
downloadxine-lib-8434b64bf82e3f111ca461a9789707558dff5dd3.tar.gz
xine-lib-8434b64bf82e3f111ca461a9789707558dff5dd3.tar.bz2
new syntax for MRLs
basic changes: - MRLs are a subset of URIs - important new delimiter is # - everything before the # will be passed to the input plugin - after the # you can add several ;-separated stream parameters: novideo - video will be ignored noaudio - audio will be ignored nospu - spus will be ignored demux:... - specify the demuxer to use (e.g. demux:mpeg_block) entry:value - assign any config entry a new value CVS patchset: 3112 CVS date: 2002/10/31 16:58:12
Diffstat (limited to 'src/xine-engine/load_plugins.c')
-rw-r--r--src/xine-engine/load_plugins.c25
1 files changed, 24 insertions, 1 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index 71d7a8750..510d5d04a 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.107 2002/10/27 01:52:15 guenter Exp $
+ * $Id: load_plugins.c,v 1.108 2002/10/31 16:58:16 mroi Exp $
*
*
* Load input/demux/audio_out/video_out/codec plugins
@@ -697,6 +697,29 @@ demux_plugin_t *find_demux_plugin (xine_stream_t *stream, input_plugin_t *input)
return NULL;
}
+demux_plugin_t *find_demux_plugin_by_name(xine_stream_t *stream, const char *name, input_plugin_t *input) {
+
+ plugin_catalog_t *catalog = stream->xine->plugin_catalog;
+ plugin_node_t *node;
+ demux_plugin_t *plugin;
+
+ pthread_mutex_lock(&catalog->lock);
+ node = xine_list_first_content(catalog->demux);
+
+ while (node) {
+ if (strcasecmp(node->info->id, name) == 0) {
+ if ((plugin = ((demux_class_t *)node->plugin_class)->open_plugin(node->plugin_class, stream, input))) {
+ pthread_mutex_unlock (&catalog->lock);
+ return plugin;
+ }
+ }
+ node = xine_list_next_content(catalog->demux);
+ }
+
+ pthread_mutex_unlock(&catalog->lock);
+ return NULL;
+}
+
const char *const *xine_get_autoplay_input_plugin_ids(xine_t *this) {
plugin_catalog_t *catalog;