]> git.sesse.net Git - vlc/commitdiff
* A few Makefile fixes for BeOS
authorSam Hocevar <sam@videolan.org>
Sun, 15 Apr 2001 04:46:41 +0000 (04:46 +0000)
committerSam Hocevar <sam@videolan.org>
Sun, 15 Apr 2001 04:46:41 +0000 (04:46 +0000)
  * XVideo patches by Shane Harper

27 files changed:
ChangeLog
Makefile
Makefile.modules.in
plugins/alsa/Makefile
plugins/beos/Makefile
plugins/darwin/Makefile
plugins/dsp/Makefile
plugins/dummy/Makefile
plugins/dvd/Makefile
plugins/esd/Makefile
plugins/fb/Makefile
plugins/ggi/Makefile
plugins/glide/Makefile
plugins/gnome/Makefile
plugins/gtk/Makefile
plugins/idct/Makefile
plugins/macosx/Makefile
plugins/mga/Makefile
plugins/motion/Makefile
plugins/mpeg/Makefile
plugins/null/Makefile
plugins/qt/Makefile
plugins/sdl/Makefile
plugins/text/Makefile
plugins/x11/Makefile
plugins/x11/vout_xvideo.c
plugins/yuv/Makefile

index 434c8bf73cbca98adedd5aee3dda3d9b0a7d7446..550cee46522326d020a793d7f195171d144e6d7d 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,8 @@
 
 HEAD
 
+  * A few Makefile fixes for BeOS
+  * XVideo patches by Shane Harper <shanegh@optusnet.com.au>.
   * Beginning of the built-in modules support.
   * Got rid of the sleep() hack in beos_specific.cpp.
   * Fixed a segfault when launched without argument under Darwin.
index 132a21c09c11af2b65e85aaf1f311a664ce9f1ff..7edce4369cd8d79fa683198ffff15ff263237632 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -31,7 +31,7 @@ PLUGINS_TARGETS := alsa/alsa beos/beos darwin/darwin dsp/dsp dummy/dummy \
                macosx/macosx mga/mga \
                motion/motion motion/motionmmx motion/motionmmxext \
                mpeg/ps mpeg/ts null/null qt/qt sdl/sdl \
-               text/text x11/x11 yuv/yuv yuv/yuvmmx
+               text/text x11/x11 x11/xvideo yuv/yuv yuv/yuvmmx
 
 #
 # Translate plugin names
index d750115375fd556f335daf1d6c70dca0f7c4d70a..4f157dcb3545e2e831e7f76d3502ec2eae3f9b9a 100644 (file)
@@ -20,7 +20,7 @@ ifneq (,$(findstring darwin,$(SYS)))
 PLCFLAGS += -bundle -undefined suppress
 else
 ifeq ($(SYS),beos)
-PLCFLAGS += -nostart plugins/_APP_
+PLCFLAGS += -nostart ../../lib/_APP_
 else
 PLCFLAGS += -shared
 endif
index bd9d342f40c2a47b11cd1d6debbee3cecb4a85b1..bcce6973e0632b6f5af41920dd668563eb951bea 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index b0dbf8e73858b855abc4f4224c90226a50fbc7c8..dbb5929063371329cefef177ca1a7d4f4b4948f6 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cppdependancies): %.dpp: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_BEOS): %.o: .dep/%.dpp
 $(PLUGIN_BEOS): %.o: %.cpp
index 066a2fe72480a56c35edfa3a9cb4cd2852f6f012..da72568552bd892ba1288e448a62e3dbbd228b07 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 96fc068b86e83c99bcb61bdc7e6a73a55187f19d..127080ddbda80c8f1c3a8f750d1ec07a1740fe74 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index d0361017dbd32c7a70ede8dd3fbb39c8107ff4f5..dd949e4f6d6ea6a6016ad5744e9347ad819c9444 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 786be588e8466f5438891cdcca63000cf35d2666..36a579082c61fdc6fd40d5947e2c04b7149efd1f 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_DVD): %.o: .dep/%.d
 $(PLUGIN_DVD): %.o: %.c
index 881b59084fcaaa98ce33f77c8f984e983c99c5e0..0d84d032c937ff756659aedcdd1d69d77cbcd77c 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 4d1bcbc8a1a8877d706a496bc0a33c93409dd773..b0924c4702d165e809017bcb507a6f320e5116b1 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 255fe250726f1fcf3106f2cfcc8c667b2d6b7acb..4bd483489cfcbec7be39625a9f72b8c95e744e11 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 80145a99e872d3937a7998208c6dfd32b2133792..03a40df3e11d9c23a825574202ab8d6c189653d9 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_GLIDE): %.o: .dep/%.d
 $(PLUGIN_GLIDE): %.o: %.c
index c7b9ea2c9c99c64e1d9d0b421d9323a73968df35..b6d85287cbd153798dc30418717353500200c188 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_GNOME): %.o: .dep/%.d
 $(PLUGIN_GNOME): %.o: %.c
