* Split ChangeLog into ChangeLog and ChangeLog.libdvdcss.
authorSam Hocevar <sam@videolan.org>
Wed, 22 Aug 2001 14:23:57 +0000 (14:23 +0000)
committerSam Hocevar <sam@videolan.org>
Wed, 22 Aug 2001 14:23:57 +0000 (14:23 +0000)
  * Added --xvadaptor flag to select the XVideo adaptor to use.
  * Everything is ready for the 0.2.83 release.

15 files changed:
ChangeLog
ChangeLog.libdvdcss [new file with mode: 0644]
Makefile
TODO
configure.in
debian/changelog
debian/control
debian/libdvdcss0.0.3.copyright
debian/rules
debian/vlc.copyright
doc/vlc.1
include/config.h.in
plugins/x11/vout_xvideo.c
src/interface/main.c
vlc.spec

index 5d7e074..4b0b38f 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -4,6 +4,13 @@
 
 HEAD
 
+  * Nothing yet.
+
+0.2.83
+Wed, 22 Aug 2001 15:18:01 +0200
+
+  * Split ChangeLog into ChangeLog and ChangeLog.libdvdcss.
+  * Added --xvadaptor flag to select the XVideo adaptor to use.
   * Added support in ./configure for the cprof profiler.
   * Activated -D_FILE_OFFSET_BITS=64 -D__USE_UNIX98 on all platforms, fixes
     issues under Solaris and QNX.
@@ -15,18 +22,11 @@ HEAD
     probably better than having no subtitles at all).
   * Added proper Conflicts: rules in debian/control.
   * configure.in fixes for BSD/OS.
-  * Added BSD/OS libdvd by Steven M. Schultz <sms@TO.GD-ES.COM> in
-    extras/BSDI_dvdioctl after he suggested us to do so. License is GPL.
-  * ./configure now checks for an installed libdvd under BSD/OS and
-    falls back to ours if not found.
-  * Fixed harmless typos in yesterday's Solaris libdvd patches.
-  * Bumped libdvdcss version number up to 0.0.3.
   * Added vlc:loop playlist command to go back at the beginning.
     Usage: vlc file1.mpeg file2.mpeg ... fileN.mpeg vlc:loop
   * Fixed a bug in the gtk interface which caused vlc to go amok after
     having met a zero-sized area.
   * 'snapshot*' rules do not depend on 'clean', and don't use /tmp anymore.
-  * Solaris DVD decryption support by Håkan Hjort <d95hjort@dtek.chalmers.se>.
 
 0.2.82
 Tue,  7 Aug 2001 12:39:16 +0200
@@ -36,9 +36,7 @@ Tue,  7 Aug 2001 12:39:16 +0200
   * Added -lmsvcrt40 to the win32 flags for proper execution under Wine.
   * Fixed broken soname setting under Solaris (and OS X, sort of).
   * Made the illegal instruction report more explicit.
-  * BSD/OS 4.3beta1 fixes by Steven M. Schultz <sms@TO.GD-ES.COM>.
   * Fixed the sdl video output plugin that was broken 2 days ago.
-  * libdvdcss* packages are now a bit more policy-compliant.
   * Tidied the snapshot-* Makefile rules.
   * Tidied the modules Makefiles.
   * Removed useless stuff in the debian/ directory.
@@ -64,7 +62,6 @@ Tue,  7 Aug 2001 12:39:16 +0200
   * The video decoder thread is now also reniced to a lower priority on
     Win32 (like in the Linux version). This slightly increases the
     responsiveness of vlc.
-  * Fixed a Win32 bug in libdvdcss. This bug was appearing on title change.
   * Modified input_dvd so you can now go directly to the selected chapter
     when you change the title.
   * Implemented the Probe function in the Xvideo plugin. Xvideo is now the
@@ -85,15 +82,10 @@ Tue,  7 Aug 2001 12:39:16 +0200
 0.2.81
 Sat, 28 Jul 2001 04:13:57 +0200
 
-  * Fix in libdvdcss in the key caching code.
   * Removed useless variables in configure.in which caused all subsequent
     compilation tests to fail.
   * Additional fixes to the sdl-config detection.
   * Added a make uninstall rule.
-  * Changed libdvdcss API to force binary incompatibility. Yeah, this is
-    evil, but if we don't do it now we'll have to do it when more people
-    are using it.
-  * Fixed minor libdvdcss stuff such as the soname and compilation flags.
   * New --with-dvdcss flag.
   * Fixed a bug in aout spdif with dolby stereo (use of obsolete PTS).
   * Format asm functions for gcc, fixed the segfaults with imdct_sse.
