Commit Graph

245 Commits

Author SHA1 Message Date
Gildas Bazin 4c0c62a799 * configure.ac.in: fixed a few typos regarding LDFLAGS_access_*. Re-enabled
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 ).
2002-11-15 01:23:54 +00:00
Christophe Massiot 8928554ebd Major change of the channels management. p_format->i_channels disappeares
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.
2002-11-14 22:38:48 +00:00
Christophe Massiot c5817d1217 * OS X plug-in fix ;
* Re-enabled float32 mixer (huh?).
2002-11-13 22:36:44 +00:00
Laurent Aimar 1ebdbd04e5 access/* : don't override demux setting made by user.
modules/demux/demuxdump.c : a little demux that dump raw stream.
(should work with all access...)
2002-11-13 20:23:21 +00:00
Sigmund Augdal Helberg 669c88b516 added a new demux that reads .m3u files and addes the contained items to
the playlist. Currently only autodetects files that start with #EXTM3U
otherwise you'll have to force it.
2002-11-12 22:18:54 +00:00
Sam Hocevar df7cbb7449 * ./Makefile.am: fixed rc compilation under mingw32/cygwin.
* ./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.
2002-11-12 13:57:13 +00:00
Gildas Bazin a6ca37b6c5 * src/extras/libc.c: fixed typo.
* configure.ac.in: compilation fix on win32 for the mms access plugin (the
   plugin is linked with ws2_32).
2002-11-12 10:44:04 +00:00
Laurent Aimar 5813fcd89d * modules/demux/asf/.cvsignore : put the good one.
* 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.
2002-11-12 00:54:40 +00:00
Sam Hocevar 77c667f409 * ALL: libvlc now compiles and run under WinCE. I haven't ported any modules
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...).
2002-11-10 23:41:54 +00:00
Sam Hocevar be8ca6e9a9 * ALL: WinCE compilation fixes (mostly nonexistent headers). A lot of
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.
2002-11-10 18:04:24 +00:00
Sam Hocevar 5d02f37fe0 * A few additional MSVC build fixes. 2002-11-09 17:44:09 +00:00
Sam Hocevar 05ac379f73 * ./Makefile.am: added a "update-vlc.dsp" rule to create the MSVC project
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.
2002-11-09 16:34:53 +00:00
Gildas Bazin 3c60cbd66f * configure.ac.in, modules/audio_filter/converter/*: added a s8tofloat32.c and
u8tofloat32.c converter.
* modules/codec/araw.c: modified to also decode u8 pcm audio samples.
2002-11-08 14:23:49 +00:00
Sigmund Augdal Helberg 802def2aea added a new resampler based on linear interpolation, giving a fair tradeoff
between sound quality and speed
2002-11-07 21:09:59 +00:00
Sam Hocevar 281b9bb481 * ./modules/codec/xvid.c: beginning of a video decoder using the Xvid codec
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.
2002-11-05 22:53:21 +00:00
Christophe Massiot 5cbb47d60d Fixed plug-in compilation on OS X. 2002-10-31 02:12:02 +00:00
Gildas Bazin f5991d12c8 * 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.
2002-10-28 22:31:50 +00:00
Sam Hocevar b316e6e8b5 * ./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.
2002-10-28 16:26:44 +00:00
Simon Latapie f068c8025f YUV plans filter (modifies all 3 plans separatly) 2002-10-26 01:08:13 +00:00
Gildas Bazin bfc4f0f588 * ALL: New ogg demux and vorbis codec modules for preliminary support of
ogg/vorbis streams.
2002-10-23 23:17:45 +00:00
Christophe Massiot 4e9d790036 * Added -mdynamic-no-pic to darwin CFLAGS (can you believe I actually read ./ :)
* Miscellaneous small fixes.
2002-10-22 23:08:00 +00:00
Laurent Aimar 14aec21640 * configure.ac.in Makefile.am: enable asf demuxer plugin
* modules/demux/asf/*: some clean up
2002-10-21 09:18:37 +00:00
Sam Hocevar ec8c631800 * ./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.
2002-10-16 15:10:39 +00:00
Christophe Massiot d86bf0f41a * Fixed filters which couldn't work with more than 2 channels ;
* Fixed detection of VCD support under OS X.2.
2002-10-15 23:10:54 +00:00
Gildas Bazin 235dfe295a * 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.
2002-10-15 19:56:59 +00:00
Laurent Aimar 9a5df48be1 * 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).

All are compiled by default.
2002-10-14 21:59:44 +00:00
Sam Hocevar bf7985b74a * ./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.
2002-10-14 16:46:56 +00:00
Gildas Bazin 2328faeb74 * 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.
2002-10-12 21:31:56 +00:00
Gildas Bazin afc5d20972 * 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).
2002-10-12 20:09:13 +00:00
Eric Petit 02e29e1c11 Rewritten BeOS audio output for audio output 3. It now "pulls" the data.
Sound is yet choppy (I don't know why).
2002-10-12 12:24:52 +00:00
Sam Hocevar 464bd2e5b4 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().
2002-10-11 22:32:56 +00:00
Gildas Bazin cc5919ade4 * 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.
2002-10-11 10:08:06 +00:00
Sam Hocevar 546fb578b5 * ./configure.ac.in: dropped the use of typeset in favor of eval to
set variable values (ash doesn't have typeset).
2002-10-10 17:25:28 +00:00
Gildas Bazin eddf123620 * 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.
2002-10-06 19:28:28 +00:00
Gildas Bazin 94b1b1ac67 * ALL: Splitted the directx plugin into an audio and video module. 2002-10-05 17:29:50 +00:00
Sam Hocevar 89987e1109 * ./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.
2002-10-04 18:07:22 +00:00
Sam Hocevar 2b0b78882c * ./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.
2002-10-04 13:13:54 +00:00
Gildas Bazin 80b15699ea * 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.
2002-10-04 12:01:40 +00:00
Sam Hocevar f501554a39 * ./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.
2002-10-03 18:56:10 +00:00
Gildas Bazin 6dafa41984 * 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.
2002-10-03 17:01:59 +00:00
Sam Hocevar 5c05d0564d * ./Makefile.am: another workaround for an old automake 1.5 bug (bug #279). 2002-10-02 13:26:14 +00:00
Sam Hocevar 106497cdb1 * ./bootstrap, ./Makefile.am: workarounds for automake 1.5. 2002-10-02 12:59:59 +00:00
Sam Hocevar 24a7d9c8b0 * ./configure.ac.in: --enable-a52 activates a52tofloat32, not a52.
(always re-run bootstrap when configure.ac.in has changed).
2002-10-02 09:15:06 +00:00
Eric Petit bf2f5b0081 Attempt to port new BeOS features from the stable branch.
Playlist is yet broken (maybe others things too)
2002-09-30 18:30:28 +00:00
Sam Hocevar 2799d36bc8 * 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.
2002-09-30 11:05:42 +00:00