Sam Hocevar [Mon, 14 Oct 2002 19:04:51 +0000 (19:04 +0000)]
* ./modules/misc/testsuite/test4.c: made the 4th test less CPU intensive
by making the spawned threads wait a bit longer.
* ./src/misc/variables.c: added a usage count to the variables; trying to
create a variable with the same name only increments its refcount.
Sam Hocevar [Mon, 14 Oct 2002 16:46:56 +0000 (16:46 +0000)]
* ./include/vlc/vlc.h, ./src/libvlc.c: added VLC_Error() to the libvlc API.
* ./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.
Sam Hocevar [Mon, 14 Oct 2002 16:34:17 +0000 (16:34 +0000)]
* ./modules/misc/testsuite/test4.c: added a stress test module; doesn't get
compiled yet because it uses the "command" variables I'm about to check
in. They need to be typed in the rc interface for instance (-I rc). This
module has two available commands: "signal <int>" which sends the given
signal to the vlc process, and "stress [<int>]" which performs a series of
object creation/lookup/destruction, variable creation/setting/destruction
and thread spawning/joining tests. The optional argument for stress is an
integer between 1 and 200 (the bigger, the heavier the tests; it may hang
your machine at around 150, be careful).
modules/demux/util/id3*: fixed up some dead comments
modules/gui/kde/*: only set variable the user actually have changed when
apply is pressed in the preferences window.
Gildas Bazin [Sat, 12 Oct 2002 21:31:56 +0000 (21:31 +0000)]
* configure.ac.in: fix for the mingw32 build. The gtk plugin may also need mingwex.
* 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.
Gildas Bazin [Sat, 12 Oct 2002 20:09:13 +0000 (20:09 +0000)]
* configure.ac.in: fix for the mingw32 build. We check if we need to explicitly
link with the mingwex library (needed for dirent support with new mingw32
runtimes).
Sam Hocevar [Fri, 11 Oct 2002 22:32:56 +0000 (22:32 +0000)]
Changes to the libvlc API:
* ./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().
Gildas Bazin [Fri, 11 Oct 2002 10:08:06 +0000 (10:08 +0000)]
* src/misc/modules.c: fixed a memory leak with the "plugin-path" config option.
* 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.
messages.cpp: use append(...) and not setText( text() + ...), seems to
decrease cpu-usage considerably.
preferences.cpp: allow config strings to be 40 characters long instead of
10. Is that enough?
Sam Hocevar [Tue, 8 Oct 2002 18:10:10 +0000 (18:10 +0000)]
* ./src/libvlc.c, ./src/misc/messages.c: due to horrible user threats,
only two levels of -v are now possible: -v for warnings, -vv for debug
messages (-q for no output at all).
Gildas Bazin [Sun, 6 Oct 2002 19:28:28 +0000 (19:28 +0000)]
* configure.ac.in: vlc can now be built under cygwin with or without the
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.
Sam Hocevar [Fri, 4 Oct 2002 18:07:22 +0000 (18:07 +0000)]
* ./configure.ac.in: removed now unnecessary --force-exe-suffix flag.
* ./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.
Sam Hocevar [Fri, 4 Oct 2002 14:02:20 +0000 (14:02 +0000)]
* ./modules/gui/macosx/vout.m: if no MacOS X interface is available when
the video output is initialized, we wait for a while before giving up;
also changed the code so that it probes all interface objects rather than
the first one it finds.
Sam Hocevar [Fri, 4 Oct 2002 13:13:54 +0000 (13:13 +0000)]
* ./bootstrap: we use the proper linker for plugin compilation.
* ./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.
Gildas Bazin [Fri, 4 Oct 2002 12:01:40 +0000 (12:01 +0000)]
* src/misc/threads.c, src/misc/win32_specific.c, include/interface.h: fixed typos.
* 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.
Sam Hocevar [Thu, 3 Oct 2002 18:56:10 +0000 (18:56 +0000)]
* ./configure.ac.in: duplicated arguments to AM_INIT_AUTOMAKE to fix
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.
Gildas Bazin [Thu, 3 Oct 2002 17:01:59 +0000 (17:01 +0000)]
* FAQ: updated FAQ with config file issues.
* 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.
Sam Hocevar [Thu, 3 Oct 2002 13:21:55 +0000 (13:21 +0000)]
* ./src/libvlc.c, ./include/main.h: the root of all objects is now
p_libvlc, and each p_vlc is a child of p_libvlc. Reasons for this are:
o the module bank and the message bank only need to be initialized once,
which gives faster loads when multiple instances of libvlc are used,
o we allow the possibility of different p_vlc sharing objects, for
instance the audio output,
o the CPU detection is only done once.
This patch is not polished yet, but I cannot do any intensive tests for
the moment because of a bug somewhere that leaves audio output objects
lying here and there which needs to be investigated first. The current
major issue is that the module bank is no longer freed.
kde.cpp: subscribe and unsubscribe messages
interface.cpp, interface.h: create a messages window, and add menu iten to
show it
Modules.as: build messages window
ui.rc: menuitem to show messages
preferences.cpp: fixed typo in comment
Sam Hocevar [Wed, 2 Oct 2002 16:02:43 +0000 (16:02 +0000)]
* ./bootstrap: added a check for automake bug #326. No easy workaround is
really possible other than patching/upgrading automake. This happens for
automake 1.6.0 and automake 1.6.1.
Sam Hocevar [Mon, 30 Sep 2002 15:46:47 +0000 (15:46 +0000)]
* ./debian/rules: moved the gtk_main and gnome_main plugins to the gvlc
and gnome-vlc packages.
* ALL: updated .cvsignore files to properly ignore automake files.
Sam Hocevar [Mon, 30 Sep 2002 11:05:42 +0000 (11:05 +0000)]
* ALL: the build mechanism now uses automake. See HACKING for more details.
* ./mozilla/vlcplugin.cpp: javascript support for the Mozilla plugin.
* debian/rules: the A52 module is now in a separate package.
Sam Hocevar [Sun, 29 Sep 2002 18:19:53 +0000 (18:19 +0000)]
* ./src/playlist/playlist.c: don't run the playlist by default.
* ./src/libvlc.c: if items are specified in the commandline, run the playlist.
* ./src/vlc.c: don't rely on internal vlc types (mtime_t).
* New --vlc-backwards-compat option, to go back to the old behavior with old
VLS's.
* Fixed a bug with non-ASCII characters in the OS X playlist.
* Fixed a warning on start-up.
* Fixed miscellaneous cosmetic issues with lpcm and s16tofloat32swab modules.
* First hooks for changing the audio output plug-in and its parameters
on-the-fly.
* Audio volume management now works properly. See src/audio_output/intf.c
for information on how to use it in your interface plug-ins. In the
SDL vout, b and n are mapped to sound down/sound up.
* Fixed a major in the mad plug-in with wrong dates.
* Fixed a compilation bug.
Sam Hocevar [Tue, 17 Sep 2002 14:56:13 +0000 (14:56 +0000)]
* ./src/libvlc.c: switched the position of msg_Create() and system_Init()
because the BeOS system_Init spawns a thread, which makes use of msg_*
functions.
* ./src/misc/threads.c, ./src/misc/win32_specific.c: put the detection
of SignalObjectAndWait in the thread system initialization because
system_Init() now happens after msg_Create().
* configure.in: Fixed detection of Qt-embedded.
* modules/codec/a52.c: Fixed detection of A/52 sound.
* modules/audio_filter/converter/a52tofloat32.c: Fixed a bug related to
downmixing.
* ALL: Added hooks for audio volume management.
Jean-Paul Saman [Sun, 15 Sep 2002 20:54:12 +0000 (20:54 +0000)]
Configure option --enable-qte works now (default is disabled).
Porting video out plugin/builtin for Qt Embedded to CVS is not complete. (Please do not use it.)