Updated mfplat-streaming-support patchset

This commit is contained in:
Alistair Leslie-Hughes 2020-10-21 17:49:59 +11:00
parent 5b5a6de9b8
commit 8cacc0d955
58 changed files with 420 additions and 175 deletions

View File

@ -0,0 +1,39 @@
From 3277e517f89730f9963d4fc619179a882e9911d0 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 16 Oct 2020 16:53:29 -0500
Subject: [PATCH] mfmediaengine: Provide the partial topology to the media
session.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfmediaengine/main.c | 6 ++++++
1 file changed, 6 insertions(+)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
index d93e2b2f38c..d1261e3cd73 100644
--- a/dlls/mfmediaengine/main.c
+++ b/dlls/mfmediaengine/main.c
@@ -418,7 +418,10 @@ static HRESULT media_engine_create_topology(struct media_engine *engine, IMFMedi
{
sd_video = sd;
IMFStreamDescriptor_AddRef(sd_video);
+ /* TODO: reintroduce this once we set up video stream nodes */
+#if 0
IMFPresentationDescriptor_SelectStream(pd, i);
+#endif
}
IMFMediaTypeHandler_Release(type_handler);
@@ -480,6 +483,9 @@ static HRESULT media_engine_create_topology(struct media_engine *engine, IMFMedi
if (audio_src)
IMFTopologyNode_Release(audio_src);
}
+
+ if (SUCCEEDED(hr))
+ hr = IMFMediaSession_SetTopology(engine->session, MFSESSION_SETTOPOLOGY_IMMEDIATE, topology);
}
if (topology)
--
2.28.0

View File

@ -0,0 +1,33 @@
From 0979488b998dde4074fe4f443971fc90534c3fad Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 16 Oct 2020 16:54:57 -0500
Subject: [PATCH] mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_CANPLAY upon
MF_TOPOSTATUS_READY.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfmediaengine/main.c | 8 ++++++++
1 file changed, 8 insertions(+)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
index d1261e3cd73..bc89b2f702a 100644
--- a/dlls/mfmediaengine/main.c
+++ b/dlls/mfmediaengine/main.c
@@ -295,6 +295,14 @@ static HRESULT WINAPI media_engine_session_events_Invoke(IMFAsyncCallback *iface
IMFMediaEngineNotify_EventNotify(engine->callback, event_type == MEBufferingStarted ?
MF_MEDIA_ENGINE_EVENT_BUFFERINGSTARTED : MF_MEDIA_ENGINE_EVENT_BUFFERINGENDED, 0, 0);
break;
+ case MESessionTopologyStatus:
+ {
+ UINT32 topo_status = 0;
+ IMFMediaEvent_GetUINT32(event, &MF_EVENT_TOPOLOGY_STATUS, &topo_status);
+ if (topo_status == MF_TOPOSTATUS_READY)
+ IMFMediaEngineNotify_EventNotify(engine->callback, MF_MEDIA_ENGINE_EVENT_CANPLAY, 0, 0);
+ break;
+ }
}
failed:
--
2.28.0

View File

@ -0,0 +1,29 @@
From a18e891de447633290c6a22ba556bff695ae9f40 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 16 Oct 2020 16:57:21 -0500
Subject: [PATCH] mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_PLAYING upon
MESessionStarted.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfmediaengine/main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
index bc89b2f702a..ed57aec7eb1 100644
--- a/dlls/mfmediaengine/main.c
+++ b/dlls/mfmediaengine/main.c
@@ -303,6 +303,10 @@ static HRESULT WINAPI media_engine_session_events_Invoke(IMFAsyncCallback *iface
IMFMediaEngineNotify_EventNotify(engine->callback, MF_MEDIA_ENGINE_EVENT_CANPLAY, 0, 0);
break;
}
+ case MESessionStarted:
+
+ IMFMediaEngineNotify_EventNotify(engine->callback, MF_MEDIA_ENGINE_EVENT_PLAYING, 0, 0);
+ break;
}
failed:
--
2.28.0

View File

@ -0,0 +1,29 @@
From ef80a5e368f46d035b15910f591fa6e6adf214d4 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 16 Oct 2020 16:58:20 -0500
Subject: [PATCH] mfmediaengine: Issue MF_MEDIA_ENGINE_EVENT_ENDED upon
MESessionEnded.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfmediaengine/main.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
index ed57aec7eb1..fe9aa81121f 100644
--- a/dlls/mfmediaengine/main.c
+++ b/dlls/mfmediaengine/main.c
@@ -307,6 +307,10 @@ static HRESULT WINAPI media_engine_session_events_Invoke(IMFAsyncCallback *iface
IMFMediaEngineNotify_EventNotify(engine->callback, MF_MEDIA_ENGINE_EVENT_PLAYING, 0, 0);
break;
+ case MESessionEnded:
+
+ IMFMediaEngineNotify_EventNotify(engine->callback, MF_MEDIA_ENGINE_EVENT_ENDED, 0, 0);
+ break;
}
failed:
--
2.28.0

View File

@ -1,4 +1,4 @@
From 5b02ea1ed7f44fba8070b9a2ef69b78eb02bf3d7 Mon Sep 17 00:00:00 2001
From 0f807d915d1ee170217cd97d85183922fbda1722 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 14 Oct 2020 11:07:05 -0500
Subject: [PATCH] mf: Unconditionally deliver NULL (EOS) samples.

View File

@ -1,4 +1,4 @@
From fed4032224546cabe827c6621d31d5a72d11c05e Mon Sep 17 00:00:00 2001
From 2e4958801053b8318417b903334fd4c6be817e8e Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 25 Aug 2020 17:35:49 -0500
Subject: [PATCH] winegstreamer: Insert videoconvert into decoded-video

View File

@ -1,4 +1,4 @@
From 87976eb22d5dc1f453edbdf713a768d67d83b1c4 Mon Sep 17 00:00:00 2001
From d25d65e440a32d9a5f5d933084ff0d2d81c1427d Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 25 Aug 2020 17:37:28 -0500
Subject: [PATCH] winegstreamer: Insert audioconvert into decoded audio

View File

@ -1,4 +1,4 @@
From 577e9cb7c2370660c9e0acd1b409dcca398290e0 Mon Sep 17 00:00:00 2001
From 2955cbeaa8b000785b87e39b542d4bebef394644 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 31 Mar 2020 11:21:21 -0500
Subject: [PATCH] winegstreamer: Implement
@ -24,10 +24,10 @@ index 351a6e1edab..e6f3593a74b 100644
if (FAILED(hr))
return;
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 55c07adb1fe..7491b53896f 100644
index a5388840bc5..81d09694dae 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -576,10 +576,7 @@ static void test_source_resolver(void)
@@ -574,10 +574,7 @@ static void test_source_resolver(void)
ok(obj_type == MF_OBJECT_MEDIASOURCE, "got %d\n", obj_type);
hr = IMFMediaSource_CreatePresentationDescriptor(mediasource, &descriptor);
@ -38,7 +38,7 @@ index 55c07adb1fe..7491b53896f 100644
ok(descriptor != NULL, "got %p\n", descriptor);
hr = IMFPresentationDescriptor_GetStreamDescriptorByIndex(descriptor, 0, &selected, &sd);
@@ -599,6 +596,7 @@ todo_wine
@@ -597,6 +594,7 @@ todo_wine
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
hr = IMFMediaType_GetGUID(media_type, &MF_MT_SUBTYPE, &guid);
ok(hr == S_OK, "Failed to get media sub type, hr %#x.\n", hr);
@ -46,7 +46,7 @@ index 55c07adb1fe..7491b53896f 100644
ok(IsEqualGUID(&guid, &MFVideoFormat_M4S2), "Unexpected sub type %s.\n", debugstr_guid(&guid));
IMFMediaType_Release(media_type);
@@ -607,7 +605,10 @@ todo_wine
@@ -605,7 +603,10 @@ todo_wine
var.vt = VT_EMPTY;
hr = IMFMediaSource_Start(mediasource, descriptor, &GUID_NULL, &var);
@ -57,7 +57,7 @@ index 55c07adb1fe..7491b53896f 100644
get_event((IMFMediaEventGenerator *)mediasource, MENewStream, &var);
ok(var.vt == VT_UNKNOWN, "Unexpected value type %u from MENewStream event.\n", var.vt);
@@ -670,11 +671,10 @@ todo_wine
@@ -668,11 +669,10 @@ todo_wine
get_event((IMFMediaEventGenerator *)mediasource, MEEndOfPresentation, NULL);

