Commit Graph

250 Commits

Author SHA1 Message Date
Sam Hocevar
b2940c865f * ./include/vlc_common.h: removed duplicate macro definitions in the gtk
and gnome plugins.
2003-01-28 03:11:02 +00:00
Sam Hocevar
04b59c9168 * ./include/vlc_common.h: if we don't have strndup but gnome.h defines it
anyway, do not provide our custom version.
2003-01-27 22:42:36 +00:00
Sam Hocevar
8450492c0f * ./include/vlc_common.h: fixed win32 plugin compilation. 2003-01-16 09:02:46 +00:00
Gildas Bazin
8b13c2c5e0 * src/misc/messages.c: don't try to decorate logs on win32.
* include/vlc_common.h, include/vlc_threads.h: we now use different
thread priorities for WinNT/2k/XP or Win9x/Me.
2002-12-30 17:36:01 +00:00
Sam Hocevar
f357e3e130 * ./src/extras/libc.c: if configure is called with --with-included-gettext,
we export vlc_dgettext to plugins so that their messages can be translated
    as well.
2002-12-27 15:31:56 +00:00
Sam Hocevar
fb8ca39f8f * ./include/vlc_messages.h: msg_* functions now use the same argument type
checks as printf. Only works with gcc 3.2 it seems.
2002-12-18 11:47:35 +00:00
Laurent Aimar
f8bf106d7e Added stream output. (common work with titer). 2002-12-14 21:32:42 +00:00
Gildas Bazin
a71b1c8cad * ALL: added a new vlc_list_t common type. vlc_list_find() and vlc_list_release() have been modified
to use this new type.
2002-12-13 01:56:30 +00:00
Christophe Massiot
60b9d5a5e4 * Correct socklen_t detection.
* Fix for S/PDIF encapsulation on big endian systems.
* S/PDIF output for Mac OS X, courtesy of Heiko Panther <heiko_panthe@mac.com>.
2002-11-28 23:24:15 +00:00
Olivier Teulière
17f2634715 * small compilation fixes for win32 2002-11-25 03:12:42 +00:00
Sam Hocevar
1158db5fb5 * ./configure.ac.in: we no longer choke if libdvbpsi headers aren't here.
* ./include/vlc_common.h: we don't try to include inttypes.h with Borland.
2002-11-24 18:54:54 +00:00
Sam Hocevar
c3a40bca86 * ./include/vlc_common.h, ./src/extras/libc.c: exported our custom libc
functions to plugins.
  * ./bootstrap: enhanced the project file generation for plugins; we now
    parse makefiles to make this easier.
  * ./modules/**/Modules.am: reworked a few makefiles so that they are more
    easily parsed.
