1
mirror of https://code.videolan.org/videolan/vlc synced 2024-09-12 13:44:56 +02:00
Commit Graph

32 Commits

Author SHA1 Message Date
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
Stéphane Borel
a08221745a Interface creation and destruction functions are now exported to plugins
so that any plugin can spawn a new interface.
2002-07-17 21:54:37 +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
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
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
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
Sam Hocevar
1e053ea0ed * ./plugins/mga/mga.c: removed the mgammx module and put the code in
the chroma_i420_ymga module instead. This introduces a slight
    performance issue as we now need to memcpy() the Y plane, but I have
    some vout4 enhancements on their way which make this point moot.
  * ./debian/changelog: imported official Debian changelog.
  * ./debian/control: activated the vlc-mad and vlc-arts packages; package
    builds should now work again.
  * ./plugins/dvd/dvd.c: solved a symbol resolution issue when vlc was
    compiled without libdvdcss which overflowed the return stack.
  * ./plugins/ggi/ggi.c: ported the GGI plugin to vout4.
  * ./plugins/glide/glide.c: ported the Glide plugin to vout4 (untested).
  * ./src/input/input.c: prepared everything for multi-input mode; since
    no interface is yet prepared to handle this, I changed them so that
    they just use the first available input for now. This may break other
    things, but I promise I'll eventually repair everything :-)
2002-01-07 02:12:30 +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
45281e620d * Removed more unused code.
* Updated config.guess and config.sub from GNU's latest versions (bozo,
    you may want to update them in vls as well).
  * Added vlc.pot skeleton for translators.
2001-12-10 12:40:24 +00:00
Sam Hocevar
2be071915d * COMPLETE CVS BREAKAGE !! The MAIN branch is going to be a playground
for my nevrotic and destructive pulsions during the next few hours!

  * If you want to test vlc, please use the v0_2_92_branch branch.

  * Stuff currently working:
     - direct to YUV buffer decoding
     - non-ugly subtitle blending
     - XVideo and SDL video output

  * Stuff currently utterly broken:
     - aspect ratio
     - software rendering (ie, all other video output plugins)

  * Additional misc changes:
     - Renamed spu_dec to spudec and mad_adec to mad to stay coherent with
       other plugins. Also, renamed mpeg to mpeg_system.
     - Added jobi to the AUTHORS file.
     - Factored code common to vout_x11.c and vout_xvideo.c.
2001-12-09 17:01:37 +00:00
Sam Hocevar
4f551c2bf0 * Header cleaning: filled all empty authors fields, added CVS $Id stuff.
* Fixes to aout_darwin.c by Colin Delacroix <colin@zoy.org>.
  * Fixes to configure.in, Makefile.in and main.c (Altivec detection)
    by Eugenio Jarosiewicz <ej0@cise.ufl.edu>.
  * Added Colin and Eugenio to the AUTHORS file.
2001-03-21 13:42:35 +00:00
Sam Hocevar
959674591f Beginning of Interface II
---------------------------

 * Plugins have completely disappeared, we now only use the new module API.
 * All intf and vout modules are now independant. So far, only the Gnome
   intf module and the SDL vout module have been ported. configure.in has
   been modified to reflect the changes (x11 and dummy aren't compiled by
   default anymore, while SDL and Gnome are).

  Note that this is _not_ Interface II, it's just a step forward. For
  instance, it lacks the whole message passing scheme.

  Things that should work:

 * Right-clicking on the SDL video output window brings the Gnome menu.
 * Pause, Play, Exit, About work from the menu or from the interface window.
 * The old SDL keys still work.

   Things that are broken or may be broken:

 * Xlib calls are not locked yet, which may lead to "Unexpected async reply"
   errors, and make the vlc segfault.
 * Sound only works for the first file.
 * The SDL vout_sdl.c file is absolutely ugly and kludgey.
 * The vlc immediately quits when no filename is given as an argument. Not
   a real bug, but still annoying.
 * The Gnome menu does not work in fullscreen mode.

   Things that will come soon, maybe tomorrow:

 * Complete navigation buttons (fast forward, slow, etc.).
 * File/Open menu to add files to the playlist.
 * Return of the X11 video output for those of us who do not have SDL.
 * Textmode interface for those of us who do not have Gnome.
 * aout and vout autospawn (maybe).
2001-02-11 01:15:12 +00:00
Christophe Massiot
454454b554 BSD port, including :
* --enable-sdl and some others are now --with-sdl[=name] to supply an
optional library name ;
* deleted all unnecessary #include <sys/uio.h> ;
* /usr/include is now searched when looking for libraries and headers.

