winegstreamer: Don't force watch_bus() 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-21 17:22:55 -06:00 committed by Alexandre Julliard
parent 871c5673d9
commit 4782f67bca
3 changed files with 1 additions and 22 deletions

View File

@ -136,19 +136,6 @@ static void call_cb(struct cb_data *cbdata)
pthread_mutex_destroy(&cbdata->lock);
}
GstBusSyncReply watch_bus_wrapper(GstBus *bus, GstMessage *msg, gpointer user)
{
struct cb_data cbdata = { WATCH_BUS };
cbdata.u.watch_bus_data.bus = bus;
cbdata.u.watch_bus_data.msg = msg;
cbdata.u.watch_bus_data.user = user;
call_cb(&cbdata);
return cbdata.u.watch_bus_data.ret;
}
void existing_new_pad_wrapper(GstElement *bin, GstPad *pad, gpointer user)
{
struct cb_data cbdata = { EXISTING_NEW_PAD };

View File

@ -30,7 +30,6 @@ typedef enum {
} GstAutoplugSelectResult;
enum CB_TYPE {
WATCH_BUS,
EXISTING_NEW_PAD,
QUERY_FUNCTION,
ACTIVATE_MODE,
@ -133,7 +132,6 @@ void mark_wine_thread(void) DECLSPEC_HIDDEN;
void perform_cb_gstdemux(struct cb_data *data) DECLSPEC_HIDDEN;
void perform_cb_media_source(struct cb_data *data) DECLSPEC_HIDDEN;
GstBusSyncReply watch_bus_wrapper(GstBus *bus, GstMessage *msg, gpointer user) DECLSPEC_HIDDEN;
void existing_new_pad_wrapper(GstElement *bin, GstPad *pad, gpointer user) DECLSPEC_HIDDEN;
gboolean query_function_wrapper(GstPad *pad, GstObject *parent, GstQuery *query) DECLSPEC_HIDDEN;
gboolean activate_mode_wrapper(GstPad *pad, GstObject *parent, GstPadMode mode, gboolean activate) DECLSPEC_HIDDEN;

View File

@ -1503,7 +1503,7 @@ static HRESULT GST_Connect(struct parser *This, IPin *pConnectPin)
if (!This->bus) {
This->bus = gst_bus_new();
gst_bus_set_sync_handler(This->bus, watch_bus_wrapper, This, NULL);
gst_bus_set_sync_handler(This->bus, watch_bus, This, NULL);
}
This->container = gst_bin_new(NULL);
@ -2424,12 +2424,6 @@ void perform_cb_gstdemux(struct cb_data *cbdata)
{
switch(cbdata->type)
{
case WATCH_BUS:
{
struct watch_bus_data *data = &cbdata->u.watch_bus_data;
cbdata->u.watch_bus_data.ret = watch_bus(data->bus, data->msg, data->user);
break;
}
case EXISTING_NEW_PAD:
{
struct pad_added_data *data = &cbdata->u.pad_added_data;