[vlc-devel] [PATCH] ActiveX/Mozilla FullScreen support

Guy Perkins me at atdotmedotuk.me.uk
Wed May 25 01:27:37 CEST 2011


Just a thought here. If it helps.

Re website design. If the VLC is fullscreen & as I undersatnd it, the
only reliable current option would be to force a minimise of the
Fullscreen VLC & side present the alert, as VLC appears to have top
level control no matter what. I have tried to play with the overlay
filter option before & it's pretty awkward.
So, having the facility to present an alert over the Fullscreen would be
a bonus, however it would be nice if the visual presentation could be
determined externally.
Forgive me if I have missunderstood.


-----Original Message-----
From: vlc-devel-bounces at videolan.org
[mailto:vlc-devel-bounces at videolan.org] On Behalf Of Jean-Paul Saman
Sent: 23 May 2011 14:28
To: Mailing list for VLC media player developers
Subject: Re: [vlc-devel] [PATCH] ActiveX/Mozilla FullScreen support


2011/5/23 Sergey Radionov <rsatom at gmail.com>:
> 23.05.2011 18:29, Jean-Paul Saman пишет:
>> 2011/5/23 Sergey Radionov<rsatom at gmail.com>:
>>> 23.05.2011 15:20, Jean-Paul Saman пишет:
>>>> On Sun, May 22, 2011 at 4:10 PM, Sergey Radionov<rsatom at gmail.com>

>>>> ---
>>>> 2) What is the purpose of:
>>>>
>>>> +    STDMETHODIMP get_NewMessageFlag(VARIANT_BOOL* vYes);
>>>> +    STDMETHODIMP put_NewMessageFlag(VARIANT_BOOL vYes);
>>>>
<... snip ... >
>> I do not see the use case for this from the above description.
>
> Imagine, we have some web site, which embed VLC, and web site has 
> internal messaging sistem (between users of site, or between users and

> administration). User switch to FullScreen and watch video (long 
> video, 1 hour or more), and administration send urgent message to 
> user("tornado, escape!" :), but user don't see it - he in fullscreen 
> mode... and with this function he has blinking icon on control panel, 
> informing him about message, all simple.

IMHO this is not code that belongs in VLC, but is part of the website
design.

>>>> ---
>>>> 3) The methods (on the fullscreen window for activex AND mozilla):
>>>>
>>>> +void VLCFullScreenWnd::RegisterEvents()
>>>> +void VLCFullScreenWnd::UnRegisterEvents()
>>>> +void VLCFullScreenWnd::handle_input_state_event(const 
>>>> +libvlc_event_t*
>>>> event, void *param)
>>>>
>>> no, it not duplication. FullScreen window is exactly the same client

>>> to vlc lib, as VLCPlugin. I made this to minimize changes in main 
>>> code.
>>>
>>>> are duplication of methods in file plugin.cpp (for mozilla the file

>>>> is
>>>> vlcplugin.cpp):
>>>>
>>>> void VLCPlugin::player_register_events()
>>>> void VLCPlugin::player_unregister_events()
>>>> static void handle_input_state_event(const libvlc_event_t* event, 
>>>> void
>>>> *param)
>>>>
>>>> The fullscreen window should refer to the object VLCPlugin (which 
>>>> wraps libvlc access) instead of duplicating its functionality. In 
>>>> case of fullscreen a messsage should also be sent to the objects in

>>>> the fullscreen window (if appropriate).
>>>
>>> I think, this is not nessesary complication, which have no any 
>>> advantages, but can bring some new bugs. But, may be, I don't 
>>> understand something :)
>>
>> It looks to me as duplication, so I would like to move the 
>> libvlc_event/handle_event code to VLCPlugin objects. Since that wraps

>> libVLC code for the webplugins.
>>
> ok, I see what I can do.
>
>> In the fullscreen window implementation you need a pointer to the 
>> VLCPlugin instance, hence your defintion of:
>>
>> +typedef VlcPlugin VLCPlugin;
>> +
>> +inline libvlc_media_player_t* getMD(VLCPlugin* p_instance) {
>> +       return p_instance->getMD();
>> +}
>>
>> Why not make it integral part of the fullscreen class?
>>
> I try minimize difference in code for ActiveX and Mozilla code. And 
> may be in future, combine it into one file (may be with some #define, 
> as usual). And for this I try localize differences in one place(top of

> the file).
>
> And also, by this reason, I move npVlcFullScreen.h and 
> axVlcFullScreen.h to "projects folder - because, may be in future, 
> they stand one shared file...
>
> But may be you are right, I think about it.

In vlc-1.2.0-git the folders project/activex and projects/mozilla are no
longer directly part of the vlc tree. They have been split in separate
git trees. The mozilla and activex plugins do not share code atm. At
this point it is cleaner not to do that anyway.

----
Kind Regards,
Jean-Paul Saman
_______________________________________________
vlc-devel mailing list
To unsubscribe or modify your subscription options:
http://mailman.videolan.org/listinfo/vlc-devel




More information about the vlc-devel mailing list