quartz: Allow the arguments to IMediaSeeking::GetPositions() to be NULL.

This allows "UNDER NIGHT IN-BIRTH Exe:Late" to render video.

Signed-off-by: Zebediah Figura <z.figura12@gmail.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Zebediah Figura 2020-07-22 18:29:21 -05:00 committed by Alexandre Julliard
parent f9dc364b4e
commit 11df839b69
2 changed files with 13 additions and 11 deletions

View File

@ -2441,16 +2441,18 @@ static HRESULT WINAPI MediaSeeking_SetPositions(IMediaSeeking *iface, LONGLONG *
return hr;
}
static HRESULT WINAPI MediaSeeking_GetPositions(IMediaSeeking *iface, LONGLONG *pCurrent,
LONGLONG *pStop)
static HRESULT WINAPI MediaSeeking_GetPositions(IMediaSeeking *iface,
LONGLONG *current, LONGLONG *stop)
{
struct filter_graph *This = impl_from_IMediaSeeking(iface);
HRESULT hr;
struct filter_graph *graph = impl_from_IMediaSeeking(iface);
HRESULT hr = S_OK;
TRACE("(%p/%p)->(%p, %p)\n", This, iface, pCurrent, pStop);
hr = IMediaSeeking_GetCurrentPosition(iface, pCurrent);
if (SUCCEEDED(hr))
hr = IMediaSeeking_GetStopPosition(iface, pStop);
TRACE("graph %p, current %p, stop %p.\n", graph, current, stop);
if (current)
hr = IMediaSeeking_GetCurrentPosition(iface, current);
if (SUCCEEDED(hr) && stop)
hr = IMediaSeeking_GetStopPosition(iface, stop);
return hr;
}

View File

@ -4098,14 +4098,14 @@ static void test_graph_seeking(void)
ok(hr == E_NOTIMPL, "Got hr %#x.\n", hr);
hr = IMediaSeeking_GetPositions(seeking, NULL, NULL);
todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(hr == S_OK, "Got hr %#x.\n", hr);
hr = IMediaSeeking_GetPositions(seeking, NULL, &stop);
todo_wine ok(hr == E_NOTIMPL, "Got hr %#x.\n", hr);
ok(hr == E_NOTIMPL, "Got hr %#x.\n", hr);
hr = IMediaSeeking_GetPositions(seeking, &current, &stop);
ok(hr == E_NOTIMPL, "Got hr %#x.\n", hr);
current = 0xdeadbeef;
hr = IMediaSeeking_GetPositions(seeking, &current, NULL);
todo_wine ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(hr == S_OK, "Got hr %#x.\n", hr);
ok(!current, "Got time %s.\n", wine_dbgstr_longlong(time));
hr = IMediaSeeking_GetCurrentPosition(seeking, NULL);