Commit Graph

718 Commits

Author SHA1 Message Date
Christophe Massiot cf891bad55 * 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.
2002-09-16 20:46:38 +00:00
Christophe Massiot 96de1d1b35 Aout3 developer documentation, cont'd. 2002-09-06 23:15:44 +00:00
Christophe Massiot 34c71967f9 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.
2002-09-02 23:17:06 +00:00
Christophe Massiot 1e666bc25b Added a priority for video decoders, for systems with fixed-priority
policy.
2002-09-01 21:20:29 +00:00
Christophe Massiot 06996317f9 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.
2002-08-30 23:27:06 +00:00
Christophe Massiot 0b88e7753a * 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.
2002-08-30 22:22:24 +00:00
Sam Hocevar b7d33a0d08 * ./include/vlc_threads_funcs.h, modules/video_output/directx/vout.c: Win32
compilation fixes (typo, undeclared var).
2002-08-30 19:16:05 +00:00
Sam Hocevar 16f2ff86c7 * ./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.
2002-08-30 12:23:23 +00:00
Christophe Massiot 7d2f6de57c * ./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.
2002-08-29 23:53:22 +00:00
Sam Hocevar 685f8edcc3 * ./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.
2002-08-26 23:36:20 +00:00
Christophe Massiot 15f3b0f6fa * 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.
2002-08-26 23:00:23 +00:00
Sam Hocevar b69c9ce127 (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.
2002-08-26 09:12:46 +00:00
Sam Hocevar 6038883a6d * ALL: fixed a few include directories. 2002-08-26 08:36:12 +00:00
Sam Hocevar eb395af053 * Moved ./include/defs.h to ./config.h
* Renamed ./include/config.h to ./include/vlc_config.h
  * Other misc auto* fixes.
2002-08-26 01:01:13 +00:00
Sam Hocevar 764176f688 * 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 :-)
2002-08-25 23:18:05 +00:00
Sam Hocevar 51e9975309 * ./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.
2002-08-25 09:40:00 +00:00
Sam Hocevar 711160b2a2 * ./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.
2002-08-24 10:19:43 +00:00
Sam Hocevar 00724b734b * ./include/vlc_common.h: declared aout_fifo_t. 2002-08-21 23:19:58 +00:00
Sam Hocevar a2c6740830 * ./include/aout_internal.h: exported aout_FifoPop to plugins. 2002-08-21 23:17:41 +00:00
Christophe Massiot 1c13a98745 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).
2002-08-21 22:41:59 +00:00
Sam Hocevar 28ad2fd075 * ./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.
2002-08-21 17:31:58 +00:00
Sam Hocevar da508b85bc * ./include/vlc_common.h: we don't set _() and N_() in Gnome-enabled modules
because <gnome.h> already does it for us.
2002-08-21 15:53:06 +00:00
Sam Hocevar f0ec49dae5 * ./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.
2002-08-20 18:08:51 +00:00
Christophe Massiot 922ab4d4f4 More changes in the date handling. Should be more tolerant with
pause/play and change of audio channel.
2002-08-19 23:12:57 +00:00
Christophe Massiot 5ffbc97e75 * ./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.
2002-08-19 21:31:11 +00:00
Sam Hocevar 2fa6c9ce28 * ./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.
2002-08-19 11:13:45 +00:00
Sam Hocevar 9c669a9f8f * ./modules/visualization/xosd/xosd.c: support for libxosd 1.0.0.
* ./configure.in: added check for libxosd version.
2002-08-19 08:30:56 +00:00
Sigmund Augdal Helberg 894c4adc59 doxygen documented my code 2002-08-18 13:16:51 +00:00
Sam Hocevar 5dc2da7377 * ./src/misc/modules.c: the module linked list is going bye bye. We now use
the vlc_object_* and vlc_list_* functions to manage modules. The Win32
    interface doesn't build, but I'll fix this.
2002-08-15 12:11:15 +00:00
Sam Hocevar 005be13889 * ./src/misc/objects.c: implemented vlc_list_find() which works like
vlc_object_find() but returns a list of _all_ the matching objects. Only
    works with FIND_ANYWHERE at the moment.
  * ./modules/gui/gtk/preferences.c, ./modules/gui/kde/preferences.cpp,
    ./modules/gui/win32/preferences.cpp: the module lists in the preferences
    menus work again.
  * ./src/misc/objects.c: added a missing sizeof that caused crashes because
    the reindexing of the global object array was incomplete.
  * ./include/modules_inner.h: propagated the module long description to its
    submodules.
2002-08-14 17:06:53 +00:00
Sam Hocevar 211b2031b6 * ./modules/audio_output/esd.c: compilation fix (aout_FormatTo is obsolete).
* ./src/audio_output/audio_output.c, ./src/audio_output/mixer.c: fixed a
    horrible sound issue by making sure internal buffers have a size multiple
    of 4 bytes. Waiting for a real fix made in Meuuh, of course.
2002-08-14 13:10:44 +00:00
Sam Hocevar c250844e76 * ./modules/control/rc/rc.c: 'l' outputs a list of all allocated objects,
just as 'd' displayed a tree of attached objects.
  * ./src/misc/modules.c: added a missing header.
2002-08-14 08:17:24 +00:00
Christophe Massiot 2f1be4f3e5 * Added a third argument to aout_OutputNextBuffer. In case the buffer
received does not start exactly at the given date, it indicates if the
  output plug-in is able to compensate for the drift (for instance on
  startup, or with S/PDIF packets), or if we need the aout core to
  resample the coming buffers. It is currently unimplemented.
2002-08-14 00:43:52 +00:00
Christophe Massiot eb93d56d8d * Changed aout_FormatTo* ; aout_FormatToSize does no longer exist.
p_buffer now has a i_nb_bytes member. It is possible to indicate for a
  format its byterate (necessary for AC3 and SPDIF).
* S/PDIF output seems to be working at last (tested with the file output).
2002-08-14 00:23:59 +00:00
Sam Hocevar 5a64fbd73a * ./modules/audio_output/oss.c: we spare a variable by using p_aout->b_die
instead of our own variable.
  * ./modules/audio_filter/converter/a52tospdif.c, ./modules/codec/a52.c: added
    <unistd.h>, required for bswap.
  * ./modules/demux/mp4/libmp4.c: removed an unneccessary semicolon in a
    macro definition.
  * ./modules/audio_output/esd.c: first attempt at getting esd to work.
  * ./modules/video_output/*: split sdl.so into a video and an audio plugin,
    and removed useless subdirectories.
  * ./modules/audio_output/sdl.c: compilation fix.
2002-08-13 11:59:36 +00:00
Christophe Massiot 8d5c85f26f * Fixed a variable overflow bug in the audio output.
* Prepared for some advances in the aout3 clock management.
* Added the first stone of the forthcoming stream output.
2002-08-12 22:12:51 +00:00
Sam Hocevar 6e8f9504cb * ./src/misc/objects.c: two big changes in the object API: now objects can
only have one parent, because I don't want to deal with cycles, and each
    created object is indexed in a global array. This feature is unused yet,
    but it will speed up vlc_object_find(FIND_ANYWHERE).
  * ./debian/rules: activated the faad codec.
  * ./doc/fortunes.txt: new fortune cookies.
  * ./modules/codec/mpeg_video/headers.c: reduced the use of attach/detach.
  * ./modules/audio_output/oss.c: fixed two compilation warnings.
2002-08-12 09:34:15 +00:00
Christophe Massiot 0ef062c721 S/PDIF fixes. 2002-08-11 23:26:28 +00:00
Christophe Massiot ff840042a2 Definition of vlc_fixed_t. 2002-08-11 22:46:34 +00:00
Christophe Massiot 9a9f8a1e7a More S/PDIF fixes. 2002-08-11 01:27:01 +00:00
Laurent Aimar 37e30b124b * modules/codec/faad : an AAC decoder module using libfaad library
(faad2).
 * modules/demux/mp4/libmp4.c : could compile without zlib.
 * modules/codec/ffmpeg/* : set error resilience to -1 by default.(in
order to decode more files, but it could produce segfaults ... )
 * Makefile.*, configure.in : enable mp4 by default, add faad
module (disabled by default ).
2002-08-10 20:05:21 +00:00
Sam Hocevar eb8abe0a86 * ./src/misc/messages.c: fixed an extremely old buffer overflow. 2002-08-10 19:23:06 +00:00
Sam Hocevar 4c2c599e0a * ./include/audio_output.h: small compilation fix. 2002-08-09 23:52:31 +00:00
Christophe Massiot 9000920a11 * Trivial resampler plug-in (resampling still non-functional)
* Begun writing some hooks for forthcoming S/PDIF support
* ./modules/access/vcd/cdrom.c: compile fix for Darwin
2002-08-09 23:47:23 +00:00
Sam Hocevar a46b30014c * ./src/libvlc.c: p_vlc->pf_memset is now usable (it's always the libc
default though).
2002-08-09 16:39:08 +00:00
Sam Hocevar 05e3077cc5 * ./include/modules_inner.h: support for several modules with the same
name but with different directory names.
  * ./Makefile: plugins get installed in different directory names.
  * ALL: additional -ansi -pedantic fixes.
2002-08-08 22:28:23 +00:00
Sam Hocevar 7689bc9224 * ./modules/audio_output/oss.c: compilation fixes.
* ALL: lots of -ansi -pedantic fixes.
2002-08-08 00:35:11 +00:00
Christophe Massiot 123b3214ec Audio output 3. Expect major breakages. 2002-08-07 21:36:56 +00:00
Sam Hocevar 66c62b4386 * ./modules/demux/mpeg/system.c: added a helper plugin for MPEG-related
demux plugins (ps, ts, but also dvd*).
  * ./src/input/mpeg_system.c: removed MPEG-related stuff from the vlc core.
  * ./src/misc/modules.c: max recursion level is now 5.
  * ./modules/access/dvdplay/es.c: fixed a buffer overflow.
2002-08-07 00:29:37 +00:00
Sam Hocevar 50b8a062ab * ./Makefile, ./mozilla/Makefile: make uninstall removes vlc-specific dirs.
* ./src/misc/modules.c: the directory browsing should be more portable now,
    we use stat(2) instead of file->d_type.
2002-08-06 00:26:48 +00:00