vlc | branch: master | Steve Lhomme <[email protected]> | Thu Nov 15 12:01:04 2018 +0100| [0fb0d953216575d70cbe433b526a601e2c5bd406] | committer: Steve Lhomme
vout: win32: allow using the vout without a window This is already how the UWP vout works but by not compiling some code. > http://git.videolan.org/gitweb.cgi/vlc.git/?a=commit;h=0fb0d953216575d70cbe433b526a601e2c5bd406 --- modules/video_output/win32/common.c | 14 +++++++------- modules/video_output/win32/common.h | 4 +++- modules/video_output/win32/direct3d11.c | 2 +- modules/video_output/win32/direct3d9.c | 2 +- modules/video_output/win32/directdraw.c | 2 +- modules/video_output/win32/glwin32.c | 2 +- modules/video_output/win32/wingdi.c | 2 +- 7 files changed, 15 insertions(+), 13 deletions(-) diff --git a/modules/video_output/win32/common.c b/modules/video_output/win32/common.c index eb2c08a54c..d2ff2150bb 100644 --- a/modules/video_output/win32/common.c +++ b/modules/video_output/win32/common.c @@ -67,7 +67,7 @@ static unsigned int GetPictureHeight(const vout_display_t *vd) } /* */ -int CommonInit(vout_display_t *vd) +int CommonInit(vout_display_t *vd, bool b_windowless) { vout_display_sys_t *sys = vd->sys; @@ -76,11 +76,16 @@ int CommonInit(vout_display_t *vd) sys->hparent = NULL; sys->hfswnd = NULL; sys->changes = 0; + sys->b_windowless = b_windowless; sys->is_first_display = true; sys->is_on_top = false; sys->pf_GetPictureWidth = GetPictureWidth; sys->pf_GetPictureHeight = GetPictureHeight; + +#if !defined(NDEBUG) && defined(HAVE_DXGIDEBUG_H) + sys->dxgidebug_dll = LoadLibrary(TEXT("DXGIDEBUG.DLL")); +#endif #if !VLC_WINSTORE_APP sys->pf_GetRect = GetRect; SetRectEmpty(&sys->rect_display); @@ -93,9 +98,7 @@ int CommonInit(vout_display_t *vd) sys->event = EventThreadCreate(vd); if (!sys->event) return VLC_EGENERIC; -#endif -#if !VLC_WINSTORE_APP event_cfg_t cfg; memset(&cfg, 0, sizeof(cfg)); #ifdef MODULE_NAME_IS_direct3d9 @@ -124,10 +127,7 @@ int CommonInit(vout_display_t *vd) vout_display_SendEventFullscreen(vd, false); } -#endif -#if !defined(NDEBUG) && defined(HAVE_DXGIDEBUG_H) - sys->dxgidebug_dll = LoadLibrary(TEXT("DXGIDEBUG.DLL")); -#endif +#endif /* !VLC_WINSTORE_APP */ return VLC_SUCCESS; } diff --git a/modules/video_output/win32/common.h b/modules/video_output/win32/common.h index 17d7275c2a..90168a992b 100644 --- a/modules/video_output/win32/common.h +++ b/modules/video_output/win32/common.h @@ -36,6 +36,8 @@ *****************************************************************************/ typedef struct vout_display_sys_win32_t { + bool b_windowless; /* the rendering is done offscreen */ + /* */ event_thread_t *event; @@ -88,7 +90,7 @@ typedef struct vout_display_sys_win32_t /***************************************************************************** * Prototypes from common.c *****************************************************************************/ -int CommonInit(vout_display_t *); +int CommonInit(vout_display_t *, bool b_windowless); void CommonClean(vout_display_t *); void CommonManage(vout_display_t *); int CommonControl(vout_display_t *, int , va_list ); diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c index 1a708e613e..311b921e19 100644 --- a/modules/video_output/win32/direct3d11.c +++ b/modules/video_output/win32/direct3d11.c @@ -276,7 +276,7 @@ static int Open(vlc_object_t *object) if (ret != VLC_SUCCESS) return ret; - if (CommonInit(vd)) + if (CommonInit(vd, false)) goto error; #if VLC_WINSTORE_APP diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c index 7fd40e63c8..eb3b6120b4 100644 --- a/modules/video_output/win32/direct3d9.c +++ b/modules/video_output/win32/direct3d9.c @@ -293,7 +293,7 @@ static int Open(vlc_object_t *object) sys->desktop_save.win.top = var_InheritInteger(vd, "video-y"); sys->desktop_save.win.bottom = vd->cfg->display.height; - if (CommonInit(vd)) + if (CommonInit(vd, false)) goto error; /* */ diff --git a/modules/video_output/win32/directdraw.c b/modules/video_output/win32/directdraw.c index b74e17d125..d28f1c275c 100644 --- a/modules/video_output/win32/directdraw.c +++ b/modules/video_output/win32/directdraw.c @@ -210,7 +210,7 @@ static int Open(vlc_object_t *object) var_Create(vd, "directx-device", VLC_VAR_STRING | VLC_VAR_DOINHERIT); /* Initialisation */ - if (CommonInit(vd)) + if (CommonInit(vd, false)) goto error; /* */ diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c index ecc8dee939..a22afec660 100644 --- a/modules/video_output/win32/glwin32.c +++ b/modules/video_output/win32/glwin32.c @@ -124,7 +124,7 @@ static int Open(vlc_object_t *object) return VLC_ENOMEM; /* */ - if (CommonInit(vd)) + if (CommonInit(vd, false)) goto error; EventThreadUpdateTitle(sys->sys.event, VOUT_TITLE " (OpenGL output)"); diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c index 9521febc24..6014a9ff0d 100644 --- a/modules/video_output/win32/wingdi.c +++ b/modules/video_output/win32/wingdi.c @@ -97,7 +97,7 @@ static int Open(vlc_object_t *object) if (!sys) return VLC_ENOMEM; - if (CommonInit(vd)) + if (CommonInit(vd, false)) goto error; /* */ _______________________________________________ vlc-commits mailing list [email protected] https://mailman.videolan.org/listinfo/vlc-commits
