Hello community,

here is the log from the commit of package libvdpau.1011 for 
openSUSE:12.2:Update checked in at 2012-10-23 12:55:01
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Comparing /work/SRC/openSUSE:12.2:Update/libvdpau.1011 (Old)
 and      /work/SRC/openSUSE:12.2:Update/.libvdpau.1011.new (New)
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Package is "libvdpau.1011", Maintainer is ""

Changes:
--------
New Changes file:

--- /dev/null   2012-10-22 00:44:18.403455820 +0200
+++ /work/SRC/openSUSE:12.2:Update/.libvdpau.1011.new/libvdpau.changes  
2012-10-23 12:55:03.000000000 +0200
@@ -0,0 +1,93 @@
+-------------------------------------------------------------------
+Thu Oct 11 13:21:53 CEST 2012 - h...@suse.com
+
+- Backport patches from version 0.5 to work around problems
+  with Flash video playback, notably red/blue channel swap and
+  rendering outside its allocated window (bnc#784642):
+
+  libvdpau-free-handles-on-exit.patch
+  libvdpau-flash-fixes.patch
+
+-------------------------------------------------------------------
+Tue Jun 26 12:34:44 UTC 2012 - sndir...@suse.com
+
+- back to building the HTML documentation (instead of prebuilding
+  and then extracting it during the build), but this time without
+  requiring texlive, since pdftex apparently isn't used for this
+  purpose anyway (libvdpau-nopdftex.patch)
+
+-------------------------------------------------------------------
+Mon Jun 25 13:23:52 UTC 2012 - co...@suse.com
+
+- do not build the documentation but package a prebuilt tar of it
+  to avoid huge build cycle
+
+-------------------------------------------------------------------
+Mon Aug 29 14:47:54 UTC 2011 - sndir...@suse.com
+
+- fixes the build in a more correct way :-) Hopefully!
+
+-------------------------------------------------------------------
+Mon Aug 29 12:19:11 UTC 2011 - sndir...@suse.com
+
+- vdpau needs an explicit "-lX11" with latest toolchain
+
+-------------------------------------------------------------------
+Wed Sep 22 07:19:14 UTC 2010 - co...@novell.com
+
+- fix baselibs.conf
+
+-------------------------------------------------------------------
+Wed Sep  8 17:21:29 UTC 2010 - sndir...@novell.com
+
+- libvdpau 0.4.1
+  This minor update just changes a few small, but important, 
+  documentation details. 
+  * vdpau.h: Clarify video mixer field amount recommendation
+  * vpdau.h: Fix typo and clarify wording.
+  * More doc issues pointed out by Xine authors.
+
+-------------------------------------------------------------------
+Fri Jun 18 22:10:29 CEST 2010 - sndir...@suse.de
+
+- renamed rpmlintrc to libvdpau-rpmlintrc
+- added libvdpau-rpmlintrc as source to specfile 
+
+-------------------------------------------------------------------
+Fri Jun  4 20:41:37 CEST 2010 - sndir...@suse.de
+
+- fixed baselibs.conf (packages have been renamed) 
+
+-------------------------------------------------------------------
+Sat Apr 24 12:59:42 CEST 2010 - sndir...@suse.de
+
+- fixed libvdpau_trace1 package description
+- added README for tracing VDPAU function calls
+
+-------------------------------------------------------------------
+Sat Apr 24 10:37:30 CEST 2010 - sndir...@suse.de
+
+- added Wladimir J. van der Laan's vdpinfo tool, a command line
+  utility for querying the capabilities of a VDPAU device.
+
+-------------------------------------------------------------------
+Thu Apr 22 22:34:09 UTC 2010 - herb...@graeber-clan.de
+
+- put libvdpau_trace into it's own package
+
+-------------------------------------------------------------------
+Thu Apr 22 18:11:59 UTC 2010 - herb...@graeber-clan.de
+
+- follow Shared Library Packaging Policy
+- obsolete packman vdpau packages for proper update
+
+-------------------------------------------------------------------
+Thu Apr 22 02:33:32 CEST 2010 - sndir...@suse.de
+
+- also build and package documentation 
+
+-------------------------------------------------------------------
+Wed Apr 21 12:00:38 CEST 2010 - sndir...@suse.de
+
+- created package (bnc #596481)
+

New:
----
  README
  baselibs.conf
  libvdpau-0.4.1.tar.gz
  libvdpau-flash-fixes.patch
  libvdpau-free-handles-on-exit.patch
  libvdpau-nopdftex.patch
  libvdpau-rpmlintrc
  libvdpau.changes
  libvdpau.spec
  vdpauinfo-0.0.6.tar.gz
  vdpauinfo-missing-lX11.diff

++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++

Other differences:
------------------
++++++ libvdpau.spec ++++++
#
# spec file for package libvdpau
#
# Copyright (c) 2012 SUSE LINUX Products GmbH, Nuernberg, Germany.
#
# All modifications and additions to the file contributed by third parties
# remain the property of their copyright owners, unless otherwise agreed
# upon. The license for this file, and modifications and additions to the
# file, is the same license as for the pristine package itself (unless the
# license for the pristine package is not an Open Source License, in which
# case the license is the MIT License). An "Open Source License" is a
# license that conforms to the Open Source Definition (Version 1.9)
# published by the Open Source Initiative.

# Please submit bugfixes or comments via http://bugs.opensuse.org/
#


Name:           libvdpau
Version:        0.4.1
Release:        0
Summary:        VDPAU wrapper and trace libraries
License:        MIT
Group:          System/Libraries
Url:            http://people.freedesktop.org/~aplattner
Source:         %{name}-%{version}.tar.gz
Source1:        vdpauinfo-0.0.6.tar.gz
Source2:        README
Source99:       baselibs.conf
Source100:      %{name}-rpmlintrc
Patch:          vdpauinfo-missing-lX11.diff
Patch1:         libvdpau-nopdftex.patch
# PATCH-FIX-UPSTREAM libvdpau-free-handles-on-exit.patch h...@suse.com -- Free 
library handles on exit. Required for libvdpau-flash-fixes.patch.
Patch2:         libvdpau-free-handles-on-exit.patch
# PATCH-FIX-UPSTREAM libvdpau-flash-fixes.patch bnc#784642 h...@suse.com -- 
Work around Flash player rendering problems.
Patch3:         libvdpau-flash-fixes.patch
BuildRequires:  autoconf
BuildRequires:  automake
BuildRequires:  doxygen
BuildRequires:  gcc-c++
BuildRequires:  graphviz
BuildRequires:  libtool
BuildRequires:  pkgconfig
BuildRequires:  pkgconfig(x11)
BuildRequires:  pkgconfig(xext)
BuildRoot:      %{_tmppath}/%{name}-%{version}-build

%description
This package contains the libvdpau wrapper library and the libvdpau_trace
debugging library, along with the header files needed to build VDPAU
applications.  To actually use a VDPAU device, you need a vendor-specific
implementation library.  Currently, this is always libvdpau_nvidia.  You can
override the driver name by setting the VDPAU_DRIVER environment variable.

%package -n libvdpau1
Summary:        VDPAU wrapper library
Group:          System/Libraries
Provides:       libvdpau = %{version}-%{release}
Obsoletes:      libvdpau < %{version}-%{release}

%description -n libvdpau1
This package contains the libvdpau wrapper library and the libvdpau_trace
debugging library, along with the header files needed to build VDPAU
applications.  To actually use a VDPAU device, you need a vendor-specific
implementation library.  Currently, this is always libvdpau_nvidia.  You can
override the driver name by setting the VDPAU_DRIVER environment variable.

%package -n libvdpau-devel
Summary:        VDPAU wrapper development files
Group:          Development/Libraries/X11
Requires:       libvdpau1 = %{version}

%description -n libvdpau-devel
Note that this package only contains the VDPAU headers that are required to
build applications. At runtime, the shared libraries are needed too and may
be installed using the proprietary nVidia driver packages.

%package -n libvdpau_trace1
Summary:        VDPAU trace library
Group:          Development/Libraries/X11
Requires:       libvdpau1 = %{version}
Provides:       libvdpau_trace = %{version}-%{release}
Obsoletes:      libvdpau_trace < %{version}-%{release}

%description -n libvdpau_trace1
This package provides the library for tracing VDPAU function calls.
Its usage is documented in the README.

%prep
%setup -q -b1
%patch1 -p0
%patch2 -p1
%patch3 -p1
pushd ../vdpauinfo-*
%patch -p0
popd

%build
autoreconf -fi
%configure
make %{?jobs:-j%jobs}

%install
%makeinstall
rm %{buildroot}%{_libdir}/libvdpau.la
rm %{buildroot}%{_libdir}/vdpau/libvdpau_trace.la
/sbin/ldconfig -n $RPM_BUILD_ROOT/%{_libdir}/vdpau
rm %{buildroot}%{_libdir}/vdpau/libvdpau_trace.so
pushd ../vdpauinfo-*
%configure \
VDPAU_CFLAGS=-I$RPM_BUILD_ROOT/usr/include \
VDPAU_LIBS="-L$RPM_BUILD_ROOT/%{_libdir} -lvdpau -lX11"
make %{?jobs:-j%jobs}
%makeinstall
popd
cp $RPM_SOURCE_DIR/README .

%post -n libvdpau1 -p /sbin/ldconfig

%postun -n libvdpau1 -p /sbin/ldconfig

%files -n libvdpau1
%defattr(-,root,root)
%dir %{_libdir}/vdpau
/usr/bin/vdpauinfo
%{_libdir}/libvdpau.so.*
%config %{_sysconfdir}/vdpau_wrapper.cfg

%files -n libvdpau-devel
%defattr(-,root,root)
%doc %{_datadir}/doc/%{name}
%dir %{_libdir}/vdpau
%{_includedir}/vdpau
%{_libdir}/libvdpau.so
%{_libdir}/pkgconfig/vdpau.pc

%files -n libvdpau_trace1
%defattr(-,root,root)
%doc README
%{_libdir}/vdpau/libvdpau_trace.so.*

%changelog
++++++ README ++++++
DEBUGGING AND TRACING

The VDPAU wrapper library supports tracing VDPAU function calls, and their
parameters. This tracing is controlled by the following environment variables:

VDPAU_TRACE

    Enables tracing. Set to 1 to trace function calls. Set to 2 to trace all
    arguments passed to the function.

VDPAU_TRACE_FILE

    Filename to write traces to. By default, traces are sent to stderr. This
    variable may either contain a plain filename, or a reference to an
    existing open file-descriptor in the format "&N" where N is the file
    descriptor number.


The VDPAU wrapper library is responsible for determining which vendor-specific
driver to load for a given X11 display/screen. At present, it hard-codes
"nvidia" as the driver. The environment variable VDPAU_DRIVER may be set to
override this default. The actual library loaded will be
libvdpau_${VDPAU_DRIVER}.so. Setting VDPAU_DRIVER to "trace" is not advised.

++++++ baselibs.conf ++++++
libvdpau1
libvdpau_trace1
libvdpau-devel
  requires -libvdpau-<targettype>
  requires "libvdpau1-<targettype> = <version>"
  requires "libvdpau_trace1-<targettype> = <version>"
++++++ libvdpau-flash-fixes.patch ++++++
Author: Stephen Warren <swar...@wwwdotorg.org>
Date:   Tue May 1 20:27:24 2012 -0700

    Implement workarounds for Adobe Flash bugs
    
    Implement two workarounds:
    
    1) Swap U and V planes to VdpVideoSurfacePutBitsYCbCr to fix blue-tinged
       videos.
    
    2) Disable VdpPresentationQueueSetBackgroundColor, so that Flash doesn't
       set the background to pure black or pure white, which would cause the
       VDPAU image to bleed through to other parts of the desktop with those
       very common colors.
    
    These workarounds are only enabled when running under Flash player, and
    may be individually controlled via /etc/vdpau_wrapper.cfg, should they
    ever need to be disabled.
    
    Note that this code stores the VDPAU backend function pointers as global
    variables, which is technically incorrect. However, the likelihood of
    any known VDPAU implementation ever returning different values for these
    pointers within a single process is zero. If this becomes a problem, a
    hash table of VdpDevice to the stored pointers should be implemented.
    
    Signed-off-by: Stephen Warren <swar...@wwwdotorg.org>
    Reviewed-by: Aaron Plattner <aplatt...@nvidia.com>
    Signed-off-by: Aaron Plattner <aplatt...@nvidia.com>
    [aplatt...@nvidia.com: fixed distcheck by changing it to 
dist_libvdpausysconf_DATA]

