[vlc-devel] [PATCH 01/41] vout:win32: isolate the window placement fields in a structure

Steve Lhomme robux4 at ycbcr.xyz
Mon Mar 25 09:07:54 CET 2019


On 3/24/2019 10:45 PM, Jean-Baptiste Kempf wrote:
> OK.
>
> Does wallpaper still work?

It's not affected by these patches if that's what you mean. Otherwise 
yes, with D3D9.

>
> On Fri, 22 Mar 2019, at 16:19, Steve Lhomme wrote:
>> This patchset is to be applied after the DirectDraw removal and the "use
>> the event HWND directly with IDM_TOGGLE_ON_TOP" one.
>>
>> On 3/22/2019 4:13 PM, Steve Lhomme wrote:
>>> These fields are needed even when there's no window to handle. For example if
>>> the display dimensions/position are used for external rendering.
>>> ---
>>>    modules/video_output/win32/common.c     | 36 ++++++++---------
>>>    modules/video_output/win32/common.h     | 34 +++++++++-------
>>>    modules/video_output/win32/direct3d11.c | 54 ++++++++++++-------------
>>>    modules/video_output/win32/direct3d9.c  | 22 +++++-----
>>>    modules/video_output/win32/glwin32.c    |  4 +-
>>>    modules/video_output/win32/wingdi.c     | 10 ++---
>>>    6 files changed, 83 insertions(+), 77 deletions(-)
>>>
>>> diff --git a/modules/video_output/win32/common.c b/modules/video_output/win32/common.c
>>> index 68f0ca93d4..18b1ffdfbf 100644
>>> --- a/modules/video_output/win32/common.c
>>> +++ b/modules/video_output/win32/common.c
>>> @@ -76,25 +76,25 @@ int CommonInit(vout_display_t *vd, bool b_windowless, const vout_display_cfg_t *
>>>        sys->hvideownd = NULL;
>>>        sys->hparent   = NULL;
>>>        sys->hfswnd    = NULL;
>>> -    sys->changes   = 0;
>>> +    sys->area.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;
>>> +    sys->area.pf_GetPictureWidth  = GetPictureWidth;
>>> +    sys->area.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);
>>> +    SetRectEmpty(&sys->area.rect_display);
>>>        SetRectEmpty(&sys->rect_parent);
>>>    
>>>        var_Create(vd, "disable-screensaver", VLC_VAR_BOOL | VLC_VAR_DOINHERIT);
>>>    
>>> -    sys->vdcfg = *vdcfg;
>>> +    sys->area.vdcfg = *vdcfg;
>>>    
>>>        if (b_windowless)
>>>            return VLC_SUCCESS;
>>> @@ -142,16 +142,16 @@ void UpdateRects(vout_display_t *vd, bool is_forced)
>>>    {
>>>        vout_display_sys_t *sys = vd->sys;
>>>        const video_format_t *source = &vd->source;
>>> -#define rect_src sys->rect_src
>>> -#define rect_src_clipped sys->rect_src_clipped
>>> -#define rect_dest sys->rect_dest
>>> -#define rect_dest_clipped sys->rect_dest_clipped
>>> +#define rect_src sys->area.rect_src
>>> +#define rect_src_clipped sys->area.rect_src_clipped
>>> +#define rect_dest sys->area.rect_dest
>>> +#define rect_dest_clipped sys->area.rect_dest_clipped
>>>    
>>>        RECT  rect;
>>>        POINT point = { 0 };
>>>    
>>>        /* */
>>> -    const vout_display_cfg_t *cfg = &sys->vdcfg;
>>> +    const vout_display_cfg_t *cfg = &sys->area.vdcfg;
>>>    
>>>        /* Retrieve the window size */
>>>        if (sys->b_windowless)
>>> @@ -177,9 +177,9 @@ void UpdateRects(vout_display_t *vd, bool is_forced)
>>>        bool is_resized;
>>>    #if VLC_WINSTORE_APP
>>>        has_moved = false;
>>> -    is_resized = rect.right != (sys->rect_display.right - sys->rect_display.left) ||
>>> -        rect.bottom != (sys->rect_display.bottom - sys->rect_display.top);
>>> -    sys->rect_display = rect;
>>> +    is_resized = rect.right != (sys->sys.rect_display.right - sys->sys.rect_display.left) ||
>>> +        rect.bottom != (sys->sys.rect_display.bottom - sys->sys.rect_display.top);
>>> +    sys->sys.rect_display = rect;
>>>    #else
>>>        if (sys->b_windowless)
>>>        {
>>> @@ -249,8 +249,8 @@ void UpdateRects(vout_display_t *vd, bool is_forced)
>>>        /* src image dimensions */
>>>        rect_src.left = 0;
>>>        rect_src.top = 0;
>>> -    rect_src.right = sys->pf_GetPictureWidth(vd);
>>> -    rect_src.bottom = sys->pf_GetPictureHeight(vd);
>>> +    rect_src.right = sys->area.pf_GetPictureWidth(vd);
>>> +    rect_src.bottom = sys->area.pf_GetPictureHeight(vd);
>>>    
>>>        /* Clip the source image */
>>>        rect_src_clipped.left = source->i_x_offset +
>>> @@ -295,7 +295,7 @@ void UpdateRects(vout_display_t *vd, bool is_forced)
>>>    
>>>    exit:
>>>        /* Signal the change in size/position */
>>> -    sys->changes |= DX_POSITION_CHANGE;
>>> +    sys->area.changes |= DX_POSITION_CHANGE;
>>>    
>>>    #undef rect_src
>>>    #undef rect_src_clipped
>>> @@ -546,7 +546,7 @@ int CommonControl(vout_display_t *vd, int query, va_list args)
>>>        case VOUT_DISPLAY_CHANGE_SOURCE_ASPECT:
>>>        case VOUT_DISPLAY_CHANGE_SOURCE_CROP: {
>>>            const vout_display_cfg_t *cfg = va_arg(args, const vout_display_cfg_t *);
>>> -        sys->vdcfg = *cfg;
>>> +        sys->area.vdcfg = *cfg;
>>>            UpdateRects(vd, true);
>>>            return VLC_SUCCESS;
>>>        }
>>> @@ -567,7 +567,7 @@ int CommonControl(vout_display_t *vd, int query, va_list args)
>>>                             rect_window.right - rect_window.left,
>>>                             rect_window.bottom - rect_window.top, SWP_NOMOVE);
>>>            }
>>> -        sys->vdcfg = *cfg;
>>> +        sys->area.vdcfg = *cfg;
>>>            UpdateRects(vd, false);
>>>            return VLC_SUCCESS;
>>>        }
>>> diff --git a/modules/video_output/win32/common.h b/modules/video_output/win32/common.h
>>> index ae22061ac4..d6befddfef 100644
>>> --- a/modules/video_output/win32/common.h
>>> +++ b/modules/video_output/win32/common.h
>>> @@ -27,6 +27,25 @@
>>>     *****************************************************************************/
>>>    #include "events.h"
>>>    
>>> +typedef struct display_win32_area_t
>>> +{
>>> +    /* size of the display */
>>> +    RECT         rect_display;
>>> +
>>> +    unsigned changes;        /* changes made to the video display */
>>> +
>>> +    /* Coordinates of src and dest images (used when blitting to display) */
>>> +    RECT         rect_src;
>>> +    RECT         rect_src_clipped;
>>> +    RECT         rect_dest;
>>> +    RECT         rect_dest_clipped;
>>> +
>>> +    vout_display_cfg_t vdcfg;
>>> +
>>> +    unsigned int (*pf_GetPictureWidth) (const vout_display_t *);
>>> +    unsigned int (*pf_GetPictureHeight)(const vout_display_t *);
>>> +} display_win32_area_t;
>>> +
>>>    /*****************************************************************************
>>>     * vout_sys_t: video output method descriptor
>>>     *****************************************************************************
>>> @@ -47,9 +66,6 @@ typedef struct vout_display_sys_win32_t
>>>        HWND                 hparent;             /* Handle of the parent window */
>>>        HWND                 hfswnd;          /* Handle of the fullscreen window */
>>>    
>>> -    /* size of the display */
>>> -    RECT         rect_display;
>>> -
>>>        /* size of the overall window (including black bands) */
>>>        RECT         rect_parent;
>>>    
>>> @@ -57,25 +73,15 @@ typedef struct vout_display_sys_win32_t
>>>        HINSTANCE     dxgidebug_dll;
>>>    # endif
>>>    
>>> -    unsigned changes;        /* changes made to the video display */
>>> -
>>>        /* Misc */
>>>        bool is_first_display;
>>>        bool is_on_top;
>>>    
>>> -    /* Coordinates of src and dest images (used when blitting to display) */
>>> -    RECT         rect_src;
>>> -    RECT         rect_src_clipped;
>>> -    RECT         rect_dest;
>>> -    RECT         rect_dest_clipped;
>>> -
>>> -    vout_display_cfg_t vdcfg;
>>> +    display_win32_area_t   area;
>>>    
>>>        bool use_desktop;     /* show video on desktop window ? */
>>>    
>>>        bool (*pf_GetRect)(const struct vout_display_sys_win32_t *p_sys, RECT *out);
>>> -    unsigned int (*pf_GetPictureWidth) (const vout_display_t *);
>>> -    unsigned int (*pf_GetPictureHeight)(const vout_display_t *);
>>>    } vout_display_sys_win32_t;
>>>    
>>>    
>>> diff --git a/modules/video_output/win32/direct3d11.c b/modules/video_output/win32/direct3d11.c
>>> index f2e28dd8d1..23a641c615 100644
>>> --- a/modules/video_output/win32/direct3d11.c
>>> +++ b/modules/video_output/win32/direct3d11.c
>>> @@ -193,7 +193,7 @@ static HRESULT UpdateBackBuffer(vout_display_t *vd)
>>>    #if VLC_WINSTORE_APP
>>>        if (!GetRect(&sys->sys, &rect))
>>>    #endif
>>> -        rect = sys->sys.rect_dest_clipped;
>>> +        rect = sys->sys.area.rect_dest_clipped;
>>>        uint32_t i_width = RECTWidth(rect);
>>>        uint32_t i_height = RECTHeight(rect);
>>>    
>>> @@ -206,8 +206,8 @@ static HRESULT UpdateBackBuffer(vout_display_t *vd)
>>>    static void UpdateSize(vout_display_t *vd)
>>>    {
>>>        vout_display_sys_t *sys = vd->sys;
>>> -    msg_Dbg(vd, "Detected size change %dx%d", RECTWidth(sys->sys.rect_dest_clipped),
>>> -            RECTHeight(sys->sys.rect_dest_clipped));
>>> +    msg_Dbg(vd, "Detected size change %dx%d", RECTWidth(sys->sys.area.rect_dest_clipped),
>>> +            RECTHeight(sys->sys.area.rect_dest_clipped));
>>>    
>>>        UpdateBackBuffer(vd);
>>>    
>>> @@ -215,7 +215,7 @@ static void UpdateSize(vout_display_t *vd)
>>>    
>>>        UpdatePicQuadPosition(vd);
>>>    
>>> -    D3D11_UpdateQuadPosition(vd, &sys->d3d_dev, &sys->picQuad, &sys->sys.rect_src_clipped,
>>> +    D3D11_UpdateQuadPosition(vd, &sys->d3d_dev, &sys->picQuad, &sys->sys.area.rect_src_clipped,
>>>                                 vd->source.orientation);
>>>    
>>>        d3d11_device_unlock( &sys->d3d_dev );
>>> @@ -224,15 +224,15 @@ static void UpdateSize(vout_display_t *vd)
>>>    static void Manage(vout_display_t *vd)
>>>    {
>>>        vout_display_sys_t *sys = vd->sys;
>>> -    RECT before_src_clipped  = sys->sys.rect_src_clipped;
>>> -    RECT before_dest_clipped = sys->sys.rect_dest_clipped;
>>> -    RECT before_dest         = sys->sys.rect_dest;
>>> +    RECT before_src_clipped  = sys->sys.area.rect_src_clipped;
>>> +    RECT before_dest_clipped = sys->sys.area.rect_dest_clipped;
>>> +    RECT before_dest         = sys->sys.area.rect_dest;
>>>    
>>>        CommonManage(vd);
>>>    
>>> -    if (!RectEquals(&before_src_clipped, &sys->sys.rect_src_clipped) ||
>>> -        !RectEquals(&before_dest_clipped, &sys->sys.rect_dest_clipped) ||
>>> -        !RectEquals(&before_dest, &sys->sys.rect_dest))
>>> +    if (!RectEquals(&before_src_clipped, &sys->sys.area.rect_src_clipped) ||
>>> +        !RectEquals(&before_dest_clipped, &sys->sys.area.rect_dest_clipped) ||
>>> +        !RectEquals(&before_dest, &sys->sys.area.rect_dest))
>>>        {
>>>            UpdateSize(vd);
>>>        }
>>> @@ -500,8 +500,8 @@ static int Open(vout_display_t *vd, const vout_display_cfg_t *cfg,
>>>    #if VLC_WINSTORE_APP
>>>        sys->sys.pf_GetRect = GetRect;
>>>    #endif
>>> -    sys->sys.pf_GetPictureWidth  = GetPictureWidth;
>>> -    sys->sys.pf_GetPictureHeight = GetPictureHeight;
>>> +    sys->sys.area.pf_GetPictureWidth  = GetPictureWidth;
>>> +    sys->sys.area.pf_GetPictureHeight = GetPictureHeight;
>>>    
>>>        if (!sys->swapCb || !sys->starRenderCb || !sys->endRenderCb || !sys->resizeCb)
>>>        {
>>> @@ -732,7 +732,7 @@ static void SetQuadVSProjection(vout_display_t *vd, d3d_quad_t *quad, const vlc_
>>>             f_fovx < -0.001f )
>>>            return;
>>>    
>>> -    float f_sar = (float) sys->sys.vdcfg.display.width / sys->sys.vdcfg.display.height;
>>> +    float f_sar = (float) sys->sys.area.vdcfg.display.width / sys->sys.area.vdcfg.display.height;
>>>        float f_fovy = UpdateFOVy(f_fovx, f_sar);
>>>        float f_z = UpdateZ(f_fovx, f_fovy);
>>>    
>>> @@ -754,9 +754,9 @@ static void SetQuadVSProjection(vout_display_t *vd, d3d_quad_t *quad, const vlc_
>>>    static int Control(vout_display_t *vd, int query, va_list args)
>>>    {
>>>        vout_display_sys_t *sys = vd->sys;
>>> -    RECT before_src_clipped  = sys->sys.rect_src_clipped;
>>> -    RECT before_dest_clipped = sys->sys.rect_dest_clipped;
>>> -    RECT before_dest         = sys->sys.rect_dest;
>>> +    RECT before_src_clipped  = sys->sys.area.rect_src_clipped;
>>> +    RECT before_dest_clipped = sys->sys.area.rect_dest_clipped;
>>> +    RECT before_dest         = sys->sys.area.rect_dest;
>>>    
>>>        int res = CommonControl( vd, query, args );
>>>    
>>> @@ -770,9 +770,9 @@ static int Control(vout_display_t *vd, int query, va_list args)
>>>            }
>>>        }
>>>    
>>> -    if (!RectEquals(&before_src_clipped,  &sys->sys.rect_src_clipped) ||
>>> -        !RectEquals(&before_dest_clipped, &sys->sys.rect_dest_clipped) ||
>>> -        !RectEquals(&before_dest,         &sys->sys.rect_dest) )
>>> +    if (!RectEquals(&before_src_clipped,  &sys->sys.area.rect_src_clipped) ||
>>> +        !RectEquals(&before_dest_clipped, &sys->sys.area.rect_dest_clipped) ||
>>> +        !RectEquals(&before_dest,         &sys->sys.area.rect_dest) )
>>>        {
>>>            UpdateSize(vd);
>>>        }
>>> @@ -1380,9 +1380,9 @@ static void UpdatePicQuadPosition(vout_display_t *vd)
>>>    {
>>>        vout_display_sys_t *sys = vd->sys;
>>>    
>>> -    D3D11_UpdateViewport( &sys->picQuad, &sys->sys.rect_dest_clipped, sys->display.pixelFormat );
>>> +    D3D11_UpdateViewport( &sys->picQuad, &sys->sys.area.rect_dest_clipped, sys->display.pixelFormat );
>>>    
>>> -    SetQuadVSProjection(vd, &sys->picQuad, &sys->sys.vdcfg.viewpoint);
>>> +    SetQuadVSProjection(vd, &sys->picQuad, &sys->sys.area.vdcfg.viewpoint);
>>>    
>>>    #ifndef NDEBUG
>>>        msg_Dbg( vd, "picQuad position (%.02f,%.02f) %.02fx%.02f",
>>> @@ -1485,7 +1485,7 @@ static int Direct3D11CreateFormatResources(vout_display_t *vd, const video_forma
>>>           return VLC_EGENERIC;
>>>        }
>>>    
>>> -    if (D3D11_SetupQuad( vd, &sys->d3d_dev, &surface_fmt, &sys->picQuad, &sys->display, &sys->sys.rect_src_clipped,
>>> +    if (D3D11_SetupQuad( vd, &sys->d3d_dev, &surface_fmt, &sys->picQuad, &sys->display, &sys->sys.area.rect_src_clipped,
>>>                       vd->source.orientation ) != VLC_SUCCESS) {
>>>            msg_Err(vd, "Could not Create the main quad picture.");
>>>            return VLC_EGENERIC;
>>> @@ -1493,7 +1493,7 @@ static int Direct3D11CreateFormatResources(vout_display_t *vd, const video_forma
>>>    
>>>        if ( vd->source.projection_mode == PROJECTION_MODE_EQUIRECTANGULAR ||
>>>             vd->source.projection_mode == PROJECTION_MODE_CUBEMAP_LAYOUT_STANDARD )
>>> -        SetQuadVSProjection( vd, &sys->picQuad, &sys->sys.vdcfg.viewpoint );
>>> +        SetQuadVSProjection( vd, &sys->picQuad, &sys->sys.area.vdcfg.viewpoint );
>>>    
>>>        if (is_d3d11_opaque(fmt->i_chroma)) {
>>>            ID3D10Multithread *pMultithread;
>>> @@ -1815,10 +1815,10 @@ static int Direct3D11MapSubpicture(vout_display_t *vd, int *subpicture_region_co
>>>            d3d_quad_t *quad = (d3d_quad_t *) quad_picture->p_sys;
>>>    
>>>            RECT spuViewport;
>>> -        spuViewport.left   = sys->sys.rect_dest.left + (FLOAT) r->i_x * RECTWidth(sys->sys.rect_dest)  / subpicture->i_original_picture_width;
>>> -        spuViewport.top    = sys->sys.rect_dest.top  + (FLOAT) r->i_y * RECTHeight(sys->sys.rect_dest) / subpicture->i_original_picture_height;
>>> -        spuViewport.right  = sys->sys.rect_dest.left + (FLOAT) (r->i_x + r->fmt.i_visible_width)  * RECTWidth(sys->sys.rect_dest)  / subpicture->i_original_picture_width;
>>> -        spuViewport.bottom = sys->sys.rect_dest.top  + (FLOAT) (r->i_y + r->fmt.i_visible_height) * RECTHeight(sys->sys.rect_dest) / subpicture->i_original_picture_height;
>>> +        spuViewport.left   = sys->sys.area.rect_dest.left + (FLOAT) r->i_x * RECTWidth(sys->sys.area.rect_dest)  / subpicture->i_original_picture_width;
>>> +        spuViewport.top    = sys->sys.area.rect_dest.top  + (FLOAT) r->i_y * RECTHeight(sys->sys.area.rect_dest) / subpicture->i_original_picture_height;
>>> +        spuViewport.right  = sys->sys.area.rect_dest.left + (FLOAT) (r->i_x + r->fmt.i_visible_width)  * RECTWidth(sys->sys.area.rect_dest)  / subpicture->i_original_picture_width;
>>> +        spuViewport.bottom = sys->sys.area.rect_dest.top  + (FLOAT) (r->i_y + r->fmt.i_visible_height) * RECTHeight(sys->sys.area.rect_dest) / subpicture->i_original_picture_height;
>>>    
>>>            if (r->zoom_h.num != 0 && r->zoom_h.den != 0)
>>>            {
>>> diff --git a/modules/video_output/win32/direct3d9.c b/modules/video_output/win32/direct3d9.c
>>> index 89c36038bd..b730a5abef 100644
>>> --- a/modules/video_output/win32/direct3d9.c
>>> +++ b/modules/video_output/win32/direct3d9.c
>>> @@ -448,7 +448,7 @@ static int Direct3D9ImportPicture(vout_display_t *vd,
>>>    
>>>        /* Copy picture surface into texture surface
>>>         * color space conversion happen here */
>>> -    RECT copy_rect = sys->sys.rect_src_clipped;
>>> +    RECT copy_rect = sys->sys.area.rect_src_clipped;
>>>        // On nVidia & AMD, StretchRect will fail if the visible size isn't even.
>>>        // When copying the entire buffer, the margin end up being blended in the actual picture
>>>        // on nVidia (regardless of even/odd dimensions)
>>> @@ -467,8 +467,8 @@ static int Direct3D9ImportPicture(vout_display_t *vd,
>>>    
>>>        /* */
>>>        region->texture = sys->sceneTexture;
>>> -    Direct3D9SetupVertices(region->vertex, &vd->sys->sys.rect_src, &vd->sys->sys.rect_src_clipped,
>>> -                           &vd->sys->sys.rect_dest_clipped, 255, vd->source.orientation);
>>> +    Direct3D9SetupVertices(region->vertex, &vd->sys->sys.area.rect_src, &vd->sys->sys.area.rect_src_clipped,
>>> +                           &vd->sys->sys.area.rect_dest_clipped, 255, vd->source.orientation);
>>>        return VLC_SUCCESS;
>>>    }
>>>    
>>> @@ -893,7 +893,7 @@ static void UpdateDesktopMode(vout_display_t *vd)
>>>    
>>>        if (sys->sys.use_desktop) {
>>>            /* Save non-desktop state */
>>> -        sys->desktop_save.is_fullscreen = sys->sys.vdcfg.is_fullscreen;
>>> +        sys->desktop_save.is_fullscreen = sys->sys.area.vdcfg.is_fullscreen;
>>>            sys->desktop_save.is_on_top     = sys->sys.is_on_top;
>>>    
>>>            /* Disable fullscreen/on_top while using desktop */
>>> @@ -923,7 +923,7 @@ static void Manage (vout_display_t *vd)
>>>            UpdateDesktopMode(vd);
>>>    
>>>        /* Position Change */
>>> -    if (sys->sys.changes & DX_POSITION_CHANGE) {
>>> +    if (sys->sys.area.changes & DX_POSITION_CHANGE) {
>>>    #if 0 /* need that when bicubic filter is available */
>>>            RECT rect;
>>>            UINT width, height;
>>> @@ -941,7 +941,7 @@ static void Manage (vout_display_t *vd)
>>>            }
>>>    #endif
>>>            sys->clear_scene = true;
>>> -        sys->sys.changes &= ~DX_POSITION_CHANGE;
>>> +        sys->sys.area.changes &= ~DX_POSITION_CHANGE;
>>>        }
>>>    }
>>>    
>>> @@ -1038,8 +1038,8 @@ static void Direct3D9ImportSubpicture(vout_display_t *vd,
>>>                msg_Err(vd, "Failed to lock the texture");
>>>            }
>>>    
>>> -        /* Map the subpicture to sys->sys.rect_dest */
>>> -        const RECT video = sys->sys.rect_dest;
>>> +        /* Map the subpicture to sys->sys.sys.rect_dest */
>>> +        const RECT video = sys->sys.area.rect_dest;
>>>            const float scale_w = (float)(video.right  - video.left) / subpicture->i_original_picture_width;
>>>            const float scale_h = (float)(video.bottom - video.top)  / subpicture->i_original_picture_height;
>>>    
>>> @@ -1315,8 +1315,8 @@ static void Swap(void *opaque)
>>>    
>>>        // Present the back buffer contents to the display
>>>        // No stretching should happen here !
>>> -    const RECT src = sys->sys.rect_dest_clipped;
>>> -    const RECT dst = sys->sys.rect_dest_clipped;
>>> +    const RECT src = sys->sys.area.rect_dest_clipped;
>>> +    const RECT dst = sys->sys.area.rect_dest_clipped;
>>>    
>>>        HRESULT hr;
>>>        if (sys->hd3d.use_ex) {
>>> @@ -1470,7 +1470,7 @@ static int Direct3D9Open(vout_display_t *vd, video_format_t *fmt,
>>>    
>>>        const d3d9_device_t *p_d3d9_dev = &sys->d3d_dev;
>>>        /* */
>>> -    RECT *display = &vd->sys->sys.rect_display;
>>> +    RECT *display = &vd->sys->sys.area.rect_display;
>>>        display->left   = 0;
>>>        display->top    = 0;
>>>        display->right  = p_d3d9_dev->pp.BackBufferWidth;
>>> diff --git a/modules/video_output/win32/glwin32.c b/modules/video_output/win32/glwin32.c
>>> index 7d5cc3a080..ddeb814118 100644
>>> --- a/modules/video_output/win32/glwin32.c
>>> +++ b/modules/video_output/win32/glwin32.c
>>> @@ -245,8 +245,8 @@ static void Manage (vout_display_t *vd)
>>>    
>>>        CommonManage(vd);
>>>    
>>> -    const int width  = sys->sys.rect_dest.right  - sys->sys.rect_dest.left;
>>> -    const int height = sys->sys.rect_dest.bottom - sys->sys.rect_dest.top;
>>> +    const int width  = sys->sys.area.rect_dest.right  - sys->sys.area.rect_dest.left;
>>> +    const int height = sys->sys.area.rect_dest.bottom - sys->sys.area.rect_dest.top;
>>>        vlc_gl_Resize (sys->gl, width, height);
>>>        if (vlc_gl_MakeCurrent (sys->gl) != VLC_SUCCESS)
>>>            return;
>>> diff --git a/modules/video_output/win32/wingdi.c b/modules/video_output/win32/wingdi.c
>>> index 30a4657344..cd04e30b09 100644
>>> --- a/modules/video_output/win32/wingdi.c
>>> +++ b/modules/video_output/win32/wingdi.c
>>> @@ -145,10 +145,10 @@ static void Display(vout_display_t *vd, picture_t *picture)
>>>        vout_display_sys_t *sys = vd->sys;
>>>        VLC_UNUSED(picture);
>>>    
>>> -#define rect_src vd->sys->rect_src
>>> -#define rect_src_clipped vd->sys->sys.rect_src_clipped
>>> -#define rect_dest vd->sys->sys.rect_dest
>>> -#define rect_dest_clipped vd->sys->sys.rect_dest_clipped
>>> +#define rect_src sys->area.rect_src
>>> +#define rect_src_clipped sys->sys.area.rect_src_clipped
>>> +#define rect_dest sys->sys.area.rect_dest
>>> +#define rect_dest_clipped sys->sys.area.rect_dest_clipped
>>>        RECT rect_dst = rect_dest_clipped;
>>>        HDC hdc = GetDC(sys->sys.hvideownd);
>>>    
>>> @@ -188,7 +188,7 @@ static int Init(vout_display_t *vd, video_format_t *fmt)
>>>        vout_display_sys_t *sys = vd->sys;
>>>    
>>>        /* */
>>> -    RECT *display = &sys->sys.rect_display;
>>> +    RECT *display = &sys->sys.area.rect_display;
>>>        display->left   = 0;
>>>        display->top    = 0;
>>>        display->right  = GetSystemMetrics(SM_CXSCREEN);;
>>> -- 
>>> 2.17.1
>>>
>>> _______________________________________________
>>> vlc-devel mailing list
>>> To unsubscribe or modify your subscription options:
>>> https://mailman.videolan.org/listinfo/vlc-devel
>> _______________________________________________
>> vlc-devel mailing list
>> To unsubscribe or modify your subscription options:
>> https://mailman.videolan.org/listinfo/vlc-devel
> -- 
> Jean-Baptiste Kempf -  President
> +33 672 704 734
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> https://mailman.videolan.org/listinfo/vlc-devel



More information about the vlc-devel mailing list