View File

@ -1,4 +1,4 @@
From 747e873ecc739c3808629b8b16ae3cbf5e8a07d7 Mon Sep 17 00:00:00 2001
From 3bda7ac147cd3bff5c6eabce86a9f54338d4abab Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 24 Mar 2020 16:15:35 -0500
Subject: [PATCH] winegstreamer: Implement IMFMediaSource::Start.
@ -8,14 +8,14 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
dlls/mfplat/tests/mfplat.c | 8 +-
dlls/winegstreamer/gst_private.h | 1 +
dlls/winegstreamer/media_source.c | 307 +++++++++++++++++++++++++++++-
dlls/winegstreamer/mfplat.c | 125 ++++++++++++
4 files changed, 433 insertions(+), 8 deletions(-)
dlls/winegstreamer/mfplat.c | 131 +++++++++++++
4 files changed, 439 insertions(+), 8 deletions(-)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 7491b53896f..ef9837c0a8a 100644
index 81d09694dae..ceabbd09d0d 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -605,10 +605,7 @@ todo_wine
@@ -603,10 +603,7 @@ todo_wine
var.vt = VT_EMPTY;
hr = IMFMediaSource_Start(mediasource, descriptor, &GUID_NULL, &var);
@ -26,7 +26,7 @@ index 7491b53896f..ef9837c0a8a 100644
get_event((IMFMediaEventGenerator *)mediasource, MENewStream, &var);
ok(var.vt == VT_UNKNOWN, "Unexpected value type %u from MENewStream event.\n", var.vt);
@@ -626,10 +623,13 @@ todo_wine
@@ -624,10 +621,13 @@ todo_wine
hr = IMFMediaStream_RequestSample(video_stream, NULL);
if (i == sample_count)
break;
@ -40,7 +40,7 @@ index 7491b53896f..ef9837c0a8a 100644
for (i = 0; i < sample_count; ++i)
{
@@ -667,11 +667,11 @@ todo_wine
@@ -665,11 +665,11 @@ todo_wine
hr = IMFMediaStream_RequestSample(video_stream, NULL);
ok(hr == MF_E_END_OF_STREAM, "Unexpected hr %#x.\n", hr);
@ -441,10 +441,10 @@ index 9b2c2174318..70c5b47ba84 100644
object->bus = gst_bus_new();
gst_bus_set_sync_handler(object->bus, mf_src_bus_watch_wrapper, object, NULL);
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 2e8b0978648..43895c2cb5d 100644
index 2e8b0978648..12bce9257dd 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -601,3 +601,128 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)
@@ -601,3 +601,134 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)
return media_type;
}
@ -506,7 +506,13 @@ index 2e8b0978648..43895c2cb5d 100644
+ gst_caps_set_simple(output, "height", G_TYPE_INT, height, NULL);
+ }
+ if (SUCCEEDED(IMFMediaType_GetUINT64(type, &MF_MT_FRAME_RATE, &frame_rate)))
+ {
+ /* Darksiders: Warmastered Edition uses a MF_MT_FRAME_RATE of 0,
+ and gstreamer won't accept an undefined number as the framerate. */
+ if (!(DWORD32)frame_rate)
+ frame_rate = 1;
+ gst_caps_set_simple(output, "framerate", GST_TYPE_FRACTION, frame_rate >> 32, (DWORD32) frame_rate, NULL);
+ }
+ return output;
+ }
+ else if (IsEqualGUID(&major_type, &MFMediaType_Audio))

View File

@ -1,4 +1,4 @@
From 274fb99e0ecfbec3ef7e6d1b93c4fd5ed2c68529 Mon Sep 17 00:00:00 2001
From 65b1f4c2914cf346efa95bc07e0524c412023762 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 8 Oct 2020 16:39:53 -0500
Subject: [PATCH] winegstreamer: Implement IMFMediaStream::RequestSample.
@ -12,10 +12,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
4 files changed, 161 insertions(+), 5 deletions(-)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index ef9837c0a8a..572cb8dec9a 100644
index ceabbd09d0d..a6bfaab22bf 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -623,13 +623,10 @@ todo_wine
@@ -621,13 +621,10 @@ todo_wine
hr = IMFMediaStream_RequestSample(video_stream, NULL);
if (i == sample_count)
break;
@ -29,7 +29,7 @@ index ef9837c0a8a..572cb8dec9a 100644
for (i = 0; i < sample_count; ++i)
{
@@ -670,7 +667,6 @@ todo_wine
@@ -668,7 +665,6 @@ todo_wine
get_event((IMFMediaEventGenerator *)mediasource, MEEndOfPresentation, NULL);
@ -206,10 +206,10 @@ index 70c5b47ba84..a67f1cb71d7 100644
if (FAILED(hr = MFCreateEventQueue(&object->event_queue)))
goto fail;
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 43895c2cb5d..e50fd2e04ab 100644
index 12bce9257dd..50bda6c6807 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -726,3 +726,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -732,3 +732,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
FIXME("Unrecognized major type %s\n", debugstr_guid(&major_type));
return NULL;
}

View File

@ -1,4 +1,4 @@
From 686c650852f1af5d9aa3197887325472210d2014 Mon Sep 17 00:00:00 2001
From fa168ec5f74da53249dbcc2ec632aa781ac3e5fa Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 15 Sep 2020 14:25:26 -0500
Subject: [PATCH] winegstreamer: Insert parser into pipeline to rectify type
@ -181,7 +181,7 @@ index a67f1cb71d7..c72ac064518 100644
g_signal_connect(object->decodebin, "pad-removed", G_CALLBACK(mf_src_stream_removed_wrapper), object);
g_signal_connect(object->decodebin, "no-more-pads", G_CALLBACK(mf_src_no_more_pads_wrapper), object);
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index e50fd2e04ab..6e1248ef0bd 100644
index 50bda6c6807..34bc2ca4fde 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -602,6 +602,28 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)

View File

@ -1,4 +1,4 @@
From b472ddc94d02fdb30fbf2e848abf544343bc78ae Mon Sep 17 00:00:00 2001
From b619bda7be2574511b8a50881acaf64cd6208d9a Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 24 Mar 2020 16:00:26 -0500
Subject: [PATCH] winegstreamer: Translate H.264 caps to attributes.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 80 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 6e1248ef0bd..f23817cee73 100644
index 34bc2ca4fde..b10486416c3 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -26,6 +26,7 @@

View File

@ -1,4 +1,4 @@
From 726d3d6d9e7d4c836f57d58d95a6135a4c35dda7 Mon Sep 17 00:00:00 2001
From 36dc3a39cac411b6f1b1c8a91d994e38b237473c Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 24 Mar 2020 16:01:20 -0500
Subject: [PATCH] winegstreamer: Translate WMV caps to attributes.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 51 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index f23817cee73..44d27594509 100644
index b10486416c3..a857ffd5f69 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -457,6 +457,24 @@ uncompressed_video_formats[] =

View File