diff --git a/src/Makefile.am b/src/Makefile.am
index 48e69a7..7cb1c20 100644
--- a/src/Makefile.am
+++ b/src/Makefile.am
@@ -1,6 +1,7 @@
 AM_CFLAGS = \
     -I$(top_srcdir)/include \
     -DVDPAU_MODULEDIR="\"$(moduledir)\"" \
+    -DVDPAU_SYSCONFDIR="\"$(sysconfdir)\"" \
     $(X11_CFLAGS) \
     $(XEXT_CFLAGS)
 
@@ -26,3 +27,6 @@ libvdpauincludedir = $(includedir)/vdpau
 libvdpauinclude_HEADERS = \
     $(top_srcdir)/include/vdpau/vdpau.h \
     $(top_srcdir)/include/vdpau/vdpau_x11.h
+
+libvdpausysconfdir=$(sysconfdir)
+dist_libvdpausysconf_DATA = vdpau_wrapper.cfg
diff --git a/src/vdpau_wrapper.c b/src/vdpau_wrapper.c
index 23de3d4..a65d15f 100644
--- a/src/vdpau_wrapper.c
+++ b/src/vdpau_wrapper.c
@@ -210,6 +210,137 @@ static void _vdp_close_driver(void)
     _vdp_imp_device_create_x11_proc = NULL;
 }
 
