mirror of
https://gitlab.winehq.org/wine/wine-staging.git
synced 2025-04-13 14:42:51 -07:00
Updated mfplat-streaming-support patchset
This commit is contained in:
parent
4e99d1b2a8
commit
b57bf86ec0
@ -1,8 +1,8 @@
|
||||
From d95656904e4d7d2c9a4006e90f123e28bbcdbb70 Mon Sep 17 00:00:00 2001
|
||||
From 1adbc46410773bdd75d844280738be677bb75906 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Tue, 9 Mar 2021 16:53:09 -0500
|
||||
Subject: [PATCH 01/39] winegstreamer: Activate source pad in push mode if it
|
||||
isn't activated in pull mode.
|
||||
Subject: [PATCH] winegstreamer: Activate source pad in push mode if it isn't
|
||||
activated in pull mode.
|
||||
|
||||
Since our source pad is not part of any element, gstreamer won't end up activating it
|
||||
directly through the state transition. Instead, if the downstream element doesn't
|
||||
@ -15,10 +15,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 14 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 0d59297a026..00ff02ef462 100644
|
||||
index cd12a23d0c8..9b4c9c1c9ed 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -58,7 +58,7 @@ struct wg_parser
|
||||
@@ -61,7 +61,7 @@ struct wg_parser
|
||||
pthread_mutex_t mutex;
|
||||
|
||||
pthread_cond_t init_cond;
|
||||
@ -27,7 +27,7 @@ index 0d59297a026..00ff02ef462 100644
|
||||
|
||||
pthread_cond_t read_cond, read_done_cond;
|
||||
struct
|
||||
@@ -1365,9 +1365,12 @@ static gboolean src_activate_mode_cb(GstPad *pad, GstObject *parent, GstPadMode
|
||||
@@ -1358,9 +1358,12 @@ static gboolean src_activate_mode_cb(GstPad *pad, GstObject *parent, GstPadMode
|
||||
GST_DEBUG("%s source pad for parser %p in %s mode.",
|
||||
activate ? "Activating" : "Deactivating", parser, gst_pad_mode_get_name(mode));
|
||||
|
||||
@ -40,7 +40,7 @@ index 0d59297a026..00ff02ef462 100644
|
||||
return TRUE;
|
||||
case GST_PAD_MODE_PUSH:
|
||||
return activate_push(pad, activate);
|
||||
@@ -1612,6 +1615,8 @@ static void CDECL wg_parser_disconnect(struct wg_parser *parser)
|
||||
@@ -1636,6 +1639,8 @@ static void CDECL wg_parser_disconnect(struct wg_parser *parser)
|
||||
pthread_mutex_unlock(&parser->mutex);
|
||||
|
||||
gst_element_set_state(parser->container, GST_STATE_NULL);
|
||||
@ -49,7 +49,7 @@ index 0d59297a026..00ff02ef462 100644
|
||||
gst_pad_unlink(parser->my_src, parser->their_sink);
|
||||
gst_object_unref(parser->my_src);
|
||||
gst_object_unref(parser->their_sink);
|
||||
@@ -1667,6 +1672,8 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -1687,6 +1692,8 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
|
||||
}
|
||||
|
||||
gst_element_set_state(parser->container, GST_STATE_PAUSED);
|
||||
@ -58,7 +58,7 @@ index 0d59297a026..00ff02ef462 100644
|
||||
ret = gst_element_get_state(parser->container, NULL, NULL, -1);
|
||||
if (ret == GST_STATE_CHANGE_FAILURE)
|
||||
{
|
||||
@@ -1718,6 +1725,8 @@ static BOOL avi_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -1734,6 +1741,8 @@ static BOOL avi_parser_init_gst(struct wg_parser *parser)
|
||||
}
|
||||
|
||||
gst_element_set_state(parser->container, GST_STATE_PAUSED);
|
||||
@ -67,7 +67,7 @@ index 0d59297a026..00ff02ef462 100644
|
||||
ret = gst_element_get_state(parser->container, NULL, NULL, -1);
|
||||
if (ret == GST_STATE_CHANGE_FAILURE)
|
||||
{
|
||||
@@ -1772,6 +1781,8 @@ static BOOL mpeg_audio_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -1784,6 +1793,8 @@ static BOOL mpeg_audio_parser_init_gst(struct wg_parser *parser)
|
||||
|
||||
gst_pad_set_active(stream->my_sink, 1);
|
||||
gst_element_set_state(parser->container, GST_STATE_PAUSED);
|
||||
@ -76,7 +76,7 @@ index 0d59297a026..00ff02ef462 100644
|
||||
ret = gst_element_get_state(parser->container, NULL, NULL, -1);
|
||||
if (ret == GST_STATE_CHANGE_FAILURE)
|
||||
{
|
||||
@@ -1826,6 +1837,8 @@ static BOOL wave_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -1825,6 +1836,8 @@ static BOOL wave_parser_init_gst(struct wg_parser *parser)
|
||||
|
||||
gst_pad_set_active(stream->my_sink, 1);
|
||||
gst_element_set_state(parser->container, GST_STATE_PAUSED);
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 9ec96ab12a41323abb477922cd2401446bd95457 Mon Sep 17 00:00:00 2001
|
||||
From 2740496b0c1f878593899e6dc88390413bf835f1 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 10 Mar 2021 10:43:03 -0500
|
||||
Subject: [PATCH 02/39] winegstreamer: Push stream-start and segment events in
|
||||
push mode.
|
||||
Subject: [PATCH] winegstreamer: Push stream-start and segment events in push
|
||||
mode.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -10,10 +10,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 13 insertions(+)
|
||||
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 00ff02ef462..c83afe4e195 100644
|
||||
index 9b4c9c1c9ed..879aece63b7 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -1286,6 +1286,7 @@ static void *push_data(void *arg)
|
||||
@@ -1279,6 +1279,7 @@ static void *push_data(void *arg)
|
||||
{
|
||||
struct wg_parser *parser = arg;
|
||||
GstBuffer *buffer;
|
||||
@ -21,7 +21,7 @@ index 00ff02ef462..c83afe4e195 100644
|
||||
guint max_size;
|
||||
|
||||
GST_DEBUG("Starting push thread.");
|
||||
@@ -1298,6 +1299,12 @@ static void *push_data(void *arg)
|
||||
@@ -1291,6 +1292,12 @@ static void *push_data(void *arg)
|
||||
|
||||
max_size = parser->stop_offset ? parser->stop_offset : parser->file_size;
|
||||
|
||||
@ -34,7 +34,7 @@ index 00ff02ef462..c83afe4e195 100644
|
||||
for (;;)
|
||||
{
|
||||
ULONG size;
|
||||
@@ -1432,6 +1439,7 @@ static gboolean src_perform_seek(struct wg_parser *parser, GstEvent *event)
|
||||
@@ -1425,6 +1432,7 @@ static gboolean src_perform_seek(struct wg_parser *parser, GstEvent *event)
|
||||
GstEvent *flush_event;
|
||||
GstSeekFlags flags;
|
||||
gint64 cur, stop;
|
||||
@ -42,7 +42,7 @@ index 00ff02ef462..c83afe4e195 100644
|
||||
guint32 seqnum;
|
||||
gdouble rate;
|
||||
|
||||
@@ -1465,7 +1473,12 @@ static gboolean src_perform_seek(struct wg_parser *parser, GstEvent *event)
|
||||
@@ -1458,7 +1466,12 @@ static gboolean src_perform_seek(struct wg_parser *parser, GstEvent *event)
|
||||
gst_event_set_seqnum(flush_event, seqnum);
|
||||
gst_pad_push_event(parser->my_src, flush_event);
|
||||
if (thread)
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 83a951e062135cb433d23b7af56c2541b504c1a5 Mon Sep 17 00:00:00 2001
|
||||
From 915e18d44c16f08f27ea4bf0e8bb46221b055ce0 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 10 Mar 2021 13:09:51 -0500
|
||||
Subject: [PATCH] winegstreamer: Introduce H.264 decoder transform.
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 17dab7f1ec1e00c313fa9f9bdcd64847de83b785 Mon Sep 17 00:00:00 2001
|
||||
From 42278cb728ff00fdd44e5ca04a68d3fd34c79f15 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 10 Mar 2021 14:14:21 -0500
|
||||
Subject: [PATCH 04/39] winegstreamer: Implement ::GetInputAvailableType for
|
||||
decode transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::GetInputAvailableType for decode
|
||||
transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -128,7 +128,7 @@ index cdf90d52025..2d2ebbda61f 100644
|
||||
|
||||
#endif /* __GST_PRIVATE_INCLUDED__ */
|
||||
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
|
||||
index de679a62023..40bb7969fc3 100644
|
||||
index 4bff7ee9241..f8f83031b7e 100644
|
||||
--- a/dlls/winegstreamer/mfplat.c
|
||||
+++ b/dlls/winegstreamer/mfplat.c
|
||||
@@ -402,6 +402,11 @@ static const GUID CLSID_GStreamerByteStreamHandler = {0x317df618, 0x5e5a, 0x468a
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 5842d8b762b85ff36de01d672e81d3e6eab9c554 Mon Sep 17 00:00:00 2001
|
||||
From 360b07b3ba1bc9fdb8225b64bc4a1ada43256087 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 10 Mar 2021 14:23:09 -0500
|
||||
Subject: [PATCH 05/39] winegstreamer: Implement ::GetOutputAvailableType for
|
||||
decode transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::GetOutputAvailableType for decode
|
||||
transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
|
@ -1,8 +1,7 @@
|
||||
From 6d41356d8849c741c93e6eaab81784a8be515aa5 Mon Sep 17 00:00:00 2001
|
||||
From 328f8b7e095596cb11d86484665062591aebcf55 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Thu, 11 Mar 2021 12:33:02 -0500
|
||||
Subject: [PATCH 06/39] winegstreamer: Implement ::SetInputType for decode
|
||||
transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::SetInputType for decode transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -151,7 +150,7 @@ index 2d2ebbda61f..215cf4577d4 100644
|
||||
struct
|
||||
{
|
||||
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
|
||||
index 40bb7969fc3..9a599358c61 100644
|
||||
index f8f83031b7e..9d1cbd87746 100644
|
||||
--- a/dlls/winegstreamer/mfplat.c
|
||||
+++ b/dlls/winegstreamer/mfplat.c
|
||||
@@ -533,6 +533,7 @@ video_formats[] =
|
||||
@ -162,7 +161,7 @@ index 40bb7969fc3..9a599358c61 100644
|
||||
};
|
||||
|
||||
static const struct
|
||||
@@ -718,10 +719,22 @@ static void mf_media_type_to_wg_format_video(IMFMediaType *type, struct wg_forma
|
||||
@@ -719,10 +720,22 @@ static void mf_media_type_to_wg_format_video(IMFMediaType *type, struct wg_forma
|
||||
if (IsEqualGUID(&subtype, video_formats[i].subtype))
|
||||
{
|
||||
format->u.video.format = video_formats[i].format;
|
||||
@ -188,7 +187,7 @@ index 40bb7969fc3..9a599358c61 100644
|
||||
|
||||
void mf_media_type_to_wg_format(IMFMediaType *type, struct wg_format *format)
|
||||
diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c
|
||||
index 5f9535659b4..4eceeae0757 100644
|
||||
index 09a916d7f5c..fc1b72cd958 100644
|
||||
--- a/dlls/winegstreamer/quartz_parser.c
|
||||
+++ b/dlls/winegstreamer/quartz_parser.c
|
||||
@@ -268,6 +268,7 @@ static unsigned int get_image_size(const struct wg_format *format)
|
||||
@ -200,10 +199,10 @@ index 5f9535659b4..4eceeae0757 100644
|
||||
}
|
||||
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index c83afe4e195..e9689c01085 100644
|
||||
index 879aece63b7..1afe92f04ac 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -384,6 +384,22 @@ static void wg_channel_mask_to_gst(GstAudioChannelPosition *positions, uint32_t
|
||||
@@ -387,6 +387,22 @@ static void wg_channel_mask_to_gst(GstAudioChannelPosition *positions, uint32_t
|
||||
}
|
||||
}
|
||||
|
||||
@ -226,7 +225,7 @@ index c83afe4e195..e9689c01085 100644
|
||||
static GstCaps *wg_format_to_caps_audio(const struct wg_format *format)
|
||||
{
|
||||
GstAudioChannelPosition positions[32];
|
||||
@@ -425,6 +441,65 @@ static GstCaps *wg_format_to_caps_video(const struct wg_format *format)
|
||||
@@ -428,6 +444,65 @@ static GstCaps *wg_format_to_caps_video(const struct wg_format *format)
|
||||
unsigned int i;
|
||||
GstCaps *caps;
|
||||
|
||||
@ -292,7 +291,7 @@ index c83afe4e195..e9689c01085 100644
|
||||
if ((video_format = wg_video_format_to_gst(format->u.video.format)) == GST_VIDEO_FORMAT_UNKNOWN)
|
||||
return NULL;
|
||||
|
||||
@@ -584,6 +659,7 @@ static void CDECL wg_parser_stream_enable(struct wg_parser_stream *stream, const
|
||||
@@ -587,6 +662,7 @@ static void CDECL wg_parser_stream_enable(struct wg_parser_stream *stream, const
|
||||
case WG_VIDEO_FORMAT_YVYU:
|
||||
case WG_VIDEO_FORMAT_UNKNOWN:
|
||||
case WG_VIDEO_FORMAT_CINEPAK:
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 8a60a8ea1f93394afae504330ad623e4e85170d6 Mon Sep 17 00:00:00 2001
|
||||
From b116bcc5c294697eb537255bb2ddffa1e7dad5c0 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Thu, 11 Mar 2021 12:58:32 -0500
|
||||
Subject: [PATCH 07/39] winegstreamer: Implement ::SetOutputType for decode
|
||||
Subject: [PATCH] winegstreamer: Implement ::SetOutputType for decode
|
||||
transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 7bb5efd92e23dfb1f734119000ec4866392f8d7c Mon Sep 17 00:00:00 2001
|
||||
From 359da83b2d725c927797bedc15095312453607ad Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Thu, 11 Mar 2021 14:40:32 -0500
|
||||
Subject: [PATCH 08/39] winegstreamer: Implement ::Get(Input/Output)StreamInfo
|
||||
for decode transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::Get(Input/Output)StreamInfo for
|
||||
decode transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
|
@ -1,4 +1,4 @@
|
||||
From 04332336184dfd88cde06e790c35e5fcff71e583 Mon Sep 17 00:00:00 2001
|
||||
From b8e243fcb8d17525a0688e8371bcfe490264baf1 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:40:46 -0400
|
||||
Subject: [PATCH] winegstreamer: Add push-mode path for wg_parser.
|
||||
@ -130,7 +130,7 @@ index fc1b72cd958..4b0f2c215d1 100644
|
||||
/* We do need to drop any buffers that might have been sent with the old
|
||||
* caps, but this will be handled in parser_init_stream(). */
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 8f472e6650d..d01da49dbef 100644
|
||||
index 1afe92f04ac..d010b1e6eed 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -47,7 +47,7 @@ struct wg_parser
|
||||
@ -756,8 +756,8 @@ index 8f472e6650d..d01da49dbef 100644
|
||||
pthread_join(parser->push_thread, NULL);
|
||||
parser->push_thread = 0;
|
||||
}
|
||||
@@ -1601,13 +1877,11 @@ static LONGLONG query_duration(GstPad *pad)
|
||||
return 0;
|
||||
@@ -1581,13 +1857,11 @@ static gboolean src_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
|
||||
return ret;
|
||||
}
|
||||
|
||||
-static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_size)
|
||||
@ -771,7 +771,7 @@ index 8f472e6650d..d01da49dbef 100644
|
||||
parser->sink_connected = true;
|
||||
|
||||
if (!parser->bus)
|
||||
@@ -1629,6 +1903,20 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
@@ -1609,6 +1883,20 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
parser->start_offset = parser->next_offset = parser->stop_offset = 0;
|
||||
parser->next_pull_offset = 0;
|
||||
|
||||
@ -792,7 +792,7 @@ index 8f472e6650d..d01da49dbef 100644
|
||||
if (!parser->init_gst(parser))
|
||||
return E_FAIL;
|
||||
|
||||
@@ -1659,6 +1947,43 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
@@ -1690,6 +1978,43 @@ static HRESULT CDECL wg_parser_connect(struct wg_parser *parser, uint64_t file_s
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
@ -836,7 +836,7 @@ index 8f472e6650d..d01da49dbef 100644
|
||||
static void free_stream(struct wg_parser_stream *stream)
|
||||
{
|
||||
if (stream->their_src)
|
||||
@@ -1729,6 +2054,9 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -1760,6 +2085,9 @@ static BOOL decodebin_parser_init_gst(struct wg_parser *parser)
|
||||
if (!(element = create_element("decodebin", "base")))
|
||||
return FALSE;
|
||||
|
||||
@ -846,7 +846,7 @@ index 8f472e6650d..d01da49dbef 100644
|
||||
gst_bin_add(GST_BIN(parser->container), element);
|
||||
parser->decodebin = element;
|
||||
|
||||
@@ -1993,6 +2321,7 @@ static const struct unix_funcs funcs =
|
||||
@@ -2015,6 +2343,7 @@ static const struct unix_funcs funcs =
|
||||
wg_parser_destroy,
|
||||
|
||||
wg_parser_connect,
|
||||
@ -854,7 +854,7 @@ index 8f472e6650d..d01da49dbef 100644
|
||||
wg_parser_disconnect,
|
||||
|
||||
wg_parser_begin_flush,
|
||||
@@ -2017,6 +2346,7 @@ static const struct unix_funcs funcs =
|
||||
@@ -2039,6 +2368,7 @@ static const struct unix_funcs funcs =
|
||||
|
||||
wg_parser_stream_get_duration,
|
||||
wg_parser_stream_seek,
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 316e739c324ef33e31987f0d5abd7b28db21e89a Mon Sep 17 00:00:00 2001
|
||||
From 7585c2809396ce0a506749b5c2435ced429f3b32 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:53:02 -0400
|
||||
Subject: [PATCH 10/39] winegstreamer: Implement ::Process(Input/Output) for
|
||||
decoder transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::Process(Input/Output) for decoder
|
||||
transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 6da483d3feca1cd83a5fecdd5671fa8a0d10a2f8 Mon Sep 17 00:00:00 2001
|
||||
From 52a5aeb27602c0cccf12889dae5b9577d4af6cc8 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:54:03 -0400
|
||||
Subject: [PATCH 11/39] winestreamer: Implement ::ProcessMessage for decoder
|
||||
Subject: [PATCH] winestreamer: Implement ::ProcessMessage for decoder
|
||||
transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 5c7b05aeb941b1fbd4a978894873438aa0e5b397 Mon Sep 17 00:00:00 2001
|
||||
From ea3b78cc1f9d9a8e52441878f3bb62bf5df845a1 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:55:15 -0400
|
||||
Subject: [PATCH 12/39] winegstreamer: Semi-stub ::GetAttributes for decoder
|
||||
Subject: [PATCH] winegstreamer: Semi-stub ::GetAttributes for decoder
|
||||
transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
|
@ -1,7 +1,7 @@
|
||||
From 86f104e3b17755d2eecd6d46ea1c66875232e2bd Mon Sep 17 00:00:00 2001
|
||||
From cf4b63609020ce6009d01264b689ed18925a19df Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:57:11 -0400
|
||||
Subject: [PATCH 13/39] winegstreamer: Register the H.264 decoder transform.
|
||||
Subject: [PATCH] winegstreamer: Register the H.264 decoder transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 25 insertions(+)
|
||||
|
||||
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
|
||||
index 9a599358c61..f015ecc3f47 100644
|
||||
index 9d1cbd87746..35b2f2c3224 100644
|
||||
--- a/dlls/winegstreamer/mfplat.c
|
||||
+++ b/dlls/winegstreamer/mfplat.c
|
||||
@@ -453,6 +453,20 @@ static const GUID *audio_converter_supported_types[] =
|
||||
|
@ -1,4 +1,4 @@
|
||||
From d340cda54c6b51c8ee9fcd687ab9877f0451844a Mon Sep 17 00:00:00 2001
|
||||
From 126e32c17f934f80dac678d20ecb6e297b354b73 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 16:59:29 -0400
|
||||
Subject: [PATCH] winegstreamer: Introduce AAC decoder transform.
|
||||
@ -185,7 +185,7 @@ index 35b2f2c3224..9c95450bd99 100644
|
||||
{
|
||||
if (IsEqualGUID(&subtype, audio_formats[i].subtype) && depth == audio_formats[i].depth)
|
||||
diff --git a/dlls/winegstreamer/quartz_parser.c b/dlls/winegstreamer/quartz_parser.c
|
||||
index 1c68eba1872..b1e35521266 100644
|
||||
index 4b0f2c215d1..c192f4ec38b 100644
|
||||
--- a/dlls/winegstreamer/quartz_parser.c
|
||||
+++ b/dlls/winegstreamer/quartz_parser.c
|
||||
@@ -100,6 +100,7 @@ static bool amt_from_wg_format_audio(AM_MEDIA_TYPE *mt, const struct wg_format *
|
||||
@ -197,10 +197,10 @@ index 1c68eba1872..b1e35521266 100644
|
||||
|
||||
case WG_AUDIO_FORMAT_MPEG1_LAYER1:
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 6c8cf1f85b1..7f06fd886d6 100644
|
||||
index d010b1e6eed..e017be29ad1 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -398,6 +398,13 @@ static void wg_set_caps_from_wg_format(GstCaps *caps, const struct wg_format *fo
|
||||
@@ -401,6 +401,13 @@ static void wg_set_caps_from_wg_format(GstCaps *caps, const struct wg_format *fo
|
||||
gst_caps_set_simple(caps, "framerate", GST_TYPE_FRACTION, format->u.video.fps_n, format->u.video.fps_d, NULL);
|
||||
break;
|
||||
}
|
||||
@ -214,7 +214,7 @@ index 6c8cf1f85b1..7f06fd886d6 100644
|
||||
default:
|
||||
break;
|
||||
}
|
||||
@@ -409,6 +416,61 @@ static GstCaps *wg_format_to_caps_audio(const struct wg_format *format)
|
||||
@@ -412,6 +419,61 @@ static GstCaps *wg_format_to_caps_audio(const struct wg_format *format)
|
||||
GstAudioFormat audio_format;
|
||||
GstAudioInfo info;
|
||||
|
||||
@ -291,10 +291,10 @@ index 064a6872c79..4c58d83403b 100644
|
||||
+]
|
||||
+coclass CMSAACDecMFT { }
|
||||
diff --git a/include/mfidl.idl b/include/mfidl.idl
|
||||
index 616271861aa..dee81338b2b 100644
|
||||
index f28a0669804..72d288daa3f 100644
|
||||
--- a/include/mfidl.idl
|
||||
+++ b/include/mfidl.idl
|
||||
@@ -1575,3 +1575,4 @@ cpp_quote("EXTERN_GUID(MF_ACTIVATE_CUSTOM_VIDEO_PRESENTER_FLAGS, 0xba491366, 0xb
|
||||
@@ -1580,3 +1580,4 @@ cpp_quote("EXTERN_GUID(MF_XVP_SAMPLE_LOCK_TIMEOUT, 0xaa4ddb29, 0x5134, 0x4363, 0
|
||||
|
||||
cpp_quote("EXTERN_GUID(CLSID_VideoProcessorMFT, 0x88753b26, 0x5b24, 0x49bd, 0xb2, 0xe7, 0xc, 0x44, 0x5c, 0x78, 0xc9, 0x82);")
|
||||
cpp_quote("EXTERN_GUID(CLSID_CMSH264DecoderMFT, 0x62ce7e72, 0x4c71, 0x4d20, 0xb1, 0x5d, 0x45, 0x28, 0x31, 0xa8, 0x7d, 0x9d);")
|
||||
|
@ -1,7 +1,7 @@
|
||||
From f1011219faa95c40cdcffda69c65dee5566b3b80 Mon Sep 17 00:00:00 2001
|
||||
From aa96c5c8ae43df1ce01e6db11a64c04a768dc231 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 17:00:27 -0400
|
||||
Subject: [PATCH 15/39] winegstreamer: Register the AAC decoder transform.
|
||||
Subject: [PATCH] winegstreamer: Register the AAC decoder transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 22 insertions(+)
|
||||
|
||||
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
|
||||
index f3d9fb61a66..28b45893b1b 100644
|
||||
index 9c95450bd99..955afff20dc 100644
|
||||
--- a/dlls/winegstreamer/mfplat.c
|
||||
+++ b/dlls/winegstreamer/mfplat.c
|
||||
@@ -473,6 +473,17 @@ static const GUID *h264_decoder_output_types[] =
|
||||
|
@ -1,8 +1,7 @@
|
||||
From 86115ed0d28a1abb007b0eedf0442dbdf2e2127d Mon Sep 17 00:00:00 2001
|
||||
From c9062f7721878e9687969cc0908afb442955a367 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 17:00:51 -0400
|
||||
Subject: [PATCH 16/39] winegstreamer: Rename GStreamer objects to be more
|
||||
generic.
|
||||
Subject: [PATCH] winegstreamer: Rename GStreamer objects to be more generic.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -10,10 +9,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 3 insertions(+), 3 deletions(-)
|
||||
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 2a982576ef5..44d0c9b71f3 100644
|
||||
index e017be29ad1..528e30098fb 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -1242,7 +1242,7 @@ static struct wg_parser_stream *create_stream(struct wg_parser *parser)
|
||||
@@ -1255,7 +1255,7 @@ static struct wg_parser_stream *create_stream(struct wg_parser *parser)
|
||||
pthread_cond_init(&stream->event_cond, NULL);
|
||||
pthread_cond_init(&stream->event_empty_cond, NULL);
|
||||
|
||||
@ -22,7 +21,7 @@ index 2a982576ef5..44d0c9b71f3 100644
|
||||
stream->my_sink = gst_pad_new(pad_name, GST_PAD_SINK);
|
||||
gst_pad_set_element_private(stream->my_sink, stream);
|
||||
gst_pad_set_chain_function(stream->my_sink, sink_chain_cb);
|
||||
@@ -1948,7 +1948,7 @@ static LONGLONG query_duration(GstPad *pad)
|
||||
@@ -1921,7 +1921,7 @@ static gboolean src_event_cb(GstPad *pad, GstObject *parent, GstEvent *event)
|
||||
|
||||
static HRESULT wg_parser_connect_inner(struct wg_parser *parser)
|
||||
{
|
||||
@ -31,7 +30,7 @@ index 2a982576ef5..44d0c9b71f3 100644
|
||||
GST_PAD_SRC, GST_PAD_ALWAYS, GST_STATIC_CAPS_ANY);
|
||||
|
||||
parser->sink_connected = true;
|
||||
@@ -1962,7 +1962,7 @@ static HRESULT wg_parser_connect_inner(struct wg_parser *parser)
|
||||
@@ -1935,7 +1935,7 @@ static HRESULT wg_parser_connect_inner(struct wg_parser *parser)
|
||||
parser->container = gst_bin_new(NULL);
|
||||
gst_element_set_bus(parser->container, parser->bus);
|
||||
|
||||
|
@ -1,8 +1,7 @@
|
||||
From 2451bb53540b32568e404f8ed2399b8b2a58e64d Mon Sep 17 00:00:00 2001
|
||||
From c2c1f1422c2583bb04fc3ab2a47ebb5cc92f4163 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Fri, 19 Mar 2021 17:01:54 -0400
|
||||
Subject: [PATCH 17/39] winegstreamer: Report streams backwards in media
|
||||
source.
|
||||
Subject: [PATCH] winegstreamer: Report streams backwards in media source.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -10,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
1 file changed, 1 insertion(+), 1 deletion(-)
|
||||
|
||||
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
|
||||
index f658cc0a5fc..b0c4220cc00 100644
|
||||
index 054e87edb7b..e991d3ec2a7 100644
|
||||
--- a/dlls/winegstreamer/media_source.c
|
||||
+++ b/dlls/winegstreamer/media_source.c
|
||||
@@ -1363,7 +1363,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_
|
||||
|
@ -1,8 +1,8 @@
|
||||
From 6f1c7d5735bc793ccfc059c22071ee546db0133a Mon Sep 17 00:00:00 2001
|
||||
From de9678f6fad286785562c01548a9b724c7e27460 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 17 Mar 2021 14:07:52 -0400
|
||||
Subject: [PATCH 18/39] winegstreamer: Implement ::Process(Input/Output) for
|
||||
audio conversion transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::Process(Input/Output) for audio
|
||||
conversion transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
@ -406,10 +406,10 @@ index 6407aff484c..ee6d19e74b6 100644
|
||||
|
||||
HRESULT (CDECL *wg_parser_connect)(struct wg_parser *parser, uint64_t file_size);
|
||||
diff --git a/dlls/winegstreamer/wg_parser.c b/dlls/winegstreamer/wg_parser.c
|
||||
index 44d0c9b71f3..6f4dd28082b 100644
|
||||
index 528e30098fb..23a170f6f74 100644
|
||||
--- a/dlls/winegstreamer/wg_parser.c
|
||||
+++ b/dlls/winegstreamer/wg_parser.c
|
||||
@@ -2328,6 +2328,89 @@ static BOOL wave_parser_init_gst(struct wg_parser *parser)
|
||||
@@ -2327,6 +2327,89 @@ static BOOL wave_parser_init_gst(struct wg_parser *parser)
|
||||
return TRUE;
|
||||
}
|
||||
|
||||
@ -499,7 +499,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
static struct wg_parser *wg_parser_create(void)
|
||||
{
|
||||
struct wg_parser *parser;
|
||||
@@ -2381,6 +2464,15 @@ static struct wg_parser * CDECL wg_wave_parser_create(void)
|
||||
@@ -2380,6 +2463,15 @@ static struct wg_parser * CDECL wg_wave_parser_create(void)
|
||||
return parser;
|
||||
}
|
||||
|
||||
@ -515,7 +515,7 @@ index 44d0c9b71f3..6f4dd28082b 100644
|
||||
static void CDECL wg_parser_destroy(struct wg_parser *parser)
|
||||
{
|
||||
if (parser->bus)
|
||||
@@ -2403,6 +2495,7 @@ static const struct unix_funcs funcs =
|
||||
@@ -2402,6 +2494,7 @@ static const struct unix_funcs funcs =
|
||||
wg_avi_parser_create,
|
||||
wg_mpeg_audio_parser_create,
|
||||
wg_wave_parser_create,
|
||||
|
@ -1,8 +1,8 @@
|
||||
From b3906f3a8faa32710b99a80e374bca70087c5c19 Mon Sep 17 00:00:00 2001
|
||||
From 9a7c5f23fb352d424e7fc83262f5c49e5521dc69 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 17 Mar 2021 15:12:20 -0400
|
||||
Subject: [PATCH 19/39] winegstreamer: Implement ::Get(Input/Output)StreamInfo
|
||||
for audio conversion transform.
|
||||
Subject: [PATCH] winegstreamer: Implement ::Get(Input/Output)StreamInfo for
|
||||
audio conversion transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
|
@ -1,8 +1,8 @@
|
||||
From a7ae40f14dc926f02fca792b11b7374550dbd7ef Mon Sep 17 00:00:00 2001
|
||||
From 39cabd61d7f01a53ae22eb33103ea549b8687259 Mon Sep 17 00:00:00 2001
|
||||
From: Derek Lesho <dlesho@codeweavers.com>
|
||||
Date: Wed, 17 Mar 2021 15:19:32 -0400
|
||||
Subject: [PATCH 20/39] winegstreamer: Semi-stub Get*Attributes functions for
|
||||
audio converter transform.
|
||||
Subject: [PATCH] winegstreamer: Semi-stub Get*Attributes functions for audio
|
||||
converter transform.
|
||||
|
||||
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
|
||||
---
|
||||
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user