[vlc-devel] [PATCH 1/4] libvlc: Add "fullscreen-monitor" setting

Marvin Scholz epirat07 at gmail.com
Thu Oct 24 18:38:12 CEST 2019



On 24 Oct 2019, at 17:39, Gabriel Luci wrote:

> I think you misunderstood my question. This entire patchset was about
> setting it in the preferences before playback starts. There should be one
> *setting*, yes. But, from what I see, there are two ways to implement it.
> (That's what I meant by "2 options")
>
> In this patch, I defined a global setting in src/libvlc-module.c. Rémi
> objected to that approach and said the setting should be defined in the
> window manager (I assume that means in win32/window.c). But if it's defined
> there, the setting should be *read* in win32/window.c too.
>
> My objection to that is that Rémi himself had added an "id" parameter to
> the vout_ChangeFullscreen() last year, which currently is always NULL. That
> seems to be the place to pass the ID of the monitor to put the fullscreen
> window on. If I'm correct on that, then the setting needs to be read in
> src/video_output/vout_intf.c and thus it should be a global setting.
>

The way this is supposed to be done, if I understood it correctly, is to
read the setting in `win32/window.c` in the vout_ChangeFullscreen handling
function in case the passed „id“ parameter is NULL, similar to how the
audio output modules are doing it.

The „id“ parameter of vout_ChangeFullscreen is intended for changes during
the runtime of VLC.

> And that's where my confusion is. If it really should be a
> window-provider-specific setting, then why does vout_ChangeFullscreen()
> have an "id" parameter?
>
> If it should be in the window provider, that's fine, and I'm happy to do
> it. There just doesn't seem to be consensus here, so I don't know which
> direction to go.
>
> On Thu, Oct 24, 2019 at 11:13 AM Steve Lhomme <robux4 at ycbcr.xyz> wrote:
>
>> On 2019-10-24 16:57, Gabriel Luci wrote:
>>> Following up on this: am I correct in my understanding that those are
>>> our only 2 options?
>>
>> IMO there should be only one option. Either you set it in preferences
>> before you start playback or you can change dynamically it from the UI.
>> The second part it not handled for the moment AFAIK.
>>
>>> On Thu, Oct 17, 2019 at 5:26 PM Gabriel Luci <github at luci.ca
>>> <mailto:github at luci.ca>> wrote:
>>>
>>>     I do understand the difference between the two, but they are
>>>     dependent on each other, no?
>>>
>>>      From my inexperienced perspective, I see two options:
>>>
>>>     1. Use a global setting, read it in FullscreenCallback(), and pass
>>>     it to vout_ChangeFullscreen() (which is what I did in this patchset)
>>>     or,
>>>     2. Define the setting in the window provider plugin, but then that
>>>     means (correct me if I'm wrong) the window provider plugin also has
>>>     the job of reading that setting in its SetFullscreen function. But
>>>     then (I think) that means that there is no purpose for the id
>>>     parameter in vout_ChangeFullscreen(), vout_window_SetFullScreen(),
>>>     and the window provider SetFullscreen functions.
>>>
>>>     That's why I went with option 1, because I saw the id parameter
>>>     there doing nothing, so I figured that's what it was supposed to be
>>>     for, which led me to believe a global setting was the only way to go.
>>>
>>>     On Thu, Oct 17, 2019 at 3:44 PM Rémi Denis-Courmont <remi at remlab.net
>>>     <mailto:remi at remlab.net>> wrote:
>>>
>>>         Le torstaina 17. lokakuuta 2019, 19.26.56 EEST Gabriel Luci a
>>>         écrit :
>>>          > I'm happy to make that change. However, then I'm not sure how
>>>         to use the
>>>          > setting. vout_ChangeFullscreen accepts an id parameter, which
>>>         is supposed
>>>          > to be the "output identifier", which I assume means the ID of
>>>         the monitor?
>>>          > (correct me if I'm wrong) So how do we find that value when
>>>         calling
>>>          > vout_ChangeFullscreen if only the window provider knows? Or
>> am I
>>>          > misunderstanding something there?
>>>
>>>         I think you're mixing up two things here - changing the
>>>         fullscreen output used
>>>         by an active window which uses vout_ChangeFullscreen(), versus
>>>         changing the
>>>         default fullscreen output for future windows which uses window
>>>         provider-
>>>         dependent mechanism - a setting in Qt and XDG-shell cases.
>>>
>>>         --
>>>         Rémi Denis-Courmont
>>>         http://www.remlab.net/
>>>
>>>
>>>
>>>         _______________________________________________
>>>         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
>>>
>> _______________________________________________
>> 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


More information about the vlc-devel mailing list