* ./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.
- added messages and playlist panel
- simple dock menu (play, pause, stop)
- context menu in video view
- localization support: http://nanocrew.net/vlc/vlc-osx-ja.png
- no longer broken :)
CONFIG_*.
* ./include/configuration.h, ./plugins/gtk/gtk_preferences.c,
./plugins/filter/transform.c, ./plugins/filter/distort.c,
./plugins/filter/deinterlace.c: added an ADD_STRING_FROM_LIST()
configuration macro.
* ./include/modules.h, ./include/video_output.h,
./src/video_output/video_output.c, ./plugins/filters/*: added a
VOUT_FILTER capability. Having a clear distinction between VOUTs and
VOUT_FILTERs allows us to get rid of ugly hacks. The filters are also
stackable now (use --filter=foo:bar:foo etc..).
* ./include/configuration.h, ./src/libvlc.h, ./src/libvlc.c: clean-up +
added an ADD_USAGE_HINT() configuration macro.
* ./plugins/filter/deinterlace.c: the blend mode is now a lot smoother, but
also a bit slower, so I also kept the old version, optimized it, and
called it "mean".
* ./src/interface/interface.c: interfaces are no longer attached only to
p_vlc.
* ./src/libvlc.c, ./src/misc/modules.c, ./src/playlist/playlist.c,
./src/input/input.c: improvements in the playlist handling (not quite that
yet though).
(ported from v0_4_1_branch)
* ./configure.in, ./plugins/mpeg_system/mpeg_ts.c: fixed libdvbpsi handling.
* ./src/misc/configuration.c: fixed the --nofoo option handling.
* ./src/interface/main.c: fixed two compilation warnings under Solaris.
* plugins/a52_system/Makefile, plugins/a52_system/a52_system.c: a52 input
module.
* plugins/ac3_spdif/ac3_spdif.c: added a little mwait to avoid a flood from
the a52 input module.
Note: the new module aims at reading ac3 streams but it works only with the
ac3_spdif "decoder" since it is the only one which dates each frame contrary
to the others which can't avoid a flood from the input module.
bug which might have been the cause of crashes.
* ./plugins/filter/crop.c: attempt at an automatic border cropping filter,
using "--filter crop --autocrop".
* ./vlc.spec: added missing filters to the RPM generation.
* ./src/misc/objects.c: commented all functions.
* ./src/misc/objects.c: implemented vlc_object_find( , , FIND_ANYWHERE).
* ./src/misc/objects.c: renamed vlc_object_unlink to vlc_object_detach.
src/interface/intf_eject.c, src/misc/threads.c: win32 compilation fix.
* ./plugins/directx/aout_directx.c, plugins/directx/vout_directx.c,
./plugins/directx/vout_events.c: the DirectX notification and event threads
now use the vlc_thread_create / vlc_thread_ready scheme. Untested.
* ./configure.in: added a check for inttypes.h and sys/int_types.h.
* ./configure.in: fixed the HTTP plugin compilation under BeOS.
* ./plugins/network/ipv6.c: reactivated IPv6 module.
As for video output 4, this breaks almost everything, but I'll slowly
do what remains to be fixed during the weekend.
Changes in vlc:
===============
* vlc is now a very small program (20 lines) which uses the libvlc API;
it is quite simple for the moment but can be extended in the future.
* interfaces, decoders, video outputs, etc. are now almost the same
objects (yes, I know, this is C++ redone in C) and are structured in
a tree. More about this later, but basically it allows the following
nice features:
- several interfaces
- several playlists with several outputs
- input plugins spawning helper interfaces (will be used for DVD menus)
- anything spawning anything; I swear there are useful uses for this!
* libvlc can be used in other programs; I'm currently writing a Mozilla
plugin for my employer.
Things currently broken:
========================
* most interfaces, most ports
* the playlist handling (almost finished rewriting this though). This means
no file can be played from the GUI, you need to use the commandline. This
also means it segfaults at EOF, when exiting the program, and it sometimes
refuses to open a file when asked to.
might not work! To compile this stuff you need a mingw compiler with
w32api-1.3.
The win32 code uses the getaddrinfo function because inet_pton is
supposed to be deprecated and not supported by Microsoft. gethostbyname2
isn't supported as well. Maybe we could try to unify the ipv6 plugin and
have all the ports use getaddrinfo ? (I didn't dare to do it because I
don't want to break anything before a release ;-)
* Objective-C files are now .m
* Fixed a major bug in the spu decoder
* Disabled auto-hiding of mouse cursor since it doesn't work when browsing
menus ; instead, click in the video window
* ALL: removed underscores from option names and made a few options more
self-explanatory, for instance --input_channel becomes --audio-channel;
run vlc -H to see what has changed.
* ALL: replaced many occurences of "plugin" with the word "module".
* ./src/interface/main.c: moved all satellite-specific configuration options
to the satellite plugin.
* ./po/*: updated translations.
* ./configure.in: disabled SSE plugins when using mingw32.
* ./src/misc/configuration.c: disabled the AltiVec warning message on the
PowerPC platform because it was misleading.
* ./plugins/gtk/gtk.glade: added lines this #@%$! Glade had munched, fixes
a segfault in the Gtk+ popup menu when toggling the interface.
* ./plugins/motion/motion.c: fixed a compilation issue on compilers which
do not accept empty macro arguments.
* ./Makefile: we don't include the Gtk+ and SDL DLLs in the win32 package
anymore, the package is now 700k instead of 4MB.
* ./configure.in, ./Makefile, ./Makefile.opts.in: replaced LIB_FOO with
foo_LDFLAGS and CFLAGS_BAR with bar_CFLAGS for faster builds, and moved a
lot of stuff from Makefile.opts.in back to configure.in.
* ./install-win32: updated script for NSIS 1.96.
I hope this doesn't break too many other architectures...
* ./plugins/win32/Makefile: intfwin.so can be built using commandline.
* ./configure.in, ./include/threads.h, ./include/common.h: a custom defs.h
file isn't needed for the intfwin plugin anymore.
* ./INSTALL.win32: updated compilation instructions for the intfwin plugin.
memalign doesn't exist.
void *vlc_memalign( size_t align, size_t size, void **pp_orig )
where the return value is the aligned pointer and *pp_orig is the pointer
that has to be freed afterwards.
the arithmetic I'm doing on the pointer to align it is not portable to
64bits architectures. If someone knows how to something portable, please
tell me ( and no I don't want to do if(sizeof(void *) == blabla) ).
Other little problem, I was planning to use posix_memalign by default in
the wrapper implementation but it doesn't work (someone can tell me what
I'm doing wrong ?)
* re-enabled the sse plugins on win32 as we don't have anymore alignment
issues.
* fixed typo in vout_directx.c
replaced the outdated author list with a "VideoLAN Team" entry.
* ./debian/rules, ./debian/control: deactivated the vlc-kde package because
it does not work, and removed the vlc-a52 package because liba52 is
statically linked into vlc.
* ./debian/control: added more helpful package descriptions.
* ALL: changed version to 0.3.0. Yeah, it's coming.
* ./Makefile: fixed make dist.
* ./plugins/dvd/dvd.c: we look for libdvdcss.so.2 as well as -.so.1.
* ./configure.in: BSD/OS fixes thanks to Steven M. Schultz.
* ./Makefile: renamed the `snapshot' rule to `dist'.
* ./Makefile: removed the `snapshot-nocss' rule which isn't needed anymore.
* ./configure.in: added (hopefully) explicit messages on how to get
libdvdcss and link vlc with it.
* ./plugins/dvdread/input_dvdread.c: removed inclusion of dvd_udf.h.
* ALL: removed libdvdread from the vlc tree.
* ./acconfig.h: removed this file.
* ./plugins/dvd/dummy_dvdcss.c: merged this file into dvd.c.
* ./AUTHORS: moved a few gentlemen to the libdvdcss AUTHORS file.
<endymion@ca2.so-net.ne.jp>.
* ./plugins/gtk/gtk_callbacks.c: fixed disc ejection code.
* ./ChangeLog: how about a nice cup of 870 lines of ChangeLog for the 0.3.0
release?
( this creates a small memory leak as we don't free the string obtained
from config_GetPszVariable, but I think we can live with it for now )
* the SSE plugins are disable on the mingw32 build as they don't work.
( because memalign is not implemented on win32, and malloc only aligns
on an 8 bytes boundary )
* fixed small mistake in INSTALL.win32
into config_LoadCmdLine()
* config_GetHomeDir doesn't use getpwuid_r anymore as this was creating
some problems on solaris. This function now uses getpwuid and is called
only once to store the home directory into the p_main structure.
* ./plugins/chroma/i420_rgb16.c: plain C 24/32 bpp transformations.
* ./plugins/ggi/ggi.c: support for 8 bpp displays.
* ./plugins/sdl/vout_sdl.c: support for 8 bpp displays.
* ./plugins/x11/xcommon.c: support for 8 bpp displays.
* ./src/video_output/video_output.c: fixed a segfault.
* ./src/misc/configuration.c: changed ~/.VideoLan/vlc to ~/.videolan/vlcrc,
and a few cosmetic changes (sorry Gildas for the butchery).
* ./plugins/chroma/i420_rgb16.c: C version of the I420 to RV15/16 chroma.