@ -1,4 +1,4 @@
From d6e9efab74da3fc8d64b84d60b043d663e09b0ad Mon Sep 17 00:00:00 2001
From 5d55b4502d6daae2ca84d1955d37483f1a01e159 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 24 Mar 2020 16:02:27 -0500
Subject: [PATCH] winegstreamer: Translate AAC caps to attributes.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 108 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 44d27594509..4fa37ab66d4 100644
index a857ffd5f69..43673a058be 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -457,6 +457,15 @@ uncompressed_video_formats[] =

View File

@ -1,4 +1,4 @@
From 16c6008bab9df24367556daa7c3f8e82a3cd1336 Mon Sep 17 00:00:00 2001
From cd06036658253c87e3be0a229d42d62ef2c86317 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 25 Mar 2020 13:36:19 -0500
Subject: [PATCH] winegstreamer: Translate MPEG-4 Section-2 caps to attributes.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 16 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 4fa37ab66d4..b3bac362cf6 100644
index 43673a058be..f55080685bc 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -650,6 +650,22 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)

View File

@ -1,4 +1,4 @@
From b85bb396862a124034c138c52c3da5511c3a82da Mon Sep 17 00:00:00 2001
From fcf12b069f62a8a2af96a5ffb5a3a14075a3d88f Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 12 May 2020 17:05:41 -0500
Subject: [PATCH] winegstreamer: Translate WMA caps to attributes.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 24 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index b3bac362cf6..dea56839647 100644
index f55080685bc..691ea4b74ed 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -830,6 +830,30 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)

View File

@ -1,4 +1,4 @@
From 9fd2109de96d5804403fa21ea61bb1a429b72090 Mon Sep 17 00:00:00 2001
From 2e3c9e176ce464b1d14efa4b7bb29e1d7fe42e3a Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 24 Mar 2020 16:18:40 -0500
Subject: [PATCH] winegstreamer: Translate H.264 attributes to caps.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 71 insertions(+), 19 deletions(-)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index dea56839647..8461e8af01f 100644
index 691ea4b74ed..24921573235 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -919,10 +919,6 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)

View File

@ -1,4 +1,4 @@
From d71b47eeac4b775c12c0670340559e57b683569d Mon Sep 17 00:00:00 2001
From 926fb4468a42f41404f7dee6a904a60083010017 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 24 Mar 2020 16:20:17 -0500
Subject: [PATCH] winegstreamer: Translate WMV attributes to caps.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 51 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 8461e8af01f..9b495d52659 100644
index 24921573235..9105ce5a221 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -903,6 +903,21 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps)

View File

@ -1,4 +1,4 @@
From 52eb35e32aecd3e1cae54109580495a8502dca45 Mon Sep 17 00:00:00 2001
From f35a9b2a422a8a645141c3fffa2dcdeb15da1083 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 21 Apr 2020 10:31:02 -0500
Subject: [PATCH] winegstreamer: Translate AAC attributes to caps.
@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 66 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 9b495d52659..9b75a709168 100644
index 9105ce5a221..cd8eaecb187 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1100,6 +1100,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -1106,6 +1106,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
return NULL;
}
}

View File

@ -1,4 +1,4 @@
From fea795145aa7b64bbdc99a79c162226d1caa1c77 Mon Sep 17 00:00:00 2001
From 4affbf60a1b64036aac89fee8d776d69254fe6a4 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Mon, 11 May 2020 16:03:09 -0500
Subject: [PATCH] winegstreamer: Translate MPEG-4 Section-2 attributes to caps.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 8 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 9b75a709168..bd2a0ed1cb2 100644
index cd8eaecb187..2168ed153eb 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1026,6 +1026,14 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)

View File

@ -1,4 +1,4 @@
From b96411942630ad39796166ebb615871dd0c8f082 Mon Sep 17 00:00:00 2001
From ad67b975463ddce1226a90a614b691e5d6827108 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 12 May 2020 17:05:59 -0500
Subject: [PATCH] winegstreamer: Translate WMA attributes to caps.
@ -9,10 +9,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 15 insertions(+)
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index bd2a0ed1cb2..ac1fa67da6e 100644
index 2168ed153eb..e73c923dfac 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1174,6 +1174,21 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -1180,6 +1180,21 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
CoTaskMemFree(user_data);
}
}

View File

@ -1,4 +1,4 @@
From e67fd844390a2c32e96a6bfdc0699f34df60480c Mon Sep 17 00:00:00 2001
From db2fbe17c7e382f09e1ec5ffe6350639668a9d88 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 31 Mar 2020 15:15:07 -0500
Subject: [PATCH] winegstreamer: Implement IMFMediaSource::GetCharacteristics.

View File

@ -1,4 +1,4 @@
From 541159bd92669732b4d7fce1cc3eda302ebdbfd8 Mon Sep 17 00:00:00 2001
From 50a40948294f5909903d261b082a954976d1a317 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 31 Mar 2020 15:15:50 -0500
Subject: [PATCH] winegstreamer: Calculate the MF_PD_DURATION of the media

View File

@ -1,4 +1,4 @@
From a59956844940151416ead7c4499bd3edba25682a Mon Sep 17 00:00:00 2001
From b245e88401d65b2f1973dd34297edddd918aed97 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 29 Jan 2020 15:37:39 -0600
Subject: [PATCH] tools: Add support for multiple parent directories.

View File

@ -1,4 +1,4 @@
From dc3695988edeefd857761928c694e8a9908ca1ce Mon Sep 17 00:00:00 2001
From 09d2c93517dd39d6696ffb7a58537c76f4af0847 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 29 Jan 2020 15:30:49 -0600
Subject: [PATCH] mf: Introduce handler helper.

View File

@ -1,4 +1,4 @@
From 57c8325536ff553ded6297f7943d723a2c137eec Mon Sep 17 00:00:00 2001
From fcbd8b1813e95778f7f58445140b9aeeb6dea043 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 25 Mar 2020 10:43:27 -0500
Subject: [PATCH] Introduce IMFSample -> GstBuffer converter.
@ -22,10 +22,10 @@ index df1e643c3f6..db0ea881a83 100644
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index ac1fa67da6e..8528be010cf 100644
index e73c923dfac..2078905f3d7 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1288,3 +1288,77 @@ done:
@@ -1294,3 +1294,77 @@ done:
return out;
}

View File

@ -1,4 +1,4 @@
From a61108b69cbb935ec223146d7d3c45b28f357930 Mon Sep 17 00:00:00 2001
From fb8418e39879f5d091051c3171fdd35913d3b2cb 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.
@ -9,11 +9,11 @@ Subject: [PATCH] winegstreamer: Implement decoder MFT on gstreamer.
dlls/winegstreamer/gst_cbs.h | 23 +
dlls/winegstreamer/gst_private.h | 7 +
dlls/winegstreamer/main.c | 3 +-
dlls/winegstreamer/mf_decode.c | 1321 ++++++++++++++++++
dlls/winegstreamer/mf_decode.c | 1322 ++++++++++++++++++
dlls/winegstreamer/mfplat.c | 118 +-
dlls/winegstreamer/winegstreamer_classes.idl | 12 +
include/mfidl.idl | 2 +
9 files changed, 1550 insertions(+), 2 deletions(-)
9 files changed, 1551 insertions(+), 2 deletions(-)
create mode 100644 dlls/winegstreamer/mf_decode.c
diff --git a/dlls/winegstreamer/Makefile.in b/dlls/winegstreamer/Makefile.in
@ -203,10 +203,10 @@ index 4ca371d58bd..385c5550235 100644
HRESULT WINAPI DllUnregisterServer(void)
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
new file mode 100644
index 00000000000..025af7b91ae
index 00000000000..70a20ebe69b
--- /dev/null
+++ b/dlls/winegstreamer/mf_decode.c
@@ -0,0 +1,1321 @@
@@ -0,0 +1,1322 @@
+#include "config.h"
+
+#include <gst/gst.h>
@ -1159,6 +1159,7 @@ index 00000000000..025af7b91ae
+ gst_element_set_state(decoder->container, GST_STATE_PLAYING);
+
+ decoder->flushing = FALSE;
+ decoder->draining = FALSE;
+ LeaveCriticalSection(&decoder->state_cs);
+
+ hr = S_OK;
@ -1529,7 +1530,7 @@ index 00000000000..025af7b91ae
+ }
+}
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 8528be010cf..52b328ffb3f 100644
index 2078905f3d7..4ffcfa6ede1 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -406,6 +406,16 @@ failed:

View File

@ -1,4 +1,4 @@
From b5d7b985b7f7fe05bb66a4e56c5916da5e07943f Mon Sep 17 00:00:00 2001
From b76b25a9324023698b4fa2b560ecdbef6adca405 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Mon, 23 Mar 2020 11:55:41 -0500
Subject: [PATCH] mfreadwrite: Select all streams when creating a source

View File

@ -1,4 +1,4 @@
From 021788ce61cedfc75669f4651e7349dffe418f76 Mon Sep 17 00:00:00 2001
From a6ee98510618fd6f40a1565a5e7859ddb7971a84 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Mon, 16 Mar 2020 15:27:27 -0500
Subject: [PATCH] Miscellaneous

View File

@ -1,4 +1,4 @@
From b01a705e94b2d10526ed5e7700983e0e404695cc Mon Sep 17 00:00:00 2001
From f86d6f71ca691e1ca6c5493cd59f5731331ec645 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 25 Mar 2020 19:07:11 -0500
Subject: [PATCH] WMV
@ -24,7 +24,7 @@ index 707fc286a69..73359dd622d 100644
HRESULT generic_decoder_construct(REFIID riid, void **obj, enum decoder_type) DECLSPEC_HIDDEN;
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
index 025af7b91ae..7f2dfc8f292 100644
index 70a20ebe69b..2005443a8a6 100644
--- a/dlls/winegstreamer/mf_decode.c
+++ b/dlls/winegstreamer/mf_decode.c
@@ -29,6 +29,9 @@ const GUID *h264_output_types[] = {&MFVideoFormat_NV12, &MFVideoFormat_I420, &MF
@ -52,7 +52,7 @@ index 025af7b91ae..7f2dfc8f292 100644
};
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 52b328ffb3f..55a04ae849c 100644
index 4ffcfa6ede1..84c0080510c 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -416,6 +416,10 @@ static HRESULT aac_decoder_create(REFIID riid, void **ret)

View File

@ -1,4 +1,4 @@
From d8fd50cc7faba6597fbfc20a6a858d31750ea387 Mon Sep 17 00:00:00 2001
From d6984cdf7ff1884be979825a55d4ef3ecfeb500b Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 2 Apr 2020 15:42:18 -0500
Subject: [PATCH] mf: Ask for more samples from upstream node when upon

View File

@ -1,4 +1,4 @@
From e1990607bb7593b2b1bc38b41fbc9a6cb6b0b2e3 Mon Sep 17 00:00:00 2001
From 3161cec52e7d7336a4e174f8246c4577c65b0162 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 2 Apr 2020 15:46:25 -0500
Subject: [PATCH] winegstreamer: Implement IMFMedisStream::GetMediaSource.

View File

@ -1,4 +1,4 @@
From 6d1767216f335bf7267363c35915623f0ac17270 Mon Sep 17 00:00:00 2001
From f2890615b704c6e862748f62e5f6d58690b0c5c6 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 3 Apr 2020 11:12:33 -0500
Subject: [PATCH] Expose PCM output type on AAC decoder.
@ -8,7 +8,7 @@ Subject: [PATCH] Expose PCM output type on AAC decoder.
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
index 7f2dfc8f292..34bcde27a91 100644
index 2005443a8a6..05c99365e32 100644
--- a/dlls/winegstreamer/mf_decode.c
+++ b/dlls/winegstreamer/mf_decode.c
@@ -27,7 +27,7 @@ const GUID *h264_input_types[] = {&MFVideoFormat_H264};

View File

@ -1,4 +1,4 @@
From 82072f24b82d7d64679dad1b33c344d63bc8b2b8 Mon Sep 17 00:00:00 2001
From 3c4c3fe9e8c5cbfbba0b3eef68ac0a4d76460f30 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 1 May 2020 11:46:26 -0500
Subject: [PATCH] mfplat: Add I420 format information.

View File

@ -1,4 +1,4 @@
From 7a06e789504d8a15db11044dbac7191b79cb9392 Mon Sep 17 00:00:00 2001
From d8b84913ec3b536dde7d92a6b552a620b8b64d16 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 1 May 2020 13:20:49 -0500
Subject: [PATCH] winegstreamer: Implement Color Converter MFT.
@ -748,7 +748,7 @@ index 73359dd622d..870344e9273 100644
+
#endif /* __GST_PRIVATE_INCLUDED__ */
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 55a04ae849c..65efb771e0b 100644
index 84c0080510c..271698a1031 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -420,6 +420,9 @@ static HRESULT wmv_decoder_create(REFIID riid, void **ret)

View File