2002-11-20 08:58:24 +00:00
Sam Hocevar
5de3e045e3 * ./msvc/*, ./evc/*: moved eMbedded Visual Studio files to the toplevel evc/
directory because the two project files are starting to diverge.
  * ./evc/vlc.c: created a specific vlc.c file for Windows CE.
  * ./src/misc/messages.c: as WinCE doesn't have stdout or stderr, the message
    queue outputs to a logfile (until we have a proper interface).
2002-11-13 15:28:24 +00:00
Sam Hocevar
bc061e8455 * ./include/*, ./src/*: separated WIN32 #tests and UNDER_CE #tests, because
WIN32 isn't always defined under WinCE, but might be. Grmbl.
  * ./include/*: changed a few u* and s* to uint*_t and int*_t.
2002-11-11 14:39:12 +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
Gildas Bazin
d532cf3cad * ALL: using "%ll" in printf format strings is not portable (notably on win32) so
we now use the I64Fx familly of macros to print 64 bits numbers (x being
   replaced by d,i,o,u,x or X).
   eg: msg_Dbg( p_this, "sample is "I64Fi" late", ll_time );

* src/misc/messages.c: got rid of ConvertPrintfFormatString().
2002-11-08 10:26:54 +00:00
Sam Hocevar
f01f0a3801 * ./include/vlc_common.h: compilation fix for Cygwin. 2002-11-07 22:56:08 +00:00
Sam Hocevar
319e629d2c * ./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.
2002-10-29 13:22:48 +00:00
Sam Hocevar
93848f0d39 * ./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.
2002-10-25 09:21:09 +00:00
Sam Hocevar
7ee2435d30 * ./include/variables.h, ./src/misc/variables.c: implemented variable
callbacks.
2002-10-16 19:39:42 +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
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
Sam Hocevar
145b1961b4 * ./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.
2002-10-03 13:21:55 +00:00
Christophe Massiot
35b474003d * ALL: More hooks for audio volume management.
* configure.in: Fixed a typo.
2002-09-18 21:21:24 +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
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
Sam Hocevar
00724b734b * ./include/vlc_common.h: declared aout_fifo_t. 2002-08-21 23:19:58 +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
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
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
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
Sam Hocevar
eb8abe0a86 * ./src/misc/messages.c: fixed an extremely old buffer overflow. 2002-08-10 19:23:06 +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
976dfc3eb4 * ALL: new module API. Makes a few things a lot simpler, and we gain
about 2000 lines of code.

    I could not test everything on every architecture, so please report
    any module breakage (especially on BeOS, OSX and QNX).
2002-07-31 20:56:53 +00:00
Sam Hocevar
64d33dc9bc * ALL: decoders now use a fourcc as a probe value.
* include/input_ext-intf.h: killed p_es->b_audio, since i_cat already fills
    its purpose.
  * include/input_ext-intf.h: killed p_es->i_type in favour of p_es->i_fourcc.
  * include/video.h: killed p_pic->p_plane->b_margin; now i_visible_pitch is
    always valid.

  * ./src/libvlc.h: replaced --mpeg-adec and --ac3-adec with --codec; see
    vlc --help for more information.

  * include/video.h: removed fourcc values which should _not_ be global
    (thanks fenrir for convincing me).
  * ALL: video output plugins use the VLC_FOURCC macro to build their fourccs.
  * ./plugins/beos/InterfaceWindow.cpp: removed the last remaining call to
    input_ChangeES.

   Things I'm not sure about and need comments:
    - I used "mpga" and "mpgv" for MPEG (1+2) audio and video fourcc values.
    - I also introduced "spu ", "lpcm" and "ac3 ".
    - I removed for instance "MP4_GetCodec" because it wasn't really
      used except for the description string. I hope this change did not
      break anything really important.
    - fenrir, I must have broken a lot of things you wrote. Sorry in advance.
2002-07-23 00:39:17 +00:00
Sigmund Augdal Helberg
49b3f18a94 * all: these didn't get along in my last commit 2002-07-21 19:26:13 +00:00
Sam Hocevar
bf9b62a4ea * ALL: changed "struct foo_s" into "struct foo_t" to make greppers happy.
* ./src/libvlc.c, ./include/vlc/vlc.h: created reentrant versions of the
    libvlc API.
  * ./src/vlc.c: vlc uses the non-reentrant libvlc functions.
  * ./mozilla/vlcplugin.c: the mozilla plugin uses the reentrant functions.
  * ./debian/*: created packages for libvlc0-dev.
2002-07-20 18:01:43 +00:00
Christophe Massiot
c974b7b07f * ./AUTHORS : added lool :-p ;
* ./doc/vlc-howto.sgml : Fixed typos ;
* ./include/vlc_common.h : Greatly simplified ntoh*, and U??_AT macros are
  now alignment-safe ;
* ./STATUS : New file indicating who's working on what. Please keep it
  up-to-date ;
* ./MAINTAINERS : New file indicating who has knowledge on which parts.
2002-07-12 21:57:25 +00:00
Sam Hocevar
dd4f2531ca * ./src/misc/darwin_specific.c, ./src/misc/extras.c: moved our custom
strndup to a separate file so that Win32 can benefit from it.
  * ./include/vlc_threads.h: Borland compilation fix.
2002-07-05 11:18:56 +00:00
Sam Hocevar
a5e3711fb8 * ./plugins/win32/*: tried to port the Win32 interface to the new API. Seems
to be still crashing.
2002-06-07 23:53:44 +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
Gildas Bazin
5cfee5890e * ./include/vlc_common.h: got rid of i_thread in VLC_COMMON_MEMBERS. 2002-06-02 15:51:30 +00:00
Gildas Bazin
9d64d52219 * ./include/vlc_threads.h: re-merged vlc_threads.h and threads_funcs.h. 2002-06-02 13:38:03 +00:00
Sam Hocevar
71ec135b95 * ALL: got rid of p_object->p_this which is now useless. 2002-06-01 18:04:49 +00:00
Sam Hocevar
2dad070c9f * ./src/misc/beos_specific.cpp: BeOS fixes, removed a static variable.
* ./include/main.h: replaced p_sys with explicit variables because it's
    really much simpler this way. Gildas, will you ever forgive me ? :-)
2002-06-01 14:31:32 +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