mfplay: Implement border color control methods.

Signed-off-by: Nikolay Sivov <nsivov@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Nikolay Sivov 2021-04-21 12:29:48 +03:00 committed by Alexandre Julliard
parent 69e6f194b6
commit b1203230a3
1 changed files with 26 additions and 4 deletions

View File

@ -1363,16 +1363,38 @@ static HRESULT WINAPI media_player_UpdateVideo(IMFPMediaPlayer *iface)
static HRESULT WINAPI media_player_SetBorderColor(IMFPMediaPlayer *iface, COLORREF color) static HRESULT WINAPI media_player_SetBorderColor(IMFPMediaPlayer *iface, COLORREF color)
{ {
FIXME("%p, %#x.\n", iface, color); struct media_player *player = impl_from_IMFPMediaPlayer(iface);
IMFVideoDisplayControl *display_control;
HRESULT hr;
return E_NOTIMPL; TRACE("%p, %#x.\n", iface, color);
if (SUCCEEDED(hr = MFGetService((IUnknown *)player->session, &MR_VIDEO_RENDER_SERVICE,
&IID_IMFVideoDisplayControl, (void **)&display_control)))
{
hr = IMFVideoDisplayControl_SetBorderColor(display_control, color);
IMFVideoDisplayControl_Release(display_control);
}
return hr;
} }
static HRESULT WINAPI media_player_GetBorderColor(IMFPMediaPlayer *iface, COLORREF *color) static HRESULT WINAPI media_player_GetBorderColor(IMFPMediaPlayer *iface, COLORREF *color)
{ {
FIXME("%p, %p.\n", iface, color); struct media_player *player = impl_from_IMFPMediaPlayer(iface);
IMFVideoDisplayControl *display_control;
HRESULT hr;
return E_NOTIMPL; TRACE("%p, %p.\n", iface, color);
if (SUCCEEDED(hr = MFGetService((IUnknown *)player->session, &MR_VIDEO_RENDER_SERVICE,
&IID_IMFVideoDisplayControl, (void **)&display_control)))
{
hr = IMFVideoDisplayControl_GetBorderColor(display_control, color);
IMFVideoDisplayControl_Release(display_control);
}
return hr;
} }
static HRESULT WINAPI media_player_InsertEffect(IMFPMediaPlayer *iface, IUnknown *effect, static HRESULT WINAPI media_player_InsertEffect(IMFPMediaPlayer *iface, IUnknown *effect,