[vlc-devel] How to create a field that is accessible by multiple modules

Thomas Brouckaert thomasbrouckaert at gmail.com
Sat Nov 17 13:07:02 CET 2012


Hey Peter,

I used to have the same problem and found a hackish solution that ofc never
should be used in official code, but it is perfect for lab or own usage.

I wanted to extend the libVLC API with some of my own methods that needed
to communicate with my own module. I just used the p_libvlc object's
variable space to store this variabels.

Your code should like this:

//Set a var
    var_Create(stream->p_libvlc, "variabel_name_1", VLC_VAR_INTEGER);
    var_SetInteger(stream->p_libvlc, "variabel_name_1", active);

//get a var
    return var_InheritInteger(stream->p_libvlc, "variabel_name_1");


I have no idea if this solution is thread safe and stuff like that, like I
said, it is a hacksish solution that you shouldn't use in decent code.

Kind regards,

Thomas Brouckaert



On Sat, Nov 17, 2012 at 12:30 PM, Peter Tap <ptrtap at yahoo.com> wrote:

> Hi Remi,
>
> It appears rc.c is making a call to vlc_object_find_name method. However,
> this method doesn't seem to work anymore. Plus, there is a warning on not
> to use this API.
>
> For now, I am using a file-based mechanism to share values between two
> modules. Wish there was a better way.
>
> Peter
>
>
> ----- Original Message -----
> From: Peter Tap <ptrtap at yahoo.com>
> To: Mailing list for VLC media player developers <vlc-devel at videolan.org>
> Cc:
> Sent: Thursday, November 15, 2012 6:19 PM
> Subject: Re: [vlc-devel] How to create a field that is accessible by
> multiple modules
>
> Remi,
>
> Thank you for your help.
>
> I think this is not entirely true. Although each object may have its own
> independent dictionary, there is some way for others to get/set the values.
> If you look at gui/qt4, it is able to dynamically build preferences UI by
> obtaining all the key/values from all the modules. Also, the remote control
> interface (control/rc.c) has a way to get/set value for any other module's
> field. You can enter a command "@name marq-x value," for example within the
> remote control interface and set the "x" position value for marquee control.
>
> It is just that I am not able to figure out how exactly they are achieving
> this.
>
> Regards,
> Peter
>
>
> ----- Original Message -----
> From: Rémi Denis-Courmont <remi at remlab.net>
> >
> > Can someone please help me understand how I can share the field between
> > two different modules?
>
> You cannot. Each object has its own independent dictionary.
>
> --
> Rémi Denis-Courmont
> Sent from my collocated server
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mailman.videolan.org/pipermail/vlc-devel/attachments/20121117/01c60197/attachment.html>


More information about the vlc-devel mailing list