@@ -105,9 +97,6 @@ Sat, 28 Jul 2001 04:13:57 +0200
   * Fixed a stupid bug in buffer management with field pictures.
   * Fixed a reinit bug after a discontinuity - such as seek().
   * The spdif audio output won't kill itself anymore at the beginning.
-  * dvdcss_readv() optimisations for Win32.
-  * Fixed _win32_dvdcss_aread() to work around the WinASPI32 64kb transfer
-    size restriction.
   * New and theoretically better Win32 pthread implementation.
   * dvd_ifo.c now takes into account error messages from UDFFindFile.
   * Fixed the "quit" event handling in directx/vout_events.c.
@@ -115,7 +104,6 @@ Sat, 28 Jul 2001 04:13:57 +0200
   * ncurses compilation fix by Michael Mondragon <mammon@lokmail.net>.
   * Fix for large inline functions and gcc 3.0.
   * Fixed the gnome plugin so that it does not include gtk headers.
-  * libdvdcss segfault fixes.
   * Tuned constants, since it seems to make people happy.
   * Fixed the "paused movie won't restart" bug.
   * Removed the outdated generic decoder.
@@ -130,9 +118,6 @@ Sat, 28 Jul 2001 04:13:57 +0200
   * Reactivated SDL parachute in non-debug mode (memory leak otherwise).
   * Fixed GetChunk for chunks < 4 bytes.
   * The Win98 DVD input is finally working.
-  * Fixed 2 Win32 bugs in libdvdcss (in _win32_dvdcss_readv), one of them
-    should have prevented the Win9x dvd input from working.
-  * Moved the "if(Win2k)" out of the loop in _win32_dvdcss_readv.
   * Put a readv() function in input_iovec.h, the input_es plugin now compiles
     (Win32).
   * Modified input_ts to use readv() in input_iovec.h (Win32).
@@ -144,9 +129,6 @@ Sat, 28 Jul 2001 04:13:57 +0200
     been done because this function can block the thread. Thanks to this
     change, you can now move your window without any video and audio
     interruption.
