[vlc-devel] Re: [PATCH] Win32 directx/direct3d/opengl: fullscreen mode improved

Sergey Volk sergey.volk at gmail.com
Tue May 8 18:02:04 CEST 2007


Sorry, I don't quite understand. You mean wingdi module should be integrated
into directx video_output module? But as far as I understand, wingdi module
is also intended for WinCE and therefore some of it's logic may be quite
different from other directx code logic. To be honest I have spent some time
getting acquainted with these modules, but I'm still not that familiar with
them, so you probably better discuss that with other vlc developers, who
have created those different modules.
Or do you mean that my patch should unify code for switching fullscreen mode
between those two modules? Theoretically it could be done, but they
currently do not have common files, so I don't know how they can share this
code.

On 5/8/07, Damien Fouilleul <damien.fouilleul at laposte.net> wrote:
>
> i'm not so warm about the wingdi patch, i'd rather have it merged with
> the rest of the other modules so that integration is fully complete
>
> Sergey Volk wrote:
> > Great! Thanks for reviewing and applying this patch.
> > You may also want to have a look at a similar patch for wingdi module,
> > which I have posted to vlc-devel mail-list on May 3.
> >
> >
> > On 5/8/07, *Damien Fouilleul* <damien.fouilleul at laposte.net
> > <mailto:damien.fouilleul at laposte.net>> wrote:
> >
> >     Sergey Volk wrote:
> >     >
> >     > Hi,
> >     > Current implementation of directx video output modules (directx,
> >     > direct3d, glwin32) leaves main interface window visible when the
> >     user
> >     > toggles fullscreen mode. This causes two problems: (a) the user
> sees
> >     > empty main interface window when he switches to another
> >     application or
> >     > cycles through existing windows using Alt-Tab and (b) main
> interface
> >     > window overlaps video window when he toggles "video-on-top" option
> >     > while fullscreen mode is active. In order to fix both these
> >     issues, we
> >     > should hide main interface window when entering fullscreen mode
> and
> >     > restore it when leaving fullscreen mode. But some GUI modules (in
> >     > particular qt4 module) may need to call show() for main interface
> >     > window in order to apply "video-on-top" flag, so in order to avoid
> >     > condition (b) described earlier we need also to hide
> >     > VOUT_SET_STAY_ON_TOP queries from main interface window while we
> >     are
> >     > in fullscreen mode and update "video-on-top" status for main
> window
> >     > when we are leaving fullscreen mode.
> >     >
> >     > I have also noticed that there is a code in
> >     > src/video_output/vout_intf.c:FullscreenCallback (line 1151), which
> >     > sets video-on-top variable to false, when entering fullscreen
> >     mode. I
> >     > think this code should be removed, there is no point in disabling
> >     > video-on-top option, as the user may change this option in
> >     fullscreen
> >     > mode anyway (through mouse / hotkey controls, at least). So
> >     > video_output modules should be aware that video-on-top variable
> >     may be
> >     > toggled in fullscreen mode and should handle such situations
> >     > appropriately. I'm developing under win32/cygwin, so I haven't
> >     checked
> >     > if similar reasoning applies to X11 module or any of the other
> video
> >     > output modules. It seems that at least wingdi output module has
> the
> >     > same problem, but it's code is somewhat different from
> >     > DirectX/Direct3D/Win32 OpenGL code, so I'll provide patch for
> wingdi
> >     > module later. In the meantime, I think it is safe to leave that
> old
> >     > code as it is.
> >     >
> >     > Two patches are attached to this message:
> >     vlc-vout-dx-fullscreen.patch
> >     > is a version which fixes fullscreen mode for DirectX module only,
> it
> >     > is intended only to demonstrate what changes are being applied to
> >     > current version. Another one - vlc-vout-dx-fullscreen2.patch ,
> does
> >     > essentially the same, only it fixes all three modules (directx,
> >     > direct3d and opengl) and refactors some common code for toggling
> >     > fullscreen mode into Win32ToggleFullscreen function, to remove
> code
> >     > duplication between those modules.
> >     >
> >     patch applied thanks !
> >
> >     --
> >     This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
> >     To unsubscribe, please read
> http://developers.videolan.org/lists.html
> >
> >
>
> --
> This is the vlc-devel mailing-list, see http://www.videolan.org/vlc/
> To unsubscribe, please read http://developers.videolan.org/lists.html
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20070508/5ecfe60c/attachment.html>


More information about the vlc-devel mailing list