Sam Hocevar [Tue, 29 Oct 2002 13:22:48 +0000 (13:22 +0000)]
* ./include/vlc_common.h: defined the INSERT_ELEM and REMOVE_ELEM macros
which are a generic use of the realloc/memmove/index++ scheme we use for
dynamic arrays.
* ./src/misc/variables.c: properly free the choice list upon variable
destruction.
Gildas Bazin [Mon, 28 Oct 2002 22:31:50 +0000 (22:31 +0000)]
* configure.ac.in: libvorbis depends on libogg.
* 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.
Gildas Bazin [Mon, 28 Oct 2002 22:23:23 +0000 (22:23 +0000)]
* modules/codec/mpeg_video/parser.c: add_module() for "mpeg-motion" wasn't using
the right capability.
* modules/codec/ffmpeg/ffmpeg.c: fixed typo (re-enabled default case in a
switch).
* modules/codec/a52.c: fixed the AOUT_DOLBY detection.
Sam Hocevar [Mon, 28 Oct 2002 16:26:44 +0000 (16:26 +0000)]
* ./configure.ac.in: we explicitely link the dvdplay plugin with libdvdcss
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.
Sam Hocevar [Mon, 28 Oct 2002 13:25:56 +0000 (13:25 +0000)]
* ./Makefile.am: fixed missing build dependencies for the Mozilla plugin.
* ./src/misc/variables.c: implemented min/max and steps for integer and
float variables.
* added a simple dialog to show id3-tags and other info
* finally added languages/subtitles selections menus, found and got fixed two
bugs in kdelibs in the process, but only one of them will get into kde 3.1.
* made the location of the ui.rc file configureable, usefull for testing.
Gildas Bazin [Sun, 27 Oct 2002 16:58:14 +0000 (16:58 +0000)]
* ALL: removed GetPES and NextPES, we now use input_ExtractPES everywhere instead
of these. The bitstream facility has also been changed to use input_ExtractPES
and now stores the current PES in its structure.
Introduced input_FlushPESFifo() and CloseBitstream().
Laurent Aimar [Sat, 26 Oct 2002 19:14:46 +0000 (19:14 +0000)]
* all : fix for new use of p_selected_area->i_tell.
Just a word: now we cannot update anymore p_input->p_current_data
without updating i_tell. I known that it's used for skipping some bytes in
mp3 demux (not yet fixed), I don't known if it's used elsewhere....
Gildas Bazin [Sat, 26 Oct 2002 15:24:19 +0000 (15:24 +0000)]
* ALL: p_selected_area->i_tell is now update inside input_SplitBuffer instead
of inside the pf_read functions of access plugins. That means i_tell now
actually reflects the position of what is being decoded and furthermore it
is updated more often.
Sam Hocevar [Fri, 25 Oct 2002 18:17:59 +0000 (18:17 +0000)]
* ./modules/video_output/directx/events.c: start the colorkey search at 10,
not 5, to avoid using a color used by another application.
* ./modules/video_output/directx/events.c: support for drawing in a parent
window instead of creating our own; still a bit flakey.
* ./mozilla/vlcshell.cpp: we can now compile the Mozilla plugin so that it
does not call libvlc (for testing purposes).
Gildas Bazin [Fri, 25 Oct 2002 15:21:42 +0000 (15:21 +0000)]
* modules/audio_output/oss.c: when now set the fragment size of the OSS device
according to the size of an audio sample.
For buggy OSS drivers, we now take into account the real size of the OSS
internal buffer when we check how much this buffer has been filled.
Sam Hocevar [Fri, 25 Oct 2002 09:21:09 +0000 (09:21 +0000)]
* ./include/vlc_common.h: we now use the ISO C9x types (int8_t, uint8_t,
int16_t) instead of our custom types (s8, u8, s16) and you are encouraged
to use these types from now. Of course the old types are still available
for backward compatibility.
Gildas Bazin [Thu, 24 Oct 2002 09:37:48 +0000 (09:37 +0000)]
* src/input/input_ext-dec.c, include/input_ext-dec.h, modules/codec/araw.c:
renamed input_NextPES into input_ExtractPES and factorised its code.
* modules/codec/ffmpeg/ffmpeg.c, modules/codec/faad/decoder.c,
modules/codec/cinepak/cinepak.c: make use of NextPES and GetPES from
src/input/input_ext-dec.c.
* modules/codec/a52.c: fixed uninitialized variable.
Sam Hocevar [Tue, 22 Oct 2002 21:10:28 +0000 (21:10 +0000)]
* ./mozilla/vlcshell.cpp: ported the Mozilla plugin to Windows.
For the moment it spawns a separate window and seems to behave nastily
(read: crashes) when the target has sound, but the javascript interface
works perfectly, for instance.
To build it, I installed Mozilla development files in my mingw32 dir
and hacked mozilla-config so that it uses these files. I also hacked
jri_md.h and jni_md.h to put "defined(_MSC_VER) || defined(__MINGW32__)"
where it read "defined(_MSC_VER)". No other changes were necessary.
* modules/demux/mpeg: Added DVB stream type for A/52 streams (0x6),
* include/vlc_threads.h: Avoid locking the interface,
* ALL: reworked all audio output plug-ins to correctly take into account
i_channels. At present this is known to break OSS, probably others.
Sam Hocevar [Thu, 17 Oct 2002 16:03:18 +0000 (16:03 +0000)]
* ./src/video_output/video_output.c: mouse coordinates are now variables.
* ./modules/access/dvdplay/intf.c: instead of probing the mouse on each
loop iteration, we set a callback on the corresponding variables.
Sam Hocevar [Thu, 17 Oct 2002 13:15:31 +0000 (13:15 +0000)]
* ./src/misc/variables.c: callback loops are now detected; this means you
can now use var_* functions from within your callback, they can even
trigger callback themselves, to any level. The main restriction is that
you shouldn't meddle with a variable that is already being triggered by
the current thread (other threads will just wait).
* ./src/misc/objects.c: fixed a deadlock in the "tree" command.
* ./modules/misc/testsuite/test4.c: added a "callback-test" command to the
rc interface to test callback loop detection and concurrent triggers.
Sam Hocevar [Thu, 17 Oct 2002 08:24:12 +0000 (08:24 +0000)]
* ./modules/codec/spudec/parse.c: fixed bad initialization of the alpha
palette, implemented the "force display" command as forever-living
subtitles, and reworked some code.
* ./src/video_output/video_output.c: we increment the image date even if
we are repeating the previous image, so that subtitles have a chance to
get displayed.
* ./src/video_output/vout_subpictures.c: ephemer subpictures don't timeout.
Use a KURLRequester widget for variables of type CONFIG_ITEM_FILE. This
crates a little button next to the textarea that pops up a file open dialog
where the user can point and click on the file to select. It also drops down
a list of possible completions as the user types.
Sam Hocevar [Wed, 16 Oct 2002 15:10:39 +0000 (15:10 +0000)]
* ./configure.ac.in, ./src/libvlc.c: attempt at activating gettext support
under platforms without libintl such as Win32. Use --with-included-gettext
to test. Might break compilation on systems I don't have access to.
Sam Hocevar [Wed, 16 Oct 2002 11:35:53 +0000 (11:35 +0000)]
* ./modules/access/vcd/vcd.c: changed an error to a warning in the probe
phase.
* ./modules/video_filter/deinterlace/deinterlace.c: the bob method now
flickers less thanks to a patch from Marian Durkovic <md@bts.sk>.
Sam Hocevar [Wed, 16 Oct 2002 10:31:58 +0000 (10:31 +0000)]
* ./src/misc/variables.c: fixed a deadlock in command variables handling;
we now release the variable lock before calling the command.
* ./src/misc/threads.c: removed deprecated code.
Gildas Bazin [Tue, 15 Oct 2002 19:56:59 +0000 (19:56 +0000)]
* modules/access/vcd/*, configure.ac.in:
- 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.
Laurent Aimar [Tue, 15 Oct 2002 00:55:07 +0000 (00:55 +0000)]
* all : begin to rewrite some parts of avi demux, mainly to clean ugly code
and to prepare for OpenDML support.
Add new options :
--avi-index force index creation.
--avi-interleaved force method used for unseekable stream but need
interleaved stream and could lead to loss of audio/video synchro.
Laurent Aimar [Mon, 14 Oct 2002 21:59:44 +0000 (21:59 +0000)]
* araw.c : pseudo pcm decoder
* wav : demux for wav file( should work with raw pcm, mp3 or a52 stream ) but
untested under big endian machine(for pcm).
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).