It seems to compile and run on BSD. Under Linux Sam's latest commit makes
vlc crash on startup, so I can't really tell, but hey it compiles.
2001-01-05 18:46:45 +00:00
Stéphane Borel
b9079557cb .Impl�mentation de intf_WarnMsg( int i_level, char *psz_format, ... ) et
intf_WarnMsgImm
.on active les messages de warning au lancement avec l'option --warning
.le i_level par d�fault est 12 (on ne montre pas les messages de niveau
inf�rieur � 12

J'esp�re que �a correspond � ce qui a �t� discut� dans videolan-devel.
2000-11-21 01:41:45 +00:00
Sam Hocevar
585f8158d0 * cleaned Octplane's crappy indentation.
* fixed the --server option which didn't work if a ~/.vlcrc existed.
2000-08-28 00:33:54 +00:00
Pierre Baillet
0765875ab5 Hello,
Some news things:

 . I am still going on modifiying the key event handling method to make it more flexible. I still have a few things to get what I'd like to
 . added a keystrokes.h include which contains a generic name of all the VLC keys binding
 . modified some of the core interface routines to allow the passing of an extra parameter with a keystroke (VLC_CHANNEL).
 . next step: move all the interface dependent parts (such as the getKey function) to the plugins.

Hope this will run on your boxes...
2000-08-24 14:58:51 +00:00
Pierre Baillet
9ac8c0ec7d A few new things:
. The interface part:
			. created intf_AssignKey, intf_getKey and intf_AssignNormalKeys
			these new function are a first abstraction of the the key handling system.			It makes use of a new structure in the interface : p_keys.

			. AssignNormalKeys is commonly used in all the interface plugins.
			AssignKey is used to allow the SDL interface to react nicely.

			. Now the plugin struct element psz_filename is filled (and freed
				at the end of the program).

	. the SDL plugin:
			works but does only display a green screen for now. so don't use it !

	. Please try and compile the client on your box with this version.
		I've tried a few output plugin but not all.
2000-08-21 09:33:42 +00:00
Sam Hocevar
57e189eb5d Bon, puisque �a semble commiter sous BeOS, je commite.
Voil� le changelog appoximatif :

 . fichier INSTALL plus clair
 . vir� quelques warnings
 . *PATH sont maintenant d�finis dans config.h
 . quelques fautes d'orthographe
 . l'option --enable-ppro n'est pas mise par d�faut car elle ne fonctionne
  pas sur un K6-2
 . nouvelle API des plugins
 . le client framebuffer ne d�truit plus la console quand on quitte
 . r�paration de la YUV 8 bits
 . mise des YUV en plugins
 . transfo YUV 32bits MMX chour�e dans la libmpeg2
2000-07-04 02:37:21 +00:00
Sam Hocevar
acbd88f262 . input fichier en ligne de commande (le reste a du p�ter, c'est pas
possible autrement)
2000-06-14 23:55:41 +00:00
Sam Hocevar
9cb93a18fa Bon. On ne rit pas, je m'�tais juste plant� dans l'en-t�te des
licences. Et puis �a peut arriver � tout le monde :)
2000-05-24 22:39:44 +00:00
Sam Hocevar
9a72669315 9 avril:
- r�indentation de quelques bouts de code
 - les plugins vont �tre cherch�s en priorit� dans . puis ./plugins
  puis dans le r�pertoire habituel
 - d�but de communication entre le thread gnome et l'input
 - l'interface gnome ne segfaulte plus en sortant
 - le menu "Exit" fonctionne

10 avril:
 - fen�tre Gnome au lieu de fen�tre Gtk
  *** ATTENTION *** l'interface Gnome n'est vraiment qu'un d�but, soyez
   gentils de ne pas faire de bug report si un bouton ne fonctionne pas.
 - popup "About"

11 avril:
 - fen�tre playlist (rien dedans encore)
 - masquage du pointeur souris
 - popup menu dans la fen�tre vout
 - hide/show des fen�tres playlist
 - les boutons "Exit" fonctionnent quel que soit le menu

12 avril:
 - d�but du cassage des channels
 - d�but des menus g�n�r�s en runtime

13 avril:
 - ajout du target "snapshot" dans le makefile

14 avril:
 - d�codage de tous les sous-titres connus
 - spu_decoder.c ne segfaulte plus quand on quitte
 - rajout du flag b_active dans la structure audio_decoder
 - le bouton pause fonctionne
2000-04-14 04:19:51 +00:00
Jean-Marc Dressler
ac08ae3041 D�but du portage BeOS. Beaucoup de fuchiers ont �t� modifi� car il a fallu
r�organiser les headers pour que ce soient les headers les plus proches
du syst�me qui se retrouvent en premier (threads.h devrait toujours �tre
le premier des headers non syst�mes). J'ai du aussi rajouter un type
plugin_id_t et par la m�me occasion inclure plugins.h dans la plupart
des fichiers. Voici en vrac les modifs les plus importantes que j'ai op�r�:

o L�g�re r�organisation pour les raisons �voqu�es ci-dessus (certaines
  macros comme MIN et MAX peuvent �tre d�j� d�finies par le syst�me et
  interf�rer avec celles d�finies dans common.h ou autre)

o Dans intf_msg j'ai du remplacer les vasprintf par des vsprintf
  dans le cas o� ARCH=BEOS.

o la commande hostname du Makefile n'�tait pas compatible et je
  l'ai donc enlev�, en avons-nous besoin ? Auquel cas il suffit de
  rajouter un ifeq.

o J'ai aussi remplac�  les bzero et bcopy par memset et memmove.

