[PATCH 5/5] winegstreamer: Factor out free_stream().
Zebediah Figura
z.figura12 at gmail.com
Thu Feb 4 17:15:03 CST 2021
Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
---
dlls/winegstreamer/gstdemux.c | 23 +++++++++++++----------
1 file changed, 13 insertions(+), 10 deletions(-)
diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index e0e6e34ca1e..d71961c5414 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -2456,17 +2456,8 @@ static void source_disconnect(struct strmbase_source *iface)
stream->enabled = false;
}
-static void free_source_pin(struct parser_source *pin)
+static void free_stream(struct wg_parser_stream *stream)
{
- struct wg_parser_stream *stream = pin->wg_stream;
-
- if (pin->pin.pin.peer)
- {
- if (SUCCEEDED(IMemAllocator_Decommit(pin->pin.pAllocator)))
- IPin_Disconnect(pin->pin.pin.peer);
- IPin_Disconnect(&pin->pin.pin.IPin_iface);
- }
-
if (stream->their_src)
{
if (stream->post_sink)
@@ -2488,6 +2479,18 @@ static void free_source_pin(struct parser_source *pin)
pthread_cond_destroy(&stream->event_empty_cond);
free(stream);
+}
+
+static void free_source_pin(struct parser_source *pin)
+{
+ if (pin->pin.pin.peer)
+ {
+ if (SUCCEEDED(IMemAllocator_Decommit(pin->pin.pAllocator)))
+ IPin_Disconnect(pin->pin.pin.peer);
+ IPin_Disconnect(&pin->pin.pin.IPin_iface);
+ }
+
+ free_stream(pin->wg_stream);
pin->flushing_cs.DebugInfo->Spare[0] = 0;
DeleteCriticalSection(&pin->flushing_cs);
--
2.30.0
More information about the wine-devel
mailing list