Zebediah Figura : winegstreamer: Pass a wg_parser pointer to signal callbacks.

Alexandre Julliard julliard at winehq.org
Thu Feb 11 15:37:13 CST 2021


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

Author: Zebediah Figura <z.figura12 at gmail.com>
Date:   Wed Feb 10 16:18:26 2021 -0600

winegstreamer: Pass a wg_parser pointer to signal callbacks.

Signed-off-by: Zebediah Figura <z.figura12 at gmail.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>

---

 dlls/winegstreamer/gstdemux.c | 31 ++++++++++++++-----------------
 1 file changed, 14 insertions(+), 17 deletions(-)

diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c
index 9ecd1e0b7fb..12e06ed9fd5 100644
--- a/dlls/winegstreamer/gstdemux.c
+++ b/dlls/winegstreamer/gstdemux.c
@@ -1552,12 +1552,11 @@ static DWORD CALLBACK read_thread(void *arg)
 
 static void removed_decoded_pad(GstElement *bin, GstPad *pad, gpointer user)
 {
-    struct parser *filter = user;
-    struct wg_parser *parser = filter->wg_parser;
+    struct wg_parser *parser = user;
     unsigned int i;
     char *name;
 
-    GST_LOG("filter %p, bin %p, pad %p.", filter, bin, pad);
+    GST_LOG("parser %p, bin %p, pad %p.", parser, bin, pad);
 
     for (i = 0; i < parser->stream_count; ++i)
     {
@@ -1582,9 +1581,8 @@ static void removed_decoded_pad(GstElement *bin, GstPad *pad, gpointer user)
 
 static void free_stream(struct wg_parser_stream *stream);
 
-static void init_new_decoded_pad(GstElement *bin, GstPad *pad, struct parser *This)
+static void init_new_decoded_pad(GstElement *bin, GstPad *pad, struct wg_parser *parser)
 {
-    struct wg_parser *parser = This->wg_parser;
     struct wg_parser_stream *stream;
     const char *typename;
     char *name;
@@ -1592,7 +1590,7 @@ static void init_new_decoded_pad(GstElement *bin, GstPad *pad, struct parser *Th
     GstStructure *arg;
     int ret;
 
-    TRACE("%p %p %p\n", This, bin, pad);
+    TRACE("parser %p, bin %p, pad %p.\n", parser, bin, pad);
 
     name = gst_pad_get_name(pad);
     TRACE("Name: %s\n", name);
@@ -1723,7 +1721,7 @@ out:
 
 static void existing_new_pad(GstElement *bin, GstPad *pad, gpointer user)
 {
-    struct parser *This = user;
+    struct wg_parser *This = user;
 
     TRACE("%p %p %p\n", This, bin, pad);
 
@@ -1816,10 +1814,9 @@ static gboolean activate_mode(GstPad *pad, GstObject *parent, GstPadMode mode, g
 
 static void no_more_pads(GstElement *decodebin, gpointer user)
 {
-    struct parser *filter = user;
-    struct wg_parser *parser = filter->wg_parser;
+    struct wg_parser *parser = user;
 
-    GST_DEBUG("filter %p.", filter);
+    GST_DEBUG("parser %p.", parser);
 
     pthread_mutex_lock(&parser->mutex);
     parser->no_more_pads = true;
@@ -2208,10 +2205,10 @@ static BOOL decodebin_parser_init_gst(struct parser *filter)
 
     gst_bin_add(GST_BIN(parser->container), element);
 
-    g_signal_connect(element, "pad-added", G_CALLBACK(existing_new_pad_wrapper), filter);
-    g_signal_connect(element, "pad-removed", G_CALLBACK(removed_decoded_pad), filter);
-    g_signal_connect(element, "autoplug-select", G_CALLBACK(autoplug_blacklist), filter);
-    g_signal_connect(element, "no-more-pads", G_CALLBACK(no_more_pads), filter);
+    g_signal_connect(element, "pad-added", G_CALLBACK(existing_new_pad_wrapper), parser);
+    g_signal_connect(element, "pad-removed", G_CALLBACK(removed_decoded_pad), parser);
+    g_signal_connect(element, "autoplug-select", G_CALLBACK(autoplug_blacklist), parser);
+    g_signal_connect(element, "no-more-pads", G_CALLBACK(no_more_pads), parser);
 
     parser->their_sink = gst_element_get_static_pad(element, "sink");
 
@@ -3113,9 +3110,9 @@ static BOOL avi_splitter_init_gst(struct parser *filter)
 
     gst_bin_add(GST_BIN(parser->container), element);
 
-    g_signal_connect(element, "pad-added", G_CALLBACK(existing_new_pad_wrapper), filter);
-    g_signal_connect(element, "pad-removed", G_CALLBACK(removed_decoded_pad), filter);
-    g_signal_connect(element, "no-more-pads", G_CALLBACK(no_more_pads), filter);
+    g_signal_connect(element, "pad-added", G_CALLBACK(existing_new_pad_wrapper), parser);
+    g_signal_connect(element, "pad-removed", G_CALLBACK(removed_decoded_pad), parser);
+    g_signal_connect(element, "no-more-pads", G_CALLBACK(no_more_pads), parser);
 
     parser->their_sink = gst_element_get_static_pad(element, "sink");
 




More information about the wine-cvs mailing list