- VLC_Set VLC_Get were changed to VLC_VariableGet VLC_VariableSet
- VLC_ClearPlaylist was changed to VLC_PlaylistClear
- Added a lot of new calls:
VLC_PositionGet, VLC_PositionSet, VLC_TimeGet, VLC_TimeSet,
VLC_LengthGet, VLC_SpeedFaster, VLC_SpeedSlower, VLC_PlaylistIndex,
VLC_PlaylistNumberOfItems, VLC_PlaylistNext, VLC_PlaylistPrev,
VLC_VolumeGet, VLC_VolumeSet, VLC_VolumeMute.
- everything doxygenized.
- There are NO mozilla functions of these additions yet. (someone else please?)
* renamed VLC_Stop to VLC_CleanUp since this name is closer to what it actually does.
* added a new VLC_Stop that just does playlist_Stop analogous to VLC_Play and VLC_Pause.
* reordered the functions in libvlc. everything was mixed up.
* added doxygen info to all the functions
* fixed several functions to use the correct underlying API calls
* corrected the copyright info
This is in preparation of the new libvlc calls for mozilla plugin
temp. moved the playlist_command_t typedef to vlc_common.h awaiting implementation of playlist_Control()
+ Detect <mozilla-config.h> on newer Mozilla versions.
* mozilla/vlcpeer.cpp:
+ If neither NP_UNIX, NP_MACOSX nor NP_WIN are defined, default to NP_UNIX.
+ Use <mozilla-config.h> whenever possible.
Added a --with-mozilla-sdk-path option (win32 only) to ./configure so you can pass the path of your mozilla sdk tree.
You also need to set the XPIDL env var to the the path of the xpidl mozilla compiler when ./configuring.
* 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.
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.