[prev in list] [next in list] [prev in thread] [next in thread] 

List:       wine-devel
Subject:    [PATCH 2/2] mfreadwrite: Accept new media type only when format data are equal.
From:       Giovanni Mascellani <gmascellani () codeweavers ! com>
Date:       2021-03-31 13:30:03
Message-ID: 20210331133003.1361396-2-gmascellani () codeweavers ! com
[Download RAW message or body]

Signed-off-by: Giovanni Mascellani <gmascellani@codeweavers.com>
---
 dlls/mfreadwrite/reader.c       | 4 ++--
 dlls/mfreadwrite/tests/mfplat.c | 1 -
 2 files changed, 2 insertions(+), 3 deletions(-)

diff --git a/dlls/mfreadwrite/reader.c b/dlls/mfreadwrite/reader.c
index d3df7abd9fc..6a8606bcbc6 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -1606,7 +1606,7 @@ static HRESULT source_reader_set_compatible_media_type(struct \
source_reader *rea  return MF_E_INVALIDMEDIATYPE;
 
     /* No need for a decoder or type change. */
-    if (flags & MF_MEDIATYPE_EQUAL_FORMAT_TYPES)
+    if (flags & MF_MEDIATYPE_EQUAL_FORMAT_DATA)
         return S_OK;
 
     if (FAILED(hr = source_reader_get_source_type_handler(reader, index, \
&type_handler))) @@ -1614,7 +1614,7 @@ static HRESULT \
source_reader_set_compatible_media_type(struct source_reader *rea  
     while (!type_set && IMFMediaTypeHandler_GetMediaTypeByIndex(type_handler, i++, \
&native_type) == S_OK)  {
-        static const DWORD compare_flags = MF_MEDIATYPE_EQUAL_MAJOR_TYPES | \
MF_MEDIATYPE_EQUAL_FORMAT_TYPES; +        static const DWORD compare_flags = \
MF_MEDIATYPE_EQUAL_MAJOR_TYPES | MF_MEDIATYPE_EQUAL_FORMAT_DATA;  
         if (SUCCEEDED(IMFMediaType_IsEqual(native_type, type, &flags)) && (flags & \
compare_flags) == compare_flags)  {
diff --git a/dlls/mfreadwrite/tests/mfplat.c b/dlls/mfreadwrite/tests/mfplat.c
index 8381e535d26..ded45afe771 100644
--- a/dlls/mfreadwrite/tests/mfplat.c
+++ b/dlls/mfreadwrite/tests/mfplat.c
@@ -1062,7 +1062,6 @@ static void test_source_reader_from_media_source(void)
     ok(hr == S_OK, "Failed to set attribute, hr %#x.\n", hr);
 
     hr = IMFSourceReader_SetCurrentMediaType(reader, 0, NULL, media_type);
-todo_wine
     ok(hr == MF_E_TOPO_CODEC_NOT_FOUND, "Unexpected success setting current media \
type, hr %#x.\n", hr);  
     IMFMediaType_Release(media_type);
-- 
2.31.0


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic