[Bug 745159] New: d3dvideosink: swap chain leak

GStreamer (GNOME Bugzilla) bugzilla at gnome.org
Wed Feb 25 05:55:57 PST 2015


            Bug ID: 745159
           Summary: d3dvideosink: swap chain leak
    Classification: Platform
           Product: GStreamer
           Version: git master
                OS: Windows
            Status: UNCONFIRMED
          Severity: normal
          Priority: Normal
         Component: gst-plugins-bad
          Assignee: gstreamer-bugs at lists.freedesktop.org
          Reporter: pocek at users.sf.net
        QA Contact: gstreamer-bugs at lists.freedesktop.org
     GNOME version: ---

Created attachment 297874
  --> https://bugzilla.gnome.org/attachment.cgi?id=297874&action=edit

There is a massive leak happening from calling d3d_init_swap_chains multiple
times in some situations. Real life example:
1. pipeline is set to PLAYING
2. window handle is set on "prepare-window-handle", d3d_init_swap_chains is
called the first time in consequence
3. set_caps is called, d3d_init_swap_chains is called the second time - at
least sink->d3d.swapchain is lost. This later leads to massive resource leaks
when going to NULL.

I'm attaching a gdb log showing the above and a basic patch that frees existing
swap chain first - this fixes the major leak here, but perhaps
d3d_init_swap_chains shouldn't be called multiple times like this in the first

It might as well fix some other d3dvideosink bugs related to memory leaks.

Note: all credits go to Roman Nowicki, I'm only upstreaming it.

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