-  * libdvdcss enhancements by Billy Biggs <vektor@dumbterm.net>. This breaks
-    vlc's DVD input (looks like decoders are expecting data too early and
-    DVD input can't cope with it due to decryption). Needs to be investigated.
   * Plugins are now compiled in plugins/* and libraries in lib/*.
   * The KDE UI compiles again but does not work yet.
   * ALSA plugin message corrections.
@@ -159,11 +141,6 @@ Sat, 28 Jul 2001 04:13:57 +0200
   * Fixed alignement in imdct asm functions.
   * 16 byte alignement for data (needed for SSE).
   * Optimization in SSE downmix.
-  * Removed unnecessary translations in the win32 code from block offsets to
-    byte offsets. This was overflowing some variables.
-  * Reduced the complexity of the Win9x ASPI functions because we only need
-    to handle DVD drive access.
-  * Win32 code now handles seeking in areas above 2.1 Go on DVDs.
   * Probably fixed the "X eats more and more CPU" bug. Please test.
   * mingw32 cross-compilation issue fixed.
   * Small optimization in vpar_blocks.c, sparing a few memset() calls.
@@ -187,22 +164,16 @@ Sat, 28 Jul 2001 04:13:57 +0200
   * Added INSTALL-win32.txt for specific details to the Win32 port.
   * Compile fix for newer versions of MacOS X by Colin Simmonds
     <colin_simmonds@Mac.lover.org>.
-  * Additional MacOS X DVD ioctl work by Eugenio Jarosiewicz
-    <ej0@cise.ufl.edu>.
   * Win32 network support by Boris Dorès <babal@via.ecp.fr>.
   * Fixed an alignment issue in the ifo parser. The Matrix problem should
     be solved.
   * Minor cosmetic fixes and warning removals here and there.
   * FreeBSD (and probably QNX) shared memory handling fix.
-  * First libdvdcss version (0.0.1).
   * Unrolled two loops in dvd_netlist.c to prevent message flooding.
   * DVD input stuttering fix by Jon Lech Johansen.
   * Removed a lock that caused late frames in DVDRead.
   * Added gprof profiling support with --enable-profiling.
-  * Fully working Windows DVD ioctl support by Jon Lech Johansen.
   * DirectX enhancements by Gildas Bazin, such as software rendering.
-  * Merged dvdcss_init and dvdcss_open into dvdcss_open, and dvdcss_close
-    and dvdcss_end into dvdcss_close. libdvdcss API now has 7 functions.
   * Another failed attempt at profiling vlc under Linux: ported the
     threads API to GNU Pth. Activate with --enable-pth. It doesn't seem to
     spawn new threads for me, maybe someone will have better luck.
@@ -210,7 +181,8 @@ Sat, 28 Jul 2001 04:13:57 +0200
   * Automatic build of libdvdcss if not found.
   * The DVD netlist no longer stops when the fifo is empty ; it just waits
     until there are free vectors again.
-  * Exported the CSS part of the dvd plugin into a library.
+  * Exported the CSS part of the dvd plugin into a library. See
+    ChangeLog.libdvdcss for a separate changelog.
   * Slight modification in input_dvd since Getiovec wasn't at the right place.
   * Send escape packet when changing title, not to be stuck in some decoder.
   * The position in the title is now reset when we change title to
diff --git a/ChangeLog.libdvdcss b/ChangeLog.libdvdcss
new file mode 100644 (file)
index 0000000..40ccad3
--- /dev/null
@@ -0,0 +1,52 @@
+#=========================#
+# ChangeLog for libdvdcss #
+#=========================#
+
+HEAD
+
+  * Added BSD/OS libdvd by Steven M. Schultz <sms@TO.GD-ES.COM> in
+    extras/BSDI_dvdioctl after he suggested us to do so. License is GPL.
+  * ./configure now checks for an installed libdvd under BSD/OS and
+    falls back to ours if not found.
+  * Fixed harmless typos in yesterday's Solaris libdvd patches.
+  * Bumped libdvdcss version number up to 0.0.3.
+  * Solaris DVD decryption support by Håkan Hjort <d95hjort@dtek.chalmers.se>.
+  * BSD/OS 4.3beta1 fixes by Steven M. Schultz <sms@TO.GD-ES.COM>.
+  * libdvdcss* packages are now a bit more policy-compliant.
+  * Fixed a Win32 bug in libdvdcss. This bug was appearing on title change.
+
+0.0.2
+Wed, 22 Aug 2001 15:18:01 +0200
+
+  * Fix in libdvdcss in the key caching code.
+  * Changed libdvdcss API to force binary incompatibility. Yeah, this is
+    evil, but if we don't do it now we'll have to do it when more people
+    are using it.
+  * Fixed minor libdvdcss stuff such as the soname and compilation flags.
+  * dvdcss_readv() optimisations for Win32.
+  * Fixed _win32_dvdcss_aread() to work around the WinASPI32 64kb transfer
+    size restriction.
+  * libdvdcss segfault fixes.
+  * Fixed 2 Win32 bugs in libdvdcss (in _win32_dvdcss_readv), one of them
+    should have prevented the Win9x dvd input from working.
+  * Moved the "if(Win2k)" out of the loop in _win32_dvdcss_readv.
+  * libdvdcss enhancements by Billy Biggs <vektor@dumbterm.net>. This breaks
+    vlc's DVD input (looks like decoders are expecting data too early and
+    DVD input can't cope with it due to decryption). Needs to be investigated.
+  * Removed unnecessary translations in the win32 code from block offsets to
+    byte offsets. This was overflowing some variables.
+  * Reduced the complexity of the Win9x ASPI functions because we only need
+    to handle DVD drive access.
+  * Win32 code now handles seeking in areas above 2.1 Go on DVDs.
+  * Additional MacOS X DVD ioctl work by Eugenio Jarosiewicz
+    <ej0@cise.ufl.edu>.
+
+0.0.1
+Tue, 19 Jun 2001 08:53:16 +0200
+
+  * First libdvdcss version (0.0.1).
+  * Fully working Windows DVD ioctl support by Jon Lech Johansen.
+  * Merged dvdcss_init and dvdcss_open into dvdcss_open, and dvdcss_close
+    and dvdcss_end into dvdcss_close. libdvdcss API now has 7 functions.
+  * Exported the CSS part of the dvd plugin into a library.
+
index 0e2164a..0ba1b8b 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -226,7 +226,7 @@ snapshot-common:
                -type d -name CVS -o -name '.*' -o -name '*.[o]' | \
                        while read i ; do rm -Rf $$i ; done
        # Copy misc files
-       cp vlc.spec AUTHORS COPYING TODO todo.pl ChangeLog README* INSTALL* \
+       cp vlc.spec AUTHORS COPYING TODO todo.pl ChangeLog* README* INSTALL* \
                Makefile Makefile.opts.in Makefile.dep Makefile.modules \
                configure configure.in install-sh config.sub config.guess \
                        tmp/vlc/
@@ -286,6 +286,7 @@ libdvdcss-snapshot: snapshot-common
        rm -f tmp/vlc/vlc.spec tmp/vlc/INSTALL-win32.txt
        mv tmp/vlc/INSTALL.libdvdcss tmp/vlc/INSTALL
        mv tmp/vlc/README.libdvdcss tmp/vlc/README
+       mv tmp/vlc/ChangeLog.libdvdcss tmp/vlc/ChangeLog
        # Fix Makefile
        rm -f tmp/vlc/Makefile
        sed -e 's#^install:#install-unused:#' \
diff --git a/TODO b/TODO
index 1f24464..91d648f 100644 (file)
--- a/TODO
+++ b/TODO
@@ -152,7 +152,7 @@ Difficulty: Hard
 Urgency: Normal
 Description: Write subtitles and stream information in YUV coordinates
  ... so that they can be displayed even in "overlay" mode.
-Status: Todo
+Status: Done (sam)
 
 Task: 0x4c
 Difficulty: Medium
index 33aef55..2666421 100644 (file)
@@ -7,7 +7,7 @@ AC_CANONICAL_HOST
 HAVE_VLC=0
 if test -r src/interface/main.c; then
   HAVE_VLC=1
-  VLC_VERSION=0.2.82
+  VLC_VERSION=0.2.83
   AC_SUBST(VLC_VERSION)
   VLC_CODENAME=Ourumov
   AC_SUBST(VLC_CODENAME)
index 415d2da..156926c 100644 (file)
@@ -1,3 +1,10 @@
+vlc (0.2.83-1) unstable; urgency=low
+
+  * New upstream release.
+  * Activated subtitles in overlay mode (Closes: #97471).
+
+ -- Samuel Hocevar <sam@zoy.org>  Wed, 22 Aug 2001 15:18:01 +0200
+
 vlc (0.2.82-1) unstable; urgency=low
 
   * New upstream release.
index 48596e6..3d51659 100644 (file)
@@ -8,7 +8,7 @@ Standards-Version: 3.0.1
 Package: vlc
 Architecture: any
 Depends: ${shlibs:Depends}, vlc-gui
-Suggests: vlc-sdl, vlc-gnome
+Suggests: vlc-gnome
 Description: a free MPEG and DVD player
  VideoLAN is a free MPEG, MPEG2 and DVD software solution.
  .
index 1331a58..30917be 100644 (file)
@@ -3,7 +3,7 @@ Mon, 13 Mar 2000 02:21:45 +0100.
 
 It was taken from the CVS tree. See http://www.videolan.org/cvs.html
 
-Upstream Author(s): The VideoLAN Team <videolan@videolan.org>
+Upstream Authors: The VideoLAN Team <videolan@videolan.org>
 
 VideoLAN is Copyright 1996, 1997, 1998, 1999, 2000, 2001 The VideoLAN Team
 
index cb444af..63e3082 100755 (executable)
@@ -117,6 +117,9 @@ binary-arch: build install
 #      dh_installinfo
 #      dh_undocumented
        dh_installchangelogs -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-alsa -Nvlc-sdl -Nvlc-qt ChangeLog
+# libdvdcss start
+       dh_installchangelogs -Nvlc-gnome -Nvlc-gtk -Nvlc-ggi -Nvlc-glide -Nvlc-esd -Nvlc-alsa -Nvlc-sdl -Nvlc-qt ChangeLog.libdvdcss
+# libdvdcss stop
        dh_link
        dh_strip
        dh_compress
index 1331a58..30917be 100644 (file)
@@ -3,7 +3,7 @@ Mon, 13 Mar 2000 02:21:45 +0100.
 
 It was taken from the CVS tree. See http://www.videolan.org/cvs.html
 
-Upstream Author(s): The VideoLAN Team <videolan@videolan.org>
+Upstream Authors: The VideoLAN Team <videolan@videolan.org>
 
 VideoLAN is Copyright 1996, 1997, 1998, 1999, 2000, 2001 The VideoLAN Team
 
index d205219..5864d94 100644 (file)
--- a/doc/vlc.1
+++ b/doc/vlc.1
@@ -88,6 +88,9 @@ Full screen output.
 .B \-\-overlay
 Overlay (hardware accelerated output), if available.
 .TP
+.B \-\-xvadaptor <port>
+Select XVideo adaptor, if XVideo output is used.
+.TP
 .B \-\-color
 Color output.
 .TP
@@ -168,6 +171,7 @@ also accepts a lot of parameters to customize its behaviour.
  vlc_grayscale={1|0}           grayscale or color
  vlc_fullscreen={1|0}          full screen
  vlc_overlay={1|0}             overlay
+ vlc_xvport=<port>             XVideo port
  vlc_motion=<method name>      motion compensation method
  vlc_idct=<method name>        IDCT method
  vlc_yuv=<method name>         YUV method
index a4fc4a7..5a8d4a7 100644 (file)
 /* Better be in advance when awakening than late... */
 #define VOUT_MWAIT_TOLERANCE            ((int)(0.020*CLOCK_FREQ))
 
