quartz: Check input in MediaControl_GetState.
This commit is contained in:
parent
7ae4f695bc
commit
a4d0d4fe36
|
@ -1701,6 +1701,9 @@ static HRESULT WINAPI MediaControl_GetState(IMediaControl *iface,
|
||||||
|
|
||||||
TRACE("(%p/%p)->(%d, %p): semi-stub !!!\n", This, iface, msTimeout, pfs);
|
TRACE("(%p/%p)->(%d, %p): semi-stub !!!\n", This, iface, msTimeout, pfs);
|
||||||
|
|
||||||
|
if (!pfs)
|
||||||
|
return E_POINTER;
|
||||||
|
|
||||||
EnterCriticalSection(&This->cs);
|
EnterCriticalSection(&This->cs);
|
||||||
|
|
||||||
*pfs = This->state;
|
*pfs = This->state;
|
||||||
|
|
|
@ -232,6 +232,7 @@ static void test_mediacontrol(void)
|
||||||
LONGLONG pos = 0xdeadbeef;
|
LONGLONG pos = 0xdeadbeef;
|
||||||
IMediaSeeking *seeking = NULL;
|
IMediaSeeking *seeking = NULL;
|
||||||
IMediaFilter *filter = NULL;
|
IMediaFilter *filter = NULL;
|
||||||
|
IMediaControl *control = NULL;
|
||||||
|
|
||||||
IFilterGraph2_SetDefaultSyncSource(pgraph);
|
IFilterGraph2_SetDefaultSyncSource(pgraph);
|
||||||
hr = IFilterGraph2_QueryInterface(pgraph, &IID_IMediaSeeking, (void**) &seeking);
|
hr = IFilterGraph2_QueryInterface(pgraph, &IID_IMediaSeeking, (void**) &seeking);
|
||||||
|
@ -247,6 +248,15 @@ static void test_mediacontrol(void)
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
hr = IFilterGraph2_QueryInterface(pgraph, &IID_IMediaControl, (void**) &control);
|
||||||
|
ok(hr == S_OK, "QueryInterface IMediaControl failed: %08x\n", hr);
|
||||||
|
if (FAILED(hr))
|
||||||
|
{
|
||||||
|
IUnknown_Release(seeking);
|
||||||
|
IUnknown_Release(filter);
|
||||||
|
return;
|
||||||
|
}
|
||||||
|
|
||||||
hr = IMediaSeeking_GetCurrentPosition(seeking, &pos);
|
hr = IMediaSeeking_GetCurrentPosition(seeking, &pos);
|
||||||
ok(hr == S_OK, "GetCurrentPosition failed: %08x\n", hr);
|
ok(hr == S_OK, "GetCurrentPosition failed: %08x\n", hr);
|
||||||
ok(pos == 0, "Position != 0 (%x%08x)\n", (DWORD)(pos >> 32), (DWORD)pos);
|
ok(pos == 0, "Position != 0 (%x%08x)\n", (DWORD)(pos >> 32), (DWORD)pos);
|
||||||
|
@ -257,6 +267,10 @@ static void test_mediacontrol(void)
|
||||||
ok(hr == S_OK, "GetCurrentPosition failed: %08x\n", hr);
|
ok(hr == S_OK, "GetCurrentPosition failed: %08x\n", hr);
|
||||||
ok(pos == 0, "Position != 0 (%x%08x)\n", (DWORD)(pos >> 32), (DWORD)pos);
|
ok(pos == 0, "Position != 0 (%x%08x)\n", (DWORD)(pos >> 32), (DWORD)pos);
|
||||||
|
|
||||||
|
hr = IMediaControl_GetState(control, 1000, NULL);
|
||||||
|
ok(hr == E_POINTER, "GetState expected %08x, got %08x\n", E_POINTER, hr);
|
||||||
|
|
||||||
|
IUnknown_Release(control);
|
||||||
IUnknown_Release(seeking);
|
IUnknown_Release(seeking);
|
||||||
IUnknown_Release(filter);
|
IUnknown_Release(filter);
|
||||||
releasefiltergraph();
|
releasefiltergraph();
|
||||||
|
|
Loading…
Reference in New Issue