[vlc-devel] libvlc Issues and Questions

mlist at marxbitware.com mlist at marxbitware.com
Sun Jun 15 14:59:33 CEST 2008

Quoting Pierre d'Herbemont <pdherbemont at free.fr>:

> Hi,
> On Jun 15, 2008, at 11:59 AM, mlist at marxbitware.com wrote:
>> I'm the developer that has been creating the C# wrapper 0.9.0
>> available in the videolan forums.  I spent last night connecting an
>> interface to the wrapper and used a few different versions of the
>> nightly builds from the last week.
> Have you looked at the CIL (.NET) bindings provided too?

The only bindings I have seen are the ones presented on this page:


This is based on the old API though.

>> I have noticed a number of issues and I thought I would highlight
>> them:
> Thanks!

No problem.

>> 1.  DVD Menus
>> When using a DVD with menus, clicking on a menu item results in a copy
>> of the output Window being made.  That is, rather than reuse the
>> existing Window, it appears to create new one.  The result is that
>> both the menu and movie are playing in different layers.  I've
>> confirmed its not an issue in the wrapper, as I don't hear multiple
>> audio streams using the similar functions.
> That's a vout issue, that we could look forward to fix.

Nice to know its not me.

>> 2.  CDDA / DVDSimple / VCD
>> In the latest builds none of these work (eg. "CDDA://E:", etc).  In
>> fact, in last nights build attempting to load any media results in an
>> exception in both libvlc_video_set_parent and
>> libvlc_media_player_set_drawable.
> No idea.

I'll stick to last night's build.  When calling
libvlc_media_player_play, to play a CD (cdda://E:) it triggers an
error.  I can trace the issue to libcdda_plugin.dll and an unhandled

As for libvlc_video_set_parent, this was working on the nightly build
done on the 9th, now it results in the following error:

"Attempted to read or write protected memory. This is often an
indication that other memory is corrupt."

I checked all the inputs and they're fine and switching back to a
earlier build corrects the issue.

>> 3.  Setting the Output Window
>> libvlc_media_player_set_drawable does not function.
> What version are you using? The good thing would be to provide a
> sample code. It is highly probable that your video_output does not
> support reading the "drawable" variable. We could look forward to fix
> that.

I'm just wrapping the API.  It calls this:

window_handle, ref ex);

The drawable variable is passed as an IntPtr (just an Int).

>> 4.  Getting Current Position
>> libvlc_media_player_get_position returns 0.
> Works here. Again, do you have a sample code, that shows that it
> doesn't work?

I check this out...

>> 5.  Getting the length of currently playing media
>> There doesn't appear to be a media_player function for this.
> I think there is a libvlc_media function.

You mean get_meta?  I thought that.

>> 6.  Media_player Navigation
>> Unable to locate Next, Previous, etc.  Is there a different
>> interface???  I've seen set_chapter() and and audio_set_track(), must
>> these be used instead?
> There is no next, previous because it is not a media_list_player.
> However with input that do provide menus and track, such as a dvd you
> should be able to use set_chapter(), etc.

Ok, that makes sense.  I notice that VLC has the ability to populate
playlists with the contents of a CD or DVD.  Is this just a matter of
using the API, or do I need to write my own code?

>> 7.  Visualisations
>> Unable to locate functions to enable this when playing a stream or
>> mp3.
> Unfortunately there isn't, appart if you pass the right vlc args to
> libvlc or to libvlc_media_add_option.

Do you have the options, or where I can find a list???

>> 8.  Stop does not function as expected
>> In previous versions of the libvlc API, calling the stop function
>> would return the output window to its previous state.
>> libvlc_media_player_stop has the effect of leaving the loaded media in
>> the window frozen at the point when it was called.

I'm assuming this is the vout issue that you mentioned.

>> 9. libvlc_release()
>> Calling this results in an exception being generated.  It states that
>> libvlc was asked to quit in an unexpected fashion.
> Do you have more detail on that one?

I have libvlc_release() wrapped up in a safe handle.  When I call
dispose() from C#, it should execute the libvlc_release().  This works
with the rest of the safe handles I created.

Instead, it causes the application to crash.  I'll be running tests
later and I'll send you more detailed info.

> Pierre.
> _______________________________________________
> vlc-devel mailing list
> To unsubscribe or modify your subscription options:
> http://mailman.videolan.org/listinfo/vlc-devel

----- End forwarded message -----

More information about the vlc-devel mailing list