-/*
- * Framebuffer settings
- */
+/* The default video output window title */
+#define VOUT_TITLE                      "VideoLAN Client @VLC_VERSION@"
 
 /* Environment variable for framebuffer device, and default value */
 #define VOUT_FB_DEV_VAR                 "vlc_fb_dev"
 #define VOUT_FB_DEV_DEFAULT             "/dev/fb0"
 
-/* The default video output window title */
-#define VOUT_TITLE                      "VideoLAN Client @VLC_VERSION@"
+/* Environment variable for XVideo adaptor, and default value */
+#define VOUT_XVADAPTOR_VAR              "vlc_xv_adaptor"
 
 /*****************************************************************************
  * Video parser configuration
index 9bb3168..e6c0a79 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.25 2001/08/05 15:32:46 gbazin Exp $
+ * $Id: vout_xvideo.c,v 1.26 2001/08/22 14:23:57 sam Exp $
  *
  * Authors: Shane Harper <shanegh@optusnet.com.au>
  *          Vincent Seguin <seguin@via.ecp.fr>
@@ -1169,14 +1169,19 @@ static void XVideoOutputCoords( const picture_t *p_pic, const boolean_t scale,
 }
 
 
+/*****************************************************************************
+ * XVideoGetPort: get YUV12 port
+ *****************************************************************************
+ * 
+ *****************************************************************************/
 static int XVideoGetPort( Display *dpy )
 {
-    int            i, i_adaptors;
-    int            xv_port = -1;
-    XvAdaptorInfo *adaptor_info;
+    XvAdaptorInfo *p_adaptor;
+    int i_adaptor, i_num_adaptors, i_requested_adaptor;
+    int i_selected_port;
 
     switch( XvQueryAdaptors( dpy, DefaultRootWindow( dpy ),
-                             &i_adaptors, &adaptor_info ) )
+                             &i_num_adaptors, &p_adaptor ) )
     {
         case Success:
             break;
@@ -1194,52 +1199,137 @@ static int XVideoGetPort( Display *dpy )
             return( -1 );
     }
 
