[MPlayer-dev-eng] runtime VIDIX driver directory

Bryan Henderson bryanh at giraffe-data.com
Fri Dec 14 05:25:37 CET 2007


This patch lets the environment variable MP_VIDIX_PFX override the built-in
prefix (directory) for VIDIX drivers.  So an MPlayer executable is portable.

--- MPlayer/libvo/vosub_vidix.c	2007-11-25 22:32:26.000000000 +0000
+++ MPlayer/libvo/vosub_vidix.c	2007-11-26 08:46:49.000000000 +0000
@@ -706,6 +706,22 @@
 //  return server_control(request,data); //VO_NOTIMPL;
 }
 
+static char *
+vidix_driver_pfx(void) {
+
+    char * path;
+
+    path = getenv("MP_VIDIX_PFX");
+    if (!path) {
+#ifndef __MINGW32__
+        path = MP_VIDIX_PFX;
+#else
+        path = get_path("vidix/");
+#endif
+    }
+    return path;
+}
+
 int vidix_preinit(const char *drvname,void *server)
 {
   int err;
@@ -716,17 +732,11 @@
 	  mp_msg(MSGT_VO,MSGL_ERR, MSGTR_LIBVO_SUB_VIDIX_YouHaveWrongVersionOfVidixLibrary);
 	  return -1;
 	}
-#ifndef __MINGW32__
-	vidix_handler = vdlOpen(MP_VIDIX_PFX,
-				drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
-				TYPE_OUTPUT,
-				verbose);
-#else
-	vidix_handler = vdlOpen(get_path("vidix/"),
+
+	vidix_handler = vdlOpen(vidix_driver_pfx(),
 				drvname ? drvname[0] == ':' ? &drvname[1] : drvname[0] ? drvname : NULL : NULL,
 				TYPE_OUTPUT,
 				verbose);
-#endif              
               
 	if(vidix_handler == NULL)
 	{





More information about the MPlayer-dev-eng mailing list