Rebase against 2d4dd4252b0cf6526b3cc8194cce642b16eb12f6.

This commit is contained in:
Alistair Leslie-Hughes
2021-01-23 11:32:31 +11:00
parent f8ce6cbb21
commit f168899ce1
5 changed files with 27 additions and 27 deletions

View File

@@ -1,4 +1,4 @@
From f84c2f0717e5c90f837262e88dad4b1fdcbc64d2 Mon Sep 17 00:00:00 2001
From 389c087267b8d9d3892c68b52ffa965df38730db 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 51aaefa911d..261a5b9f4ce 100644
index b9effe73a5b..4afefe91aa8 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 51aaefa911d..261a5b9f4ce 100644
pthread_mutex_lock(&cbdata->lock);
cbdata->finished = 1;
@@ -404,3 +406,66 @@ void mf_src_no_more_pads_wrapper(GstElement *element, gpointer user)
@@ -363,3 +365,66 @@ void mf_src_no_more_pads_wrapper(GstElement *element, gpointer user)
call_cb(&cbdata);
}
@@ -108,10 +108,10 @@ index 51aaefa911d..261a5b9f4ce 100644
+ return cbdata.u.new_sample_data.ret;
+}
diff --git a/dlls/winegstreamer/gst_cbs.h b/dlls/winegstreamer/gst_cbs.h
index a48999bbf71..6659aedefa5 100644
index 0e262c12db8..98dff43ba9b 100644
--- a/dlls/winegstreamer/gst_cbs.h
+++ b/dlls/winegstreamer/gst_cbs.h
@@ -53,6 +53,12 @@ enum CB_TYPE {
@@ -50,6 +50,12 @@ enum CB_TYPE {
MF_SRC_STREAM_REMOVED,
MF_SRC_NO_MORE_PADS,
MEDIA_SOURCE_MAX,
@@ -124,7 +124,7 @@ index a48999bbf71..6659aedefa5 100644
};
struct cb_data {
@@ -137,6 +143,17 @@ struct cb_data {
@@ -120,6 +126,17 @@ struct cb_data {
GstQuery *query;
gboolean ret;
} query_sink_data;
@@ -142,15 +142,15 @@ index a48999bbf71..6659aedefa5 100644
} u;
int finished;
@@ -148,6 +165,7 @@ struct cb_data {
@@ -131,6 +148,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;
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;
@@ -172,5 +190,10 @@ GstBusSyncReply mf_src_bus_watch_wrapper(GstBus *bus, GstMessage *message, gpoin
gboolean query_function_wrapper(GstPad *pad, GstObject *parent, GstQuery *query) DECLSPEC_HIDDEN;
@@ -152,5 +170,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;
@@ -162,10 +162,10 @@ index a48999bbf71..6659aedefa5 100644
#endif
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index dcf76554b6d..019cce5fad5 100644
index 7000cb48a52..8494b34be98 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -75,6 +75,7 @@ BOOL init_gstreamer(void) DECLSPEC_HIDDEN;
@@ -77,6 +77,7 @@ BOOL init_gstreamer(void) DECLSPEC_HIDDEN;
void start_dispatch_thread(void) DECLSPEC_HIDDEN;
@@ -173,7 +173,7 @@ index dcf76554b6d..019cce5fad5 100644
extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj) DECLSPEC_HIDDEN;
extern HRESULT mfplat_DllRegisterServer(void) DECLSPEC_HIDDEN;
@@ -85,6 +86,12 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) DECLSPEC_HIDDEN;
@@ -87,6 +88,12 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) DECLSPEC_HIDDEN;
IMFSample *mf_sample_from_gst_buffer(GstBuffer *in) DECLSPEC_HIDDEN;
GstBuffer *gst_buffer_from_mf_sample(IMFSample *in) DECLSPEC_HIDDEN;
@@ -1513,7 +1513,7 @@ index 00000000000..7055ffa54fc
+ }
+}
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index bf3486d2be8..b604f6df066 100644
index 72fd31eb052..77859cb277f 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -410,6 +410,16 @@ static const GUID CLSID_WINEAudioConverter = {0x6a170414,0xaad9,0x4693,{0xb8,0x0
@@ -1615,7 +1615,7 @@ index bf3486d2be8..b604f6df066 100644
/* audio-specific-config is stored here */
};
diff --git a/dlls/winegstreamer/winegstreamer_classes.idl b/dlls/winegstreamer/winegstreamer_classes.idl
index 47c10a09cf0..fe8649c690c 100644
index 1b203815330..05365e5e298 100644
--- a/dlls/winegstreamer/winegstreamer_classes.idl
+++ b/dlls/winegstreamer/winegstreamer_classes.idl
@@ -73,3 +73,15 @@ coclass WINEAudioConverter { }