-    for( i=0; i < i_adaptors && xv_port == -1; ++i )
+    i_selected_port = -1;
+    i_requested_adaptor = main_GetIntVariable( VOUT_XVADAPTOR_VAR, -1 );
+
+    /* No special xv port has been requested so try all of them */
+    for( i_adaptor = 0; i_adaptor < i_num_adaptors; ++i_adaptor )
     {
-        if( ( adaptor_info[ i ].type & XvInputMask ) &&
-            ( adaptor_info[ i ].type & XvImageMask ) )
+        int i_port;
+
+        /* If we requested an adaptor and it's not this one, we aren't
+         * interested */
+        if( i_requested_adaptor != -1 && i_adaptor != i_requested_adaptor )
+       {
+            continue;
+       }
+
+       /* If the adaptor doesn't have the required properties, skip it */
+        if( !( p_adaptor[ i_adaptor ].type & XvInputMask ) ||
+            !( p_adaptor[ i_adaptor ].type & XvImageMask ) )
         {
-            /* check that port supports YUV12 planar format... */
-            int port = adaptor_info[ i ].base_id;
-            int i_num_formats, i;
-            XvImageFormatValues *imageFormats;
+            continue;
+       }
 
-            imageFormats = XvListImageFormats( dpy, port, &i_num_formats );
+        for( i_port = p_adaptor[i_adaptor].base_id;
+             i_port < p_adaptor[i_adaptor].base_id
+                       + p_adaptor[i_adaptor].num_ports;
+             i_port++ )
+        {
+            XvImageFormatValues *p_formats;
+            int i_format, i_num_formats;
 
-            for( i=0; i < i_num_formats && xv_port == -1; ++i )
+            /* If we already found a port, we aren't interested */
+            if( i_selected_port != -1 )
             {
-                if( imageFormats[ i ].id == GUID_YUV12_PLANAR )
-                {
-                    xv_port = port;
-                }
+                continue;
             }
 
-            if( xv_port == -1 )
+            /* Check that port supports YUV12 planar format... */
+            p_formats = XvListImageFormats( dpy, i_port, &i_num_formats );
+
+            for( i_format = 0; i_format < i_num_formats; i_format++ )
             {
-                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 );
+                XvEncodingInfo  *p_enc;
+                int             i_enc, i_num_encodings;
+                XvAttribute     *p_attr;
+                int             i_attr, i_num_attributes;
+
+                if( p_formats[ i_format ].id != GUID_YUV12_PLANAR )
+                {
+                    continue;
+                }
+
+                /* Found a matching port, print a description of this port */
+                i_selected_port = i_port;
+
+                intf_WarnMsg( 3, "vout: XVideoGetPort found adaptor %i port %i",
+                                 i_adaptor, i_port);
+                intf_WarnMsg( 3, "  image format 0x%x (%4.4s) %s supported",
+                                 p_formats[ i_format ].id,
+                                 (char *)&p_formats[ i_format ].id,
+                                 ( p_formats[ i_format ].format
+                                    == XvPacked ) ? "packed" : "planar" );
+
+                intf_WarnMsg( 4, " encoding list:" );
+
+                if( XvQueryEncodings( dpy, i_port, &i_num_encodings, &p_enc )
+                     != Success )
+                {
+                    intf_WarnMsg( 4, "  XvQueryEncodings failed" );
+                    continue;
+                }
+
+                for( i_enc = 0; i_enc < i_num_encodings; i_enc++ )
+                {
+                    intf_WarnMsg( 4, "  id=%ld, name=%s, size=%ldx%ld,"
+                                     " numerator=%d, denominator=%d",
+                                  p_enc[i_enc].encoding_id, p_enc[i_enc].name,
+                                  p_enc[i_enc].width, p_enc[i_enc].height,
+                                  p_enc[i_enc].rate.numerator,
+                                  p_enc[i_enc].rate.denominator );
+                }
+
+                if( p_enc != NULL )
+                {
+                    XvFreeEncodingInfo( p_enc );
+                }
+
+                intf_WarnMsg( 4, " attribute list:" );
+                p_attr = XvQueryPortAttributes( dpy, i_port,
+                                                &i_num_attributes );
+                for( i_attr = 0; i_attr < i_num_attributes; i_attr++ )
+                {
+                    intf_WarnMsg( 4,
+                          "  name=%s, flags=[%s%s ], min=%i, max=%i",
+                          p_attr[i_attr].name,
+                          (p_attr[i_attr].flags & XvGettable) ? " get" : "",
+                          (p_attr[i_attr].flags & XvSettable) ? " set" : "",
+                          p_attr[i_attr].min_value, p_attr[i_attr].max_value );
+                }
+
+                if( p_attr != NULL )
+                {
+                    XFree( p_attr );
+                }
             }
 
-            if( imageFormats )
+            if( p_formats != NULL )
             {
-                XFree( imageFormats );
+                XFree( p_formats );
             }
         }
     }
 
