forked from Mirrors/wine-wine
mfmediaengine: Keep loop flag.
Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com> Signed-off-by: Alexandre Julliard <julliard@winehq.org>feature/deterministic
parent
e5b25e874e
commit
8805f0429e
|
@ -60,6 +60,7 @@ enum media_engine_flags
|
|||
/* MF_MEDIA_ENGINE_CREATEFLAGS_MASK is 0x1f. */
|
||||
FLAGS_ENGINE_SHUT_DOWN = 0x20,
|
||||
FLAGS_ENGINE_AUTO_PLAY = 0x40,
|
||||
FLAGS_ENGINE_LOOP = 0x80,
|
||||
};
|
||||
|
||||
struct media_engine
|
||||
|
@ -342,16 +343,29 @@ static HRESULT WINAPI media_engine_SetAutoPlay(IMFMediaEngine *iface, BOOL autop
|
|||
|
||||
static BOOL WINAPI media_engine_GetLoop(IMFMediaEngine *iface)
|
||||
{
|
||||
FIXME("(%p): stub.\n", iface);
|
||||
struct media_engine *engine = impl_from_IMFMediaEngine(iface);
|
||||
BOOL value;
|
||||
|
||||
return FALSE;
|
||||
TRACE("%p.\n", iface);
|
||||
|
||||
EnterCriticalSection(&engine->cs);
|
||||
value = !!(engine->flags & FLAGS_ENGINE_LOOP);
|
||||
LeaveCriticalSection(&engine->cs);
|
||||
|
||||
return value;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI media_engine_SetLoop(IMFMediaEngine *iface, BOOL loop)
|
||||
{
|
||||
struct media_engine *engine = impl_from_IMFMediaEngine(iface);
|
||||
|
||||
FIXME("(%p, %d): stub.\n", iface, loop);
|
||||
|
||||
return E_NOTIMPL;
|
||||
EnterCriticalSection(&engine->cs);
|
||||
media_engine_set_flag(engine, FLAGS_ENGINE_LOOP, loop);
|
||||
LeaveCriticalSection(&engine->cs);
|
||||
|
||||
return S_OK;
|
||||
}
|
||||
|
||||
static HRESULT WINAPI media_engine_Play(IMFMediaEngine *iface)
|
||||
|
|
|
@ -341,7 +341,6 @@ todo_wine
|
|||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||
|
||||
state = IMFMediaEngine_GetAutoPlay(media_engine);
|
||||
todo_wine
|
||||
ok(!!state, "Unexpected state.\n");
|
||||
|
||||
/* Loop mode is still accessible. */
|
||||
|
@ -349,11 +348,9 @@ todo_wine
|
|||
ok(!state, "Unexpected state.\n");
|
||||
|
||||
hr = IMFMediaEngine_SetLoop(media_engine, TRUE);
|
||||
todo_wine
|
||||
ok(hr == S_OK, "Unexpected hr %#x.\n", hr);
|
||||
|
||||
state = IMFMediaEngine_GetLoop(media_engine);
|
||||
todo_wine
|
||||
ok(!!state, "Unexpected state.\n");
|
||||
|
||||
hr = IMFMediaEngine_Play(media_engine);
|
||||
|
|
Loading…
Reference in New Issue