* A placeholder for the Italian translation,
* A bug fix for mono streams on stereo speakers,
* A fix for a possible crash in the FTP access,
* Correct coordinates in OS X fullscreen modes (closing #47),
* Cosmetic fixes.
didn't find a way to detect correctly a raw dv file so for now we just
check the file extension (.dv). You can additionaly force this demuxer.
PS: the ffmpeg plugin works quite well for decoding dv videos.
* modules/access/ftp.c : an ftp access, buggy but it begins to work.
The main issue is about password confidentiality so you must know
what you are doing :((
effect should give you the feeling that you stands in a real room with
a complete 5.1 speaker set when using only a headphone, providing a
more realistic sound experience. It should also be more comfortable
and less tiring when listening to music for long periods of time.It
works with any source format from mono to 5.1.
-> please try it and feel free to give me some feedback. Some
improvements are already planned (adding echo, more configuration
options, ...).
NB: whereas the filter itself is in a (very first) stable version, the
way it is integrated to the filter chain is only a _temporary_ hack
since it's the audio ouput core (input.c actually) which is directly
responsible for it. Integrating it in a more suitable way will
probably require some work on the way the filters are selected as
well as on the configuration level, but I'm working on it :)
warnings than real ones.
* audio output: New intf-change variable to know when audio-channels
and audio-device have changed.
* video output: New intf-change variable and vout_VarCallback, to know
when video-device has changed (OS X port).
* modules/gui/macosx/*: Menus for audio channels, implemented volume
management, added a menu for screen selection.
* ./configure.ac.in: additional warning flags for GCC.
-Wconversion
Warn if a prototype causes a type conversion that is different from
what would happen to the same argument in the absence of a proto-
type.
-Wsign-compare
Warn when a comparison between signed and unsigned values could
produce an incorrect result when the signed value is converted to
unsigned.
-Wunreachable-code
Warn if the compiler detects that code will never be executed.
-Wdisabled-optimization
Warn if a requested optimization pass is disabled.
See the gcc documentation for more explanations. This triggers a lot of
warnings everywhere, and at first sight they're all worth fixing. Code
quality matters, too, so let's fix'em :)
(Dano is no more needed); multicast still doesn't work.
UDP (unicast) and HTTP have been successfully tested, mms is untested.
* sap.c: BeOS doesn't have memccpy
* VideoOutput.cpp: forgot to remove a printf
microfsoft, not yet ima4)
* wav, asf, avi: fix fourcc creation for adpcm. (Nevertheless adpcm
could not work with asf because of asf audio scrambling unsupported in asf
demuxer). Seek will not work, because vlc send garbage and then break stream
alignment.(I will try to fix that).
somewhat works under Wine (if you force internal buffers to 8bpp), but
doesn't work under Win2k. Any hints welcome.
* ./configure.ac.in: activated the wingdi plugin by default.
a tremor decoder module using libvorbisidec (aka tremor) from xiph.org.
This module allows decoding vorbis audio on hardware without a fpu
(--enable-tremor).
* modules/LIST: added entries for tremor and theora.
* ./modules/access/file.c: the file access plugin gets the real file size
under WinCE.
* ./modules/audio_filter/converter/u8tofixed32.c: added this conversion
filter to play some WAV files without an FPU.
* ./bootstrap: bootstrap --update-vc doesn't rely on the Makefile's presence.
theora codec plugin.
This plugin is based on the experimental theora codec from the Xiph.Org
foundation (http://www.theora.org/). Because the theora bitstream
specifications are likely to change in the near future, this plugin won't
be compiled by default. If you want to test/develop theora with vlc, you'll
need to configure it with --enable-theora and also make sure you've got a
fresh libogg from cvs.
* modules/demux/ogg.c: modified to handle theora and tarkin bitstreams.
* modules/codec/tarkin.c: fixed a few typos.
an experimental tarkin video decoder. You will need to specify the tarkin
tree you want to use with --with-tarkin-tree=.
Warning: Tarkin is still in very early development stage, so this plugin isn't
actually usefull unless you intend to do some development on tarkin itself.
MicroDVD, SubRIP, SSA subtitle format should work...
Options: --sub-file <subtitle file> [--sub-fps, --sub-delay --sub-format].
* modules/demux/avi : make use of subtitle parser.
* modules/demux/asf : display movie length. (It will not work with live
streams of course).
modules/codec/spudec : use i_dts to send end of display time for subtitle.
(Yes it's ugly, but it works :)
the oss plugin as it seems to be working fine.
* src/audio_output/input.c: fixed an obscure bug... (strange one though:
int foo = -1; unsigned int bar = 2; __MAX( foo, bar) == -1 ).
and is replaced by two members : i_physical_channels and i_original_channels.
i_physical_channels describes the channels which are effectively present
in the stream (at the current point of the aout pipeline), whereas
i_original_channels represents the channels we used to constitute the
stream. For instance a mono stream (FRONT_CENTER) may emanate from a
FRONT_LEFT channel of a STEREO stream.
Additionally, this contains hooks to dynamically select the audio device
and the channels configuration. In order to do that, all aout plugins,
and all interface plug-ins need to be adapted. Currently only SDL
(partially OSS) and the rc interface have been adapted, please use them
as a guide. Other aout plug-ins have been temporarily disabled.
IMPORTANT : if you need a working sound output, DO NOT UPDATE YOUR TREE
for several days until we fix that.
* modules/misc/network/ipv4.c: Fixed a long-standing segfault when saving
preferences and asking for multicast.
* ./modules/access/http.c: fixed a segfault (unchecked strstr return value).
* ./src/input/input_ext-plugins.c: removed platform-specific code and put
it in plugins. This leads to some code duplication but I have an evil
plan to get rid of that, too.
* modules/access/mms : add MMS (Microsoft Media Streaming) access (Support
only TCP, I will try to add UDP and HTTP as well).
There are some problems with streams selections and we cannot seek, but
anyway it seems to work. (Usefull for some radio web)
* other: enable mms access by default.
yet so there's little that can be tested, but threads work at least.
* ./src/extras/libc.c: renamed strndup.c to libc.c because a few other
libc functions were added (strcasecmp, atof, getenv...).
work is still needed for missing functions. I only touched libvlc for
the moment, plugins will come in a long long while.
* ./bootstrap: moved MSVC project files generation here; use --update-msvc.
file from the makefile.
* ./msvc/*: moved the MSVC files here.
* ./src/extras/*: moved the extra code here (used to be in src/misc,
extras/GNUgetopt and extras/Win32_msvc).
* ./include/*: a few warning fixes.
from xvid.org; compile with --enable-xvid --with-xvid-tree=..., run with
--codec xvid,any (the priority is lower than ffmpeg's for the now).
todo list: direct rendering, better buffer handling, see why only I frames
are rendered OK here... probably more.
* include/vlc_threads.h: changed the different threads priorities to optimize
audio and video quality as well as responsiveness.
* modules/audio_output/waveout.c modules/audio_output/directx.c: waveout and
directx will now use the float32 format if available. Various tweaks for
better performance.
if it was found.
* ./modules/access/dvdplay/tools.c: we don't try to stat the device if it
looks like a Win32 drive.
* ./src/misc/messages.c: we only flush stderr under Win32.
- Major changes to allow reading vcd images directly from the hard drive
(you need a .cue and .bin file).
- Removed duplicated code by merging ioctl_GetTrackCount and ioctl_GetSectors.
- Implemented necessary ioctls for Win9x/NT/2K/XP.
* ./include/main.h: removed p_vlc->i_status because it was not sufficient
to represent all the possible states of p_vlc; each part should be tested
separately upon destruction.
* ./src/misc/objects.c: fixed a signed/unsigned bug that prevented creation
of VLC_OBJECT_GENERIC objects.
* ./src/misc/variables.c: added the VLC_VAR_COMMAND type which is simply a
variable that stores a function pointer, and calls it when var_Get is
called for it. The function argument is taken in val.psz_string.
* ./src/misc/objects.c: vlc_dumpstructure and vlc_liststructure are no longer
exported to the rest of the program; instead, they're VLC_VAR_COMMAND vars
("tree" and "list").
* ./modules/control/rc/rc.c: moved a few commands to VLC_VAR_COMMAND vars.
* modules/demux/mpeg/ts.c: added an #include <stdint.h> to make mingw32 happy when
compiled with libdvbpsi.
* Makefile.am: fixed dependency problem with share/vlc_win32_rc.rc.
* ./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().
* modules/audio_output/directx.c, modules/audio_output/waveout.c: ported the directx
and waveout audio plugins to the new changes in the audio output layer.
* configure.ac.in: fixes for cygwin compilation, and the gtk plugin under mingw32.
unix emulation layer (without if you use CC="gcc -mno-cygwin").
* INSTALL.win32: doc update for cygwin build.
* modules/video_output/directx/events.c, modules/video_output/directx/directx.c,
modules/audio_output/directx.c: compilation fixes for cygwin.
* ./src/misc/objects.c: structure_lock is now local.
* ./src/misc/threads.c: implemented named mutexes which provide a handy
way to protect data across plugins which might be sharing the same
resources. Thread-unsafe libraries come to mind, but we can imagine
using a named mutex for configuration files, or special devices.
* ./include/main.h: removed global_lock because of vlc_mutex_need, removed
p_global_data because it was never used, removed structure_lock because
it did not belong here.
* ./modules/misc/testsuite/*: moved the null module into three test modules
that are only built when --enable-testsuite is activated. This directory
can be a good place for compilation tests or performance benchmarks.
* configure.ac.in, modules/gui/gtk/gtk.c: Added a NEED_GTK_MAIN macro to the compiler
flags for the gtk module. When this macro isn't defined, then the gtk module
doesn't make use of the gtk_main module. I had to do this change because the
gtk_main trick can't work on win32 and render the whole gtk interface unusable.
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.
* configure.ac.in: use -mms-bitfields instead of -fnative-struct for
mingw32 gcc-3.x.
* include/interface.h, modules/misc/dummy/interface.c, modules/misc/logger/logger.c,
modules/control/rc/rc.c: Display message on Win32 explaining how to get
back to the GUI mode.
* src/misc/threads.c, include/vlc_threads_funcs.h: ignore the
win9x-cv-method config option on WinNT when fast-mutex is not enabled.