-    if( i_adaptors > 0 )
+    if( i_num_adaptors > 0 )
     {
-        XvFreeAdaptorInfo(adaptor_info);
+        XvFreeAdaptorInfo( p_adaptor );
     }
 
-    if( xv_port == -1 )
+    if( i_selected_port == -1 )
     {
-        intf_WarnMsg( 3, "vout: no suitable Xvideo image input port" );
+        if( i_requested_adaptor == -1 )
+        {
+            intf_WarnMsg( 3, "vout: no XVideo port found supporting YUV12" );
+        }
+        else
+        {
+            intf_WarnMsg( 3, "vout: XVideo adaptor %i does not support YUV12",
+                             i_requested_adaptor );
+        }
     }
 
-    return( xv_port );
+    return( i_selected_port );
 }
 
 
@@ -1321,3 +1411,4 @@ static void XVideoSetAttribute( vout_thread_t *p_vout,
         XFree( p_attrib );
 }
 #endif
+
index 3322879..844b222 100644 (file)
@@ -4,7 +4,7 @@
  * and spawn threads.
  *****************************************************************************
  * Copyright (C) 1998, 1999, 2000 VideoLAN
- * $Id: main.c,v 1.111 2001/08/07 02:48:25 sam Exp $
+ * $Id: main.c,v 1.112 2001/08/22 14:23:57 sam Exp $
  *
  * Authors: Vincent Seguin <seguin@via.ecp.fr>
  *          Samuel Hocevar <sam@zoy.org>
 #define OPT_COLOR               164
 #define OPT_FULLSCREEN          165
 #define OPT_OVERLAY             166
