Page 1 of 1

LibVLC 1.1 changes highlights

Posted: 03 Mar 2010 19:39
by Rémi Denis-Courmont
VLC 1.1.0 is now being stabilized, and will hopefully soon hit the release download directory. It seems like a good time to highlights the main changes to the LibVLC API.
  • LibVLC binary version now has number 5. This is a binary break from the three previous interfaces (LibVLC 0.9 and 1.0 had number 2).
  • Exceptions are not used anymore anywhere.
  • Functions with a pointer return type return NULL in case of error.
  • Functions that cannot fail return simply void. There is no need to check for exception just to be sure anymore.
  • Other functions return an error code if applicable, typically -1, sometimes zero. Refer to the Doxygen documentation for details.
  • libvlc_errmsg() provides an English human-readable error message for the last LibVLC error in the calling thread.
  • Multiple instances created with libvlc_new() can have different configuration. This was a known bug/limitation in earlier version (the configuration parameter for the first instance were used by all instances).
  • Previously obsoleted functions are removed completely.
  • libvlc_get_instance() is removed.
  • libvlc_video_get_size() is added, returns both dimensions of an active video output.
  • libvlc_video_get_height() and libvlc_video_get_width() are obsoleted (but still present).
  • New video functions are added to control Marquee and Logo filters.
  • libvlc_video_set_key_input() and libvlc_video_set_mouse_input() can disable key presses and mouse events on the LibVLC video widgets (X11 port). Then the application can handle them.
  • X11 C Bindings (libxcb) is used internally instead of Xlib, resolving a lot of race conditions and crashes.
  • Many "setter" functions that previously only worked when audio or video was active can now be used off-line, e.g. fullscreen mode, audio volume, etc. In that case, there is no need to wait for events from the LibVLC media player anymore. Obviously, this only applies to some settings (e.g. audio channels cannot be listed when nothing is being played back).
  • A number of bugs, especially dead locks and race conditions were fixed.
If you find bugs, please report them urgently. Thanks in advance.

Re: LibVLC 1.1 changes highlights

Posted: 11 May 2010 15:35
by xou
Hi,

All this looks great, but how do we get the vlc instance with the new library.

With the previous version I was getting the vlc instance to retrieve the video filter and change the britghness of the video.

If there is a better way to do this I am eager to try.

Jean

Re: LibVLC 1.1 changes highlights

Posted: 11 May 2010 18:04
by Rémi Denis-Courmont
I am not behind the removal of libvlc_get_instance. But I think the whole point is that semantic and clean APIs should be used instead.

Re: LibVLC 1.1 changes highlights

Posted: 11 May 2010 18:16
by xou
I agree with you, but how can we access features not yet covered by the LIBVLC API.

I my spcific cas I found out that using the media_add_option function, I could set the brightness of the video at the start, but I have not found a way to change it while it was played.
Is there a way to get the current value and change it (via the media_meta?)

Re: LibVLC 1.1 changes highlights

Posted: 11 May 2010 18:33
by Rémi Denis-Courmont
Where I was getting at... someone needs to write an API for this if it is deemed useful.

Re: LibVLC 1.1 changes highlights

Posted: 11 May 2010 18:38
by xou
Ok, I get the hint :-)

I'm not sure I know where to start.
I suppose by looking at the source of libvlc ?

Re: LibVLC 1.1 changes highlights

Posted: 12 May 2010 19:24
by Rémi Denis-Courmont
Probably the logo and marquee code in LibVLC, is the closest.

Re: LibVLC 1.1 changes highlights

Posted: 03 Dec 2011 10:11
by hfiani
maybe i am a bit late for this, but i would like you to see this post to see that bug. thanks
viewtopic.php?f=32&t=96066

Re: LibVLC 1.1 changes highlights

Posted: 27 Feb 2013 16:00
by galix85
Hi,

Maybe it's too late but do you've in mind solve "EXC_BAD_ACCESS" crash in libvlc_media_player_set_ns_object() ??

Related post --> viewtopic.php?f=12&t=105914&p=358862&hi ... ss#p358862

Thanks

Cheers