mfplay: Implement aspect ratio 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:47 +03:00 committed by Alexandre Julliard
parent 6580ce6801
commit 69e6f194b6
1 changed files with 26 additions and 4 deletions

View File

@ -1308,17 +1308,39 @@ static HRESULT WINAPI media_player_GetVideoSourceRect(IMFPMediaPlayer *iface,
static HRESULT WINAPI media_player_SetAspectRatioMode(IMFPMediaPlayer *iface, DWORD mode)
{
FIXME("%p, %u.\n", iface, mode);
struct media_player *player = impl_from_IMFPMediaPlayer(iface);
IMFVideoDisplayControl *display_control;
HRESULT hr;
return E_NOTIMPL;
TRACE("%p, %u.\n", iface, mode);
if (SUCCEEDED(hr = MFGetService((IUnknown *)player->session, &MR_VIDEO_RENDER_SERVICE,
&IID_IMFVideoDisplayControl, (void **)&display_control)))
{
hr = IMFVideoDisplayControl_SetAspectRatioMode(display_control, mode);
IMFVideoDisplayControl_Release(display_control);
}
return hr;
}
static HRESULT WINAPI media_player_GetAspectRatioMode(IMFPMediaPlayer *iface,
DWORD *mode)
{
FIXME("%p, %p.\n", iface, mode);
struct media_player *player = impl_from_IMFPMediaPlayer(iface);
IMFVideoDisplayControl *display_control;
HRESULT hr;
return E_NOTIMPL;
TRACE("%p, %p.\n", iface, mode);
if (SUCCEEDED(hr = MFGetService((IUnknown *)player->session, &MR_VIDEO_RENDER_SERVICE,
&IID_IMFVideoDisplayControl, (void **)&display_control)))
{
hr = IMFVideoDisplayControl_GetAspectRatioMode(display_control, mode);
IMFVideoDisplayControl_Release(display_control);
}
return hr;
}
static HRESULT WINAPI media_player_GetVideoWindow(IMFPMediaPlayer *iface, HWND *window)