From d18f0ffcf6cac260e15cc927e188225b304a00ae Mon Sep 17 00:00:00 2001 From: Michael Roitzsch Date: Mon, 20 Dec 2004 21:38:24 +0000 Subject: reverse the order plugins with equal priorities are handled so that plugins appearing earlier in the plugin path actually override later plugins; also check the priority of video_out plugins on loading for symmetry to the audio_out loading CVS patchset: 7289 CVS date: 2004/12/20 21:38:24 --- src/xine-engine/load_plugins.c | 10 +++++----- src/xine-utils/list.c | 4 ++-- 2 files changed, 7 insertions(+), 7 deletions(-) diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c index ac76ae0d7..2e9c391eb 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.191 2004/12/12 22:01:31 mroi Exp $ + * $Id: load_plugins.c,v 1.192 2004/12/20 21:38:25 mroi Exp $ * * * Load input/demux/audio_out/video_out/codec plugins @@ -161,7 +161,7 @@ static void map_decoders (xine_t *this) { /* find the right place based on the priority */ for (pos = 0; pos < PLUGINS_PER_TYPE; pos++) if (!catalog->audio_decoder_map[streamtype][pos] || - get_decoder_priority(this, catalog->audio_decoder_map[streamtype][pos]) <= priority) + priority > get_decoder_priority(this, catalog->audio_decoder_map[streamtype][pos])) break; /* shift the decoder list for this type by one to make room for new decoder */ @@ -200,7 +200,7 @@ static void map_decoders (xine_t *this) { /* find the right place based on the priority */ for (pos = 0; pos < PLUGINS_PER_TYPE; pos++) if (!catalog->video_decoder_map[streamtype][pos] || - get_decoder_priority(this, catalog->video_decoder_map[streamtype][pos]) <= priority) + priority > get_decoder_priority(this, catalog->video_decoder_map[streamtype][pos])) break; /* shift the decoder list for this type by one to make room for new decoder */ @@ -238,7 +238,7 @@ static void map_decoders (xine_t *this) { /* find the right place based on the priority */ for (pos = 0; pos < PLUGINS_PER_TYPE; pos++) if (!catalog->spu_decoder_map[streamtype][pos] || - get_decoder_priority(this, catalog->spu_decoder_map[streamtype][pos]) <= priority) + priority > get_decoder_priority(this, catalog->spu_decoder_map[streamtype][pos])) break; /* shift the decoder list for this type by one to make room for new decoder */ @@ -1393,7 +1393,7 @@ xine_video_port_t *xine_open_video_driver (xine_t *this, break; } - } else { + } else if( vo_info->priority >= 0 ) { driver = _load_video_driver (this, node, visual); diff --git a/src/xine-utils/list.c b/src/xine-utils/list.c index 15f646d96..bd44a6abf 100644 --- a/src/xine-utils/list.c +++ b/src/xine-utils/list.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: list.c,v 1.8 2004/04/16 16:34:23 hadess Exp $ + * $Id: list.c,v 1.9 2004/12/20 21:38:24 mroi Exp $ * */ #ifdef HAVE_CONFIG_H @@ -151,7 +151,7 @@ void xine_list_append_priority_content (xine_list_t *l, void *content, int prior cur = l->first; while(1) { - if( priority >= cur->priority ) { + if( priority > cur->priority ) { node->next = cur; node->prev = cur->prev; -- cgit v1.2.3