@ -1,4 +1,4 @@
From 3b01bfb7cf705e53e88947743faa8bf64f255eb4 Mon Sep 17 00:00:00 2001
From c65bd3ccfceb87cc2fcd38d64940487bb6b8c341 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 1 May 2020 22:36:02 -0500
Subject: [PATCH] HACK: Set BPS to 16 for output template.
@ -8,7 +8,7 @@ Subject: [PATCH] HACK: Set BPS to 16 for output template.
1 file changed, 5 insertions(+)
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
index 34bcde27a91..a86e9db410e 100644
index 05c99365e32..64138f8cd94 100644
--- a/dlls/winegstreamer/mf_decode.c
+++ b/dlls/winegstreamer/mf_decode.c
@@ -322,6 +322,11 @@ static HRESULT WINAPI mf_decoder_GetOutputAvailableType(IMFTransform *iface, DWO

View File

@ -1,4 +1,4 @@
From 60ea8ccefdb7a0d708d62829a37bfa7f91e88fe2 Mon Sep 17 00:00:00 2001
From d2802d71ac8c0bc76cbd90f3546169b5e9432669 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Mon, 9 Mar 2020 11:59:17 -0500
Subject: [PATCH] Improve tests
@ -13,10 +13,10 @@ Subject: [PATCH] Improve tests
create mode 100644 dlls/mfreadwrite/tests/test.mp4
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 572cb8dec9a..89621feb82d 100644
index a6bfaab22bf..46a7a82fa21 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -440,6 +440,9 @@ static BOOL get_event(IMFMediaEventGenerator *generator, MediaEventType expected
@@ -438,6 +438,9 @@ static BOOL get_event(IMFMediaEventGenerator *generator, MediaEventType expected
return TRUE;
}
@ -26,7 +26,7 @@ index 572cb8dec9a..89621feb82d 100644
static void test_source_resolver(void)
{
struct test_callback callback = { { &test_create_from_url_callback_vtbl } };
@@ -463,6 +466,7 @@ static void test_source_resolver(void)
@@ -461,6 +464,7 @@ static void test_source_resolver(void)
PROPVARIANT var;
HRESULT hr;
GUID guid;
@ -34,7 +34,7 @@ index 572cb8dec9a..89621feb82d 100644
if (!pMFCreateSourceResolver)
{
@@ -596,13 +600,27 @@ static void test_source_resolver(void)
@@ -594,13 +598,27 @@ static void test_source_resolver(void)
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
hr = IMFMediaType_GetGUID(media_type, &MF_MT_SUBTYPE, &guid);
ok(hr == S_OK, "Failed to get media sub type, hr %#x.\n", hr);
@ -65,7 +65,7 @@ index 572cb8dec9a..89621feb82d 100644
var.vt = VT_EMPTY;
hr = IMFMediaSource_Start(mediasource, descriptor, &GUID_NULL, &var);
ok(hr == S_OK, "Failed to start media source, hr %#x.\n", hr);
@@ -613,9 +631,9 @@ todo_wine
@@ -611,9 +629,9 @@ todo_wine
get_event((IMFMediaEventGenerator *)mediasource, MESourceStarted, NULL);
@ -77,7 +77,7 @@ index 572cb8dec9a..89621feb82d 100644
/* Request one beyond EOS, otherwise EndOfStream isn't queued. */
for (i = 0; i <= sample_count; ++i)
@@ -631,9 +649,14 @@ todo_wine
@@ -629,9 +647,14 @@ todo_wine
for (i = 0; i < sample_count; ++i)
{
static const LONGLONG MILLI_TO_100_NANO = 10000;
@ -93,7 +93,7 @@ index 572cb8dec9a..89621feb82d 100644
BOOL ret;
ret = get_event((IMFMediaEventGenerator *)video_stream, MEMediaSample, &var);
@@ -644,19 +667,38 @@ todo_wine
@@ -642,19 +665,38 @@ todo_wine
ok(var.vt == VT_UNKNOWN, "Unexpected value type %u from MEMediaSample event.\n", var.vt);
sample = (IMFSample *)var.punkVal;
@ -141,7 +141,7 @@ index 572cb8dec9a..89621feb82d 100644
}
if (i == sample_count)
@@ -714,6 +756,178 @@ todo_wine
@@ -712,6 +754,178 @@ todo_wine
DeleteFileW(filename);
}
@ -320,7 +320,7 @@ index 572cb8dec9a..89621feb82d 100644
static void init_functions(void)
{
HMODULE mod = GetModuleHandleA("mfplat.dll");
@@ -5639,6 +5853,7 @@ START_TEST(mfplat)
@@ -5637,6 +5851,7 @@ START_TEST(mfplat)
test_MFCreateMFByteStreamOnStream();
test_system_memory_buffer();
test_source_resolver();

View File

@ -1,4 +1,4 @@
From da226874b7c64051cee9bc8e3570e5b01c6b1a86 Mon Sep 17 00:00:00 2001
From ecb3af0934683f2b1ef2ca7e899becad6d00db4c Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 25 Mar 2020 13:58:36 -0500
Subject: [PATCH] Revert "Improve tests"
@ -14,10 +14,10 @@ This reverts commit 603b1717a2b511a66d3be99ab5761d49cd5ef34d.
delete mode 100644 dlls/mfreadwrite/tests/test.mp4
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 89621feb82d..15bd8d207ea 100644
index 46a7a82fa21..54bacbef714 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -440,9 +440,6 @@ static BOOL get_event(IMFMediaEventGenerator *generator, MediaEventType expected
@@ -438,9 +438,6 @@ static BOOL get_event(IMFMediaEventGenerator *generator, MediaEventType expected
return TRUE;
}
@ -27,7 +27,7 @@ index 89621feb82d..15bd8d207ea 100644
static void test_source_resolver(void)
{
struct test_callback callback = { { &test_create_from_url_callback_vtbl } };
@@ -466,7 +463,6 @@ static void test_source_resolver(void)
@@ -464,7 +461,6 @@ static void test_source_resolver(void)
PROPVARIANT var;
HRESULT hr;
GUID guid;
@ -35,7 +35,7 @@ index 89621feb82d..15bd8d207ea 100644
if (!pMFCreateSourceResolver)
{
@@ -600,27 +596,12 @@ static void test_source_resolver(void)
@@ -598,27 +594,12 @@ static void test_source_resolver(void)
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
hr = IMFMediaType_GetGUID(media_type, &MF_MT_SUBTYPE, &guid);
ok(hr == S_OK, "Failed to get media sub type, hr %#x.\n", hr);
@ -65,7 +65,7 @@ index 89621feb82d..15bd8d207ea 100644
var.vt = VT_EMPTY;
hr = IMFMediaSource_Start(mediasource, descriptor, &GUID_NULL, &var);
ok(hr == S_OK, "Failed to start media source, hr %#x.\n", hr);
@@ -631,9 +612,9 @@ static void test_source_resolver(void)
@@ -629,9 +610,9 @@ static void test_source_resolver(void)
get_event((IMFMediaEventGenerator *)mediasource, MESourceStarted, NULL);
@ -77,7 +77,7 @@ index 89621feb82d..15bd8d207ea 100644
/* Request one beyond EOS, otherwise EndOfStream isn't queued. */
for (i = 0; i <= sample_count; ++i)
@@ -649,14 +630,9 @@ static void test_source_resolver(void)
@@ -647,14 +628,9 @@ static void test_source_resolver(void)
for (i = 0; i < sample_count; ++i)
{
static const LONGLONG MILLI_TO_100_NANO = 10000;
@ -93,7 +93,7 @@ index 89621feb82d..15bd8d207ea 100644
BOOL ret;
ret = get_event((IMFMediaEventGenerator *)video_stream, MEMediaSample, &var);
@@ -667,38 +643,19 @@ static void test_source_resolver(void)
@@ -665,38 +641,19 @@ static void test_source_resolver(void)
ok(var.vt == VT_UNKNOWN, "Unexpected value type %u from MEMediaSample event.\n", var.vt);
sample = (IMFSample *)var.punkVal;
@ -141,7 +141,7 @@ index 89621feb82d..15bd8d207ea 100644
}
if (i == sample_count)
@@ -756,178 +713,6 @@ static void test_source_resolver(void)
@@ -754,178 +711,6 @@ static void test_source_resolver(void)
DeleteFileW(filename);
}
@ -320,7 +320,7 @@ index 89621feb82d..15bd8d207ea 100644
static void init_functions(void)
{
HMODULE mod = GetModuleHandleA("mfplat.dll");
@@ -5853,7 +5638,6 @@ START_TEST(mfplat)
@@ -5851,7 +5636,6 @@ START_TEST(mfplat)
test_MFCreateMFByteStreamOnStream();
test_system_memory_buffer();
test_source_resolver();

View File

@ -1,4 +1,4 @@
From 8b1dcc0ce16ad0e0ee933ec8f9ad606f80f6fd0b Mon Sep 17 00:00:00 2001
From 3be4c3745ace90c0ba965b58956086fa8b3c63b6 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 5 May 2020 15:35:16 -0500
Subject: [PATCH] Report streams backwards and only select one of each stream

View File

@ -1,4 +1,4 @@
From 15b2f865bff1b546186ea23dbcb070987b93564f Mon Sep 17 00:00:00 2001
From 1167d2842c13fbc2c0d73a73861b3b6adb7ff2fa Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 7 May 2020 13:09:47 -0500
Subject: [PATCH] winegstreamer: Implement IMFMediaSource::Stop.

View File

@ -1,4 +1,4 @@
From f71c196ffa5529b509f884b234e02426563fadec Mon Sep 17 00:00:00 2001
From a971041d22177263e428c9cbd4ecbf00da901043 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Mon, 11 May 2020 16:05:50 -0500
Subject: [PATCH] winegstreamer: Introduce MPEG-4 Section-2 video decoder.
@ -25,7 +25,7 @@ index 870344e9273..3ae89f511e9 100644
HRESULT generic_decoder_construct(REFIID riid, void **obj, enum decoder_type) DECLSPEC_HIDDEN;
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
index a86e9db410e..c5d9cbad392 100644
index 64138f8cd94..285b3595143 100644
--- a/dlls/winegstreamer/mf_decode.c
+++ b/dlls/winegstreamer/mf_decode.c
@@ -32,6 +32,9 @@ const GUID *aac_output_types[] = {&MFAudioFormat_Float, &MFAudioFormat_PCM};
@ -53,7 +53,7 @@ index a86e9db410e..c5d9cbad392 100644
};
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 65efb771e0b..7ae60626f51 100644
index 271698a1031..32e3188fada 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -421,6 +421,11 @@ static HRESULT wmv_decoder_create(REFIID riid, void **ret)

View File

@ -1,4 +1,4 @@
From cf7389b2369562b2a25c8fab9f439f7f4c002e96 Mon Sep 17 00:00:00 2001
From 932e83c8d004699163c99c6eac90cef0c3cc7034 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 12 May 2020 16:48:52 -0500
Subject: [PATCH] HACK: Switch between all selection streams on

View File

@ -1,4 +1,4 @@
From fb1cfa8db6e327749aef769e385b9effc62a4c09 Mon Sep 17 00:00:00 2001
From 88f26e6f1214bb487ccd0da132e02712520208fc Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 12 May 2020 16:50:41 -0500
Subject: [PATCH] winegstreamer: Introduce WMA audio decoder.
@ -25,7 +25,7 @@ index 3ae89f511e9..dc23d5201b1 100644
};
HRESULT generic_decoder_construct(REFIID riid, void **obj, enum decoder_type) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
index c5d9cbad392..7ce72a9a6a3 100644
index 285b3595143..2cbe99d3168 100644
--- a/dlls/winegstreamer/mf_decode.c
+++ b/dlls/winegstreamer/mf_decode.c
@@ -32,6 +32,9 @@ const GUID *aac_output_types[] = {&MFAudioFormat_Float, &MFAudioFormat_PCM};
@ -53,7 +53,7 @@ index c5d9cbad392..7ce72a9a6a3 100644
&MFMediaType_Video,
m4s2_input_types,
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 7ae60626f51..58ca955f26b 100644
index 32e3188fada..671679a79f6 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -421,6 +421,11 @@ static HRESULT wmv_decoder_create(REFIID riid, void **ret)

View File

@ -1,4 +1,4 @@
From 4cf5138437b957367ba7c455e1f8317eb4cefc94 Mon Sep 17 00:00:00 2001
From 26cddd08d9e48b47c824434ff7a35f9b00d2592e Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 13 May 2020 12:32:42 -0500
Subject: [PATCH] Support stereo down folding.
@ -8,7 +8,7 @@ Subject: [PATCH] Support stereo down folding.
1 file changed, 3 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/mf_decode.c b/dlls/winegstreamer/mf_decode.c
index 7ce72a9a6a3..00f69aa76cc 100644
index 2cbe99d3168..0646cb2e845 100644
--- a/dlls/winegstreamer/mf_decode.c
+++ b/dlls/winegstreamer/mf_decode.c
@@ -327,9 +327,11 @@ static HRESULT WINAPI mf_decoder_GetOutputAvailableType(IMFTransform *iface, DWO

View File

@ -1,4 +1,4 @@
From 921b962ffd346cdcd3764a4182a34d81d5b9c3c7 Mon Sep 17 00:00:00 2001
From 228050f3e8332e3103ca87128205757c9fbbc882 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 11 Aug 2020 13:41:15 -0500
Subject: [PATCH] winegstreamer: Implement MF_SD_LANGUAGE.

View File

@ -1,4 +1,4 @@
From 1c7e8fb2a1af7c477e6b3d4df89d27df9626fcc6 Mon Sep 17 00:00:00 2001
From 43c50513cf0e38283b1b3023bf89e376b29b1170 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 11 Aug 2020 15:58:42 -0500
Subject: [PATCH] Revert "mf/topoloader: Add a structure for iterative branch

View File

@ -1,4 +1,4 @@
From a9fa76930f0473e59f5de61b2e245266c93383e0 Mon Sep 17 00:00:00 2001
From 0f71d1c1d2f83c106c47238abfca031a87ba9ed5 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 11 Aug 2020 15:59:04 -0500
Subject: [PATCH] Revert "mf/topoloader: Clone source nodes as a first layer of

View File

@ -1,4 +1,4 @@
From 7520143f940aefca819b2fa734e3dc9777f67d1c Mon Sep 17 00:00:00 2001
From b98ec8f3893db87d0447cee393046724d50e6095 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 11 Aug 2020 15:59:13 -0500
Subject: [PATCH] Revert "mf/topoloader: Switch to public interface for initial

View File

@ -1,4 +1,4 @@
From a89cd98a0cc6fa156e0a6f2aac33eab6f3384e56 Mon Sep 17 00:00:00 2001
From 5b70027166ade658adc0663c9e0e298c42863fb1 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sergio=20G=C3=B3mez=20Del=20Real?=
<sdelreal@codeweavers.com>
Date: Wed, 1 Apr 2020 16:11:07 -0500

View File

@ -1,4 +1,4 @@
From 1ee32d49248a9bc778a68d8cccb252e9f0dd849c Mon Sep 17 00:00:00 2001
From 6ee9420f664a124ad8cb96f85133289ba635e516 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 2 Apr 2020 15:43:52 -0500
Subject: [PATCH] mf: Miscelaneous fixes to topology resolution.

View File

@ -1,4 +1,4 @@
From d8a7489049950d34ca66fc9b092348911443f6e9 Mon Sep 17 00:00:00 2001
From b092f2d0086661a511f7e5bf78a8dfe909eb977a Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 2 Apr 2020 15:45:52 -0500
Subject: [PATCH] Rewrite branch resolver.

View File

@ -1,4 +1,4 @@
From 0f48d8126232b0c3ac0d49a6429002ddffbb2ba2 Mon Sep 17 00:00:00 2001
From fa2952956340a84140071cd64b194223e2ea1c69 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 26 Aug 2020 10:23:58 -0500
Subject: [PATCH] mf/sar: Compare against native media type in

View File

@ -1,4 +1,4 @@
From 8b3eaf787fa0df4d29285b9bcb43a6b611f99dbb Mon Sep 17 00:00:00 2001
From 2ecfd76aca48737b4fc2fa2ada0bcc7c6710cfd3 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 26 Aug 2020 10:28:37 -0500
Subject: [PATCH] winegstreamer: Implement audio conversion MFT.
@ -806,7 +806,7 @@ index dc23d5201b1..6e718aa6ebe 100644
#endif /* __GST_PRIVATE_INCLUDED__ */
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 58ca955f26b..36f1c2d13fc 100644
index 671679a79f6..f07c074cbc4 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -433,6 +433,8 @@ static HRESULT m4s2_decoder_create(REFIID riid, void **ret)

View File

@ -1,4 +1,4 @@
From 56917d0d84efe6234170112713d3685e67c0b0f2 Mon Sep 17 00:00:00 2001
From 33261027f472d8b1b6100c884861708f4fa406a3 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Wed, 14 Oct 2020 11:07:34 -0500
Subject: [PATCH] HACK: Shutdown media sinks on session shutdown.

View File

@ -0,0 +1,27 @@
From 0f61590d7908f62de6f1771e49743245d7ff34bd Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Thu, 15 Oct 2020 12:18:10 -0500
Subject: [PATCH] HACK: Flush decoder when changing times.
---
dlls/mf/session.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/dlls/mf/session.c b/dlls/mf/session.c
index 6fce432da72..856daebf6b4 100644
--- a/dlls/mf/session.c
+++ b/dlls/mf/session.c
@@ -2094,7 +2094,10 @@ static void session_set_presentation_clock(struct media_session *session)
LIST_FOR_EACH_ENTRY(node, &session->presentation.nodes, struct topo_node, entry)
{
if (node->type == MF_TOPOLOGY_TRANSFORM_NODE)
+ {
+ IMFTransform_ProcessMessage(node->object.transform, MFT_MESSAGE_COMMAND_FLUSH, 0);
IMFTransform_ProcessMessage(node->object.transform, MFT_MESSAGE_NOTIFY_START_OF_STREAM, 0);
+ }
}
if (!(session->presentation.flags & SESSION_FLAG_PRESENTATION_CLOCK_SET))
--
2.28.0

View File

@ -0,0 +1,75 @@
From 2645e2a08071297f4ef9418d1cf7a323b846680b Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Fri, 16 Oct 2020 16:59:32 -0500
Subject: [PATCH] mfmediaengine: Implement GetNativeVideoSize.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfmediaengine/main.c | 30 ++++++++++++++++++++++++++++--
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/dlls/mfmediaengine/main.c b/dlls/mfmediaengine/main.c
index fe9aa81121f..44e298bf5ef 100644
--- a/dlls/mfmediaengine/main.c
+++ b/dlls/mfmediaengine/main.c
@@ -84,6 +84,7 @@ struct media_engine
double default_playback_rate;
double volume;
double duration;
+ DWORD vid_width, vid_height;
MF_MEDIA_ENGINE_ERR error_code;
HRESULT extended_code;
MF_MEDIA_ENGINE_READY ready_state;
@@ -432,12 +433,26 @@ static HRESULT media_engine_create_topology(struct media_engine *engine, IMFMedi
}
else if (IsEqualGUID(&major, &MFMediaType_Video) && !sd_video && !(engine->flags & MF_MEDIA_ENGINE_AUDIOONLY))
{
+ IMFMediaType *video_type;
+ UINT64 frame_size;
+
sd_video = sd;
IMFStreamDescriptor_AddRef(sd_video);
/* TODO: reintroduce this once we set up video stream nodes */
#if 0
IMFPresentationDescriptor_SelectStream(pd, i);
#endif
+
+ engine->vid_width = 0;
+ engine->vid_height = 0;
+ if (SUCCEEDED(IMFMediaTypeHandler_GetCurrentMediaType(type_handler, &video_type)))
+ {
+ if (SUCCEEDED(IMFMediaType_GetUINT64(video_type, &MF_MT_FRAME_SIZE, &frame_size)))
+ {
+ engine->vid_width = frame_size >> 32;
+ engine->vid_height = frame_size;
+ }
+ }
}
IMFMediaTypeHandler_Release(type_handler);
@@ -1136,9 +1151,20 @@ static BOOL WINAPI media_engine_HasAudio(IMFMediaEngine *iface)
static HRESULT WINAPI media_engine_GetNativeVideoSize(IMFMediaEngine *iface, DWORD *cx, DWORD *cy)
{
- FIXME("(%p, %p, %p): stub.\n", iface, cx, cy);
+ struct media_engine *engine = impl_from_IMFMediaEngine(iface);
- return E_NOTIMPL;
+ TRACE("(%p, %p, %p)\n", iface, cx, cy);
+
+ if (!(engine->flags & FLAGS_ENGINE_HAS_VIDEO))
+ return E_INVALIDARG;
+
+ if (!engine->vid_width || !engine->vid_height)
+ return E_FAIL;
+
+ *cx = engine->vid_width;
+ *cy = engine->vid_height;
+
+ return S_OK;
}
static HRESULT WINAPI media_engine_GetVideoAspectRatio(IMFMediaEngine *iface, DWORD *cx, DWORD *cy)
--
2.28.0

View File

@ -2854,66 +2854,72 @@ fi
# |
# | Modified files:
# | * dlls/mf/Makefile.in, dlls/mf/handler.c, dlls/mf/handler.h, dlls/mf/main.c, dlls/mf/sar.c, dlls/mf/session.c,
# | dlls/mf/tests/mf.c, dlls/mf/topology.c, dlls/mfplat/mediatype.c, dlls/mfplat/tests/mfplat.c, dlls/mfplat/tests/test.mp4,
# | dlls/mfreadwrite/reader.c, dlls/mfreadwrite/tests/mfplat.c, dlls/mfreadwrite/tests/resource.rc,
# | dlls/mfreadwrite/tests/test.mp4, dlls/winegstreamer/Makefile.in, dlls/winegstreamer/audioconvert.c,
# | dlls/winegstreamer/colorconvert.c, dlls/winegstreamer/gst_cbs.c, dlls/winegstreamer/gst_cbs.h,
# | dlls/winegstreamer/gst_private.h, dlls/winegstreamer/main.c, dlls/winegstreamer/media_source.c,
# | dlls/winegstreamer/mf_decode.c, dlls/winegstreamer/mfplat.c, dlls/winegstreamer/winegstreamer_classes.idl,
# | include/mfidl.idl, tools/make_makefiles, tools/makedep.c
# | dlls/mf/tests/mf.c, dlls/mf/topology.c, dlls/mfmediaengine/main.c, dlls/mfplat/mediatype.c, dlls/mfplat/tests/mfplat.c,
# | dlls/mfplat/tests/test.mp4, dlls/mfreadwrite/reader.c, dlls/mfreadwrite/tests/mfplat.c,
# | dlls/mfreadwrite/tests/resource.rc, dlls/mfreadwrite/tests/test.mp4, dlls/winegstreamer/Makefile.in,
# | dlls/winegstreamer/audioconvert.c, dlls/winegstreamer/colorconvert.c, dlls/winegstreamer/gst_cbs.c,
# | dlls/winegstreamer/gst_cbs.h, dlls/winegstreamer/gst_private.h, dlls/winegstreamer/main.c,
# | dlls/winegstreamer/media_source.c, dlls/winegstreamer/mf_decode.c, dlls/winegstreamer/mfplat.c,
# | dlls/winegstreamer/winegstreamer_classes.idl, include/mfidl.idl, tools/make_makefiles, tools/makedep.c
# |
if test "$enable_mfplat_streaming_support" -eq 1; then
patch_apply mfplat-streaming-support/0001-mf-Unconditionally-deliver-NULL-EOS-samples.patch
patch_apply mfplat-streaming-support/0002-winegstreamer-Insert-videoconvert-into-decoded-video.patch
patch_apply mfplat-streaming-support/0003-winegstreamer-Insert-audioconvert-into-decoded-audio.patch
patch_apply mfplat-streaming-support/0004-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch
patch_apply mfplat-streaming-support/0005-winegstreamer-Implement-IMFMediaSource-Start.patch
patch_apply mfplat-streaming-support/0006-winegstreamer-Implement-IMFMediaStream-RequestSample.patch
patch_apply mfplat-streaming-support/0007-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch
patch_apply mfplat-streaming-support/0008-winegstreamer-Translate-H.264-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0009-winegstreamer-Translate-WMV-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0010-winegstreamer-Translate-AAC-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0011-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch
patch_apply mfplat-streaming-support/0012-winegstreamer-Translate-WMA-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0013-winegstreamer-Translate-H.264-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0014-winegstreamer-Translate-WMV-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0015-winegstreamer-Translate-AAC-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0016-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch
patch_apply mfplat-streaming-support/0017-winegstreamer-Translate-WMA-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0018-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch
patch_apply mfplat-streaming-support/0019-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch
patch_apply mfplat-streaming-support/0020-tools-Add-support-for-multiple-parent-directories.patch
patch_apply mfplat-streaming-support/0021-mf-Introduce-handler-helper.patch
patch_apply mfplat-streaming-support/0022-Introduce-IMFSample-GstBuffer-converter.patch
patch_apply mfplat-streaming-support/0023-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch
patch_apply mfplat-streaming-support/0024-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch
patch_apply mfplat-streaming-support/0025-Miscellaneous.patch
patch_apply mfplat-streaming-support/0026-WMV.patch
patch_apply mfplat-streaming-support/0027-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch
patch_apply mfplat-streaming-support/0028-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch
patch_apply mfplat-streaming-support/0029-Expose-PCM-output-type-on-AAC-decoder.patch
patch_apply mfplat-streaming-support/0030-mfplat-Add-I420-format-information.patch
patch_apply mfplat-streaming-support/0031-winegstreamer-Implement-Color-Converter-MFT.patch
patch_apply mfplat-streaming-support/0032-HACK-Set-BPS-to-16-for-output-template.patch
patch_apply mfplat-streaming-support/0033-Improve-tests.patch
patch_apply mfplat-streaming-support/0034-Revert-Improve-tests.patch
patch_apply mfplat-streaming-support/0035-Report-streams-backwards-and-only-select-one-of-each.patch
patch_apply mfplat-streaming-support/0036-winegstreamer-Implement-IMFMediaSource-Stop.patch
patch_apply mfplat-streaming-support/0037-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch
patch_apply mfplat-streaming-support/0038-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch
patch_apply mfplat-streaming-support/0039-winegstreamer-Introduce-WMA-audio-decoder.patch
patch_apply mfplat-streaming-support/0040-Support-stereo-down-folding.patch
patch_apply mfplat-streaming-support/0041-winegstreamer-Implement-MF_SD_LANGUAGE.patch
patch_apply mfplat-streaming-support/0042-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch
patch_apply mfplat-streaming-support/0043-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch
patch_apply mfplat-streaming-support/0044-Revert-mf-topoloader-Switch-to-public-interface-for-.patch
patch_apply mfplat-streaming-support/0045-mf-Partially-implement-the-topology-loader.patch
patch_apply mfplat-streaming-support/0046-mf-Miscelaneous-fixes-to-topology-resolution.patch
patch_apply mfplat-streaming-support/0047-Rewrite-branch-resolver.patch
patch_apply mfplat-streaming-support/0048-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch
patch_apply mfplat-streaming-support/0049-winegstreamer-Implement-audio-conversion-MFT.patch
patch_apply mfplat-streaming-support/0050-HACK-Shutdown-media-sinks-on-session-shutdown.patch
patch_apply mfplat-streaming-support/0053-winegstreamer-Support-eAVEncH264VProfile_Constrained.patch
patch_apply mfplat-streaming-support/0001-mfmediaengine-Provide-the-partial-topology-to-the-me.patch
patch_apply mfplat-streaming-support/0002-mfmediaengine-Issue-MF_MEDIA_ENGINE_EVENT_CANPLAY-up.patch
patch_apply mfplat-streaming-support/0003-mfmediaengine-Issue-MF_MEDIA_ENGINE_EVENT_PLAYING-up.patch
patch_apply mfplat-streaming-support/0004-mfmediaengine-Issue-MF_MEDIA_ENGINE_EVENT_ENDED-upon.patch
patch_apply mfplat-streaming-support/0005-mf-Unconditionally-deliver-NULL-EOS-samples.patch
patch_apply mfplat-streaming-support/0006-winegstreamer-Insert-videoconvert-into-decoded-video.patch
patch_apply mfplat-streaming-support/0007-winegstreamer-Insert-audioconvert-into-decoded-audio.patch
patch_apply mfplat-streaming-support/0008-winegstreamer-Implement-IMFMediaSource-CreatePresent.patch
patch_apply mfplat-streaming-support/0009-winegstreamer-Implement-IMFMediaSource-Start.patch
patch_apply mfplat-streaming-support/0010-winegstreamer-Implement-IMFMediaStream-RequestSample.patch
patch_apply mfplat-streaming-support/0011-winegstreamer-Insert-parser-into-pipeline-to-rectify.patch
patch_apply mfplat-streaming-support/0012-winegstreamer-Translate-H.264-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0013-winegstreamer-Translate-WMV-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0014-winegstreamer-Translate-AAC-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0015-winegstreamer-Translate-MPEG-4-Section-2-caps-to-att.patch
patch_apply mfplat-streaming-support/0016-winegstreamer-Translate-WMA-caps-to-attributes.patch
patch_apply mfplat-streaming-support/0017-winegstreamer-Translate-H.264-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0018-winegstreamer-Translate-WMV-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0019-winegstreamer-Translate-AAC-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0020-winegstreamer-Translate-MPEG-4-Section-2-attributes-.patch
patch_apply mfplat-streaming-support/0021-winegstreamer-Translate-WMA-attributes-to-caps.patch
patch_apply mfplat-streaming-support/0022-winegstreamer-Implement-IMFMediaSource-GetCharacteri.patch
patch_apply mfplat-streaming-support/0023-winegstreamer-Calculate-the-MF_PD_DURATION-of-the-me.patch
patch_apply mfplat-streaming-support/0024-tools-Add-support-for-multiple-parent-directories.patch
patch_apply mfplat-streaming-support/0025-mf-Introduce-handler-helper.patch
patch_apply mfplat-streaming-support/0026-Introduce-IMFSample-GstBuffer-converter.patch
patch_apply mfplat-streaming-support/0027-winegstreamer-Implement-decoder-MFT-on-gstreamer.patch
patch_apply mfplat-streaming-support/0028-mfreadwrite-Select-all-streams-when-creating-a-sourc.patch
patch_apply mfplat-streaming-support/0029-Miscellaneous.patch
patch_apply mfplat-streaming-support/0030-WMV.patch
patch_apply mfplat-streaming-support/0031-mf-Ask-for-more-samples-from-upstream-node-when-upon.patch
patch_apply mfplat-streaming-support/0032-winegstreamer-Implement-IMFMedisStream-GetMediaSourc.patch
patch_apply mfplat-streaming-support/0033-Expose-PCM-output-type-on-AAC-decoder.patch
patch_apply mfplat-streaming-support/0034-mfplat-Add-I420-format-information.patch
patch_apply mfplat-streaming-support/0035-winegstreamer-Implement-Color-Converter-MFT.patch
patch_apply mfplat-streaming-support/0036-HACK-Set-BPS-to-16-for-output-template.patch
patch_apply mfplat-streaming-support/0037-Improve-tests.patch
patch_apply mfplat-streaming-support/0038-Revert-Improve-tests.patch
patch_apply mfplat-streaming-support/0039-Report-streams-backwards-and-only-select-one-of-each.patch
patch_apply mfplat-streaming-support/0040-winegstreamer-Implement-IMFMediaSource-Stop.patch
patch_apply mfplat-streaming-support/0041-winegstreamer-Introduce-MPEG-4-Section-2-video-decod.patch
patch_apply mfplat-streaming-support/0042-HACK-Switch-between-all-selection-streams-on-MF_SOUR.patch
patch_apply mfplat-streaming-support/0043-winegstreamer-Introduce-WMA-audio-decoder.patch
patch_apply mfplat-streaming-support/0044-Support-stereo-down-folding.patch
patch_apply mfplat-streaming-support/0045-winegstreamer-Implement-MF_SD_LANGUAGE.patch
patch_apply mfplat-streaming-support/0046-Revert-mf-topoloader-Add-a-structure-for-iterative-b.patch
patch_apply mfplat-streaming-support/0047-Revert-mf-topoloader-Clone-source-nodes-as-a-first-l.patch
patch_apply mfplat-streaming-support/0048-Revert-mf-topoloader-Switch-to-public-interface-for-.patch
patch_apply mfplat-streaming-support/0049-mf-Partially-implement-the-topology-loader.patch
patch_apply mfplat-streaming-support/0050-mf-Miscelaneous-fixes-to-topology-resolution.patch
patch_apply mfplat-streaming-support/0051-Rewrite-branch-resolver.patch
patch_apply mfplat-streaming-support/0052-mf-sar-Compare-against-native-media-type-in-IsMediaT.patch
patch_apply mfplat-streaming-support/0053-winegstreamer-Implement-audio-conversion-MFT.patch
patch_apply mfplat-streaming-support/0054-HACK-Shutdown-media-sinks-on-session-shutdown.patch
patch_apply mfplat-streaming-support/0055-HACK-Flush-decoder-when-changing-times.patch
patch_apply mfplat-streaming-support/0056-mfmediaengine-Implement-GetNativeVideoSize.patch
patch_apply mfplat-streaming-support/0060-winegstreamer-Support-eAVEncH264VProfile_Constrained.patch
fi
# Patchset mmsystem.dll16-MIDIHDR_Refcount