Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
W
wine-winehq
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Registry
Registry
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
wine
wine-winehq
Commits
bf7e6d17
Commit
bf7e6d17
authored
Nov 16, 2020
by
Nikolay Sivov
Committed by
Alexandre Julliard
Nov 16, 2020
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
mfplat/tests: Add a helper to check for supported interfaces.
Signed-off-by:
Nikolay Sivov
<
nsivov@codeweavers.com
>
Signed-off-by:
Alexandre Julliard
<
julliard@winehq.org
>
parent
564d5804
Show whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
36 additions
and
54 deletions
+36
-54
mfplat.c
dlls/mfplat/tests/mfplat.c
+36
-54
No files found.
dlls/mfplat/tests/mfplat.c
View file @
bf7e6d17
...
...
@@ -70,6 +70,21 @@ static void _expect_ref(IUnknown *obj, ULONG ref, int line)
ok_
(
__FILE__
,
line
)(
rc
==
ref
,
"Unexpected refcount %d, expected %d.
\n
"
,
rc
,
ref
);
}
#define check_interface(a, b, c) check_interface_(__LINE__, a, b, c)
static
void
check_interface_
(
unsigned
int
line
,
void
*
iface_ptr
,
REFIID
iid
,
BOOL
supported
)
{
IUnknown
*
iface
=
iface_ptr
;
HRESULT
hr
,
expected_hr
;
IUnknown
*
unk
;
expected_hr
=
supported
?
S_OK
:
E_NOINTERFACE
;
hr
=
IUnknown_QueryInterface
(
iface
,
iid
,
(
void
**
)
&
unk
);
ok_
(
__FILE__
,
line
)(
hr
==
expected_hr
,
"Got hr %#x, expected %#x.
\n
"
,
hr
,
expected_hr
);
if
(
SUCCEEDED
(
hr
))
IUnknown_Release
(
unk
);
}
static
HRESULT
(
WINAPI
*
pD3D11CreateDevice
)(
IDXGIAdapter
*
adapter
,
D3D_DRIVER_TYPE
driver_type
,
HMODULE
swrast
,
UINT
flags
,
const
D3D_FEATURE_LEVEL
*
feature_levels
,
UINT
levels
,
UINT
sdk_version
,
ID3D11Device
**
device_out
,
D3D_FEATURE_LEVEL
*
obtained_feature_level
,
ID3D11DeviceContext
**
immediate_context
);
...
...
@@ -867,8 +882,8 @@ if(0)
hr
=
MFCreateMediaType
(
&
mediatype
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFMediaType_QueryInterface
(
mediatype
,
&
IID_IMFVideoMediaType
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
mediatype
,
&
IID_IMFVideoMediaType
,
FALSE
);
hr
=
IMFMediaType_QueryInterface
(
mediatype
,
&
IID_IUnknown
,
(
void
**
)
&
unk
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
ok
(
unk
==
(
IUnknown
*
)
mediatype
,
"Unexpected pointer.
\n
"
);
...
...
@@ -899,13 +914,9 @@ if(0)
hr
=
MFCreateVideoMediaTypeFromSubtype
(
&
MFVideoFormat_RGB555
,
&
video_type
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFVideoMediaType_QueryInterface
(
video_type
,
&
IID_IMFMediaType
,
(
void
**
)
&
unk
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
IUnknown_Release
(
unk
);
hr
=
IMFVideoMediaType_QueryInterface
(
video_type
,
&
IID_IMFVideoMediaType
,
(
void
**
)
&
unk
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
IUnknown_Release
(
unk
);
check_interface
(
video_type
,
&
IID_IMFMediaType
,
TRUE
);
check_interface
(
video_type
,
&
IID_IMFVideoMediaType
,
TRUE
);
/* Major and subtype are set on creation. */
hr
=
IMFVideoMediaType_GetCount
(
video_type
,
&
count
);
...
...
@@ -917,8 +928,7 @@ if(0)
hr
=
IMFVideoMediaType_GetCount
(
video_type
,
&
count
);
ok
(
!
count
,
"Unexpected attribute count %#x.
\n
"
,
hr
);
hr
=
IMFVideoMediaType_QueryInterface
(
video_type
,
&
IID_IMFVideoMediaType
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
video_type
,
&
IID_IMFVideoMediaType
,
FALSE
);
IMFVideoMediaType_Release
(
video_type
);
...
...
@@ -928,8 +938,8 @@ if(0)
hr
=
MFCreateMediaType
(
&
mediatype
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFMediaType_QueryInterface
(
mediatype
,
&
IID_IMFAudioMediaType
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
mediatype
,
&
IID_IMFAudioMediaType
,
FALSE
);
hr
=
IMFMediaType_QueryInterface
(
mediatype
,
&
IID_IUnknown
,
(
void
**
)
&
unk
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
ok
(
unk
==
(
IUnknown
*
)
mediatype
,
"Unexpected pointer.
\n
"
);
...
...
@@ -1620,17 +1630,10 @@ static void test_MFCreateMFByteStreamOnStream(void)
ref
=
IMFByteStream_Release
(
bytestream2
);
ok
(
ref
==
2
,
"got %u
\n
"
,
ref
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFByteStreamBuffering
,
(
void
**
)
&
unknown
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFByteStreamCacheControl
,
(
void
**
)
&
unknown
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFMediaEventGenerator
,
(
void
**
)
&
unknown
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFGetService
,
(
void
**
)
&
unknown
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
bytestream
,
&
IID_IMFByteStreamBuffering
,
FALSE
);
check_interface
(
bytestream
,
&
IID_IMFByteStreamCacheControl
,
FALSE
);
check_interface
(
bytestream
,
&
IID_IMFMediaEventGenerator
,
FALSE
);
check_interface
(
bytestream
,
&
IID_IMFGetService
,
FALSE
);
hr
=
IMFByteStream_GetCapabilities
(
bytestream
,
&
caps
);
ok
(
hr
==
S_OK
,
"Failed to get stream capabilities, hr %#x.
\n
"
,
hr
);
...
...
@@ -1666,7 +1669,6 @@ static void test_file_stream(void)
WCHAR
pathW
[
MAX_PATH
];
DWORD
caps
,
count
;
WCHAR
*
filename
;
IUnknown
*
unk
;
HRESULT
hr
;
WCHAR
*
str
;
BOOL
eos
;
...
...
@@ -1680,18 +1682,10 @@ static void test_file_stream(void)
MF_FILEFLAGS_NONE
,
filename
,
&
bytestream
);
ok
(
hr
==
S_OK
,
"got 0x%08x
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFByteStreamBuffering
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFByteStreamCacheControl
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFMediaEventGenerator
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IMFByteStream_QueryInterface
(
bytestream
,
&
IID_IMFGetService
,
(
void
**
)
&
unk
);
ok
(
hr
==
S_OK
,
"Failed to get interface pointer, hr %#x.
\n
"
,
hr
);
IUnknown_Release
(
unk
);
check_interface
(
bytestream
,
&
IID_IMFByteStreamBuffering
,
FALSE
);
check_interface
(
bytestream
,
&
IID_IMFByteStreamCacheControl
,
FALSE
);
check_interface
(
bytestream
,
&
IID_IMFMediaEventGenerator
,
FALSE
);
check_interface
(
bytestream
,
&
IID_IMFGetService
,
TRUE
);
hr
=
IMFByteStream_GetCapabilities
(
bytestream
,
&
caps
);
ok
(
hr
==
S_OK
,
"Failed to get stream capabilities, hr %#x.
\n
"
,
hr
);
...
...
@@ -1818,7 +1812,6 @@ static void test_system_memory_buffer(void)
HRESULT
hr
;
DWORD
length
,
max
;
BYTE
*
data
,
*
data2
;
IUnknown
*
unk
;
hr
=
MFCreateMemoryBuffer
(
1024
,
NULL
);
ok
(
hr
==
E_INVALIDARG
||
hr
==
E_POINTER
,
"got 0x%08x
\n
"
,
hr
);
...
...
@@ -1837,8 +1830,7 @@ static void test_system_memory_buffer(void)
hr
=
MFCreateMemoryBuffer
(
1024
,
&
buffer
);
ok
(
hr
==
S_OK
,
"got 0x%08x
\n
"
,
hr
);
hr
=
IMFMediaBuffer_QueryInterface
(
buffer
,
&
IID_IMFGetService
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
buffer
,
&
IID_IMFGetService
,
FALSE
);
hr
=
IMFMediaBuffer_GetMaxLength
(
buffer
,
NULL
);
ok
(
hr
==
E_INVALIDARG
||
hr
==
E_POINTER
,
"got 0x%08x
\n
"
,
hr
);
...
...
@@ -4443,7 +4435,6 @@ static void test_create_property_store(void)
PROPVARIANT
value
=
{
0
};
PROPERTYKEY
key
;
ULONG
refcount
;
IUnknown
*
unk
;
DWORD
count
;
HRESULT
hr
;
...
...
@@ -4458,10 +4449,8 @@ static void test_create_property_store(void)
ok
(
store2
!=
store
,
"Expected different store objects.
\n
"
);
IPropertyStore_Release
(
store2
);
hr
=
IPropertyStore_QueryInterface
(
store
,
&
IID_IPropertyStoreCache
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
hr
=
IPropertyStore_QueryInterface
(
store
,
&
IID_IPersistSerializedPropStorage
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
store
,
&
IID_IPropertyStoreCache
,
FALSE
);
check_interface
(
store
,
&
IID_IPersistSerializedPropStorage
,
FALSE
);
hr
=
IPropertyStore_GetCount
(
store
,
NULL
);
ok
(
hr
==
E_INVALIDARG
,
"Unexpected hr %#x.
\n
"
,
hr
);
...
...
@@ -5195,7 +5184,6 @@ static void test_MFCreate2DMediaBuffer(void)
IMF2DBuffer
*
_2dbuffer
;
IMFMediaBuffer
*
buffer
;
int
i
,
pitch
,
pitch2
;
IUnknown
*
unk
;
HRESULT
hr
;
BOOL
ret
;
...
...
@@ -5218,9 +5206,7 @@ static void test_MFCreate2DMediaBuffer(void)
hr
=
pMFCreate2DMediaBuffer
(
2
,
3
,
MAKEFOURCC
(
'N'
,
'V'
,
'1'
,
'2'
),
FALSE
,
&
buffer
);
ok
(
hr
==
S_OK
,
"Failed to create a buffer, hr %#x.
\n
"
,
hr
);
hr
=
IMFMediaBuffer_QueryInterface
(
buffer
,
&
IID_IMFGetService
,
(
void
**
)
&
unk
);
ok
(
hr
==
S_OK
,
"Unexpected hr %#x.
\n
"
,
hr
);
IUnknown_Release
(
unk
);
check_interface
(
buffer
,
&
IID_IMFGetService
,
TRUE
);
/* Full backing buffer size, with 64 bytes per row alignment. */
hr
=
IMFMediaBuffer_GetMaxLength
(
buffer
,
&
max_length
);
...
...
@@ -5450,7 +5436,6 @@ static void test_MFCreateMediaBufferFromMediaType(void)
HRESULT
hr
;
IMFMediaType
*
media_type
;
unsigned
int
i
;
IUnknown
*
unk
;
if
(
!
pMFCreateMediaBufferFromMediaType
)
{
...
...
@@ -5483,8 +5468,7 @@ static void test_MFCreateMediaBufferFromMediaType(void)
if
(
FAILED
(
hr
))
break
;
hr
=
IMFMediaBuffer_QueryInterface
(
buffer
,
&
IID_IMFGetService
,
(
void
**
)
&
unk
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
buffer
,
&
IID_IMFGetService
,
FALSE
);
hr
=
IMFMediaBuffer_GetMaxLength
(
buffer
,
&
length
);
ok
(
hr
==
S_OK
,
"Failed to get length, hr %#x.
\n
"
,
hr
);
...
...
@@ -5827,7 +5811,6 @@ done:
static
void
test_MFCreateTrackedSample
(
void
)
{
IMFTrackedSample
*
tracked_sample
;
IMFDesiredSample
*
desired_sample
;
IMFSample
*
sample
;
IUnknown
*
unk
;
HRESULT
hr
;
...
...
@@ -5852,8 +5835,7 @@ static void test_MFCreateTrackedSample(void)
IMFSample_Release
(
sample
);
hr
=
IMFTrackedSample_QueryInterface
(
tracked_sample
,
&
IID_IMFDesiredSample
,
(
void
**
)
&
desired_sample
);
ok
(
hr
==
E_NOINTERFACE
,
"Unexpected hr %#x.
\n
"
,
hr
);
check_interface
(
tracked_sample
,
&
IID_IMFDesiredSample
,
FALSE
);
IMFTrackedSample_Release
(
tracked_sample
);
}
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment