[Bug 706566] New: d3dvideosink: bufferpool implementation does not work well with device-lost/resets

GStreamer (bugzilla.gnome.org) bugzilla at gnome.org
Thu Aug 22 02:54:34 PDT 2013


https://bugzilla.gnome.org/show_bug.cgi?id=706566
  GStreamer | gst-plugins-bad | 1.x

           Summary: d3dvideosink: bufferpool implementation does not work
                    well with device-lost/resets
    Classification: Platform
           Product: GStreamer
           Version: 1.x
        OS/Version: Windows
            Status: NEW
          Severity: blocker
          Priority: Normal
         Component: gst-plugins-bad
        AssignedTo: gstreamer-bugs at lists.freedesktop.org
        ReportedBy: slomo at circular-chaos.org
         QAContact: gstreamer-bugs at lists.freedesktop.org
                CC: t.i.m at zen.co.uk, slomo at circular-chaos.org,
                    ylatuya at gmail.com
     GNOME version: ---


+++ This bug was initially created as a clone of Bug #697868 +++

Resizing requires resetting the device and all the resources allocated to this
d3d pool if we use the default pool. I believe that using a managed pool
instead allows resources to persists in a device reset:

http://msdn.microsoft.com/en-us/library/windows/desktop/bb147168(v=vs.85).aspx

"Use the D3DPOOL_MANAGED flag at creation time to specify a managed resource.
Managed resources persist through transitions between the lost and operational
states of the device. These resources exist both in video and system memory. A
managed resource will be copied into video memory when it is needed during
rendering. The device can be restored with a call to IDirect3DDevice9::Reset,
and such resources continue to function normally without being reloaded with
data. However, if the device must be destroyed and re-created, all resources
must be re-created."

We should also be using the managed for devices lost, and not recreate the
device as it's done now but only reset it to reuse the existent resources.





We should probably disable allowing usage of the pool outside d3dvideosink for
1.2, and then find a real solution that allows us to still continue to work
zerocopy.

-- 
Configure bugmail: https://bugzilla.gnome.org/userprefs.cgi?tab=email
------- You are receiving this mail because: -------
You are the QA contact for the bug.
You are the assignee for the bug.


More information about the gstreamer-bugs mailing list