Includes an array of not-to-be-used keys
Shows modifier keys with their corresponding symbols instead of 'Alt', etc.
Saving combinations of multiple keys won't crash anymore, but work as expected
Previously you need to send a vlc_object_kill() prior to a vlc_object_release() to get your object actually destroyed, which rendered the refcounting unusuable in some cases.
If the media instance owns the input and libvlc_media_instance_release()
is called immediately after libvlc_media_instance_stop(), there is a
chance that we try to free the input resources before the thread is
effectively terminated. To avoid this, we call input_DestroyThread()
instead of vlc_object_release() at the end of release_input_thread() when
the media instance owns the input thread.
The p_vout->pf_end method is mandatory for video output modules. It is
called from so many places in libvlc that it would be too tedious to
make it optional. I'm therefore adding empty methods to modules instead.
Sometimes our list of video output modules is still not enough for an
external libvlc application with specific requirements. For instance, an
SDL application running in full screen cannot open a new window on Linux
(this is a known libSDL limitation). This vmem video output allows it to
asynchronously render the video into an SDL_Surface, with full locking.
Resolution or pitch changes are not supported yet. I'd advise against
them however, since they often require a full chroma unload/reload
operation, which is quite expensive.
I also believe this feature should be directly integrated into libvlc,
but I don't want to be too intrusive yet.
qt4-uic (the Qt user interface compiler) and rcc (the Qt resource compiler)
create .cpp and .h files that we don't want to track. Adding them to
.gitignore.
Add a --disable-wince option so that we can disable this (probably broken)
plugin's build when mingwce is detected. Also, add -lmmtimer to the libvlc
link flags because this is where timeGetTime() lies.
Made the Doxygen headers slightly clearer when directly read from the
header file, fixed grammar and spelling here and there, added some
missing \param and \return tags (though a lot remains to be done).
The spin_lock wrappers do not use the return value of the functions they
wrap, resulting in dozens of compiler warnings because they are inline
functions. There is no elegant solution to this, I hope using (void)val;
is the least shocking alternative.