[vlc-devel] Enhancement Request...

jboileau jboileau at gmail.com
Thu Apr 3 20:48:16 CEST 2008


Hi,

I can probably help since I develop on Windows. It is true that there
is problem loading libvlc-control.dll on Windows. Personaly for the
moment I am reading the VLC install path from the registry, do a set
current dir to there, load libvlc and finally load libvlc-control (see
code below). This is the only way I have found to make it work without
problems.

Now, if you would like to build something similar to what you have on
Mac, you would have to use something like GetModuleFilename which can
give the path of a module using the modules handle.
(http://msdn2.microsoft.com/en-us/library/ms683197(VS.85).aspx). When
you need to load a DLL you can find out what directory the current DLL
is in and load any other DLL using this base path.

I hope this help,

Jacques Boileau

PS. if you point me to the c file where this needs to be done I will
look and give you more info or better yet: code to do this.


char  lVLCDir[MAX_PATH];
DWORD lSize;
HKEY  hKey;
lVLCDir[0] = '\0';
lSize = sizeof(lVLCDir);

RegOpenKeyEx( HKEY_LOCAL_MACHINE, "SOFTWARE\\VideoLAN\\VLC",0,
         KEY_QUERY_VALUE, &hKey );
RegQueryValueEx( hKey, "InstallDir", NULL, NULL, (LPBYTE)&lVLCDir, &lSize )
RegCloseKey( hKey );
SetCurrentDirectory(lVLCDir);
LoadLibrary("libvlc.dll");
aHLibVLC = LoadLibrary("libvlc-control.dll");


On Thu, Apr 3, 2008 at 1:39 PM, Pierre d'Herbemont <pdherbemont at free.fr> wrote:
>
> On Apr 3, 2008, at 4:52 PM, Rémi Denis-Courmont wrote:
> > Le Thursday 03 April 2008 17:28:37 Pierre d'Herbemont, vous avez
> > écrit :
> >> Hi Tony!
> >>
> >> On Apr 3, 2008, at 3:45 PM, Tony Anecito wrote:
> >>> I have a simple enhancement request. That is if the
> >>> lib path is not passed to vlc on a command line the
> >>> libs figure out where they are and use that path. In
> >>> other words do not even assume that they are relative
> >>> to where the exe starting up in a plugins directory
> >>> but the library say vlc-control query the os and ask
> >>> where it is and then use that path.
> >>
> >> Actually that what is being done on windows and Mac OS X (and BeOS
> >> too). Isn't it working?
> >
> > Hmm, isn't Windows using the executable path rather than the library
> > path? I
> > don't even know if DLLs can find their run-time path.
>
> True. I didn't understand the question actually. On Mac OS we do
> detect the framework and fix up the path accordingly. We could do the
> same with libvlc. I don't know if it is possible on Windows. Does
> someone do?
>
> Pierre.
>
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel
>



-- 
Jacques Boileau



More information about the vlc-devel mailing list