Giovanni Mascellani : mfreadwrite: Accept new media type only when format data are equal.
Alexandre Julliard
julliard at winehq.org
Fri May 7 15:42:03 CDT 2021
Module: wine
Branch: master
Commit: ac39b313b618ab8d1613302c3604ba505afff0df
URL: https://source.winehq.org/git/wine.git/?a=commit;h=ac39b313b618ab8d1613302c3604ba505afff0df
Author: Giovanni Mascellani <gmascellani at codeweavers.com>
Date: Fri May 7 14:23:12 2021 +0200
mfreadwrite: Accept new media type only when format data are equal.
Signed-off-by: Giovanni Mascellani <gmascellani at codeweavers.com>
Signed-off-by: Nikolay Sivov <nsivov at codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard at winehq.org>
---
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 62e4f2d9bdb..d26778dad36 100644
--- a/dlls/mfreadwrite/reader.c
+++ b/dlls/mfreadwrite/reader.c
@@ -1578,7 +1578,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)))
@@ -1586,7 +1586,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);
More information about the wine-cvs
mailing list