Commit Graph

104 Commits

Author SHA1 Message Date
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
Sigmund Augdal Helberg 086f0dc8c2 the mp3 demux now parses id3 tags into the info structures if libid3tag
is available
2002-08-18 14:11:35 +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
Jean-Paul Saman d1aefb4d68 Preparation for Qt embedded support. 2002-08-10 11:35:31 +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
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 6b9376dbe6 * ./modules/codec/dv/dv.c: decoder for the DV format, uses libdv. 2002-08-05 15:16:18 +00:00
Sam Hocevar ec435327da * ./Makefile.opts.in: fixed the builtins_LDFLAGS regexp so that it works
with the Solaris sed.
  * ./src/misc/modules.c: fixed a warning caused by misuse of const.
2002-08-05 11:48:56 +00:00
Sam Hocevar 19ea8feb6d * ./modules/*: moved plugins to the new tree. Yet untested builds include
waveout, directx, qnx, beos, win32, macosx, and the AltiVec modules.
  * ALL: removed mention of AC3 in favour of A52.
  * ./configure.in, ./Makefile*: modules can now be built deeper than 1
    directory. As a consequence, the build is even slower (but I'm fixing
    this) and make clean doesn't work anymore.
2002-08-04 17:23:44 +00:00
Stéphane Borel 8a430a8819 *first version of plugin for libdvdplay. To test it, you need to have
libdvdplay installed (available from videolan CVS), and request plugins
compilation in the usual way:
	--enable-dvdplay.
Note that libdvdplay needs libdvdread and libdvdcss.

Currently it has only been tested under linux, with gnome interface (optional)
and xvideo output.

What works (more or less):
 -DVD reading in some rare cases :) (title and menus),
 -Menu pause,
 -Seeking,
 -Selecting directly a specific title/chapter/angle,
 -Changing audio, sub-picture, angle during playback,
 -Interactive menus with mouse only.

What is missing:
 -Menu buttons highlighting (needs spudec patch),
 -Keyboard interaction (needs a specific part in port specific plugins),
 -A specific interface to navigate through menus (needs that I move my ass),
 -Interactive menus won't work with other output plugins so long as they
  have not been patched to send mouse/keyboard events to vlc interface,
 -Whatever you need.

Known bugs (bugs in libdvdplay mostly):
 -Seeking in some menus or intro titles (bad vobu map),
 -Read/seek error with some DVDs,
 -the configure needs tweaking,
 -numerous segfaults,
 -decoder/output modules locking error,
 -fuzzy colors in menus when spudec is active (default in menus).

The plugin is not guaranteed to work anywhere outside my computer. If it break your, don't come and complain to me :).
2002-07-23 19:56:19 +00:00
Jean-Paul Saman afba69f8d6 Added --enable-familiar to configure.in, the default is disabled. 2002-07-22 13:48:13 +00:00
Jon Lech Johansen e58ef94f5a * ./configure.in: added mp4 module, default disabled 2002-07-18 00:54:17 +00:00
Sam Hocevar 4565dc6ee0 * ./mozilla/*: preliminary Mozilla plugin. Only works under Unix for now.
* ./debian/rules: activated the vlc-xosd, vlc-kde and mozilla-plugin-vlc
    Debian packages.
  * ./po/*: updated potfiles.
2002-07-04 18:11:57 +00:00
Loïc Minier 9edc2a4634 * basic On Screen Display intf-plugin based on libxosd 2002-06-07 22:24:04 +00:00
Sam Hocevar 7291e0a7e2 (new in MAIN)
* ./src/interface/interface.c: interfaces are no longer attached only to
    p_vlc.
  * ./src/libvlc.c, ./src/misc/modules.c, ./src/playlist/playlist.c,
    ./src/input/input.c: improvements in the playlist handling (not quite that
    yet though).
(ported from v0_4_1_branch)
  * ./configure.in, ./plugins/mpeg_system/mpeg_ts.c: fixed libdvbpsi handling.
  * ./src/misc/configuration.c: fixed the --nofoo option handling.
  * ./src/interface/main.c: fixed two compilation warnings under Solaris.
2002-06-04 00:11:12 +00:00
Sam Hocevar 9e3ab283c2 * ALL: the first libvlc commit.
As for video output 4, this breaks almost everything, but I'll slowly
  do what remains to be fixed during the weekend.

   Changes in vlc:
   ===============

  * vlc is now a very small program (20 lines) which uses the libvlc API;
   it is quite simple for the moment but can be extended in the future.

  * interfaces, decoders, video outputs, etc. are now almost the same
   objects (yes, I know, this is C++ redone in C) and are structured in
   a tree. More about this later, but basically it allows the following
   nice features:
    - several interfaces
    - several playlists with several outputs
    - input plugins spawning helper interfaces (will be used for DVD menus)
    - anything spawning anything; I swear there are useful uses for this!

  * libvlc can be used in other programs; I'm currently writing a Mozilla
   plugin for my employer.

   Things currently broken:
   ========================

  * most interfaces, most ports
  * the playlist handling (almost finished rewriting this though). This means
   no file can be played from the GUI, you need to use the commandline. This
   also means it segfaults at EOF, when exiting the program, and it sometimes
   refuses to open a file when asked to.
2002-06-01 12:32:02 +00:00
Christophe Massiot 64845e08f5 Fixed HTTP input under Win32 (thanks ipkiss). 2002-05-22 23:11:00 +00:00
Gildas Bazin 3ce5cf5966 * First try for IPv6 support on Win32. This hasn't been tested so it
might not work! To compile this stuff you need a mingw compiler with
  w32api-1.3.

The win32 code uses the getaddrinfo function because inet_pton is
supposed to be deprecated and not supported by Microsoft. gethostbyname2
isn't supported as well. Maybe we could try to unify the ipv6 plugin and
have all the ports use getaddrinfo ? (I didn't dare to do it because I
don't want to break anything before a release ;-)
2002-05-20 19:49:18 +00:00
Sam Hocevar b4985b910a * ./Makefile.opts.in: removed configuration stuff which does not need to
rebuild anything to Makefile.config, so that editing it will not cause
    a complete rebuild.
2002-05-20 14:12:15 +00:00
Christophe Massiot 4bef8ffbce * Fixed menus [Mac OS X port]
* Objective-C files are now .m
* Fixed a major bug in the spu decoder
* Disabled auto-hiding of mouse cursor since it doesn't work when browsing
  menus ; instead, click in the video window
2002-05-12 20:56:34 +00:00
Gildas Bazin a833d9d840 * added a --with-a52-tree option to the configure script. 2002-05-01 19:59:42 +00:00
Sam Hocevar eb1ec4a42c * ./src/misc/modules_plugin.h: exported input_ClockManageRef for fenrir.
* ./include/video.h: moved vout_CopyPicture out of the way, an inline
    function did not make sense here.
  * ./include/video.h: moved vout_ChromaCmp out of the way.
  * ./plugins/avi/fourcc.h, ./include/video.h: merged these two files into
    video.h.
  * ./include/os_specific.h: this file is now always included.
  * ./include/debug.h: removed this file which was almost useless, and moved
    ASSERT to common.h.
  * ./include/common.h: fixed vlc_memalign and changed its prototype to
    follow posix_memalign's.
2002-04-25 21:52:42 +00:00
Johan Bilien 5a70322c5f * Moved Program Specific Information decoder to the ts demux module
* Added a mpeg_ts_dvbpsi module tha uses libdvbpsi to decode PSIs. It is
  used by default if the lib is found. It shares much code with mpeg_ts
2002-04-25 02:10:33 +00:00
Sam Hocevar 08999a39bc * ./src/interface/main.c: we no longer segfault if argc == 0.
* ALL: renamed PLUGINS to __PLUGINS__ to avoid conflicts with libraries
    defining it. Grmbl.
  * ./src/input/input_ext-plugins.c: cosmetic change.
2002-04-24 00:36:24 +00:00
Sam Hocevar fbe65af695 * ./plugins/avi, ./plugins/ffmpeg: created empty directories for fenrir's
upcoming work.
2002-04-23 23:06:05 +00:00
Sam Hocevar 1b0868ed29 * ./plugins/win32/win32.cpp: fixed `--intf intfwin' which wasn't working.
* ./Makefile: we don't include the Gtk+ and SDL DLLs in the win32 package
    anymore, the package is now 700k instead of 4MB.
  * ./configure.in, ./Makefile, ./Makefile.opts.in: replaced LIB_FOO with
    foo_LDFLAGS and CFLAGS_BAR with bar_CFLAGS for faster builds, and moved a
    lot of stuff from Makefile.opts.in back to configure.in.
  * ./install-win32: updated script for NSIS 1.96.

   I hope this doesn't break too many other architectures...
2002-04-05 20:44:23 +00:00
Sam Hocevar 0d691469a7 * ./configure.in: added --enable-intfwin to enable the win32 interface and
--with-bcbuilder to tell make where to find Borland C++ Builder.
2002-04-05 12:35:47 +00:00
Christophe Massiot 928d731dba Fixed altivec memcpy module [OS X port] 2002-04-03 22:36:50 +00:00
Sam Hocevar 5ba63c6664 * ./plugins/ogg/*: added preliminary files for an Ogg/Vorbis decoder a
contributor is currently working on.
2002-04-03 06:45:36 +00:00
Sam Hocevar 0beab2c2c8 * ALL: removed libdvdcss from the vlc tree.
* ALL: removed libdvdread from the vlc tree.
  * ./acconfig.h: removed this file.
  * ./plugins/dvd/dummy_dvdcss.c: merged this file into dvd.c.
  * ./AUTHORS: moved a few gentlemen to the libdvdcss AUTHORS file.
2002-04-03 06:23:08 +00:00
Sam Hocevar 77d515ff6d * ./configure.in: BeOS, liba52 and chroma plugin compilation fixes.
* ./plugins/dvd/dvd_access.c: removed a warning.
  * ./src/misc/configuration.c: Solaris fixes by Meuuh.
  * ./FAQ: removed outdated stuff.
2002-04-02 10:17:08 +00:00
Sam Hocevar 8ce5aeea91 * ./plugins/aa: aalib output plugin courtesy of Sigmund Augdal.
* ./configure.in: fixed a few bashisms.
  * ./src/misc/configuration.c: fixed build under Solaris.
  * ./TODO: updated todo list.
2002-03-19 14:00:50 +00:00
Sam Hocevar aaee289a1e * ./configure.in: fixed linking of the ipv4 plugin. 2002-03-18 17:09:54 +00:00
Sam Hocevar 45733cebbe * ./configure.in: fixed a plugins/dsp.so compilation issue under OpenBSD. 2002-02-27 19:05:19 +00:00
Jon Lech Johansen 9400b572ec * MacOS X VCD support. 2002-02-20 05:50:00 +00:00
Sam Hocevar 730cc399c5 * Got rid of TRACE and intf_DbgMsg which were seldom used anyway.
* All intf_*Msg functions now write to stderr.
   * Implemented a message queue interface plugins can subscribe to.
   * Wrote the logger interface plugin. Usage:
      vlc -I logger:filename.log
   * Lots of fixes in the SPU renderer.
2002-02-19 00:50:20 +00:00
Gildas Bazin 622b440047 * Just renamed the liba52_adec plugin into a52 to comply with the naming
convention used by the other plugins.
2002-02-06 20:44:23 +00:00
Sam Hocevar f5c0a050bd * ./plugins/lirc/lirc.c: IR remote control plugin by Sigmund Augdal
<sigmunau@stud.ntnu.no>, activate with --enable-lirc.
  * ./configure.in: put liba52_adec in a builtin for PIC/non-PIC reasons.
2002-02-06 02:37:18 +00:00
Gildas Bazin 5e7b466d87 * New AC3 decoder plugin using liba52 from Aaron Holtzman and
Michel Lespinasse.
    This plugin isn't used by default, you have to specify:
    --ac3_adec liba52
2002-02-05 21:46:41 +00:00
Gildas Bazin 595d768452 * Added a new very simple audio plugin for Win32. This plugin uses the
waveOut API which is a lot easier to use for streaming stuff than
    directsound. (you don't have to take care of underflows anymore
    because it doesn't use circular buffers).
    If you are having a lot of underflows, this plugin is currently
    better adapted than the directx plugin.

* Moved some initialization stuff in audio_out.c so we can now the
    caracteristics of the audio stream before calling aout_Open().
2002-01-25 06:43:34 +00:00
Stéphane Borel 8c0d4cd70f Configure and Makefile tweaking for dvdread module.
It is now activated with option --with-dvdread, that takes the same options
as --with-dvdcss.
If you link with libdvdread statically dvdread is compiled builtin ; if you
link dynamically, it is compiled as a plugin.
2002-01-24 18:50:32 +00:00
Christophe Massiot d970994cc0 * Decoders do not necessarily use bit stream (see mad plug-in)
* mad PTS should finally be accurate
* Some configure changes.
2002-01-21 23:57:46 +00:00
Sam Hocevar 641382a2dc * ./configure.in: added extra checks for strange compilers such as
Borland C++ which do not support all gcc options. Note that vlc does
    not compile with bcc32 yet, but is getting closer and closer to.
2002-01-21 05:14:10 +00:00
Sam Hocevar ddec0b930e * ./plugins/win32: skeleton for the win32 interface Ipkiss is developing.
* ./config.guess ./config.sub: latest GNU versions.
  * ./configure.in: when possible, xvideo is compiled as a plugin.
  * ./vlc.spec: fixed a few minor inaccuracies.
  * ./debian/control: vlc-gui is no longer depended on, but rather recommended.
  * ./src/interface/main.c: --spumargin flag; use this to force displaying
    subtitles at the bottom of the screen instead of putting them in the
    middle, for instance: `--spumargin 5'.
2002-01-21 00:52:07 +00:00
Sam Hocevar 791fb4e0c2 * ./debian/control: fixed Debian build-depends.
* ./include/config.h: changed RELEASE to HAVE_RELEASE because RELEASE
    is already defined in <scsi/scsi.h> under Linux.
2002-01-15 01:01:00 +00:00
Sam Hocevar bf7ee74f8f * ./ChangeLog: imported the 0.2.92 changes, unrolled current CVS changes.
* ./include/config.h et al.: this file is no longer generated.
  * ./include/video.h: we use the FOURCC definition of a chroma format to
    describe picture types (see http://www.webartz.com/fourcc/).
  * ./plugins/dvdread/input_dvdread.c: compilation fix by Eyal Lebedinsky.
  * ./plugins/x11/xcommon.c: fixed the XShm operations order.
2002-01-02 14:37:42 +00:00
Sam Hocevar cc0f0bb6fd Some heavy changes today:
* Removed duplicate function checks from configure.in.
  * Added extra magic to Makefile.modules so that the module Makefiles
    are now ridiculously simple. And I mean *simple*. Check it! This will
    make a possible switch to full autoconf/automake a lot easier.
  * Added the vlc version name to the plugin symbols, to be sure we only load
    plugins with the same version number. A nasty consequence is that you
    need to rebuild your tree after midnight if you are using a CVS tree :-)
  * Got rid of modules_export.h by #defining exported functions in the same
    header as their prototype.
  * Added modules_inner.h and other commonly used .h files to common.h so
    there are less and less files to include, and renamed common.h to
    <videolan/vlc.h>.
  * First modifications to the module handling system towards my ultimate
    goal to get rid of the *_Probe functions. Got rid of TestMethod and
    TestCPU, as well as src/misc/tests.c.
  * Wrote the chroma plugin handling functions. No YUV functions have been
    ported yet because it'ls a lot of work, but the core system works, I
    tried it with a naive yv12->rgb16 plugin (which will disappear when the
    real functions are ready).
  * Made a lot of functions in dvd_summary.c one-liners to avoid wasting
    too many output lines.
  * Fixed a segfault in input_dvd.c:DVDInit.
  * Added a fixfiles.sh script in plugins/gtk to be run after Glade has
    generated its C files.
  * Did some work on the KDE interface to make it suck a bit less. It still
    segfaults, but at least it runs and it looks less ugly.
  * RGB SDL rendering works again, though in 16bpp only.
  * Made plugins/vcd/linux_cdrom_tools.c independent of any vlc structure
    so that it'll be easily put in a library. Maybe libdvdcss?
  * Fixed VCD date display.
  * Merged vout_xvideo.c, vout_x11.c and vout_common.c into xcommon.c.
  * Wrote non-Shm XVideo output.
  * Made X11 output work again. Still pretty unstable, only works for 16bpp.
  * Additional french translation in po/fr.po. Any taker for the rest?
  * Fixed a segfault in video_output.c when the allocated pictures were
    not direct buffers.
  * If $DISPLAY isn't set, don't try to run the Gtk+ interface.
  * Replaced 48x48 .xpm images with 32x32 ones to conform to Debian policy
    (Closes Debian bug #126939).
  * Removed the automatic ./configure launch when running `make all' for
    the first time.

Stuff currently more broken than it ought to be:
  * The wall filter. Being fixed.
  * x11 and sdl plugins for depth != 16bpp.
  * Software YUV.
  * gvlc, gnome-vlc, kvlc shortcuts. Use --intf instead for the moment.
2001-12-30 07:09:56 +00:00
Sam Hocevar e48d619555 * Added Jeffrey Baker to the AUTHORS file.
* Fixed a PPC compilation issue.
2001-12-20 22:11:53 +00:00
Sam Hocevar 2d90188b73 * Initialize SDL before opening the SDL audio output.
* Prevent two SDL video outputs or audio outputs to be spawned at the
    same time to avoid ugly crashes.
  * The SDL plugin now says whether we are using software or hardware YUV
    in its window title.
  * We now stop at the first ':' when looking for a module name, to easily
    pass information to the modules. Possible example: --vout sdl:software,
    implementation of such an option is left as an exercise.
  * Merged filter_bob and filter_bob422 into filter_bob. Use --filter bob
    to deinterlace 422 into 420 as well.
  * Factorized code common to most filters and the video output, optimized
    a few filters by aligning data and reading 64 bits at a time.
  * Two new absolutely useless, CPU-eating, resource-wasting, but fun
    filters: enjoy `transform', which performs flips and 90� rotations, and
    `distort', which performs animated image effects (currently only a naive
    sine wave is implemented). Usage examples:
       --filter transform:hflip
       --filter transform:vflip
       --filter transform:90
       --filter transform:180
       --filter transform:270
       --filter distort:wave
2001-12-19 03:50:22 +00:00
Sam Hocevar 8acfd9b406 * Ultimate fixes to the win32 package generation. 2001-12-18 03:07:21 +00:00