Updated mfplat-streaming-support patchset

This commit is contained in:
Alistair Leslie-Hughes 2020-10-28 15:13:16 +11:00
parent 819539b19f
commit 495ae4e9af
56 changed files with 389 additions and 173 deletions

View File

@ -1,4 +1,4 @@
From 3277e517f89730f9963d4fc619179a882e9911d0 Mon Sep 17 00:00:00 2001
From d62c72b607a0afed782df3b1c0bdba6eec5a538e 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

View File

@ -1,4 +1,4 @@
From 0979488b998dde4074fe4f443971fc90534c3fad Mon Sep 17 00:00:00 2001
From afcfca53cc7f15bf0f49463d46b865ba254b70d2 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

View File

@ -1,4 +1,4 @@
From a18e891de447633290c6a22ba556bff695ae9f40 Mon Sep 17 00:00:00 2001
From 63f092c3ef53718cdeaf1564ac3793cc65891109 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

View File

@ -1,4 +1,4 @@
From ef80a5e368f46d035b15910f591fa6e6adf214d4 Mon Sep 17 00:00:00 2001
From d2b277c0588a44e56fa260de34d61f1ca0d16a9d 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

View File

@ -1,4 +1,4 @@
From 0f807d915d1ee170217cd97d85183922fbda1722 Mon Sep 17 00:00:00 2001
From 6f5a552ebbe6bcafed0b92de60c7104fb1021c64 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

@ -0,0 +1,27 @@
From d0b869a25b3924794855379017bf023241397ae8 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 27 Oct 2020 10:18:22 -0500
Subject: [PATCH] winegstreamer: Replace gst_pad_get_current_caps with
gst_pad_query_caps.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/winegstreamer/media_source.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 0991710755c..d6c7837e544 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -388,7 +388,7 @@ static const IMFMediaStreamVtbl media_stream_vtbl =
the user throws at us through gstreamer's caps negotiation. */
static HRESULT media_stream_connect_to_sink(struct media_stream *stream)
{
- GstCaps *source_caps = gst_pad_get_current_caps(stream->their_src);
+ GstCaps *source_caps = gst_pad_query_caps(stream->their_src, NULL);
const gchar *stream_type;
if (!source_caps)
--
2.28.0

View File

@ -1,4 +1,4 @@
From 2955cbeaa8b000785b87e39b542d4bebef394644 Mon Sep 17 00:00:00 2001
From 6d7bcc3e6efe220d010aa72039e3f0dc71b63f1f 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
@ -8,14 +8,15 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mf/tests/mf.c | 1 -
dlls/mfplat/tests/mfplat.c | 10 +++++-----
dlls/mfreadwrite/tests/mfplat.c | 15 ++++++++++-----
dlls/winegstreamer/media_source.c | 28 ++++++++++++++++++++++++++--
3 files changed, 31 insertions(+), 8 deletions(-)
4 files changed, 41 insertions(+), 13 deletions(-)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index 351a6e1edab..e6f3593a74b 100644
index b110c0ec9ef..be8241a51d7 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -1451,7 +1451,6 @@ todo_wine
@@ -1452,7 +1452,6 @@ todo_wine
return;
hr = IMFMediaSource_CreatePresentationDescriptor(source, &pd);
@ -24,7 +25,7 @@ index 351a6e1edab..e6f3593a74b 100644
if (FAILED(hr))
return;
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index a5388840bc5..81d09694dae 100644
index 971469ec574..6a1a5bafc1a 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -574,10 +574,7 @@ static void test_source_resolver(void)
@ -70,6 +71,61 @@ index a5388840bc5..81d09694dae 100644
hr = IMFMediaSource_Shutdown(mediasource);
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index 84581f9be9a..cfe68cb6736 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -627,14 +627,13 @@ static void test_source_reader(void)
stream = get_resource_stream("test.wav");
hr = MFCreateSourceReaderFromByteStream(stream, NULL, &reader);
-todo_wine
- ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
-
if (FAILED(hr))
{
+ skip("MFCreateSourceReaderFromByteStream() failed, is G-Streamer missing?\n");
IMFByteStream_Release(stream);
return;
}
+ ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
/* Access underlying media source object. */
hr = IMFSourceReader_GetServiceForStream(reader, MF_SOURCE_READER_MEDIASOURCE, &GUID_NULL, &IID_IMFMediaSource,
@@ -723,7 +722,10 @@ todo_wine
hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_AUDIO_STREAM, 0, &actual_index, &stream_flags,
&timestamp, &sample);
+todo_wine
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
+ if (hr != S_OK)
+ goto skip_read_sample;
ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
ok(!stream_flags, "Unexpected stream flags %#x.\n", stream_flags);
IMFSample_Release(sample);
@@ -784,6 +786,8 @@ todo_wine
ok(stream_flags == MF_SOURCE_READERF_ENDOFSTREAM, "Unexpected stream flags %#x.\n", stream_flags);
ok(!sample, "Unexpected sample object.\n");
+skip_read_sample:
+
/* Flush. */
hr = IMFSourceReader_Flush(reader, MF_SOURCE_READER_FIRST_VIDEO_STREAM);
ok(hr == MF_E_INVALIDSTREAMNUMBER, "Unexpected hr %#x.\n", hr);
@@ -814,10 +818,11 @@ todo_wine
IMFSourceReaderCallback_Release(&callback->IMFSourceReaderCallback_iface);
hr = MFCreateSourceReaderFromByteStream(stream, attributes, &reader);
+todo_wine
ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
IMFAttributes_Release(attributes);
-
- IMFSourceReader_Release(reader);
+ if (hr == S_OK)
+ IMFSourceReader_Release(reader);
IMFByteStream_Release(stream);
}
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index d6c7837e544..9b2c2174318 100644
--- a/dlls/winegstreamer/media_source.c

View File

