Zebediah Figura : winegstreamer: Decommit the source allocator when cleaning up the stream.

Alexandre Julliard julliard at winehq.org
Thu Feb 20 18:26:13 CST 2020


Module: wine
Branch: master
Commit: 540f2983a97e033acc8ba3c72ca38a1ca0ed67ce
URL:    https://source.winehq.org/git/wine.git/?a=commit;h=540f2983a97e033acc8ba3c72ca38a1ca0ed67ce

Author: Zebediah Figura <zfigura at codeweavers.com>
Date:   Wed Feb 19 20:44:52 2020 -0600

winegstreamer: Decommit the source allocator when cleaning up the stream.

Signed-off-by: Zebediah Figura <zfigura at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winegstreamer/gstdemux.c | 7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index 1337cd0a81..488c9bd8a1 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -1455,6 +1455,7 @@ static HRESULT gstdemux_cleanup_stream(struct strmbase_filter *iface)
 {
     struct gstdemux *filter = impl_from_strmbase_filter(iface);
     GstStateChangeReturn ret;
+    unsigned int i;
 
     if (!filter->container)
         return S_OK;
@@ -1468,6 +1469,12 @@ static HRESULT gstdemux_cleanup_stream(struct strmbase_filter *iface)
     gst_element_get_state(filter->container, NULL, NULL, GST_CLOCK_TIME_NONE);
     filter->ignore_flush = FALSE;
 
+    for (i = 0; i < filter->source_count; ++i)
+    {
+        if (filter->sources[i]->pin.pin.peer)
+            IMemAllocator_Decommit(filter->sources[i]->pin.pAllocator);
+    }
+
     return S_OK;
 }
 




More information about the wine-cvs mailing list