-#define OPT_SMP                 167
+#define OPT_XVADAPTOR           167
+#define OPT_SMP                 168
 
 #define OPT_CHANNELS            170
 #define OPT_SERVER              171
@@ -186,6 +187,7 @@ static const struct option longopts[] =
     {   "yuv",              1,          0,      OPT_YUV },
     {   "fullscreen",       0,          0,      OPT_FULLSCREEN },
     {   "overlay",          0,          0,      OPT_OVERLAY },
+    {   "xvadaptor",        1,          0,      OPT_XVADAPTOR },
     {   "smp",              1,          0,      OPT_SMP },
 
     /* DVD options */
@@ -690,6 +692,9 @@ static int GetConfiguration( int *pi_argc, char *ppsz_argv[], char *ppsz_env[] )
         case OPT_OVERLAY:                                       /* --overlay */
             main_PutIntVariable( VOUT_OVERLAY_VAR, 1 );
             break;
+        case OPT_XVADAPTOR:                                   /* --xvadaptor */
+            main_PutIntVariable( VOUT_XVADAPTOR_VAR, atoi(optarg) );
+            break;
         case OPT_MOTION:                                         /* --motion */
             main_PutPszVariable( MOTION_METHOD_VAR, optarg );
             break;
@@ -840,6 +845,7 @@ static void Usage( int i_fashion )
           "\n  -g, --grayscale                \tgrayscale output"
           "\n      --fullscreen               \tfullscreen output"
           "\n      --overlay                  \taccelerated display"
+          "\n      --xvadaptor <adaptor>      \tXVideo adaptor"
           "\n      --color                    \tcolor output"
           "\n      --motion <module>          \tmotion compensation method"
           "\n      --idct <module>            \tIDCT method"
@@ -894,6 +900,7 @@ static void Usage( int i_fashion )
         "\n  " VOUT_GRAYSCALE_VAR "={1|0}             \tgrayscale or color output"
         "\n  " VOUT_FULLSCREEN_VAR "={1|0}            \tfullscreen"
         "\n  " VOUT_OVERLAY_VAR "={1|0}               \toverlay"
+        "\n  " VOUT_XVADAPTOR_VAR "=<adaptor>         \tXVideo adaptor"
         "\n  " MOTION_METHOD_VAR "=<method name>      \tmotion compensation method"
         "\n  " IDCT_METHOD_VAR "=<method name>        \tIDCT method"
         "\n  " YUV_METHOD_VAR "=<method name>         \tYUV method"
index 1903e2f..ab932fe 100644 (file)
--- a/vlc.spec
+++ b/vlc.spec
@@ -1,10 +1,10 @@
 Name: vlc
-Version: 0.2.82
+Version: 0.2.83
 Release: 1
 License: GPL
 Url: http://www.videolan.org/
 Group: X11/Applications/Graphics
-Source0: http://www.videolan.org/packages/0.2.82/vlc-0.2.82.tar.gz
+Source0: http://www.videolan.org/packages/0.2.83/vlc-0.2.83.tar.gz
 Prefix: /usr
 Packager: Samuel Hocevar <sam@zoy.org>
 
@@ -13,6 +13,9 @@ Summary: VideoLAN Client.
 Summary(fr): Client VideoLAN.
 
 %changelog
+* Wed Aug 22 2001 Samuel Hocevar <sam@zoy.org>
+New upstream release (0.2.83)
+
 * Tue Aug 7 2001 Samuel Hocevar <sam@zoy.org>
 New upstream release (0.2.82)