@ -0,0 +1,100 @@
From 1558eef3ca2e063c10b29796ba85f1c891170c61 Mon Sep 17 00:00:00 2001
From: Derek Lesho <dlesho@codeweavers.com>
Date: Tue, 27 Oct 2020 09:44:11 -0500
Subject: [PATCH] mfreadwrite: Abort ReadSample when unable to request any
samples.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfreadwrite/reader.c | 14 +++++++++++---
dlls/mfreadwrite/tests/mfplat.c | 26 ++++++++++++++++++++++++++
2 files changed, 37 insertions(+), 3 deletions(-)
diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c
index 96a82b798ab..7dcae5a1cfa 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -439,7 +439,8 @@ static HRESULT source_reader_new_stream_handler(struct source_reader *reader, IM
}
if (reader->streams[i].requests)
- source_reader_request_sample(reader, &reader->streams[i]);
+ if (FAILED(source_reader_request_sample(reader, &reader->streams[i])))
+ WakeAllConditionVariable(&reader->sample_event);
}
break;
}
@@ -1780,10 +1781,17 @@ static HRESULT source_reader_read_sample(struct source_reader *reader, DWORD ind
stream->requests++;
if (FAILED(hr = source_reader_request_sample(reader, stream)))
WARN("Failed to request a sample, hr %#x.\n", hr);
+ if (stream->stream && !(stream->flags & STREAM_FLAG_SAMPLE_REQUESTED))
+ {
+ *actual_index = index;
+ *stream_flags = MF_SOURCE_READERF_ERROR;
+ *timestamp = 0;
+ break;
+ }
SleepConditionVariableCS(&reader->sample_event, &reader->cs, INFINITE);
}
-
- source_reader_get_read_result(reader, stream, flags, &hr, actual_index, stream_flags,
+ if (SUCCEEDED(hr))
+ source_reader_get_read_result(reader, stream, flags, &hr, actual_index, stream_flags,
timestamp, sample);
}
}
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index cfe68cb6736..0e5053f905f 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -158,6 +158,8 @@ static HRESULT WINAPI test_media_stream_GetStreamDescriptor(IMFMediaStream *ifac
return S_OK;
}
+static BOOL fail_request_sample;
+
static HRESULT WINAPI test_media_stream_RequestSample(IMFMediaStream *iface, IUnknown *token)
{
struct test_media_stream *stream = impl_from_IMFMediaStream(iface);
@@ -165,6 +167,9 @@ static HRESULT WINAPI test_media_stream_RequestSample(IMFMediaStream *iface, IUn
IMFSample *sample;
HRESULT hr;
+ if (fail_request_sample)
+ return E_NOTIMPL;
+
hr = MFCreateSample(&sample);
ok(hr == S_OK, "Failed to create a sample, hr %#x.\n", hr);
hr = IMFSample_SetSampleTime(sample, 123);
@@ -977,6 +982,27 @@ static void test_source_reader_from_media_source(void)
ok(hr == MF_E_NOTACCEPTING, "Unexpected hr %#x.\n", hr);
IMFSourceReader_Release(reader);
+ IMFMediaSource_Release(source);
+
+ /* RequestSample failure. */
+ source = create_test_source();
+ ok(!!source, "Failed to create test source.\n");
+
+ fail_request_sample = TRUE;
+
+ hr = MFCreateSourceReaderFromMediaSource(source, NULL, &reader);
+ ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
+
+ hr = IMFSourceReader_SetStreamSelection(reader, 0, TRUE);
+ ok(hr == S_OK, "Failed to select a stream, hr %#x.\n", hr);
+
+ hr = IMFSourceReader_ReadSample(reader, 0, 0, &actual_index, &stream_flags, &timestamp, &sample);
+ ok(hr == E_NOTIMPL, "Unexpected ReadSample result, hr %#x.\n", hr);
+
+ IMFSourceReader_Release(reader);
+ IMFMediaSource_Release(source);
+
+ fail_request_sample = FALSE;
}
START_TEST(mfplat)
--
2.28.0

View File

@ -1,4 +1,4 @@
From 3bda7ac147cd3bff5c6eabce86a9f54338d4abab Mon Sep 17 00:00:00 2001
From 34618e06f5d5ca7c90fbe9b788efb5c9ef86ee50 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,11 +8,11 @@ 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 | 131 +++++++++++++
4 files changed, 439 insertions(+), 8 deletions(-)
dlls/winegstreamer/mfplat.c | 130 +++++++++++++
4 files changed, 438 insertions(+), 8 deletions(-)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index 81d09694dae..ceabbd09d0d 100644
index 6a1a5bafc1a..a080035e477 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -603,10 +603,7 @@ todo_wine
@ -54,10 +54,10 @@ index 81d09694dae..ceabbd09d0d 100644
IMFPresentationDescriptor_Release(descriptor);
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 60b38a48f5a..07556802a51 100644
index 57d40d19a89..3a8020b6760 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -57,6 +57,7 @@ extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj)
@@ -79,6 +79,7 @@ extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj)
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) DECLSPEC_HIDDEN;
@ -66,7 +66,7 @@ index 60b38a48f5a..07556802a51 100644
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 9b2c2174318..70c5b47ba84 100644
index 9b2c2174318..9c6e7bfd539 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -55,14 +55,38 @@ struct media_stream
@ -294,7 +294,7 @@ index 9b2c2174318..70c5b47ba84 100644
+ IMFMediaTypeHandler_GetCurrentMediaType(mth, &current_mt);
+ current_caps = caps_from_mf_media_type(current_mt);
+ g_object_get(stream->appsink, "caps", &prev_caps, NULL);
+ if (!gst_caps_is_equal(prev_caps, current_caps))
+ if (!prev_caps || !gst_caps_is_equal(prev_caps, current_caps))
+ {
+ GstEvent *reconfigure_event = gst_event_new_reconfigure();
+ g_object_set(stream->appsink, "caps", current_caps, NULL);
@ -302,7 +302,8 @@ index 9b2c2174318..70c5b47ba84 100644
+ }
+
+ gst_caps_unref(current_caps);
+ gst_caps_unref(prev_caps);
+ if (prev_caps)
+ gst_caps_unref(prev_caps);
+ IMFMediaType_Release(current_mt);
+ IMFMediaTypeHandler_Release(mth);
+ }
@ -313,7 +314,6 @@ index 9b2c2174318..70c5b47ba84 100644
+ {
+ GstEvent *seek_event = gst_event_new_seek(1.0, GST_FORMAT_TIME, GST_SEEK_FLAG_FLUSH,
+ GST_SEEK_TYPE_SET, position->u.hVal.QuadPart / 100, GST_SEEK_TYPE_NONE, 0);
+ GstSample *preroll;
+
+ gst_pad_push_event(stream->my_sink, seek_event);
+ }
@ -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..12bce9257dd 100644
index 2e8b0978648..46bbb2ac2b1 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -601,3 +601,134 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)
@@ -601,3 +601,133 @@ IMFMediaType *mf_media_type_from_caps(const GstCaps *caps)
return media_type;
}
@ -464,7 +464,6 @@ index 2e8b0978648..12bce9257dd 100644
+ {
+ UINT64 frame_rate = 0, frame_size = 0;
+ DWORD width, height;
+ UINT32 unused;
+ GstVideoFormat format = GST_VIDEO_FORMAT_UNKNOWN;
+ GUID subtype_base;
+ GstVideoInfo info;

View File

@ -1,4 +1,4 @@
From 65b1f4c2914cf346efa95bc07e0524c412023762 Mon Sep 17 00:00:00 2001
From 28b1e11eb783b9bf8643209023723cf81e2be941 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.
@ -6,13 +6,14 @@ Subject: [PATCH] winegstreamer: Implement IMFMediaStream::RequestSample.
Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
---
dlls/mfplat/tests/mfplat.c | 4 --
dlls/mfreadwrite/tests/mfplat.c | 4 +-
dlls/winegstreamer/gst_private.h | 1 +
dlls/winegstreamer/media_source.c | 92 ++++++++++++++++++++++++++++++-
dlls/winegstreamer/mfplat.c | 69 +++++++++++++++++++++++
4 files changed, 161 insertions(+), 5 deletions(-)
5 files changed, 164 insertions(+), 6 deletions(-)
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index ceabbd09d0d..a6bfaab22bf 100644
index a080035e477..8f9fb3faff3 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -621,13 +621,10 @@ todo_wine
@ -37,11 +38,35 @@ index ceabbd09d0d..a6bfaab22bf 100644
IMFMediaStream_Release(video_stream);
IMFMediaTypeHandler_Release(handler);
IMFPresentationDescriptor_Release(descriptor);
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index 0e5053f905f..ba457181a61 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -727,7 +727,6 @@ static void test_source_reader(void)
hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_AUDIO_STREAM, 0, &actual_index, &stream_flags,
&timestamp, &sample);
-todo_wine
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
if (hr != S_OK)
goto skip_read_sample;
@@ -753,8 +752,11 @@ todo_wine
&timestamp, &sample);
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
+todo_wine
+{
ok(stream_flags == MF_SOURCE_READERF_ENDOFSTREAM, "Unexpected stream flags %#x.\n", stream_flags);
ok(!sample, "Unexpected sample object.\n");
+}
hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_AUDIO_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
&actual_index, &stream_flags, &timestamp, &sample);
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 07556802a51..ff5aff42482 100644
index 3a8020b6760..28e424439d8 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -58,6 +58,7 @@ extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj)
@@ -80,6 +80,7 @@ extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj)
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) DECLSPEC_HIDDEN;
GstCaps *caps_from_mf_media_type(IMFMediaType *type) DECLSPEC_HIDDEN;
@ -50,7 +75,7 @@ index 07556802a51..ff5aff42482 100644
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 70c5b47ba84..a67f1cb71d7 100644
index 9c6e7bfd539..ef694bf194a 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -58,11 +58,13 @@ struct media_stream
@ -80,7 +105,7 @@ index 70c5b47ba84..a67f1cb71d7 100644
};
@@ -311,6 +318,8 @@ static void start_pipeline(struct media_source *source, struct source_async_comm
GstSample *preroll;
GST_SEEK_TYPE_SET, position->u.hVal.QuadPart / 100, GST_SEEK_TYPE_NONE, 0);
gst_pad_push_event(stream->my_sink, seek_event);
+
@ -206,10 +231,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 12bce9257dd..50bda6c6807 100644
index 46bbb2ac2b1..908f3d83ef9 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -732,3 +732,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -731,3 +731,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 fa168ec5f74da53249dbcc2ec632aa781ac3e5fa Mon Sep 17 00:00:00 2001
From aefabd1b2c8859c0fdf2ecbdf03cf76204e667a0 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
@ -12,10 +12,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
3 files changed, 130 insertions(+), 4 deletions(-)
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index ff5aff42482..df1e643c3f6 100644
index 28e424439d8..75fc7dc90a8 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -56,6 +56,7 @@ void start_dispatch_thread(void) DECLSPEC_HIDDEN;
@@ -78,6 +78,7 @@ void start_dispatch_thread(void) DECLSPEC_HIDDEN;
extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj) DECLSPEC_HIDDEN;
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
@ -24,7 +24,7 @@ index ff5aff42482..df1e643c3f6 100644
GstCaps *caps_from_mf_media_type(IMFMediaType *type) DECLSPEC_HIDDEN;
IMFSample *mf_sample_from_gst_buffer(GstBuffer *in) DECLSPEC_HIDDEN;
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index a67f1cb71d7..c72ac064518 100644
index ef694bf194a..d25e34dec68 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -752,8 +752,17 @@ static const IMFMediaStreamVtbl media_stream_vtbl =
@ -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 50bda6c6807..34bc2ca4fde 100644
index 908f3d83ef9..bed5d0cc31c 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 b619bda7be2574511b8a50881acaf64cd6208d9a Mon Sep 17 00:00:00 2001
From 7f8e08bb35cb2a9432a0f827f67b232d488d1051 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 34bc2ca4fde..b10486416c3 100644
index bed5d0cc31c..5e6b5a8ec33 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -26,6 +26,7 @@

