* compiled with mozilla 1.4 (won't probably work with <1.4)
* TODO:
* - make XPCOM work (play,pause,stop buttons)
* - fullscreen implementation (quite difficult on MacOSX because only
* the main thread can create windows)
* src/input/input.c: parses the input options list before spawning the input and create object variables for these options. Options are of the form "[no[-]]foo[=bar]" where foo is the option name and bar is its value.
* src/input/input.c, src/input/input_dec.c: use the object var api to get the value of the "sout", "sout-video" and "sout-audio" options.
* src/libvlc.c: extended the command line parser to parse input options. Input options must always follow the input they apply to and begin with a ':'.
All these changes allow you to specify input specific options.
eg: ./vlc --no-sout-audio yourvideo.mpeg :sout=udp/http::8080 :sout-audio yourvideo2.mpeg
Here the ":sout" option will only apply to yourvideo.mpeg.
"--no-sout-audio" will be a global option so will apply to yourvideo2.mpeg but the global behaviour is overriden by ":sout-audio" for yourvideo.mpeg.
TODO: - the interfaces need to be modified to benefit from the new playlist_Add() api.
- only "sout", "sout-video", "sout-audio" implemented for now. To make it work with other options, we need to get rid of all the config_GetFoo() and replace them with var_Create()/var_Change()/var_Get().
we might have an additional target one day, such as vlcplugin :)
* ./mozilla/vlc.r: OS X specific resource file for an OS X plugin.
* ./mozilla/vlcshell.cpp: added required OS X functions.
* ./modules/video_output/directx/directx.c, ./modules/video_output/x11/x11.c,
./modules/video_output/x11/xvideo.c: removed the drawable configuration
variables which are now deprecated.
wmp sites I could find, by adding som mimetypes and parsing some more
parameters passed by mozilla. Also disabled the StreamAsFile function since
mozilla tend to pass it non-exsisting files.
* ./mozilla/npvlc_rc.rc, ./mozilla/vlcplugin.h: added the Ogg mime type to
the Mozilla plugin properties.
* ./debian/control: added libogg-dev and libvorbis-dev dependicies to the
Debian build script.
not 5, to avoid using a color used by another application.
* ./modules/video_output/directx/events.c: support for drawing in a parent
window instead of creating our own; still a bit flakey.
* ./mozilla/vlcshell.cpp: we can now compile the Mozilla plugin so that it
does not call libvlc (for testing purposes).
For the moment it spawns a separate window and seems to behave nastily
(read: crashes) when the target has sound, but the javascript interface
works perfectly, for instance.
To build it, I installed Mozilla development files in my mingw32 dir
and hacked mozilla-config so that it uses these files. I also hacked
jri_md.h and jni_md.h to put "defined(_MSC_VER) || defined(__MINGW32__)"
where it read "defined(_MSC_VER)". No other changes were necessary.
* ./include/vlc/vlc.h: changed the naming conventions for libvlc. Now
exported functions start with VLC_ instead of vlc_ to avoid conflicts.
* ./include/vlc/vlc.h: removed the vlc_object_t, vlc_list_t, vlc_error_t
and vlc_t types; they are now internal types only.
* ./include/vlc/vlc.h: merged the reentrant and non-reentrant libvlc
calls. In non-reentrant mode, we just use 0 as the first argument. In
reentrant mode, we use an object's ID. (see below)
Internal changes:
* ./src/libvlc.c, ./src/misc/objects.c: instead of manipulating vlc_object_t
pointers, we manipulate their i_object_id. When needed, an object is
retrieved using vlc_object_get (I hope the lookup isn't too expensive,
that's why I designed the pp_objects layout to allow log2(n) seeks).
* ./src/misc/objects.c: activated the per-object variable storage. Unused
yet, unless you want to try "getfoo" and "setfoo blablah" in vlc -I rc.
* ./include/vlc_objects.h: moved the vlc_object_t and vlc_list_t definitions
here.
Misc:
* ./src/vlc.c, ./mozilla/vlcshell.cpp: removed inclusion of config.h in
code portions not part of libvlc; it was just required for the
COPYRIGHT_MESSAGE string which is now available from VLC_Version().
locales breakage.
* ./src/libvlc.c: libvlc understands the VLC_VERBOSE environment variable,
to be set between 0 and 4. Default value is 0 for a program using libvlc,
but vlc sets it to 1 by default.
* ./src/misc/configuration.c: -v now works the old way (-v, -vv, -vvv) as
well as the new way (-v0, -v1, -v4). -v1 is the same as -v, and -v0 is
the same as -q (quiet). Hope it's all understandable.
gtk_main() in its own thread, and does nothing on subsequent calls. This
ensures that gtk_main is only running once.
* ./modules/gui/familiar/*, modules/gui/gtk/*: the familiar, gtk and gnome
modules are now fully reentrant thanks to their use of the gtk_main module.
* ./src/libvlc.c: implemented vlc_set(), a wrapper for config_Put* available
to external programs.
* ./src/libvlc.c: removed vlc_stop() and vlc_end(), everything is now done
by vlc_destroy().
* ./modules/control/rc/rc.c: implemented a few new functions. For instance,
run "vlc -I rc" and then type "intf gtk" or "intf gnome". You can even
launch several of them. "segfault" works, too.
* ./mozilla/vlcplugin.h: added .mov and .mp4 files to the plugin.
* ./Makefile: we no longer try to merge .a files into libvlc.a, but rather
add them to the vlc-config output.
* ./src/libvlc.c, ./include/vlc/vlc.h: created reentrant versions of the
libvlc API.
* ./src/vlc.c: vlc uses the non-reentrant libvlc functions.
* ./mozilla/vlcplugin.c: the mozilla plugin uses the reentrant functions.
* ./debian/*: created packages for libvlc0-dev.