Hi guys, I just cherry-picked Minh's nice work to master; and it looks in reasonably good shape. As such, it's prolly good to go through the last few pieces we need to get sorted out before enabling it by default on master. JB we'll need some help from you here I think.
1. we need to be sure of the API guarentees around libvlc + JB - what API guarentees do you have there ? + we currently hard-code your ABI in the wrapper we use to make this a very lite dependency + cf. eg. http://cgit.freedesktop.org/libreoffice/core/tree/avmedia/source/vlc/wrapper/Player.cxx#n21 1.1 - we need to have a strong versioning scheme we can use to detect ABI change, particularly on Windows where there is no .so version bumping, and the majority of users. + using and parsing this seems a bit risky: /** * Retrieve libvlc version. * * Example: "1.1.0-git The Luggage" * * \return a string containing the libvlc version */ LIBVLC_API const char * libvlc_get_version(void); Would it be better to have an 'ABI version' that is incremented as/when back-compatibility of your plugin API changes ? [ that we could switch on ] gtk+ has some: GTKMAIN_C_VAR const guint gtk_major_version; GTKMAIN_C_VAR const guint gtk_minor_version; GTKMAIN_C_VAR const guint gtk_micro_version; GTKMAIN_C_VAR const guint gtk_binary_age; GTKMAIN_C_VAR const guint gtk_interface_age; const gchar* gtk_check_version (guint required_major, guint required_minor, guint required_micro); Though check_version thing is at least somewhat unreadable, it's heart is in the right place; I suspect that the global variables are less elegant a general solution. So - IMHO we need a strong versioning concept before we can turn this on by default. 2. we need a good way to locate VLC / libvlc by default on Win / Mac / Linux + JB: I assume that there are default install paths is there a registry key on Windows ? Mac (I assume) has nothing but perhaps a normal install path, and for Linux it's unclear we want to use a system / distro packaged VLC since it's almost certainly pre-broken. + thoughts on how to find a working VLC appreciated. 3. warning free backend - just need to quiet the compiler warnings 4. fix perf / caching issues in Manager more carefully we should re-use the player object, but we need to understand the semantics and rational for the empty URLs we get sent, also we should only re-use the player if it has no associated window (I guess?). 5. Add a configuration option to allow a user to specify where the system VLC lives (in case we can't find it) + Tools->Options->'Paths' might be a good place: + cui/source/options/optpath.cxx + add a 'VLC install path' setting ? + if this string is empty (the default) - we should try to auto-detect just dlopen the libs on Linux; and/or use a registry key. + if it is some magic eg 'off' we should disable VLC integration, important in case of un-caught ABI issues. 6. Windows / Mac module loading code cf. 5. and 1. 7. Enable in builds & get wider testing ... Otherwise - I'm pretty happy with the progress here Minh - thanks for your work; I'd like to get this enabled and working before the end of your GSOC. All the best, Michael. -- michael.me...@suse.com <><, Pseudo Engineer, itinerant idiot _______________________________________________ LibreOffice mailing list LibreOffice@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/libreoffice