View File

@ -1,4 +1,4 @@
From 36dc3a39cac411b6f1b1c8a91d994e38b237473c Mon Sep 17 00:00:00 2001
From 7d6c748a2fe172d3c59ef225c87cd10bac45d1b7 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 b10486416c3..a857ffd5f69 100644
index 5e6b5a8ec33..1ed1ed2f825 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 5d55b4502d6daae2ca84d1955d37483f1a01e159 Mon Sep 17 00:00:00 2001
From 6e954ed74dbf7ab37b5a3b75d12a0a50a8a1e3ce 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 a857ffd5f69..43673a058be 100644
index 1ed1ed2f825..a1958f79807 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 cd06036658253c87e3be0a229d42d62ef2c86317 Mon Sep 17 00:00:00 2001
From 134086a1d60e24065d0556ada3070603834036d8 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 43673a058be..f55080685bc 100644
index a1958f79807..c05b9ddf41a 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 fcf12b069f62a8a2af96a5ffb5a3a14075a3d88f Mon Sep 17 00:00:00 2001
From d07c302989c043d23091accafdc998cf1851d12f 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 f55080685bc..691ea4b74ed 100644
index c05b9ddf41a..416daa7b8a6 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 2e3c9e176ce464b1d14efa4b7bb29e1d7fe42e3a Mon Sep 17 00:00:00 2001
From be591787edbf17c43034f44eff3b0cb55296ae83 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,13 +9,13 @@ 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 691ea4b74ed..24921573235 100644
index 416daa7b8a6..5ccae20e8bb 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -919,10 +919,6 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -918,10 +918,6 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
{
UINT64 frame_rate = 0, frame_size = 0;
DWORD width, height;
UINT32 unused;
- GstVideoFormat format = GST_VIDEO_FORMAT_UNKNOWN;
- GUID subtype_base;
- GstVideoInfo info;
@ -23,7 +23,7 @@ index 691ea4b74ed..24921573235 100644
if (FAILED(IMFMediaType_GetUINT64(type, &MF_MT_FRAME_SIZE, &frame_size)))
return NULL;
@@ -931,28 +927,84 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -930,28 +926,84 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
output = gst_caps_new_empty_simple("video/x-raw");

View File

@ -1,4 +1,4 @@
From 926fb4468a42f41404f7dee6a904a60083010017 Mon Sep 17 00:00:00 2001
From 43e6b3be2fd3a5e4b6ddb4e8eb1833c69c2ef817 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 24921573235..9105ce5a221 100644
index 5ccae20e8bb..ffb6a303d34 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -903,6 +903,21 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps)
@ -34,7 +34,7 @@ index 24921573235..9105ce5a221 100644
GstCaps *caps_from_mf_media_type(IMFMediaType *type)
{
GUID major_type;
@@ -975,6 +990,42 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -974,6 +989,42 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
gst_caps_set_simple(output, "level", G_TYPE_STRING, level, NULL);
}
}

View File