index 4bbf44760e0ac1f2a0ca66e8a0000f9eb1a1a97c..522ad3c8b84b5b1701084b019071779ff555fa4d 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_GTK): %.o: .dep/%.d
 $(PLUGIN_GTK): %.o: %.c
index e0857104a9dd8afcc9698a830ab74f1be937061a..7380ba6659aa4e30f2ba5ba97aa1980ba8d3c425 100644 (file)
@@ -41,7 +41,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -49,7 +49,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 9807575c6c5ce2331de2ebacb208018c8f4ddf51..4c219cbed59515e3b57f8597a96035d0b9cc50a7 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_MACOSX): %.o: .dep/%.d
 $(PLUGIN_MACOSX): %.o: %.c
index c6528e1a7566ae8752d4635fcd8ba03793826db4..802ef93678f4750c29fd0a0b25be385b003137e3 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index dce17226106e02413a0de1126270cebe9364a7a1..7290be00ec96a654711a20fd79a1c416154b9f99 100644 (file)
@@ -35,7 +35,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -43,7 +43,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 7ad9e2604e9a16bdf823e4b420bee9a6f48b0409..cde859a1070a8c42230b6b038fe8737bf6725c0a 100644 (file)
@@ -29,7 +29,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -37,7 +37,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index 992ece64ac492b30edd83571dc0d0e4b3411c017..e816e3bc4bf2809055f596ef7df775b0fdba6f68 100644 (file)
@@ -27,7 +27,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -35,7 +35,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index c74eeaeb3ecc528e9b5485c279b8be7b188a59bd..1676ed3937acb882e3eee64da988a37a5b1eb666 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cppdependancies): %.dpp: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_QT): %.o: .dep/%.dpp
 $(PLUGIN_QT): %.o: %.moc
index ee79ff1a42666440b6af44e9a26e5ce8a9e7b450..b522533302784b04b743a1f25b55fcbc04b385b1 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
index ee23c1894eaabb7c18116ca680175b2b1a7c8b4f..14f6fe4711b8fe917d094161db20c431643073f7 100644 (file)
@@ -25,7 +25,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -33,7 +33,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(PLUGIN_NCURSES): %.o: .dep/%.d
 $(PLUGIN_NCURSES): %.o: %.c
index 6f8640801cf1ca46fccc51e010c3e0690247e204..316e5d4b59b986c0fd2a32a5d324251a7daa4c47 100644 (file)
@@ -30,7 +30,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -38,7 +38,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c
@@ -63,9 +63,9 @@ endif
 
 ../../lib/xvideo.so: $(PLUGIN_XVIDEO)
 ifeq ($(SYS),nto-qnx)
-       $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext -lsocket
+       $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext -lXv -lsocket
 else
-       $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext
+       $(CC) $(PCFLAGS) -o $@ $^ $(PLCFLAGS) -L/usr/X11R6/lib -lX11 -lXext -lXv
 endif
 
 ../../lib/xvideo.a: $(BUILTIN_XVIDEO)
index d1816f61305e45f468d1ed99bd2b88d4eb8e690d..0e987c1037489b050947cf820f2f29bd8b38caf2 100644 (file)
@@ -2,7 +2,7 @@
  * vout_xvideo.c: Xvideo video output display method
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000, 2001 VideoLAN
- * $Id: vout_xvideo.c,v 1.6 2001/04/13 06:20:23 sam Exp $
+ * $Id: vout_xvideo.c,v 1.7 2001/04/15 04:46:41 sam Exp $
  *
  * Authors: Shane Harper <shanegh@optusnet.com.au>
  *          Vincent Seguin <seguin@via.ecp.fr>
 
 #include "main.h"
 
+
+#define GUID_YUV12_PLANAR 0x32315659
+
+
 /*****************************************************************************
  * vout_sys_t: video output X11 method descriptor
  *****************************************************************************
@@ -235,6 +239,7 @@ static int vout_Create( vout_thread_t *p_vout )
 
     if( (p_vout->p_sys->xv_port = XVideoGetPort( p_vout->p_sys->p_display ))<0 )
         return 1;
+    intf_DbgMsg( 1, "Using xv port %d" , p_vout->p_sys->xv_port );
 
 #if 0
     /* XXX The brightness and contrast values should be read from environment
@@ -540,7 +545,7 @@ static int XVideoUpdateImgSizeIfRequired( vout_thread_t *p_vout )
                                   &p_vout->p_sys->shm_info,
                                   i_img_width, i_img_height ) )
         {
-            intf_Msg( "vout: failed to create xvimage." );
+            intf_ErrMsg( "vout: failed to create xvimage." );
             p_vout->p_sys->i_image_width = 0;
             return( 1 );
         }
@@ -785,24 +790,37 @@ static int XVideoCreateShmImage( Display* dpy, int xv_port,
                                     XShmSegmentInfo *p_shm_info,
                                     int i_width, int i_height )
 {
-    #define GUID_YUV12_PLANAR 0x32315659
-
     *pp_xvimage = XvShmCreateImage( dpy, xv_port,
                                     GUID_YUV12_PLANAR, 0,
                                     i_width, i_height,
                                     p_shm_info );
+    if( !(*pp_xvimage) )
+    {
+        intf_ErrMsg( "vout error: XvShmCreateImage failed." );
+        return( -1 );
+    }
 
     p_shm_info->shmid    = shmget( IPC_PRIVATE, (*pp_xvimage)->data_size,
                                    IPC_CREAT | 0777 );
+    if( p_shm_info->shmid < 0)                                      /* error */
+    {
+        intf_ErrMsg( "vout error: cannot allocate shared image data (%s)",
+                    strerror(errno));
+        return( 1 );
+    }
+
     p_shm_info->shmaddr  = (*pp_xvimage)->data = shmat( p_shm_info->shmid,
                                                         0, 0 );
     p_shm_info->readOnly = False;
 
