Rebase against 47ac628b4a4e476c1b044765c95d5be2a7101d14.

This commit is contained in:
Alistair Leslie-Hughes
2021-01-31 18:52:51 +11:00
parent 5c5a8f3b2c
commit 43c064ef3c
7 changed files with 11 additions and 254 deletions

View File

@@ -1,4 +1,4 @@
From ca61f3487605168b0f68f9c3d64bec15f5ecef1f Mon Sep 17 00:00:00 2001
From 32a148c4f8b2c62c7c227b17e8fba2a7aac8ae62 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Mon, 16 Mar 2020 12:09:39 -0500
Subject: [PATCH] winegstreamer: Implement decoder MFT on gstreamer.
@@ -28,7 +28,7 @@ index 4f6b428f067..81c670c17e4 100644
pin.c \
qualitycontrol.c \
diff --git a/dlls/winegstreamer/gst_cbs.c b/dlls/winegstreamer/gst_cbs.c
index 6c5877ce785..cf410b8934d 100644
index 90c34b1cb39..cfa3a0f566d 100644
--- a/dlls/winegstreamer/gst_cbs.c
+++ b/dlls/winegstreamer/gst_cbs.c
@@ -51,6 +51,8 @@ static void CALLBACK perform_cb(TP_CALLBACK_INSTANCE *instance, void *user)
@@ -40,7 +40,7 @@ index 6c5877ce785..cf410b8934d 100644
pthread_mutex_lock(&cbdata->lock);
cbdata->finished = 1;
@@ -301,3 +303,66 @@ void mf_src_no_more_pads_wrapper(GstElement *element, gpointer user)
@@ -260,3 +262,66 @@ void mf_src_no_more_pads_wrapper(GstElement *element, gpointer user)
call_cb(&cbdata);
}
@@ -108,10 +108,10 @@ index 6c5877ce785..cf410b8934d 100644
+ return cbdata.u.new_sample_data.ret;
+}
diff --git a/dlls/winegstreamer/gst_cbs.h b/dlls/winegstreamer/gst_cbs.h
index f063a0a2a7b..7737ae589d2 100644
index cbd9a630885..64b037ffed0 100644
--- a/dlls/winegstreamer/gst_cbs.h
+++ b/dlls/winegstreamer/gst_cbs.h
@@ -45,6 +45,12 @@ enum CB_TYPE {
@@ -42,6 +42,12 @@ enum CB_TYPE {
MF_SRC_STREAM_REMOVED,
MF_SRC_NO_MORE_PADS,
MEDIA_SOURCE_MAX,
@@ -124,7 +124,7 @@ index f063a0a2a7b..7737ae589d2 100644
};
struct cb_data {
@@ -103,6 +109,17 @@ struct cb_data {
@@ -100,6 +106,17 @@ struct cb_data {
GstQuery *query;
gboolean ret;
} query_sink_data;
@@ -142,15 +142,15 @@ index f063a0a2a7b..7737ae589d2 100644
} u;
int finished;
@@ -114,6 +131,7 @@ struct cb_data {
@@ -111,6 +128,7 @@ struct cb_data {
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;
+void perform_cb_mf_decode(struct cb_data *data) DECLSPEC_HIDDEN;
void existing_new_pad_wrapper(GstElement *bin, GstPad *pad, gpointer user) DECLSPEC_HIDDEN;
gboolean activate_mode_wrapper(GstPad *pad, GstObject *parent, GstPadMode mode, gboolean activate) DECLSPEC_HIDDEN;
@@ -130,5 +148,10 @@ GstBusSyncReply mf_src_bus_watch_wrapper(GstBus *bus, GstMessage *message, gpoin
GstFlowReturn got_data_wrapper(GstPad *pad, GstObject *parent, GstBuffer *buf) DECLSPEC_HIDDEN;
@@ -124,5 +142,10 @@ GstBusSyncReply mf_src_bus_watch_wrapper(GstBus *bus, GstMessage *message, gpoin
void mf_src_stream_added_wrapper(GstElement *bin, GstPad *pad, gpointer user) DECLSPEC_HIDDEN;
void mf_src_stream_removed_wrapper(GstElement *element, GstPad *pad, gpointer user) DECLSPEC_HIDDEN;
void mf_src_no_more_pads_wrapper(GstElement *element, gpointer user) DECLSPEC_HIDDEN;