[vlc-commits] d3d9_fmt: make IDirect3D9_GetAdapterDisplayMode simpler
Steve Lhomme
git at videolan.org
Mon Nov 20 19:00:12 CET 2017
vlc | branch: master | Steve Lhomme <robUx4 at videolabs.io> | Sat Nov 18 14:26:47 2017 +0100| [fd392748533668976cbc9e1f8d87bb1f44c33c95] | committer: Jean-Baptiste Kempf
d3d9_fmt: make IDirect3D9_GetAdapterDisplayMode simpler
Signed-off-by: Jean-Baptiste Kempf <jb at videolan.org>
> http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=fd392748533668976cbc9e1f8d87bb1f44c33c95
---
modules/video_chroma/d3d9_fmt.c | 12 +++++++-----
modules/video_chroma/d3d9_fmt.h | 3 +--
modules/video_output/win32/direct3d9.c | 5 ++++-
3 files changed, 12 insertions(+), 8 deletions(-)
diff --git a/modules/video_chroma/d3d9_fmt.c b/modules/video_chroma/d3d9_fmt.c
index 6e66060ad5..6d82b9ba17 100644
--- a/modules/video_chroma/d3d9_fmt.c
+++ b/modules/video_chroma/d3d9_fmt.c
@@ -85,8 +85,12 @@ HRESULT D3D9_CreateDevice(vlc_object_t *o, d3d9_handle_t *hd3d, HWND hwnd,
}
out->adapterId = AdapterToUse;
- if (D3D9_FillPresentationParameters(o, hd3d, source, out))
+ out->hwnd = hwnd;
+ if (D3D9_FillPresentationParameters(hd3d, source, out))
+ {
+ msg_Err(o, "Could not presentation parameters");
return E_INVALIDARG;
+ }
/* */
D3DADAPTER_IDENTIFIER9 d3dai;
@@ -138,7 +142,7 @@ void D3D9_ReleaseDevice(d3d9_device_t *d3d_dev)
* It setup vout_display_sys_t::d3dpp and vout_display_sys_t::rect_display
* from the default adapter.
*/
-int D3D9_FillPresentationParameters(vlc_object_t *o, d3d9_handle_t *hd3d,
+int D3D9_FillPresentationParameters(d3d9_handle_t *hd3d,
const video_format_t *source, d3d9_device_t *out)
{
/*
@@ -149,10 +153,8 @@ int D3D9_FillPresentationParameters(vlc_object_t *o, d3d9_handle_t *hd3d,
if (source->i_width)
{
HRESULT hr = IDirect3D9_GetAdapterDisplayMode(hd3d->obj, out->adapterId, &d3ddm);
- if (FAILED(hr)) {
- msg_Err(o, "Could not read adapter display mode. (hr=0x%0lx)", hr);
+ if (FAILED(hr))
return VLC_EGENERIC;
- }
}
/* Set up the structure used to create the D3DDevice. */
diff --git a/modules/video_chroma/d3d9_fmt.h b/modules/video_chroma/d3d9_fmt.h
index 23671f4a38..61f043b94b 100644
--- a/modules/video_chroma/d3d9_fmt.h
+++ b/modules/video_chroma/d3d9_fmt.h
@@ -84,7 +84,6 @@ int D3D9_Create(vlc_object_t *, d3d9_handle_t *);
void D3D9_Destroy(d3d9_handle_t *);
-int D3D9_FillPresentationParameters(vlc_object_t *, d3d9_handle_t *,
- const video_format_t *, d3d9_device_t *out);
+int D3D9_FillPresentationParameters(d3d9_handle_t *, const video_format_t *, d3d9_device_t *);
#endif /* VLC_VIDEOCHROMA_D3D9_FMT_H_ */
diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c
index 4e4d1cdd8e..011100f6b8 100644
--- a/modules/video_output/win32/direct3d9.c
+++ b/modules/video_output/win32/direct3d9.c
@@ -817,8 +817,11 @@ static int Direct3D9Reset(vout_display_t *vd)
vout_display_sys_t *sys = vd->sys;
d3d9_device_t *p_d3d9_dev = &sys->d3d_dev;
- if (D3D9_FillPresentationParameters(VLC_OBJECT(vd), &sys->hd3d, &vd->source, p_d3d9_dev))
+ if (D3D9_FillPresentationParameters(&sys->hd3d, &vd->source, p_d3d9_dev))
+ {
+ msg_Err(vd, "Could not presentation parameters to reset device");
return VLC_EGENERIC;
+ }
/* release all D3D objects */
Direct3D9DestroyResources(vd);
More information about the vlc-commits
mailing list