+static VdpGetProcAddress * _imp_get_proc_address;
+static VdpVideoSurfacePutBitsYCbCr * _imp_vid_put_bits_y_cb_cr;
+static VdpPresentationQueueSetBackgroundColor * _imp_pq_set_bg_color;
+static int _inited_fixes;
+static int _running_under_flash;
+static int _enable_flash_uv_swap = 1;
+static int _disable_flash_pq_bg_color = 1;
+
+static VdpStatus vid_put_bits_y_cb_cr_swapped(
+    VdpVideoSurface      surface,
+    VdpYCbCrFormat       source_ycbcr_format,
+    void const * const * source_data,
+    uint32_t const *     source_pitches
+)
+{
+    void const * data_reordered[3];
+    void const * const * data;
+
+    if (source_ycbcr_format == VDP_YCBCR_FORMAT_YV12) {
+        data_reordered[0] = source_data[0];
+        data_reordered[1] = source_data[2];
+        data_reordered[2] = source_data[1];
+        /*
+         * source_pitches[1] and source_pitches[2] should be equal,
+         * so no need to re-order.
+         */
+        data = data_reordered;
+    }
+    else {
+        data = source_data;
+    }
+
+    return _imp_vid_put_bits_y_cb_cr(
+        surface,
+        source_ycbcr_format,
+        data,
+        source_pitches
+    );
+}
+
+static VdpStatus pq_set_bg_color_noop(
+    VdpPresentationQueue presentation_queue,
+    VdpColor * const     background_color
+)
+{
+    return VDP_STATUS_OK;
+}
+
+static VdpStatus vdp_wrapper_get_proc_address(
+    VdpDevice device,
+    VdpFuncId function_id,
+    /* output parameters follow */
+    void * *  function_pointer
+)
+{
+    VdpStatus status;
+
+    status = _imp_get_proc_address(device, function_id, function_pointer);
+    if (status != VDP_STATUS_OK) {
+        return status;
+    }
+
+    if (_running_under_flash) {
+        switch (function_id) {
+        case VDP_FUNC_ID_VIDEO_SURFACE_PUT_BITS_Y_CB_CR:
+            if (_enable_flash_uv_swap) {
+                _imp_vid_put_bits_y_cb_cr = *function_pointer;
+                *function_pointer = vid_put_bits_y_cb_cr_swapped;
+            }
+            break;
+        case VDP_FUNC_ID_PRESENTATION_QUEUE_SET_BACKGROUND_COLOR:
+            if (_disable_flash_pq_bg_color) {
+                _imp_pq_set_bg_color = *function_pointer;
+                *function_pointer = pq_set_bg_color_noop;
+            }
+            break;
+        default:
+            break;
+        }
+    }
+
+    return VDP_STATUS_OK;
+}
+
+static void init_running_under_flash(void)
+{
+    _running_under_flash = 1;
+}
+
+void init_config(void)
+{
+    FILE *fp;
+    char buffer[1024];
+    int ret;
+
+    fp = fopen(VDPAU_SYSCONFDIR "/vdpau_wrapper.cfg", "r");
+    if (!fp) {
+        return;
+    }
+
+    while (fgets(buffer, sizeof(buffer), fp) != NULL) {
+        char * equals = strchr(buffer, '=');
+        char * param;
+
+        if (equals == NULL) {
+            continue;
+        }
+
+        *equals = '\0';
+        param = equals + 1;
+
+        if (!strcmp(buffer, "enable_flash_uv_swap")) {
+            _enable_flash_uv_swap = atoi(param);
+        }
+        else if (!strcmp(buffer, "disable_flash_pq_bg_color")) {
+            _disable_flash_pq_bg_color = atoi(param);
+        }
+    }
+}
+
+void init_fixes(void)
+{
+    if (_inited_fixes) {
+        return;
+    }
+    _inited_fixes = 1;
+
+    init_running_under_flash();
+    init_config();
+}
+
 VdpStatus vdp_device_create_x11(
     Display *             display,
     int                   screen,
@@ -220,6 +351,8 @@ VdpStatus vdp_device_create_x11(
 {
     VdpStatus status;
 
+    init_fixes();
+
     if (!_vdp_imp_device_create_x11_proc) {
         status = _vdp_open_driver(display, screen);
         if (status != VDP_STATUS_OK) {
@@ -228,10 +361,17 @@ VdpStatus vdp_device_create_x11(
         }
     }
 
-    return _vdp_imp_device_create_x11_proc(
+    status = _vdp_imp_device_create_x11_proc(
         display,
         screen,
         device,
-        get_proc_address
+        &_imp_get_proc_address
     );
+    if (status != VDP_STATUS_OK) {
+        return status;
+    }
+
+    *get_proc_address = vdp_wrapper_get_proc_address;
+
+    return VDP_STATUS_OK;
 }
diff --git a/src/vdpau_wrapper.cfg b/src/vdpau_wrapper.cfg
new file mode 100644
index 0000000..21d5b8c
--- /dev/null
+++ b/src/vdpau_wrapper.cfg
@@ -0,0 +1,2 @@
+enable_flash_uv_swap=1
+disable_flash_pq_bg_color=1
++++++ libvdpau-free-handles-on-exit.patch ++++++
>From 4262513e67c3572ed19bd796ec6180cdde7ccb7e Mon Sep 17 00:00:00 2001
From: Kiran Pawar <kpa...@nvidia.com>
Date: Fri, 05 Aug 2011 06:15:18 +0000
Subject: vdpau_wrapper.c: Track dynamic library handles and free them on exit 
using __attribute__((destructor))

Signed-off-by: Kiran Pawar <kpa...@nvidia.com>
Tested-by: Aaron Plattner <aplatt...@nvidia.com>
Signed-off-by: Aaron Plattner <aplatt...@nvidia.com>
---
diff --git a/src/vdpau_wrapper.c b/src/vdpau_wrapper.c
index f504775..23de3d4 100644
--- a/src/vdpau_wrapper.c
+++ b/src/vdpau_wrapper.c
@@ -40,6 +40,17 @@ typedef void SetDllHandle(
     void * driver_dll_handle
 );
 
+static void * _vdp_backend_dll;
+static void * _vdp_trace_dll;
+static void * _vdp_driver_dll;
+static VdpDeviceCreateX11 * _vdp_imp_device_create_x11_proc;
+
+#if defined(__GNUC__)
+
+static void _vdp_close_driver(void) __attribute__((destructor));
+
+#endif
+
 #if DEBUG
 
 static void _vdp_wrapper_error_breakpoint(char const * file, int line, char 
const * function)
@@ -87,23 +98,16 @@ static char * _vdp_get_driver_name_from_dri2(
     return driver_name;
 }
 
-VdpStatus vdp_device_create_x11(
+static VdpStatus _vdp_open_driver(
     Display *             display,
-    int                   screen,
-    /* output parameters follow */
-    VdpDevice *           device,
-    VdpGetProcAddress * * get_proc_address
-)
+    int                   screen)
 {
     char const * vdpau_driver;
     char * vdpau_driver_dri2 = NULL;
     char         vdpau_driver_lib[PATH_MAX];
-    void *       backend_dll;
     char const * vdpau_trace;
     char const * func_name;
 
-    VdpDeviceCreateX11 * vdp_imp_device_create_x11;
-
     vdpau_driver = getenv("VDPAU_DRIVER");
     if (!vdpau_driver) {
         vdpau_driver = vdpau_driver_dri2 =
@@ -125,13 +129,13 @@ VdpStatus vdp_device_create_x11(
         return VDP_STATUS_NO_IMPLEMENTATION;
     }
 
-    backend_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
-    if (!backend_dll) {
+    _vdp_driver_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
+    if (!_vdp_driver_dll) {
         /* Try again using the old path, which is guaranteed to fit in PATH_MAX
          * if the complete path fit above. */
         snprintf(vdpau_driver_lib, sizeof(vdpau_driver_lib), DRIVER_LIB_FORMAT,
                  "", vdpau_driver, "");
-        backend_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
+        _vdp_driver_dll = dlopen(vdpau_driver_lib, RTLD_NOW | RTLD_GLOBAL);
     }
 
     if (vdpau_driver_dri2) {
@@ -139,26 +143,28 @@ VdpStatus vdp_device_create_x11(
         vdpau_driver_dri2 = NULL;
     }
 
-    if (!backend_dll) {
+    if (!_vdp_driver_dll) {
         fprintf(stderr, "Failed to open VDPAU backend %s\n", dlerror());
         _VDP_ERROR_BREAKPOINT();
         return VDP_STATUS_NO_IMPLEMENTATION;
     }
 
+    _vdp_backend_dll = _vdp_driver_dll;
+
     vdpau_trace = getenv("VDPAU_TRACE");
     if (vdpau_trace && atoi(vdpau_trace)) {
-        void *         trace_dll;
         SetDllHandle * set_dll_handle;
 
-        trace_dll = dlopen(VDPAU_MODULEDIR "/libvdpau_trace.so.1", RTLD_NOW | 
RTLD_GLOBAL);
-        if (!trace_dll) {
+        _vdp_trace_dll = dlopen(VDPAU_MODULEDIR "/libvdpau_trace.so.1",
+                                RTLD_NOW | RTLD_GLOBAL);
+        if (!_vdp_trace_dll) {
             fprintf(stderr, "Failed to open VDPAU trace library %s\n", 
dlerror());
             _VDP_ERROR_BREAKPOINT();
             return VDP_STATUS_NO_IMPLEMENTATION;
         }
 
         set_dll_handle = (SetDllHandle*)dlsym(
-            trace_dll,
+            _vdp_trace_dll,
             "vdp_trace_set_backend_handle"
         );
         if (!set_dll_handle) {
@@ -167,9 +173,9 @@ VdpStatus vdp_device_create_x11(
             return VDP_STATUS_NO_IMPLEMENTATION;
         }
 
-        set_dll_handle(backend_dll);
+        set_dll_handle(_vdp_backend_dll);
 
-        backend_dll = trace_dll;
+        _vdp_backend_dll = _vdp_trace_dll;
 
         func_name = "vdp_trace_device_create_x11";
     }
@@ -177,17 +183,52 @@ VdpStatus vdp_device_create_x11(
         func_name = "vdp_imp_device_create_x11";
     }
 
-    vdp_imp_device_create_x11 = (VdpDeviceCreateX11*)dlsym(
-        backend_dll,
+    _vdp_imp_device_create_x11_proc = (VdpDeviceCreateX11*)dlsym(
+        _vdp_backend_dll,
         func_name
     );
-    if (!vdp_imp_device_create_x11) {
+    if (!_vdp_imp_device_create_x11_proc) {
         fprintf(stderr, "%s\n", dlerror());
         _VDP_ERROR_BREAKPOINT();
         return VDP_STATUS_NO_IMPLEMENTATION;
     }
 
-    return vdp_imp_device_create_x11(
+    return VDP_STATUS_OK;
+}
+
+static void _vdp_close_driver(void)
+{
+    if (_vdp_driver_dll) {
+        dlclose(_vdp_driver_dll);
+        _vdp_driver_dll = NULL;
+    }
+    if (_vdp_trace_dll) {
+        dlclose(_vdp_trace_dll);
+        _vdp_trace_dll = NULL;
+    }
+    _vdp_backend_dll = NULL;
+    _vdp_imp_device_create_x11_proc = NULL;
+}
+
+VdpStatus vdp_device_create_x11(
+    Display *             display,
+    int                   screen,
+    /* output parameters follow */
+    VdpDevice *           device,
+    VdpGetProcAddress * * get_proc_address
+)
+{
+    VdpStatus status;
+
+    if (!_vdp_imp_device_create_x11_proc) {
+        status = _vdp_open_driver(display, screen);
+        if (status != VDP_STATUS_OK) {
+            _vdp_close_driver();
+            return status;
+        }
+    }
+
+    return _vdp_imp_device_create_x11_proc(
         display,
         screen,
         device,
--
cgit v0.9.0.2-2-gbebe
++++++ libvdpau-nopdftex.patch ++++++
--- configure.ac.old    2012-06-26 14:21:28.000000000 +0200
+++ configure.ac        2012-06-26 14:22:30.000000000 +0200
@@ -48,11 +48,9 @@ AC_ARG_ENABLE(documentation, AS_HELP_STR
 if test "x$DOCS" != xno; then
     AC_CHECK_TOOL([DOXYGEN], [doxygen], [no])
     AC_CHECK_TOOL([DOT], [dot], [no])
-    AC_CHECK_TOOL([PDFTEX], [pdftex], [no])
 else
     DOXYGEN=no
     DOT=no
-    PDFTEX=no
 fi
 if test "x$DOCS" = xyes; then
     if test "x$DOXYGEN" = xno; then
@@ -61,11 +59,8 @@ if test "x$DOCS" = xyes; then
     if test "x$DOT" = xno; then
         AC_ERROR([Documentation enabled but dot was not found in your path.  
Please install graphviz])
     fi
-    if test "x$PDFTEX" = xno; then
-        AC_ERROR([Documentation enabled but pdftex was not found in your path])
-    fi
 fi
-AM_CONDITIONAL([ENABLE_DOCS], [test "x$DOXYGEN" != xno -a "x$DOT" != xno -a 
"x$PDFTEX" != xno])
+AM_CONDITIONAL([ENABLE_DOCS], [test "x$DOXYGEN" != xno -a "x$DOT" != xno])
 AC_SUBST(DOXYGEN)
 
 # Options
++++++ libvdpau-rpmlintrc ++++++
# dir isn't version, but it's contents is
addFilter("shlib-policy-nonversioned-dir")
addFilter("no-dependency-on")
++++++ vdpauinfo-missing-lX11.diff ++++++
--- configure.ac.orig   2011-08-29 16:31:04.069536000 +0200
+++ configure.ac        2011-08-29 16:31:31.424105000 +0200
@@ -8,7 +8,7 @@
 
 PKG_CHECK_MODULES(VDPAU, x11 [vdpau >= 0.2])
 VDPAUINFO_CXXFLAGS="$VDPAUINFO_CXXFLAGS $VDPAU_CFLAGS"
-VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS"
+VDPAUINFO_LIBS="$VDPAUINFO_LIBS $VDPAU_LIBS -lX11"
 
 AC_SUBST(VDPAUINFO_CXXFLAGS)
 AC_SUBST(VDPAUINFO_LIBS)
-- 
To unsubscribe, e-mail: opensuse-commit+unsubscr...@opensuse.org
For additional commands, e-mail: opensuse-commit+h...@opensuse.org

Reply via email to