http://msdn.microsoft.com/en-us/library/b0084kay(v=vs.80).aspx only
mentions the _ prefixed variable.
gcc will always define the _ prefixed variable, like Visual Studio.
The prefixless one is defined in some language standards, e.g. gnu99
but not c99.
Missing some cases that I could not test.
Also ffmpeg/chroma.c is locked, so I can but leave it broken.
Fix is for the remaining modules is obvious and the issue is easy to detect.
* Headers in include must contain the structures and prototypes needed
by the plugins and should be named vlc_*.
* Headers in include/vlc must contain the structures and prototypes
needed by external libvlc clients
* Moved and renamed some things in headers.
- Removed vlc_cpu.h, vlc_error.h (merged in vlc_common)
- Removed snapshot.h (merged in vlc_vout.h)
- Removed vlc_spu.h (merged in vlc_osd.h)
- Removed intf_eject.h and vlc_interaction.h (merged in vlc_interface)
- Moved all internal headers to src
- Merged vlc_video.h and video_output.h and move private things to src
- Removed vlc/intf.h, vlc/aout.h, vlc/vout.h, vlc/decoder.h and vlc/input.h
(meta headers for use in modules, and often implying too large
dependencies)
* Removed some useless dependencies
* Unexported a bunch of functions and structures used only in src/
(--> Still some work here)
* Finally made input_thread_t and input_source_t (mostly) private.
Added input_GetItem to fetch the input_item of an input_thread
* Cleaned up deprecated entries in vlc_symbols.h and bumped up symbol
prefix
This commit has a 99% probability of breaking the build, 0.1% of killing
your cat and 0% of getting you hot chicks.
What is currently broken:
* Some playlist demuxers (shout, dvb and pls)
* DAAP
* BeOS playlist
* GPE playlist, I suppose
What has some trouble:
* Meta handling in several demuxers (most notably TS)
* Skins2 playlist (doesn't refresh correctly)
* OS X playlist (see bigben's latest commits)
* src/input/input.c:
+ introduced input_item_t that is shared between the playlist/vlm and the input thread (contains input name, options, infos, etc...).
+ changed prototype of input_CreateThread() to input_thread_t *input_CreateThread( vlc_object_t *, input_item_t * ).
* ALL: use input_item_t and INPUT_ADD_INFO when necessary.
* New playlist import/export system:
-export plugin in misc/playlist (contains one module for each file type)
-open plugin = special demuxer2, that can be opened from the command
line or the graphical interface.
NB: the demuxer "playlist" is forced to earn speed, but this does not
work yet, as we have a demux2
* modules/gui/wxwindows: use the new import/export.
* src/playlist/group.c : fixed boundary check
* src/playlist/item-ext.c: correctly reset stuff when clearing the playlist
waveout, directx, qnx, beos, win32, macosx, and the AltiVec modules.
* ALL: removed mention of AC3 in favour of A52.
* ./configure.in, ./Makefile*: modules can now be built deeper than 1
directory. As a consequence, the build is even slower (but I'm fixing
this) and make clean doesn't work anymore.
* ./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.
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.