@ -1,4 +1,4 @@
From f35a9b2a422a8a645141c3fffa2dcdeb15da1083 Mon Sep 17 00:00:00 2001
From 272225ae4f7e9dea77c90c783fc3a49373387cee 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 9105ce5a221..cd8eaecb187 100644
index ffb6a303d34..bbba4d718f6 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1106,6 +1106,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -1105,6 +1105,72 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
return NULL;
}
}

View File

@ -1,4 +1,4 @@
From 4affbf60a1b64036aac89fee8d776d69254fe6a4 Mon Sep 17 00:00:00 2001
From 186b88f42753dd6d26aee1f29d27de77984b9e3c 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,10 +9,10 @@ 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 cd8eaecb187..2168ed153eb 100644
index bbba4d718f6..e952a782bc1 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1026,6 +1026,14 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -1025,6 +1025,14 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
user_data_to_codec_data(type, output);
}

View File

@ -1,4 +1,4 @@
From ad67b975463ddce1226a90a614b691e5d6827108 Mon Sep 17 00:00:00 2001
From 8745a3af3b1a85285acf6b7196b3850cdf26c3bb 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 2168ed153eb..e73c923dfac 100644
index e952a782bc1..dddf0ac9fa4 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1180,6 +1180,21 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
@@ -1179,6 +1179,21 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type)
CoTaskMemFree(user_data);
}
}

View File

@ -1,4 +1,4 @@
From db2fbe17c7e382f09e1ec5ffe6350639668a9d88 Mon Sep 17 00:00:00 2001
From b67e6dbb9a8f772c27a074ac0fa1474b4f0fc8c6 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.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index c72ac064518..2d00ca7e901 100644
index d25e34dec68..dd01cfc4f86 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1114,12 +1114,14 @@ static HRESULT WINAPI media_source_GetCharacteristics(IMFMediaSource *iface, DWO

View File

@ -1,4 +1,4 @@
From 50a40948294f5909903d261b082a954976d1a317 Mon Sep 17 00:00:00 2001
From f8037812ce48a4fc1b6b0a85de543e66f57063b6 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
@ -10,7 +10,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 40 insertions(+)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 2d00ca7e901..e1b018b74ce 100644
index dd01cfc4f86..6873b4e7844 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1445,6 +1445,46 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_

View File

@ -1,4 +1,4 @@
From b245e88401d65b2f1973dd34297edddd918aed97 Mon Sep 17 00:00:00 2001
From b693146a13990fa4361a18a47308aae97da92b1c 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.
@ -91,7 +91,7 @@ index a92987c2ab5..6bc1b47ca5d 100755
}
diff --git a/tools/makedep.c b/tools/makedep.c
index 2eed620b429..8b89d0f4858 100644
index 90a21ef825c..029a07b753c 100644
--- a/tools/makedep.c
+++ b/tools/makedep.c
@@ -184,11 +184,11 @@ struct makefile
@ -133,7 +133,7 @@ index 2eed620b429..8b89d0f4858 100644
}
if (ret) *filename = src_path;
@@ -4120,13 +4127,13 @@ static void load_sources( struct makefile *make )
@@ -4124,13 +4131,13 @@ static void load_sources( struct makefile *make )
strarray_set_value( &make->vars, "top_srcdir", root_src_dir_path( "" ));
strarray_set_value( &make->vars, "srcdir", src_dir_path( make, "" ));
@ -148,7 +148,7 @@ index 2eed620b429..8b89d0f4858 100644
make->programs = get_expanded_make_var_array( make, "PROGRAMS" );
make->scripts = get_expanded_make_var_array( make, "SCRIPTS" );
make->imports = get_expanded_make_var_array( make, "IMPORTS" );
@@ -4171,8 +4178,11 @@ static void load_sources( struct makefile *make )
@@ -4175,8 +4182,11 @@ static void load_sources( struct makefile *make )
strarray_add( &make->include_args, strmake( "-I%s", obj_dir_path( make, "" )));
if (make->src_dir)
strarray_add( &make->include_args, strmake( "-I%s", make->src_dir ));

View File

@ -1,4 +1,4 @@
From 09d2c93517dd39d6696ffb7a58537c76f4af0847 Mon Sep 17 00:00:00 2001
From 525bedb342d7f9964f755a378008170410e8777f 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.
@ -432,7 +432,7 @@ index 00000000000..fbebd26e8d0
+HRESULT handler_cancel_object_creation(struct handler *handler, IUnknown *cancel_cookie);
\ No newline at end of file
diff --git a/dlls/mf/main.c b/dlls/mf/main.c
index 53264258137..ebcaef4cad3 100644
index c48fc81a1d2..7b36a16ee71 100644
--- a/dlls/mf/main.c
+++ b/dlls/mf/main.c
@@ -27,6 +27,7 @@
@ -932,7 +932,7 @@ index e578d194f7f..f2e87494459 100644
media_source.c \
mediatype.c \
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index e1b018b74ce..b8431569e6a 100644
index 6873b4e7844..66aa7d92ed8 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -23,6 +23,7 @@

View File

@ -1,4 +1,4 @@
From fcbd8b1813e95778f7f58445140b9aeeb6dea043 Mon Sep 17 00:00:00 2001
From cb229a30f5a76980cd6111350c5e63cf0ffcf13d 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.
@ -10,10 +10,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
2 files changed, 75 insertions(+)
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index df1e643c3f6..db0ea881a83 100644
index 75fc7dc90a8..321143396d6 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -60,6 +60,7 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) DECLSPEC_HIDDEN;
@@ -82,6 +82,7 @@ GstCaps *make_mf_compatible_caps(GstCaps *caps) DECLSPEC_HIDDEN;
IMFMediaType *mf_media_type_from_caps(const GstCaps *caps) DECLSPEC_HIDDEN;
GstCaps *caps_from_mf_media_type(IMFMediaType *type) DECLSPEC_HIDDEN;
IMFSample *mf_sample_from_gst_buffer(GstBuffer *in) DECLSPEC_HIDDEN;
@ -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 e73c923dfac..2078905f3d7 100644
index dddf0ac9fa4..e2f8f6e0a43 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -1294,3 +1294,77 @@ done:
@@ -1293,3 +1293,77 @@ done:
return out;
}

View File

