winegstreamer: Don't force autoplug_blacklist() onto a Wine thread.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2021-01-14 10:37:52 -06:00 committed by Alexandre Julliard
parent c59bd77679
commit 3bf543589d
3 changed files with 1 additions and 34 deletions

View File

@ -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 };

View File

@ -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;

View File

@ -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;