diff --git a/patches/mf_http_support/0004-mf-Implement-and-use-HttpSchemePlugin.patch b/patches/mf_http_support/0004-mf-Implement-and-use-HttpSchemePlugin.patch index 6f3ec4ef..fdc65ee8 100644 --- a/patches/mf_http_support/0004-mf-Implement-and-use-HttpSchemePlugin.patch +++ b/patches/mf_http_support/0004-mf-Implement-and-use-HttpSchemePlugin.patch @@ -1,4 +1,4 @@ -From 68227ee19646a7c98f1b1e6eed72a7a6a2a21fc1 Mon Sep 17 00:00:00 2001 +From 79d21b336b80816b5530f1f100459e1867f80ea6 Mon Sep 17 00:00:00 2001 From: Torge Matthies Date: Fri, 25 Oct 2024 10:47:31 +0200 Subject: [PATCH] mf: Implement and use HttpSchemePlugin. @@ -15,7 +15,7 @@ Subject: [PATCH] mf: Implement and use HttpSchemePlugin. 8 files changed, 68 insertions(+), 36 deletions(-) diff --git a/dlls/mf/main.c b/dlls/mf/main.c -index e74a4ae8e4c..120343a1be2 100644 +index 537db3174cf..3a87e3207b1 100644 --- a/dlls/mf/main.c +++ b/dlls/mf/main.c @@ -549,6 +549,7 @@ static const IClassFactoryVtbl class_factory_vtbl = @@ -138,10 +138,10 @@ index 7e92748aeb9..3cd16319b2a 100644 { IMFAttributes *attributes; diff --git a/dlls/mf/tests/mf.c b/dlls/mf/tests/mf.c -index 61daaf35741..39dfe3ca1b2 100644 +index ec25dc19cd0..371e5628d9d 100644 --- a/dlls/mf/tests/mf.c +++ b/dlls/mf/tests/mf.c -@@ -5384,7 +5384,6 @@ static void test_scheme_resolvers(void) +@@ -5873,7 +5873,6 @@ static void test_scheme_resolvers(void) for (i = 0; i < ARRAY_SIZE(urls); i++) { hr = IMFSourceResolver_CreateObjectFromURL(resolver, urls[i], MF_RESOLUTION_BYTESTREAM, NULL, &type, &object); @@ -149,7 +149,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(hr == S_OK, "got hr %#lx\n", hr); if (hr != S_OK) continue; -@@ -5408,7 +5407,6 @@ static void test_scheme_resolvers(void) +@@ -5897,7 +5896,6 @@ static void test_scheme_resolvers(void) hr = IMFAttributes_GetItem(attributes, &MF_BYTESTREAM_CONTENT_TYPE, NULL); ok(hr == S_OK, "got hr %#lx\n", hr); hr = IMFAttributes_GetItem(attributes, &MF_BYTESTREAM_LAST_MODIFIED_TIME, NULL); @@ -157,7 +157,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(hr == S_OK, "got hr %#lx\n", hr); IMFAttributes_Release(attributes); -@@ -5416,8 +5414,7 @@ static void test_scheme_resolvers(void) +@@ -5905,8 +5903,7 @@ static void test_scheme_resolvers(void) ok(hr == S_OK, "got hr %#lx\n", hr); hr = IMFByteStream_GetCapabilities(byte_stream, &caps); ok(hr == S_OK, "got hr %#lx\n", hr); @@ -167,7 +167,7 @@ index 61daaf35741..39dfe3ca1b2 100644 || caps == (expect_caps | MFBYTESTREAM_DOES_NOT_USE_NETWORK), "got caps %#lx\n", caps); hr = IMFByteStream_GetLength(byte_stream, &length); -@@ -5436,35 +5433,25 @@ static void test_scheme_resolvers(void) +@@ -5925,35 +5922,25 @@ static void test_scheme_resolvers(void) ok(hr == MF_E_UNSUPPORTED_BYTESTREAM_TYPE, "got hr %#lx\n", hr); hr = IMFSourceResolver_CreateObjectFromURL(resolver, L"http://test.winehq.bla/tests/test.mp3", MF_RESOLUTION_BYTESTREAM, NULL, &type, &object); @@ -200,10 +200,10 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(hr == NS_E_FILE_NOT_FOUND, "got hr %#lx\n", hr); hr = IMFSourceResolver_CreateObjectFromURL(resolver, L"mms://test.winehq.org/tests/invalid.mp3", MF_RESOLUTION_BYTESTREAM, NULL, &type, &object); - todo_wine - ok(hr == MF_E_UNSUPPORTED_BYTESTREAM_TYPE, "got hr %#lx\n", hr); + ok(hr == MF_E_UNSUPPORTED_BYTESTREAM_TYPE || hr == NS_E_FILE_NOT_FOUND, "got hr %#lx\n", hr); IMFSourceResolver_Release(resolver); -@@ -6828,7 +6815,6 @@ static void test_network_bytestream(void) +@@ -8300,7 +8287,6 @@ static void test_network_bytestream(void) obj_type = (MF_OBJECT_TYPE)0xdeadbeef; object = NULL; hr = IMFSourceResolver_CreateObjectFromURL(resolver, L"http://nonexistent.url/file.mp4", MF_RESOLUTION_BYTESTREAM, NULL, &obj_type, &object); @@ -211,7 +211,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(hr == NS_E_SERVER_NOT_FOUND, "Got hr %#lx.\n", hr); ok(obj_type == MF_OBJECT_INVALID, "Unexpected obj_type %#x.\n", obj_type); if (object) IUnknown_Release(object); -@@ -6836,9 +6822,7 @@ static void test_network_bytestream(void) +@@ -8308,9 +8294,7 @@ static void test_network_bytestream(void) obj_type = (MF_OBJECT_TYPE)0xdeadbeef; object = NULL; hr = IMFSourceResolver_CreateObjectFromURL(resolver, L"http://test.winehq.org/tests/invalid.mp3", MF_RESOLUTION_BYTESTREAM, NULL, &obj_type, &object); @@ -221,7 +221,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(obj_type == MF_OBJECT_INVALID, "Unexpected obj_type %#x.\n", obj_type); if (object) IUnknown_Release(object); -@@ -6861,7 +6845,6 @@ static void test_network_bytestream(void) +@@ -8333,7 +8317,6 @@ static void test_network_bytestream(void) hr = IMFAttributes_GetCount(attr, &count); ok(hr == S_OK, "Got hr %#lx\n", hr); @@ -229,7 +229,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(count == 3, "count = %u\n", count); PropVariantInit(&var); -@@ -6870,7 +6853,6 @@ static void test_network_bytestream(void) +@@ -8342,7 +8325,6 @@ static void test_network_bytestream(void) ok(hr == S_OK, "Got hr %#lx\n", hr); ok(IsEqualGUID(&key, &MF_BYTESTREAM_EFFECTIVE_URL), "Got key %s\n", debugstr_guid(&key)); ok(var.vt == VT_LPWSTR, "Got type %d\n", var.vt); @@ -237,7 +237,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(!lstrcmpW(var.pwszVal, EFFECTIVE_URL), "Got value %s\n", var.pszVal); memset(&key, 0, sizeof(key)); PropVariantClear(&var); -@@ -6879,21 +6861,15 @@ static void test_network_bytestream(void) +@@ -8351,21 +8333,15 @@ static void test_network_bytestream(void) ok(hr == S_OK, "Got hr %#lx\n", hr); ok(IsEqualGUID(&key, &MF_BYTESTREAM_CONTENT_TYPE), "Got key %s\n", debugstr_guid(&key)); ok(var.vt == VT_LPWSTR, "Got type %d\n", var.vt); @@ -259,7 +259,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(var.blob.pBlobData != NULL, "Got NULL value\n"); if (var.blob.cbSize == sizeof(LAST_MODIFIED_TIME) && var.blob.pBlobData) ok(!memcmp(var.blob.pBlobData, LAST_MODIFIED_TIME, sizeof(LAST_MODIFIED_TIME)), "Got wrong value\n"); -@@ -6912,9 +6888,7 @@ static void test_network_bytestream(void) +@@ -8384,9 +8360,7 @@ static void test_network_bytestream(void) ptr = NULL; hr = IUnknown_QueryInterface(object, &IID_IMFByteStreamCacheControl, &ptr); @@ -269,7 +269,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(ptr != NULL, "Got NULL ptr.\n"); if (SUCCEEDED(hr) && ptr) { -@@ -6929,9 +6903,7 @@ static void test_network_bytestream(void) +@@ -8401,9 +8375,7 @@ static void test_network_bytestream(void) ptr = NULL; hr = IUnknown_QueryInterface(object, &IID_IMFByteStreamBuffering, &ptr); @@ -279,7 +279,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(ptr != NULL, "Got NULL ptr.\n"); if (SUCCEEDED(hr) && ptr) { -@@ -6998,9 +6970,7 @@ static void test_network_bytestream(void) +@@ -8470,9 +8442,7 @@ static void test_network_bytestream(void) ptr = NULL; hr = IUnknown_QueryInterface(object, &IID_IMFByteStreamTimeSeek, &ptr); @@ -289,7 +289,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(ptr != NULL, "Got NULL ptr.\n"); if (SUCCEEDED(hr) && ptr) { -@@ -7059,6 +7029,9 @@ static void test_network_bytestream(void) +@@ -8531,6 +8501,9 @@ static void test_network_bytestream(void) ok(hr == E_NOTIMPL, "Got hr %#lx.\n", hr); ok(written == 0, "written = %lu\n", written); @@ -299,7 +299,7 @@ index 61daaf35741..39dfe3ca1b2 100644 free(tmp); hr = IMFByteStream_GetLength((IMFByteStream*)object, &len); -@@ -7066,7 +7039,6 @@ static void test_network_bytestream(void) +@@ -8538,7 +8511,6 @@ static void test_network_bytestream(void) ok(len != 0, "len = %I64u\n", len); hr = IMFByteStream_Flush((IMFByteStream*)object); @@ -307,7 +307,7 @@ index 61daaf35741..39dfe3ca1b2 100644 ok(hr == S_OK, "Got hr %#lx\n", hr); } -@@ -7094,9 +7066,7 @@ static void test_network_bytestream(void) +@@ -8566,9 +8538,7 @@ static void test_network_bytestream(void) ptr = NULL; hr = IUnknown_QueryInterface(object, &IID_IMFMediaEventGenerator, &ptr); @@ -342,5 +342,5 @@ index d9a2981f5a7..2369dbf31fd 100644 + return create_http_bytestream(url, out); +} -- -2.45.2 +2.51.0 diff --git a/staging/upstream-commit b/staging/upstream-commit index c1e6884d..7a6af3c8 100644 --- a/staging/upstream-commit +++ b/staging/upstream-commit @@ -1 +1 @@ -ff5b9971b3a1794043ecc75e639e91a8776e169b +833f57698015a9e0c9d0606d8a99254c36c9b9d8