summaryrefslogtreecommitdiff
path: root/src/xine-engine/load_plugins.c
diff options
context:
space:
mode:
authorGuenter Bartsch <guenter@users.sourceforge.net>2002-02-16 22:43:24 +0000
committerGuenter Bartsch <guenter@users.sourceforge.net>2002-02-16 22:43:24 +0000
commitf030f9e939d8949d43a6a4c11fc1e7c16617ca8d (patch)
tree75216b2ea75f8ca2a12c6960571ea8a03e216d93 /src/xine-engine/load_plugins.c
parent0068b2d4877b794ed7112e4c49ee0deb214193d2 (diff)
downloadxine-lib-f030f9e939d8949d43a6a4c11fc1e7c16617ca8d.tar.gz
xine-lib-f030f9e939d8949d43a6a4c11fc1e7c16617ca8d.tar.bz2
beginning of video_out_driver changes
- driver will ask gui for output size on every frame - shm driver has a seperate yuv2rgb converter instance for every frame - all drivers disabled except xshm, until they're fixed I'm planning to introduce a queue of video_out_events in video_out.c, so events are delivered by video_out_loop which means that all driver functions are called from the same thread (no locking necessary, should help the opengl driver) CVS patchset: 1499 CVS date: 2002/02/16 22:43:24
Diffstat (limited to 'src/xine-engine/load_plugins.c')
-rw-r--r--src/xine-engine/load_plugins.c45
1 files changed, 24 insertions, 21 deletions
diff --git a/src/xine-engine/load_plugins.c b/src/xine-engine/load_plugins.c
index 59183304d..7063d7bed 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.68 2002/02/02 17:05:43 richwareham Exp $
+ * $Id: load_plugins.c,v 1.69 2002/02/16 22:43:24 guenter Exp $
*
*
* Load input/demux/audio_out/video_out/codec plugins
@@ -47,9 +47,7 @@
#include "xineutils.h"
#include "compat.h"
-/*
-#define LOAD_LOG
-*/
+#define LOG
#ifdef __GNUC__
#define LOG_MSG_STDERR(xine, message, args...) { \
@@ -662,15 +660,16 @@ char **xine_list_video_output_plugins (int visual_type) {
&& (dir_entry->d_name[nLen-2]=='s')
&& (dir_entry->d_name[nLen-1]=='o'))) {
- /*printf ("load_plugins: found a video output plugin: %s\n",
- dir_entry->d_name); */
+#ifdef LOG
+ printf ("load_plugins: found a video output plugin: %s\n",
+ dir_entry->d_name);
+#endif
#if IGNORE_DXR3ENC
- if (! strncasecmp(dir_entry->d_name,
- XINE_VIDEO_OUT_PLUGIN_PREFIXNAME "dxr3enc",
- XINE_VIDEO_OUT_PLUGIN_PREFIXNAME_LENGTH + 7))
- {
- printf("(ignoring obsolete dxr3enc driver)");
+ if (!strncasecmp(dir_entry->d_name,
+ XINE_VIDEO_OUT_PLUGIN_PREFIXNAME "dxr3enc",
+ XINE_VIDEO_OUT_PLUGIN_PREFIXNAME_LENGTH + 7)) {
+ printf ("load_plugins: (ignoring obsolete dxr3enc driver)");
continue;
}
#endif
@@ -698,9 +697,11 @@ char **xine_list_video_output_plugins (int visual_type) {
vo_info = getinfo();
if ( (vo_info->visual_type == visual_type)
- && (vo_info->interface_version == VIDEO_OUT_IFACE_VERSION) ) {
- /* printf("video output plugin found : %s (%s)\n",
- vo_info->id, vo_info->description); */
+ && (vo_info->interface_version == VIDEO_OUT_DRIVER_IFACE_VERSION) ) {
+#ifdef LOG
+ printf("video output plugin found : %s (%s)\n",
+ vo_info->id, vo_info->description);
+#endif
/* sort the list by vo_info->priority */
@@ -721,6 +722,9 @@ char **xine_list_video_output_plugins (int visual_type) {
num_plugins++;
plugin_ids[num_plugins] = NULL;
+ } else {
+ printf ("load_plugins: %s has wrong visual type (%d) or interface version (%d)\n",
+ str, vo_info->visual_type, vo_info->interface_version);
}
} else {
@@ -740,8 +744,7 @@ char **xine_list_video_output_plugins (int visual_type) {
remove_segv_handler();
- if( !num_plugins )
- {
+ if (!num_plugins) {
fprintf(stderr, "load_plugins: no video plugins found, make sure you have them "
"installed at %s\n", XINE_PLUGINDIR );
}
@@ -812,7 +815,7 @@ vo_driver_t *xine_load_video_output_plugin(config_values_t *config,
if (!strcasecmp(id, vo_info->id) ) {
- if (vo_info->interface_version == VIDEO_OUT_IFACE_VERSION) {
+ if (vo_info->interface_version == VIDEO_OUT_DRIVER_IFACE_VERSION) {
void *(*initplug) (config_values_t *, void *);
@@ -904,14 +907,14 @@ char **xine_list_audio_output_plugins(void) {
ao_info_t* (*getinfo) ();
ao_info_t *ao_info;
-#ifdef LOAD_LOG
+#ifdef LOG
printf ("load_plugins: plugin %s successfully loaded.\n", str);
#endif
if ((getinfo = dlsym(plugin, "get_audio_out_plugin_info")) != NULL) {
ao_info = getinfo();
-#ifdef LOAD_LOG
+#ifdef LOG
printf("load_plugins: id=%s, priority=%d, interface_version=%d\n",
ao_info->id, ao_info->priority, ao_info->interface_version);
#endif
@@ -955,8 +958,8 @@ char **xine_list_audio_output_plugins(void) {
}
closedir(dir);
} else {
- fprintf (stderr, "load_plugins: %s - cannot access plugin dir: %s",
- __XINE_FUNCTION__, strerror(errno));
+ printf ("load_plugins: %s - cannot access plugin dir: %s",
+ __XINE_FUNCTION__, strerror(errno));
}
remove_segv_handler();