@ -1,4 +1,4 @@
From fb8418e39879f5d091051c3171fdd35913d3b2cb Mon Sep 17 00:00:00 2001
From f2a4bf49f6a283c5e679d5b968da1fe5294f9144 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.
@ -163,10 +163,10 @@ index a48999bbf71..6659aedefa5 100644
#endif
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index db0ea881a83..707fc286a69 100644
index 321143396d6..ba9b7abbd78 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -53,6 +53,7 @@ BOOL init_gstreamer(void) DECLSPEC_HIDDEN;
@@ -75,6 +75,7 @@ BOOL init_gstreamer(void) DECLSPEC_HIDDEN;
void start_dispatch_thread(void) DECLSPEC_HIDDEN;
@ -174,7 +174,7 @@ index db0ea881a83..707fc286a69 100644
extern HRESULT mfplat_get_class_object(REFCLSID rclsid, REFIID riid, void **obj) DECLSPEC_HIDDEN;
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
@@ -62,6 +63,12 @@ GstCaps *caps_from_mf_media_type(IMFMediaType *type) DECLSPEC_HIDDEN;
@@ -84,6 +85,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;
@ -1530,7 +1530,7 @@ index 00000000000..70a20ebe69b
+ }
+}
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 2078905f3d7..4ffcfa6ede1 100644
index e2f8f6e0a43..f60828d8dc8 100644
--- a/dlls/winegstreamer/mfplat.c
+++ b/dlls/winegstreamer/mfplat.c
@@ -406,6 +406,16 @@ failed:

View File