-    shmctl( p_shm_info->shmid, IPC_RMID, 0 ); /* XXX */
+    /* Mark the shm segment to be removed when there will be no more
+     * attachements, so it is automatic on process exit or after shmdt */
+    shmctl( p_shm_info->shmid, IPC_RMID, 0 );
 
     if( !XShmAttach( dpy, p_shm_info ) )
     {
         intf_ErrMsg( "vout error: XShmAttach failed" );
+        shmdt( p_shm_info->shmaddr );
         return( -1 );
     }
 
@@ -974,6 +992,7 @@ static void XVideoOutputCoords( const picture_t *p_pic, const boolean_t scale,
 static int XVideoGetPort( Display *dpy )
 {
     int            i, i_adaptors;
+    int            xv_port = -1;
     XvAdaptorInfo *adaptor_info;
 
     switch( XvQueryAdaptors( dpy, DefaultRootWindow( dpy ),
@@ -995,15 +1014,38 @@ static int XVideoGetPort( Display *dpy )
             return( -1 );
     }
 
-    for( i=0; i < i_adaptors; ++i )
+    for( i=0; i < i_adaptors && xv_port == -1; ++i )
         if( ( adaptor_info[ i ].type & XvInputMask ) &&
             ( adaptor_info[ i ].type & XvImageMask ) )
-            {
-                return adaptor_info[ i ].base_id;
-            }
+        {
+            /* check that port supports YUV12 planar format... */
+            int port = adaptor_info[ i ].base_id;
+            int i_num_formats, i;
+            XvImageFormatValues *imageFormats;
+
+            imageFormats = XvListImageFormats( dpy, port, &i_num_formats );
 
-    intf_ErrMsg( "vout error: didn't find an Xvideo image input port." );
-    return( -1 );
+            for( i=0; i < i_num_formats && xv_port == -1; ++i )
+                if( imageFormats[ i ].id == GUID_YUV12_PLANAR )
+                    xv_port = port;
+
+            if( xv_port == -1 )
+                intf_WarnMsg( 3, "vout: XVideo image input port %d "
+                        "does not support the YUV12 planar format which is "
+                        "currently required by the xvideo output plugin.",
+                        port );
+
+            if( imageFormats )
+                XFree( imageFormats );
+        }
+
+    if( i_adaptors > 0 )
+        XvFreeAdaptorInfo(adaptor_info);
+
+    if( xv_port == -1 )
+        intf_ErrMsg( "vout error: didn't find a suitable Xvideo image input port." );
+
+    return( xv_port );
 }
 
 
@@ -1012,7 +1054,7 @@ static int XVideoGetPort( Display *dpy )
  * XVideoSetAttribute
  *****************************************************************************
  * This function can be used to set attributes, e.g. XV_BRIGHTNESS and
- * XV_CONTRAST. "value" should be in the range of 0 to 1.
+ * XV_CONTRAST. "f_value" should be in the range of 0 to 1.
  *****************************************************************************/
 static void XVideoSetAttribute( vout_thread_t *p_vout,
                                 char *attr_name, float f_value )
@@ -1036,9 +1078,12 @@ static void XVideoSetAttribute( vout_thread_t *p_vout,
 
             XvSetPortAttribute( p_dpy, xv_port,
                             XInternAtom( p_dpy, attr_name, False ), i_sv );
-            return;
+            break;
         }
 
     } while( i_attrib > 0 );
+
+    if( p_attrib )
+        XFree( p_attrib );
 }
 #endif
index 6feba08856f1b8fda38e50e23e5c1796ee054ffa..f8da3155a4318b8df4850b61b519c07ef8e9eec4 100644 (file)
@@ -30,7 +30,7 @@ all:
 
 clean:
        rm -f $(ALL_OBJ)
-       rm -f *.o *.moc *.bak *.so *.a *.builtin
+       rm -f *.o *.moc *.bak *.builtin
        rm -rf .dep
 
 FORCE:
@@ -38,7 +38,7 @@ FORCE:
 $(cdependancies): %.d: FORCE
        @$(MAKE) -s --no-print-directory -f ../../Makefile.dep $@
 
-$(ALL_OBJ): %.o: ../../Makefile.dep
+$(ALL_OBJ): %.o: ../../Makefile.dep Makefile
 
 $(STD_PLUGIN_OBJ): %.o: .dep/%.d
 $(STD_PLUGIN_OBJ): %.o: %.c