o plugin.c, mtime.c et threads.h et quelques fichiers de l'input
  ont �t� adapt�s � BeOS � grand coup de #ifdef SYS_*.

TODO:

o Ecrire intf_beos.cpp, vout_beos.cpp et aout_beos.cpp

Je suis sous linux et je viens de tester le client qui marche tr�s
bien, mais il est n�anmoins possible que j'ai introduit quelques
probl�mes de compilations pour certains modules, si c'est le cas
pr�venez moi.
2000-03-04 22:33:01 +00:00
Sam Hocevar
44bcfed014 Encore un commit venu tout droit des abysses de l'enfer, d�sol� pour
le flood, c'est la derni�re fois.

  . apr�s le demoronifier, le GPLifier: il y a les ent�tes de la GPL dans
   chaque fichier ; votre mission, si vous l'acceptez, est de mettre votre
   nom dans chaque fichier qui est votre oeuvre ou auquel vous avez
   particip�, pour qu'on sache qui a fait quoi. Pas de fausse modestie,
   c'est plus pour des raisons pratiques que pour la gloire.

  . rajout de -lthreads pour que �a linke sous Hurd

  . rajout de quelques #include pour que �a compile sous FreeBSD
   (d'ailleurs �a compile mais �a ne linke pas, je ne sais pas comment
   linker avec la libpthread sur la machine de Dae)

  . quelques #ifdef SYS_BSD �� et l�.
2000-03-03 07:03:34 +00:00
Sam Hocevar
0374d3332f chargement dynamique de plugins audio/video/interface
utilisation: c'est tout con, �a marche comme avant. pour le moment
  il n'y a pas de v�rification des symboles mais �a viendra.

 seule restriction, il faut �tre dans le r�pertoire vlc quand on lance
  le client, parce que le chemin des plugins est relatif, mais �a aussi
  �a va changer.

 le Makefile devient pas tr�s beau, il faudra songer � passer � automake
2000-02-21 09:15:04 +00:00
Sam Hocevar
89a64c6143 . fix� une erreur de syntaxe dans video_fb.c
. *3dfx* devient *glide*
 . suppression de tabulations dans quelques fichiers
 . suppression des 2 warnings dans sam_synchro
 . video_* devient vout_* quand ce sont des m�thodes de vout
 . tentative de correction de la d�tection de MMX pour BeOS
 . nouvelle option vlc_vout_method (faute de mieux pour le moment)
 . modification du Makefile pour supporter plusieurs VIDEO_*

dor�navant on peut compiler plusieurs output diff�rents dans le
client. la pr�f�rence se fait dans l'ordre x11, fb, ggi, glide...

si on le compile avec x11 et fb, par d�faut il se lancera en X.
pour le lancer en framebuffer :
./vlc vlc_vout_method=fb

(il faut que je proprifie un peu le choix de l'output, et que je
facilite l'ajout d'un nouveau vout_*)
2000-02-14 08:44:59 +00:00
Sam Hocevar
2ad5fa640d Je vous avais pr�venu. Le demoronifier a frapp�.
D�sol� pour le flood. Les en-t�tes de fonctions ne font plus 81
caract�res, et il n'y a plus d'espaces inutiles, Tous les trailing
spaces ont disparu, j'ai essay� de v�rifier que �a ne p�tait rien,
mais j'ai pu oublier un truc con. J'accepte tous types de ch�timents
� base d'orties fra�ches.

 D�sol� d'avoir aussi modifi� les fichiers de ceux qui formataient
bien proprement leurs en-t�tes � 80 et pas 79 sans emb�ter personne,
mais j'ai d� choisir entre les deux.

 Dor�navant ce serait bien de formater les en-t�tes et les commentaires
justifi�s � droite � 79 colonnes, ou au pire � 80.

 . 1343 moronic long lines destroyed
 . 12893 trailing spaces eradicated
 . 115 ugly macros fixed
 . 959 innocent a_bit_long lines shortened
 But hey, 40054 lines were OK !
2000-02-13 04:31:35 +00:00
Vincent Seguin
2f30d77a12 Changement de cha�ne configurable depuis un fichier texte.
Quelques corrections esthetiques dans vout.
2000-01-31 16:56:37 +00:00
Vincent Seguin
9c24f64dd0 D�but du changement de chaine. 2000-01-19 18:43:17 +00:00
Vincent Seguin
27e0b63d60 Nettoyage. 2000-01-19 10:04:23 +00:00
Vincent Seguin
1a1ae383ad A tout kass�. 2000-01-10 23:36:06 +00:00
Jean-Marc Dressler
1d620095e8 Encapsulation des pthread qui sont maintenant remplac�es par les vlc_thread.
Toutes les r�f�rences aux pthread que ce soit les thread, les mutex ou
les variables conditionnelles, ont �t� remplac�es par leur �quivalent
vlc_thread. Les vlc_thread sont une version tr�s simplifi�e des pthread et
fonctionnent exactement de la m�me fa�on. Ceci devrait grandement faciliter
le portage vers d'autres OS.

Polux
1999-12-08 15:22:59 +00:00
Michel Kaempf
72f3067a6f Initial revision 1999-08-08 12:42:54 +00:00