@ -1,4 +1,4 @@
From b76b25a9324023698b4fa2b560ecdbef6adca405 Mon Sep 17 00:00:00 2001
From eb16c9cdd1ce7f62b66a80b8680d6665e2c5c669 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
@ -9,10 +9,10 @@ Subject: [PATCH] mfreadwrite: Select all streams when creating a source
1 file changed, 4 insertions(+)
diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c
index 96a82b798ab..3b1dcbb9636 100644
index 7dcae5a1cfa..93858840940 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -2120,6 +2120,10 @@ static HRESULT create_source_reader_from_source(IMFMediaSource *source, IMFAttri
@@ -2128,6 +2128,10 @@ static HRESULT create_source_reader_from_source(IMFMediaSource *source, IMFAttri
break;
object->streams[i].index = i;

View File

@ -1,4 +1,4 @@
From a6ee98510618fd6f40a1565a5e7859ddb7971a84 Mon Sep 17 00:00:00 2001
From 8ab005d36300ac40431a1cde96344d2649143a91 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
@ -11,10 +11,10 @@ Subject: [PATCH] Miscellaneous
4 files changed, 155 insertions(+), 15 deletions(-)
diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c
index 3b1dcbb9636..f8c03e62d35 100644
index 93858840940..097921a4cc4 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -1596,6 +1596,7 @@ static HRESULT source_reader_create_decoder_for_stream(struct source_reader *rea
@@ -1597,6 +1597,7 @@ static HRESULT source_reader_create_decoder_for_stream(struct source_reader *rea
{
MFT_REGISTER_TYPE_INFO in_type, out_type;
CLSID *clsids, mft_clsid, category;
@ -22,7 +22,7 @@ index 3b1dcbb9636..f8c03e62d35 100644
unsigned int i = 0, count;
IMFMediaType *input_type;
HRESULT hr;
@@ -1642,12 +1643,21 @@ static HRESULT source_reader_create_decoder_for_stream(struct source_reader *rea
@@ -1643,12 +1644,21 @@ static HRESULT source_reader_create_decoder_for_stream(struct source_reader *rea
}
}
@ -102,7 +102,7 @@ index 6659aedefa5..825b46d13bb 100644
#endif
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index b8431569e6a..db2f14a8c1d 100644
index 66aa7d92ed8..f372e178b68 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -92,6 +92,8 @@ struct source_async_command

View File

@ -1,4 +1,4 @@
From f86d6f71ca691e1ca6c5493cd59f5731331ec645 Mon Sep 17 00:00:00 2001
From 8a2a0aed43fb82ec196bfe31b1e80791da927f22 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
@ -12,10 +12,10 @@ Subject: [PATCH] WMV
5 files changed, 59 insertions(+)
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 707fc286a69..73359dd622d 100644
index ba9b7abbd78..cebd8d5282f 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -67,6 +67,7 @@ enum decoder_type
@@ -89,6 +89,7 @@ enum decoder_type
{
DECODER_TYPE_H264,
DECODER_TYPE_AAC,
@ -52,7 +52,7 @@ index 70a20ebe69b..2005443a8a6 100644
};
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 4ffcfa6ede1..84c0080510c 100644
index f60828d8dc8..22a42861d69 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 d6984cdf7ff1884be979825a55d4ef3ecfeb500b Mon Sep 17 00:00:00 2001
From 8e28a9142cd8134b26aa2393c1f69bef6380f0dd 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 3161cec52e7d7336a4e174f8246c4577c65b0162 Mon Sep 17 00:00:00 2001
From aa81e4fb72199d511ceed830a447c34ba04bc989 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.
@ -8,7 +8,7 @@ Subject: [PATCH] winegstreamer: Implement IMFMedisStream::GetMediaSource.
1 file changed, 5 insertions(+), 2 deletions(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index db2f14a8c1d..47f04af0a04 100644
index f372e178b68..46b290d040c 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -714,12 +714,15 @@ static HRESULT WINAPI media_stream_GetMediaSource(IMFMediaStream *iface, IMFMedi

View File

@ -1,4 +1,4 @@
From f2890615b704c6e862748f62e5f6d58690b0c5c6 Mon Sep 17 00:00:00 2001
From 995e2219d01d20031dec55575cde152f9c60ae4c 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.

View File

@ -1,4 +1,4 @@
From 3c4c3fe9e8c5cbfbba0b3eef68ac0a4d76460f30 Mon Sep 17 00:00:00 2001
From 4d5e614857bc296680b93927b430d5533a21e2bc 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 d8b84913ec3b536dde7d92a6b552a620b8b64d16 Mon Sep 17 00:00:00 2001
From 0bcbaa2d255e02a0560e9d12576f33090d4603f3 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.
@ -737,10 +737,10 @@ index 00000000000..f01373907ee
+}
\ No newline at end of file
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 73359dd622d..870344e9273 100644
index cebd8d5282f..eb467ffeeea 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -72,4 +72,6 @@ enum decoder_type
@@ -94,4 +94,6 @@ enum decoder_type
HRESULT generic_decoder_construct(REFIID riid, void **obj, enum decoder_type) DECLSPEC_HIDDEN;
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
@ -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 84c0080510c..271698a1031 100644
index 22a42861d69..bb3c8b9e952 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 c65bd3ccfceb87cc2fcd38d64940487bb6b8c341 Mon Sep 17 00:00:00 2001
From 345c4055e5e9301f1d1d9bef0beefdac905658a7 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.

View File

@ -1,4 +1,4 @@
From d2802d71ac8c0bc76cbd90f3546169b5e9432669 Mon Sep 17 00:00:00 2001
From 5356d013c808b240697ad2d54c0c9594e118ee10 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
@ -6,14 +6,14 @@ Subject: [PATCH] Improve tests
---
dlls/mfplat/tests/mfplat.c | 245 +++++++++++++++++++++++++++--
dlls/mfplat/tests/test.mp4 | Bin 1554 -> 121550 bytes
dlls/mfreadwrite/tests/mfplat.c | 116 ++++++++------
dlls/mfreadwrite/tests/mfplat.c | 119 ++++++++------
dlls/mfreadwrite/tests/resource.rc | 4 +-
dlls/mfreadwrite/tests/test.mp4 | Bin 0 -> 121550 bytes
5 files changed, 302 insertions(+), 63 deletions(-)
5 files changed, 304 insertions(+), 64 deletions(-)
create mode 100644 dlls/mfreadwrite/tests/test.mp4
diff --git a/dlls/mfplat/tests/mfplat.c b/dlls/mfplat/tests/mfplat.c
index a6bfaab22bf..46a7a82fa21 100644
index 8f9fb3faff3..cec79b5b21e 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -438,6 +438,9 @@ static BOOL get_event(IMFMediaEventGenerator *generator, MediaEventType expected
@ -320,7 +320,7 @@ index a6bfaab22bf..46a7a82fa21 100644
static void init_functions(void)
{
HMODULE mod = GetModuleHandleA("mfplat.dll");
@@ -5637,6 +5851,7 @@ START_TEST(mfplat)
@@ -5822,6 +6036,7 @@ START_TEST(mfplat)
test_MFCreateMFByteStreamOnStream();
test_system_memory_buffer();
test_source_resolver();
@ -2679,10 +2679,10 @@ zKs;bQARC}!xiSZ6ESNJ5P+CoKB<O7nEod-NqPX>NU0kHoiM#Wkq*n&-SMq0^0~2cD
TJ;x-N6hTeOp(eUDP!ruh^$B~#
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index 84581f9be9a..e13d428dc3a 100644
index ba457181a61..e90e980f997 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -624,10 +624,15 @@ static void test_source_reader(void)
@@ -629,9 +629,17 @@ static void test_source_reader(void)
return;
}
@ -2696,11 +2696,12 @@ index 84581f9be9a..e13d428dc3a 100644
+ IMFAttributes_Release(attributes);
hr = MFCreateSourceReaderFromByteStream(stream, NULL, &reader);
-todo_wine
ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
+ ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
+
if (FAILED(hr))
@@ -643,14 +648,14 @@ todo_wine
{
skip("MFCreateSourceReaderFromByteStream() failed, is G-Streamer missing?\n");
@@ -647,14 +655,14 @@ static void test_source_reader(void)
IMFMediaSource_Release(source);
/* Stream selection. */
@ -2717,7 +2718,7 @@ index 84581f9be9a..e13d428dc3a 100644
ok(hr == S_OK, "Failed to get stream selection, hr %#x.\n", hr);
ok(selected, "Unexpected selection.\n");
@@ -659,17 +664,17 @@ todo_wine
@@ -663,17 +671,17 @@ static void test_source_reader(void)
ok(hr == S_OK, "Failed to get stream selection, hr %#x.\n", hr);
ok(selected, "Unexpected selection.\n");
@ -2738,7 +2739,7 @@ index 84581f9be9a..e13d428dc3a 100644
ok(hr == S_OK, "Failed to get stream selection, hr %#x.\n", hr);
ok(!selected, "Unexpected selection.\n");
@@ -677,43 +682,43 @@ todo_wine
@@ -681,43 +689,43 @@ static void test_source_reader(void)
ok(hr == S_OK, "Failed to deselect a stream, hr %#x.\n", hr);
selected = FALSE;
@ -2790,13 +2791,15 @@ index 84581f9be9a..e13d428dc3a 100644
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
IMFMediaType_Release(mediatype);
@@ -721,56 +726,70 @@ todo_wine
@@ -725,30 +733,42 @@ static void test_source_reader(void)
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
IMFMediaType_Release(mediatype);
- hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_AUDIO_STREAM, 0, &actual_index, &stream_flags,
- &timestamp, &sample);
- ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
- if (hr != S_OK)
- goto skip_read_sample;
- ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
- ok(!stream_flags, "Unexpected stream flags %#x.\n", stream_flags);
- IMFSample_Release(sample);
@ -2845,8 +2848,9 @@ index 84581f9be9a..e13d428dc3a 100644
&timestamp, &sample);
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
ok(stream_flags == MF_SOURCE_READERF_ENDOFSTREAM, "Unexpected stream flags %#x.\n", stream_flags);
@@ -758,28 +778,28 @@ todo_wine
ok(!sample, "Unexpected sample object.\n");
}
- hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_AUDIO_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
+ hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_VIDEO_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
@ -2878,7 +2882,7 @@ index 84581f9be9a..e13d428dc3a 100644
&actual_index, &stream_flags, NULL, &sample);
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
@@ -779,26 +798,31 @@ todo_wine
@@ -788,28 +808,33 @@ todo_wine
hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_ANY_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
&actual_index, &stream_flags, NULL, &sample);
@ -2894,6 +2898,8 @@ index 84581f9be9a..e13d428dc3a 100644
+ ok(!sample, "Unexpected sample object.\n");
+ }
skip_read_sample:
/* Flush. */
hr = IMFSourceReader_Flush(reader, MF_SOURCE_READER_FIRST_VIDEO_STREAM);
- ok(hr == MF_E_INVALIDSTREAMNUMBER, "Unexpected hr %#x.\n", hr);

View File

@ -1,4 +1,4 @@
From ecb3af0934683f2b1ef2ca7e899becad6d00db4c Mon Sep 17 00:00:00 2001
From d7be1597dcffd2c2822c9b6f33a4b22cdf33220c 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,7 +14,7 @@ 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 46a7a82fa21..54bacbef714 100644
index cec79b5b21e..50555c6ca67 100644
--- a/dlls/mfplat/tests/mfplat.c
+++ b/dlls/mfplat/tests/mfplat.c
@@ -438,9 +438,6 @@ static BOOL get_event(IMFMediaEventGenerator *generator, MediaEventType expected
@ -320,7 +320,7 @@ index 46a7a82fa21..54bacbef714 100644
static void init_functions(void)
{
HMODULE mod = GetModuleHandleA("mfplat.dll");
@@ -5851,7 +5636,6 @@ START_TEST(mfplat)
@@ -6036,7 +5821,6 @@ START_TEST(mfplat)
test_MFCreateMFByteStreamOnStream();
test_system_memory_buffer();
test_source_resolver();
@ -2679,10 +2679,10 @@ zfQ)qlARIsx0Hh62ATV5k(+0j9`c{9|0J%OK0QBskcDevpw=lTjNcF>i79OBj+33Px
p$lCDV^w{Kgb))}cXN3$%0oA>6Mg|4R>N*%cfv|D$vvG28{1-l>vtIxJ
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index e13d428dc3a..84581f9be9a 100644
index e90e980f997..7b66a414a51 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -624,15 +624,10 @@ static void test_source_reader(void)
@@ -629,15 +629,10 @@ static void test_source_reader(void)
return;
}
@ -2700,7 +2700,7 @@ index e13d428dc3a..84581f9be9a 100644
ok(hr == S_OK, "Failed to create source reader, hr %#x.\n", hr);
if (FAILED(hr))
@@ -648,14 +643,14 @@ static void test_source_reader(void)
@@ -655,14 +650,14 @@ static void test_source_reader(void)
IMFMediaSource_Release(source);
/* Stream selection. */
@ -2717,7 +2717,7 @@ index e13d428dc3a..84581f9be9a 100644
ok(hr == S_OK, "Failed to get stream selection, hr %#x.\n", hr);
ok(selected, "Unexpected selection.\n");
@@ -664,17 +659,17 @@ static void test_source_reader(void)
@@ -671,17 +666,17 @@ static void test_source_reader(void)
ok(hr == S_OK, "Failed to get stream selection, hr %#x.\n", hr);
ok(selected, "Unexpected selection.\n");
@ -2738,7 +2738,7 @@ index e13d428dc3a..84581f9be9a 100644
ok(hr == S_OK, "Failed to get stream selection, hr %#x.\n", hr);
ok(!selected, "Unexpected selection.\n");
@@ -682,43 +677,43 @@ static void test_source_reader(void)
@@ -689,43 +684,43 @@ static void test_source_reader(void)
ok(hr == S_OK, "Failed to deselect a stream, hr %#x.\n", hr);
selected = FALSE;
@ -2790,7 +2790,7 @@ index e13d428dc3a..84581f9be9a 100644
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
IMFMediaType_Release(mediatype);
@@ -726,70 +721,56 @@ static void test_source_reader(void)
@@ -733,42 +728,28 @@ static void test_source_reader(void)
ok(hr == S_OK, "Failed to get current media type, hr %#x.\n", hr);
IMFMediaType_Release(mediatype);
@ -2845,8 +2845,9 @@ index e13d428dc3a..84581f9be9a 100644
&timestamp, &sample);
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
ok(stream_flags == MF_SOURCE_READERF_ENDOFSTREAM, "Unexpected stream flags %#x.\n", stream_flags);
@@ -778,28 +759,28 @@ todo_wine
ok(!sample, "Unexpected sample object.\n");
}
- hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_VIDEO_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
+ hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_FIRST_AUDIO_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
@ -2878,7 +2879,7 @@ index e13d428dc3a..84581f9be9a 100644
&actual_index, &stream_flags, NULL, &sample);
ok(hr == S_OK, "Failed to get a sample, hr %#x.\n", hr);
ok(actual_index == 0, "Unexpected stream index %u\n", actual_index);
@@ -798,31 +779,26 @@ static void test_source_reader(void)
@@ -808,33 +789,28 @@ todo_wine
hr = IMFSourceReader_ReadSample(reader, MF_SOURCE_READER_ANY_STREAM, MF_SOURCE_READER_CONTROLF_DRAIN,
&actual_index, &stream_flags, NULL, &sample);
@ -2894,6 +2895,8 @@ index e13d428dc3a..84581f9be9a 100644
+ ok(stream_flags == MF_SOURCE_READERF_ENDOFSTREAM, "Unexpected stream flags %#x.\n", stream_flags);
+ ok(!sample, "Unexpected sample object.\n");
skip_read_sample:
/* Flush. */
hr = IMFSourceReader_Flush(reader, MF_SOURCE_READER_FIRST_VIDEO_STREAM);
- todo_wine ok(hr == S_OK, "Failed to flush stream, hr %#x.\n", hr);

View File

@ -1,4 +1,4 @@
From 3be4c3745ace90c0ba965b58956086fa8b3c63b6 Mon Sep 17 00:00:00 2001
From 478e50712170c56dece0226f42b2d605e94949b2 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
@ -9,7 +9,7 @@ Subject: [PATCH] Report streams backwards and only select one of each stream
1 file changed, 22 insertions(+), 2 deletions(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 47f04af0a04..ada6a112262 100644
index 46b290d040c..9fa8b106ba2 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1467,6 +1467,7 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_

View File

@ -1,4 +1,4 @@
From 1167d2842c13fbc2c0d73a73861b3b6adb7ff2fa Mon Sep 17 00:00:00 2001
From 989d560772ee17be116f11c585a1aaa5bcd245bd 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.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 28 insertions(+), 2 deletions(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index ada6a112262..1d2c999b7e1 100644
index 9fa8b106ba2..01e1d08ab0d 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -65,6 +65,7 @@ struct media_stream

View File

@ -1,4 +1,4 @@
From a971041d22177263e428c9cbd4ecbf00da901043 Mon Sep 17 00:00:00 2001
From 929672514284dc952cb4b5a055896f775fbb20a3 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.
@ -13,10 +13,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
5 files changed, 52 insertions(+)
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 870344e9273..3ae89f511e9 100644
index eb467ffeeea..09306414616 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -68,6 +68,7 @@ enum decoder_type
@@ -90,6 +90,7 @@ enum decoder_type
DECODER_TYPE_H264,
DECODER_TYPE_AAC,
DECODER_TYPE_WMV,
@ -53,7 +53,7 @@ index 64138f8cd94..285b3595143 100644
};
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 271698a1031..32e3188fada 100644
index bb3c8b9e952..ec28bf321e2 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 932e83c8d004699163c99c6eac90cef0c3cc7034 Mon Sep 17 00:00:00 2001
From e4f68c74405a43f0c577527eec93c161999e59e2 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
@ -9,10 +9,10 @@ Subject: [PATCH] HACK: Switch between all selection streams on
1 file changed, 23 insertions(+), 1 deletion(-)
diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c
index f8c03e62d35..423250e3cb7 100644
index 097921a4cc4..9539b537384 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -1045,7 +1045,29 @@ static HRESULT source_reader_get_stream_read_index(struct source_reader *reader,
@@ -1046,7 +1046,29 @@ static HRESULT source_reader_get_stream_read_index(struct source_reader *reader,
{
/* Cycle through all selected streams once, next pick first selected. */
if (FAILED(hr = source_reader_get_first_selected_stream(reader, STREAM_FLAG_REQUESTED_ONCE, stream_index)))

View File

@ -1,4 +1,4 @@
From 88f26e6f1214bb487ccd0da132e02712520208fc Mon Sep 17 00:00:00 2001
From 38004c4f34041e8b3ab23f435640e36c3082496f 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.
@ -13,10 +13,10 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
5 files changed, 51 insertions(+), 1 deletion(-)
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index 3ae89f511e9..dc23d5201b1 100644
index 09306414616..e5e11d06da6 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -68,6 +68,7 @@ enum decoder_type
@@ -90,6 +90,7 @@ enum decoder_type
DECODER_TYPE_H264,
DECODER_TYPE_AAC,
DECODER_TYPE_WMV,
@ -53,7 +53,7 @@ index 285b3595143..2cbe99d3168 100644
&MFMediaType_Video,
m4s2_input_types,
diff --git a/dlls/winegstreamer/mfplat.c b/dlls/winegstreamer/mfplat.c
index 32e3188fada..671679a79f6 100644
index ec28bf321e2..ca432072ada 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 26cddd08d9e48b47c824434ff7a35f9b00d2592e Mon Sep 17 00:00:00 2001
From 6d8717d60bb7c0ed3d0f434cef8b8e06982e4b12 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.

View File

@ -1,4 +1,4 @@
From 228050f3e8332e3103ca87128205757c9fbbc882 Mon Sep 17 00:00:00 2001
From ce03f4924c73e2170aa314e9759661267466ed23 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.
@ -9,7 +9,7 @@ Signed-off-by: Derek Lesho <dlesho@codeweavers.com>
1 file changed, 31 insertions(+), 2 deletions(-)
diff --git a/dlls/winegstreamer/media_source.c b/dlls/winegstreamer/media_source.c
index 1d2c999b7e1..83217ebb5b7 100644
index 01e1d08ab0d..a178268af1e 100644
--- a/dlls/winegstreamer/media_source.c
+++ b/dlls/winegstreamer/media_source.c
@@ -1647,8 +1647,12 @@ static HRESULT media_source_constructor(IMFByteStream *bytestream, struct media_

View File

@ -1,4 +1,4 @@
From 43c50513cf0e38283b1b3023bf89e376b29b1170 Mon Sep 17 00:00:00 2001
From 24188ec9a6a170681972e4cb207adc7462a4a922 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
@ -11,10 +11,10 @@ This reverts commit e308d81a617632fe0fedd243952f79e8d9ec05b4.
2 files changed, 4 insertions(+), 143 deletions(-)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index e6f3593a74b..809209eef72 100644
index be8241a51d7..6c528639ba8 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -1400,7 +1400,6 @@ static void test_topology_loader(void)
@@ -1401,7 +1401,6 @@ static void test_topology_loader(void)
IMFPresentationDescriptor *pd;
IMFSourceResolver *resolver;
IMFActivate *sink_activate;
@ -22,7 +22,7 @@ index e6f3593a74b..809209eef72 100644
unsigned int count, value;
IMFMediaType *media_type;
IMFStreamDescriptor *sd;
@@ -1515,19 +1514,15 @@ todo_wine
@@ -1516,19 +1515,15 @@ todo_wine
hr = IMFActivate_ActivateObject(sink_activate, &IID_IMFMediaSink, (void **)&sink);
ok(hr == S_OK, "Failed to activate, hr %#x.\n", hr);

View File

@ -1,4 +1,4 @@
From 0f71d1c1d2f83c106c47238abfca031a87ba9ed5 Mon Sep 17 00:00:00 2001
From 83da0cbda9f2043b14663ce2317586de6e21d927 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 b98ec8f3893db87d0447cee393046724d50e6095 Mon Sep 17 00:00:00 2001
From 130b24d9511991adb1d55ae3d5ec59a407a0e82e 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 5b70027166ade658adc0663c9e0e298c42863fb1 Mon Sep 17 00:00:00 2001
From f55a0e2a83a41999e392fd4be9dacc80ec626801 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
@ -14,10 +14,10 @@ Signed-off-by: Sergio Gómez Del Real <sdelreal@codeweavers.com>
2 files changed, 321 insertions(+), 19 deletions(-)
diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c
index 809209eef72..24d4140230b 100644
index 6c528639ba8..972d4359f4b 100644
--- a/dlls/mf/tests/mf.c
+++ b/dlls/mf/tests/mf.c
@@ -1428,7 +1428,6 @@ static void test_topology_loader(void)
@@ -1429,7 +1429,6 @@ static void test_topology_loader(void)
/* Empty topology */
hr = IMFTopoLoader_Load(loader, topology, &full_topology, NULL);
@ -25,7 +25,7 @@ index 809209eef72..24d4140230b 100644
ok(hr == MF_E_TOPO_UNSUPPORTED, "Unexpected hr %#x.\n", hr);
hr = MFCreateSourceResolver(&resolver);
@@ -1475,7 +1474,6 @@ todo_wine
@@ -1476,7 +1475,6 @@ todo_wine
/* Source node only. */
hr = IMFTopoLoader_Load(loader, topology, &full_topology, NULL);
@ -33,7 +33,7 @@ index 809209eef72..24d4140230b 100644
ok(hr == MF_E_TOPO_UNSUPPORTED, "Unexpected hr %#x.\n", hr);
/* Add grabber sink. */
@@ -1501,7 +1499,6 @@ todo_wine
@@ -1502,7 +1500,6 @@ todo_wine
ok(hr == S_OK, "Failed to add sink node, hr %#x.\n", hr);
hr = IMFTopoLoader_Load(loader, topology, &full_topology, NULL);

View File

@ -1,4 +1,4 @@
From 6ee9420f664a124ad8cb96f85133289ba635e516 Mon Sep 17 00:00:00 2001
From 21bdbd16a00d5f75fef526b5d933cde9fa92f29f 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 b092f2d0086661a511f7e5bf78a8dfe909eb977a Mon Sep 17 00:00:00 2001
From d0910c4c1f9bf9d2f021a1b1f49701e676177cee 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 2ecfd76aca48737b4fc2fa2ada0bcc7c6710cfd3 Mon Sep 17 00:00:00 2001
From f44bbde1f61c8551d4b089caa65899b8fb1e55fe 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.
@ -795,10 +795,10 @@ index 00000000000..acb842242f1
+}
\ No newline at end of file
diff --git a/dlls/winegstreamer/gst_private.h b/dlls/winegstreamer/gst_private.h
index dc23d5201b1..6e718aa6ebe 100644
index e5e11d06da6..a5fe02ff879 100644
--- a/dlls/winegstreamer/gst_private.h
+++ b/dlls/winegstreamer/gst_private.h
@@ -75,5 +75,6 @@ HRESULT generic_decoder_construct(REFIID riid, void **obj, enum decoder_type) DE
@@ -97,5 +97,6 @@ HRESULT generic_decoder_construct(REFIID riid, void **obj, enum decoder_type) DE
HRESULT winegstreamer_stream_handler_create(REFIID riid, void **obj) DECLSPEC_HIDDEN;
HRESULT color_converter_create(REFIID riid, void **ret) DECLSPEC_HIDDEN;
@ -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 671679a79f6..f07c074cbc4 100644
index ca432072ada..6dec73e2047 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 33261027f472d8b1b6100c884861708f4fa406a3 Mon Sep 17 00:00:00 2001
From a60c1e4d37e939a4ce9b6153434029ad953e8dae 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

@ -1,4 +1,4 @@
From 0f61590d7908f62de6f1771e49743245d7ff34bd Mon Sep 17 00:00:00 2001
From a8e23c3cea2e8ffdedc2330f390de01ec2d1588a 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.

View File

@ -1,4 +1,4 @@
From 2645e2a08071297f4ef9418d1cf7a323b846680b Mon Sep 17 00:00:00 2001
From 33d71bfb289c8f2273ab2bafbf60e95098e7705f 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.

View File

@ -51,7 +51,7 @@ usage()
# Get the upstream commit sha
upstream_commit()
{
echo "2148167f2557cc6c7d1e2f5ffef28bd936503a9a"
echo "93107c08f5aa7f37ad7ece9cd7ca248dba3030ce"
}
# Show version information