The liba52 "codec" is now an audio filter. It means we are now able to
autodetect S/PDIF hardware support and the audio output plug-in chooses
the best one. Of course it probably breaks existing output modules, see
oss.c for hints :).
Also include minor tweaks which will entitle us to decode and output 5.1
audio. It may break existing plug-ins, too. See
audio_output.c:aout_FormatNbChannels for hints.
aout3 API change :
pf_setformat disappears (it was never called independantly of Open). If
the format needs to be changed, we will have Close/Open. This is much
simpler than before. Please check that I didn't break some plug-ins.
* demuxes: Worked around a bug in old VLC and VLS by changing TS stream types
(see my last mail).
* aout: Rewrote our whole lock policy. The output thread now doesn't require
the mixer_lock, which might avoid delays. We will also be able to change
the filter pipelines at runtime.
Sam Hocevar [Fri, 30 Aug 2002 12:23:23 +0000 (12:23 +0000)]
* ./configure.in: do not try to link with -lrt if not using pthreads. This
might break the HP/UX or Solaris ports, please check if possible.
* ./src/misc/threads.c: fixed syntax in the st and pth implementations.
* ./bootstrap : Fixed an issue with old shell versions
* ALL : Added a priority argument to vlc_thread_create(), so that audio
and input threads can run with a higher real-time priority, on systems
allowing you to use priorities.
Sam Hocevar [Tue, 27 Aug 2002 14:15:24 +0000 (14:15 +0000)]
* ./HACKING: we can now use automake-1.5 instead of automake-1.6. But now
we _really_ depend on it.
* ./bootstrap: we don't use touch to create a file, because it doesn't seem
to work everywhere.
Sam Hocevar [Mon, 26 Aug 2002 23:36:20 +0000 (23:36 +0000)]
* ./bootstrap: we touch m4/Makefile.am so that configure doesn't complain
about a missing m4/Makefile.in.
* ./include/vlc_common.h: workaround for Borland's redefinition of PACKAGE.
* Miscellaneous S/PDIF fixes.
* New NextPTS() function, to replace CurrentPTS() (gives the PTS which will
be valid for NEXT byte).
* Fixed mono mode in the builtin mpeg audio decoder.
* Various fixes related to PTS calculation in audio decoders.
Sam Hocevar [Mon, 26 Aug 2002 20:49:50 +0000 (20:49 +0000)]
* ./configure.in: we now require autoconf 2.5x because previous versions
don't seem to work very well if you are using autopoint, although
gettext 0.11.5 claims to be fully backwards compatible. Welcome to
automake hell.
* ./bootstrap: workaround which uses gettextize if you do not have
autopoint. We'll probably stay like this for a while, until gettext
0.11.x (which replaces gettextize with autopoint) becomes more
widespread. Currently this workaround seems to work, but don't expect
a clean tarball if you make dist without having used autopoint. Welcome
to automake hell.
Sam Hocevar [Mon, 26 Aug 2002 09:12:46 +0000 (09:12 +0000)]
(A few minor pending patches I had around)
* ./debian/control: gnome-vlc recommends vlc-plugin-esd, and kvlc recommends
vlc-plugin-arts.
* ./src/misc/messages.c: message queue now prints the current object type.
* ./modules/*: cosmetic fixes for the --long-help output.
Sam Hocevar [Sun, 25 Aug 2002 23:18:05 +0000 (23:18 +0000)]
* ALL: started the slow move to automake. For the moment, the changes are
unnoticeable apart from the extra dependency on autoconf, automake and
gettextize. See the new HACKING file for some information, especially if
you don't run Linux.
The current strategy is to have the configure script generate a nice
automake Makefile from Makefile.am, and then clobber it with our good
old dirty Makefile. Muahaha :-)
Sam Hocevar [Sun, 25 Aug 2002 16:55:55 +0000 (16:55 +0000)]
* ./modules/audio_output/oss.c, ./modules/audio_output/sdl.c: improved
sound synchronization.
* ./src/audio_output/output.c: reverted another change I previously did :-)
Sam Hocevar [Sun, 25 Aug 2002 09:40:00 +0000 (09:40 +0000)]
* ./src/audio_output/output.c: reverted my previous aout_OutputNextBuffer
prototype change; it looks like we won't need it after all.
* ./src/audio_output/output.c: if audio output is too slow, but we
know there is no next packet, then we play it anyway. Rationale behind
this is: better play a slightly wrongly dated packet than play silence,
because it might be wrongly dated but there are chances it won't break
audio continuity.
* ./modules/audio_output/sdl.c: workaround for SDL's crap audio output
system (callback gets called at random times, and no way to know the
latency of the samples being played). Audio output is now rather good
here, but please give feedback.
* ./modules/audio_output/oss.c: we delay a bit before asking for a new
buffer to avoid starvation.
Gildas Bazin [Sat, 24 Aug 2002 17:04:36 +0000 (17:04 +0000)]
* modules/misc/logger/logger.c: fixed initialization bugs.
* src/misc/objects.c: in vlc_object_destroy() there's no need to lock structure_lock if
we are the root object (structure_lock has already been destroyed anyway).
Sam Hocevar [Sat, 24 Aug 2002 10:19:43 +0000 (10:19 +0000)]
* ./src/audio_output/output.c: added an argument to aout_OutputNextBuffer
which lets the audio output module give a timeout value for buffer
delivery. This fixes a few issues with aout modules which were calling
aout_OutputNextBuffer way too early.
Sam Hocevar [Thu, 22 Aug 2002 17:14:52 +0000 (17:14 +0000)]
* ./modules/audio_filter/converter/fixed32tofloat32.c: fixed conversion.
* ./modules/codec/mad/libmad.c: ported to the latest aout changes. Still
doesn't work here, though.
Big round of fixes in the aout3.
* Audio and video should now _always_ be perfectly in sync.
* Changes in a52.c (end_date management) must be ported to other codecs,
otherwise mixer errors will appear.
* Audio output plug-in can now tell whether they can handle a little
clock drift (for instance, inserting zeroes after a pause).
Sam Hocevar [Wed, 21 Aug 2002 17:31:58 +0000 (17:31 +0000)]
* ./src/misc/modules.c: if a plugin requested not to be unloaded, then we
won't unload it. This makes us more fault-tolerant with crap libraries
that are making use of atexit().
* ./configure.in: svgalib can now be a plugin.
* ./modules/misc/gtk_main.c: gtk_main doesn't need g_atexit anymore.
Sam Hocevar [Wed, 21 Aug 2002 15:10:33 +0000 (15:10 +0000)]
* ./modules/video_output/svgalib.c: SVGAlib video output module.
Currently only supports 256 color output, and defaults to 320x200. You need to be root to use it, it may leave your console in an unusable state, lock
up your video card, it will segfault at exit if you compile it as a plugin
because of SVGAlib's ludicrous use of atexit() and signal().
Apart from these few glitches, it's rather OK, use "-I dummy -V svgalib"
to activate. Q or Esc to quit (press for a long time if it doesn't work).
Sam Hocevar [Wed, 21 Aug 2002 09:27:40 +0000 (09:27 +0000)]
* ./modules/codec/a52old/a52old.c: ported the old A52 decoder to aout3.
* ./modules/audio_filter/converter/s16tofloat32.c: converter needed for
a52old, includes the walken trick and b_in_place = true.
* libvlc.c : Win32 compilation fix.
* modules.c : we now check the directory plugins/ to find some plugins.
(this will allow us to use the packager / installer which wasn't aware
of plugins -> modules :)
Sam Hocevar [Tue, 20 Aug 2002 21:10:48 +0000 (21:10 +0000)]
* ./modules/gui/gtk/display.c: changed the configuration callbacks so that
all instances of a module get changed when options such as gtk-tooltips
or gnome-toolbartext are toggled.
Sam Hocevar [Tue, 20 Aug 2002 18:08:51 +0000 (18:08 +0000)]
* ./modules/misc/gtk_main.c: created the gtk_main module, which simply runs
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.
* ./configure: Fixed double detection of gethostbyname.
* Major changes in the handling of dates in the audio output ; still buggy,
but differently.
* Fixed a major bug in the aout pre-filters, preventing to run any other
decoder than liba52.
* p_aout->output.pf_play now has only one argument.
* modules/audio_output/alsa.c: we now open the device in SetFormat because
it depends on the audio format. Cosmetic changes. The S/PDIF output may
work.
Sam Hocevar [Mon, 19 Aug 2002 11:13:45 +0000 (11:13 +0000)]
* ./src/misc/cpu.c: libvlc now plays nice with SIGILL and restores the
signal handler to its previous value after use.
* ./src/libvlc.c: moved signal handling to vlc.c.
Gildas Bazin [Mon, 19 Aug 2002 08:19:31 +0000 (08:19 +0000)]
* modules/video_output/x11/xcommon.c: fixed a bug related to the size of the
fullscreen window. We also unmap the current window when switching to fullscreen.
Sam Hocevar [Sun, 18 Aug 2002 13:49:20 +0000 (13:49 +0000)]
* ./src/libvlc.c: removed the simple signal handler because it's not
really needed, and we were calling pthread_mutex_lock from it.
* ./src/libvlc.c: released a vlc_list_t that caused vlc --list to hang.
modules/gui/kde/interface.cpp: made the kde interface look for the rc
file in DATA_PATH
modules/gui/kde/kde.cpp and interface.h: removed a stupid class, moved
stuff from open() to run() to make the kde interface start without
segfaults.