From 3bf543589d0404689727b223bfa22890771113ff Mon Sep 17 00:00:00 2001 From: Zebediah Figura Date: Thu, 14 Jan 2021 10:37:52 -0600 Subject: [PATCH] winegstreamer: Don't force autoplug_blacklist() onto a Wine thread. Signed-off-by: Zebediah Figura Signed-off-by: Alexandre Julliard --- dlls/winegstreamer/gst_cbs.c | 16 ---------------- dlls/winegstreamer/gst_cbs.h | 10 ---------- dlls/winegstreamer/gstdemux.c | 9 +-------- 3 files changed, 1 insertion(+), 34 deletions(-) diff --git a/dlls/winegstreamer/gst_cbs.c b/dlls/winegstreamer/gst_cbs.c index e6b9a30d466..cb07cafb7bc 100644 --- a/dlls/winegstreamer/gst_cbs.c +++ b/dlls/winegstreamer/gst_cbs.c @@ -263,22 +263,6 @@ void removed_decoded_pad_wrapper(GstElement *bin, GstPad *pad, gpointer user) call_cb(&cbdata); } -GstAutoplugSelectResult autoplug_blacklist_wrapper(GstElement *bin, GstPad *pad, - GstCaps *caps, GstElementFactory *fact, gpointer user) -{ - struct cb_data cbdata = { AUTOPLUG_BLACKLIST }; - - cbdata.u.autoplug_blacklist_data.bin = bin; - cbdata.u.autoplug_blacklist_data.pad = pad; - cbdata.u.autoplug_blacklist_data.caps = caps; - cbdata.u.autoplug_blacklist_data.fact = fact; - cbdata.u.autoplug_blacklist_data.user = user; - - call_cb(&cbdata); - - return cbdata.u.autoplug_blacklist_data.ret; -} - gboolean query_sink_wrapper(GstPad *pad, GstObject *parent, GstQuery *query) { struct cb_data cbdata = { QUERY_SINK }; diff --git a/dlls/winegstreamer/gst_cbs.h b/dlls/winegstreamer/gst_cbs.h index 546443bb4c6..9bb3572c5db 100644 --- a/dlls/winegstreamer/gst_cbs.h +++ b/dlls/winegstreamer/gst_cbs.h @@ -40,7 +40,6 @@ enum CB_TYPE { EVENT_SINK, GOT_DATA_SINK, REMOVED_DECODED_PAD, - AUTOPLUG_BLACKLIST, QUERY_SINK, GSTDEMUX_MAX, BYTESTREAM_WRAPPER_PULL, @@ -116,14 +115,6 @@ struct cb_data { GstPad *pad; gpointer user; } pad_removed_data; - struct autoplug_blacklist_data { - GstElement *bin; - GstPad *pad; - GstCaps *caps; - GstElementFactory *fact; - gpointer user; - GstAutoplugSelectResult ret; - } autoplug_blacklist_data; struct query_sink_data { GstPad *pad; GstObject *parent; @@ -153,7 +144,6 @@ gboolean event_sink_wrapper(GstPad *pad, GstObject *parent, GstEvent *event) DEC GstFlowReturn got_data_sink_wrapper(GstPad *pad, GstObject *parent, GstBuffer *buf) DECLSPEC_HIDDEN; GstFlowReturn got_data_wrapper(GstPad *pad, GstObject *parent, GstBuffer *buf) DECLSPEC_HIDDEN; void removed_decoded_pad_wrapper(GstElement *bin, GstPad *pad, gpointer user) DECLSPEC_HIDDEN; -GstAutoplugSelectResult autoplug_blacklist_wrapper(GstElement *bin, GstPad *pad, GstCaps *caps, GstElementFactory *fact, gpointer user) DECLSPEC_HIDDEN; void Gstreamer_transform_pad_added_wrapper(GstElement *filter, GstPad *pad, gpointer user) DECLSPEC_HIDDEN; gboolean query_sink_wrapper(GstPad *pad, GstObject *parent, GstQuery *query) DECLSPEC_HIDDEN; GstFlowReturn bytestream_wrapper_pull_wrapper(GstPad *pad, GstObject *parent, guint64 ofs, guint len, GstBuffer **buf) DECLSPEC_HIDDEN; diff --git a/dlls/winegstreamer/gstdemux.c b/dlls/winegstreamer/gstdemux.c index 06fc630e47a..97c25db89a7 100644 --- a/dlls/winegstreamer/gstdemux.c +++ b/dlls/winegstreamer/gstdemux.c @@ -1689,7 +1689,7 @@ static BOOL gstdecoder_init_gst(struct gstdemux *filter) g_signal_connect(element, "pad-added", G_CALLBACK(existing_new_pad_wrapper), filter); g_signal_connect(element, "pad-removed", G_CALLBACK(removed_decoded_pad_wrapper), filter); - g_signal_connect(element, "autoplug-select", G_CALLBACK(autoplug_blacklist_wrapper), filter); + g_signal_connect(element, "autoplug-select", G_CALLBACK(autoplug_blacklist), filter); g_signal_connect(element, "no-more-pads", G_CALLBACK(no_more_pads_wrapper), filter); filter->their_sink = gst_element_get_static_pad(element, "sink"); @@ -2338,13 +2338,6 @@ void perform_cb_gstdemux(struct cb_data *cbdata) removed_decoded_pad(data->element, data->pad, data->user); break; } - case AUTOPLUG_BLACKLIST: - { - struct autoplug_blacklist_data *data = &cbdata->u.autoplug_blacklist_data; - cbdata->u.autoplug_blacklist_data.ret = autoplug_blacklist(data->bin, - data->pad, data->caps, data->fact, data->user); - break; - } case QUERY_SINK: { struct query_sink_data *data = &cbdata->u.query_sink_data;