Commit Graph

815 Commits

Author SHA1 Message Date
Sam Hocevar
b8899c0c16 OK, so I foired input.h once again. But this one works. For real. 2001-01-15 08:07:31 +00:00
Sam Hocevar
54eb1d5f51 . correction d'un poliotage de copier-coller 2001-01-15 06:56:30 +00:00
Sam Hocevar
c0211e9a50 . fixed the bug-that-made-the-vlc-segfault-on-exit, which means that
more than ever, � le client ne segfaulte pas �.

 . there was still a problem upon quitting: sometimes the null packet
   wasn't big enough to reach a decoder breakpoint, so I now create 10
   of them (since I can't make it bigger) to be sure. Meuuh, what do
   you think ?

 . fixed the Makefile to spare a few variables here and there.

 . reduced module hide delay, removed loading of the audio output
   plugins since they are now modules.

 . changed a few intf_Msg to intf_DbgMsg, and added "vout:", "intf:",
   and so on in a few other messages.

 . removed unused includes in the idct modules.
2001-01-15 06:18:23 +00:00
Stéphane Borel
bba082093f . Correction of bugs in ifo parsing. Now the structures should be well
initialized. It remains some segfaults but it globally works.
. DVD mode is enabled with option --dvd. For the moment, it only read
the first vts and find the movie if it is at the beginning of the title
set.

Coming soon:
. udf filesystem management to access over 2Gb zones.
. detection of the offset to the movie inside a vts when it is not at
the beginning.

Is there a chance that using fopen/fseek function instead of open/lseek
system calls solve the 2Gb issue ?
2001-01-15 03:26:56 +00:00
Stéphane Borel
a9729877b7 . Beginning of dvd_input.
. Parsing of ifo file almost completed.
. Still does not work well.
2001-01-14 07:08:00 +00:00
Sam Hocevar
e360e2a431 . second part of the commit 2001-01-13 12:57:47 +00:00
Sam Hocevar
26ee312a6f . the IDCT functions are now located in modules : the classic IDCT,
our optimized IDCT, and MMX IDCT.
 . cosmetic changes for modules (pf_* instead of p_*)
 . fixes to the BeOS and dummy modules

   WARNING: a new directory has been added, which means you have to
   use `cvs update -dP' to update ; files have been removed , which means
   you either have to run `make distclean' or remove the .deps directory,
   and the configure script has changed, which means you have to run it
   again. Don't complain before having checked this :)

   Note about the IDCT modules: there is no way to choose the one we
   use, but you may remove the module in lib/ to prevent it from being
   loaded. The preference order is : MMX, Optimized, Classic.
2001-01-13 12:57:21 +00:00
Christophe Massiot
a558a9bb47 * Changed default values :
INPUT_PTS_DELAY down to 200 ms ;
video heap down from 10 to 5 pictures ;
decoder fifo size from 1023 to 511 PES ;
* Fixed various bugs in 32 bit-versions of input_ext-dec.h ;
* Fixed a bug in GetChunk() ;
* Renamed GetByte, GetWord, ShowWord to _GetByte, _GetWord, _ShowWord ;
* Moved decoder_fifo-specific code from programs.c to dec.c ;
* Fixed bugs in program.c that prevented vlc to close all decoders ;
* Gave sam a lesson for the use of the bitstream in spu_decoder.c :ppp ;
* Made the video parser unlock the reference pictures before quitting
(still one left, yaknow why ?)
2001-01-12 17:33:18 +00:00
Sam Hocevar
ebfaed9be9 . destroy fifo mutex and cond variables _after_ they are used for
the last time. henri, that'll be one binouze.
2001-01-12 14:49:55 +00:00
Sam Hocevar
c393ff60e9 . Attempt to port the BeOS audio plugin to the new module API. Will
probably need a few fixes to work or even compile.
2001-01-12 13:15:42 +00:00
Henri Fallon
4af9ab12a5 Done :
- ported the alsa plugin to the news vlc module API
- cosmetic changes

To do :
- check if it works with the latest alsa release
- add features ... prepare for 4 or more speakers
2001-01-12 12:48:24 +00:00
Christophe Massiot
a85534e5b5 * Fixed 32 bits bitstream bugs. 2001-01-12 11:36:49 +00:00
Sam Hocevar
e3636eb15f . moved the MPEG audio decoder to the new bitstream
I wasn't sure whether the bits counting method was effective to
  skip ancillary data at the end of a frame, but I kept it for
  safety. There is still a lot to optimize in the bit counting, like
  unrolling the first iteration of some loops, but I don't know if
  it would be worth it. The other solution would have been to look for
  a startcode after eache frame, without caring about the ancillary bits.

  . cleaning in the SPU decoder.
2001-01-11 17:44:48 +00:00
Sam Hocevar
993381a227 . moved swab32 from input_ext-dec.h to common.h. We probably won't need
it anymore really soon, since ntohl() and htonl() seem to be properly
   optimized when gcc is passed the right optimization flags.

 . fixed GetBits32 and RemoveBits32. I know the #ifdefs are useless since
   we only support u32 words, but it's a safe reminder. Comments appreciated
   on this fix since I may have b0rked something -- it runs well here though.
2001-01-11 15:35:35 +00:00
Sam Hocevar
bf10480df4 . fixed a missing #ifdef STATS
*grin*
2001-01-10 19:48:26 +00:00
Christophe Massiot
ecff1e713f * Changed code for handling b_die in bitstream ;
* Move input_ext-dec.h to input.h ;
* New input_NullPacket function ;
* Fixed init bugs in input and vpar ;
2001-01-10 19:22:11 +00:00
Christophe Massiot
0b625864d4 * Placed a callback to the decoder in the bitstream structure ;
* Fixed a purify bug in input_ps.c ;
* Added -mcpu=pentiumpro in the Makefile.
2001-01-10 16:24:11 +00:00
Sam Hocevar
9f553534b0 . complete commenting of modules_core.h and small modifications
. separated MODULE_CONFIG_START and ADD_WINDOW (Henri, beware)
 . fixed a very, very old bug that caused namespace collision between
   plugins (Henri, beware: call your aout_getplugin function like this,
   not alsa_aout_getplugin)
 . removed the Debian specific clean rules from the Makefile, since they
   are already handled by the debian/rules script.
 . tidied a few compilation rules (-lfoo should always be at the end)
2001-01-10 02:33:59 +00:00
Sam Hocevar
9451c9b90e . just removed a forgotten debug message in the setpalette code 2001-01-09 23:29:15 +00:00
Pierre Baillet
cbb9cfbfdf .Added 8bits palette SDL support.
.Tried to add it to stable, failed, probably because of the initialisation codes which are differents...
2001-01-09 22:30:26 +00:00
Sam Hocevar
ef05e7761e . fixed a warning under FreeBSD (dlerror() is a const char*, not a char*).
. made configure script look for the bswap assembly instruction (using
   AC_TRY_COMPILE makes sure the compiler will really accept it).
2001-01-09 21:03:47 +00:00
Arnaud de Bossoreille de Ribou
5a88167734 - maybe found the fullscreen bug, please test :) 2001-01-08 22:56:06 +00:00
Arnaud de Bossoreille de Ribou
6473750311 - fixed colors' bug (TODO: write a function in vout that recalculate colors
from RGB masks);
  - cleaning of the fullscreen switch, still sucks but the surface is not
    reallocated and that's good (thanks to the magic function
    SDL_WM_ToggleFullScreen provided by sdl library :).
2001-01-08 22:42:50 +00:00
Sam Hocevar
3ce24ee9dd . Added a missing mutex_unlock in video_output.c
. Moved a mutex_destroy after the thread cancellation to prevent
   possible problems
 . Added a missing #ifdef in intf_msg.c which prevented compilation
   with --enable-debug
 . Fixed a bug in the input that prevented to quit properly in certain
   cases (some ES were not deleted because their index was skipped when
   the former one was deleted, well Meuuh should know what I mean)

  There is still a segfault when quitting, most presumably in the
 audio output. I couldn't find what causes it yet.
2001-01-08 18:16:33 +00:00
Arnaud de Bossoreille de Ribou
618b891b23 - cleaning of SDL Lock/Unlock Surface. 2001-01-08 01:07:21 +00:00
Sam Hocevar
c25e25c4d2 . added a .cvsignore file in lib/ so that the directory doesn't get
removed whenever one does a cvs update -dP
 . fixed debian/.cvsignore because of a new version of debhelper
2001-01-07 17:07:02 +00:00
Sam Hocevar
f8da8c9585 . all plugins now compile with -fPIC.
. made the audio_output API a bit simpler.

 . got rid of modules_config.h.

 . fixed `make install' rule.

 . fixed warnings in the MMX YUV compilation.

 . probably fixed a bug in the input : pp_foo structures were free()d at
   the end, but this was useless since the last call to realloc() is
   equivalent to free(), and two consecutive calls to free() aren't a
   goo idea.

 . we check that the version number match and that we don't already have
   a module by that name when loading a new module.

 . all public module_* functions now properly lock the module bank.

 . the audio_output now uses the new module API ; EsounD and DSP modules
   have been ported, which should be enough for Henri to port the ALSA one.


   The new plugin API is now much simpler ; it's now just a matter of
calling module_Need( p_main->p_module_bank, MODULE_CAPABILITY_FOO, p_data );
and if successful we get the best module. Capabilities can be ORed, so that
one can ask for a plugin that does VOUT _and_ INTF actions for instance.

   It's not complete yet though -- by making it generic I had to do a few
ugly casts here and there, which I am going to fix ASAP. Also, command line
selection of a plugin does not work yet.

   The switch to the new plugin API has probably broken the BeOS audio
output ; we can either wait until the whole vlc has switched to the new
plugins, or create a separate beos_sound.so that conforms to the new API.
2001-01-07 16:17:59 +00:00
Pierre Baillet
b7b3386b57 NoSEGfault Kl�dge added. 2001-01-07 15:58:33 +00:00
Benoit Steiner
dd3ca6f4d5 Hum, ouais bon ben euhh, j'avais fume, donc je repare mes conneries et je
vais me coucher.
2001-01-07 06:40:29 +00:00
Benoit Steiner
a87ecd5ccf Optimisation de BinaryLog 2001-01-07 05:41:50 +00:00
Henri Fallon
a5d3d16530 - Order : if a then b are initialized, release b then a ;
- Typos ;
- Cosmetic changes.
2001-01-07 04:31:18 +00:00
Henri Fallon
393a5d5241 - Added vlc_mutex_destroy and vlc_cond_destroy function, for pthreads.
- Used them before quitting, every lock and cond is destroyed
- Checked the return value of malloc and realloc in input_programs
- Cosmetic changes

TODO: add vlc_*_destroy for beos and C_thread
2001-01-07 03:56:40 +00:00
Benoit Steiner
eb8d4519bc Fixed compilation pb under solaris 2.6 2001-01-06 08:05:17 +00:00
Benoit Steiner
eed018b6f8 Fixed solaris libraries 2001-01-06 08:04:46 +00:00
Sam Hocevar
ffa693e8bd . should compile & run on Solaris with ./configure --disable-dsp
(tested on puma)
 . removed most SYS_SOLARIS #ifdef's in favour of more generic tests
 . updated example ./configure line in INSTALL file
 . now we only load modules that end with ".so"
 . null module is compiled by default
2001-01-06 07:23:32 +00:00
Henri Fallon
4542979c0f Fixed a typo than prevented from building ... 2001-01-06 05:44:45 +00:00
Henri Fallon
9385e1d576 Fixed initialization of payload_start and payload_end
It should be finished now.
2001-01-06 03:16:00 +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
Sam Hocevar
6eb6044c0b . src/misc/modules.c is in a workable state now.
To test it, run ./configure with the --enable-null flag, which will
  compile the Null Module as a plugin. Watch the memory usage at the
  launch and when the plugin is released.
2001-01-05 18:06:33 +00:00
Sam Hocevar
2a8ef11d88 (previous commit foired)
. this is a coding style patch which removes all "foo(bar){" constructions
   and most of the tabulations.
 . also, fixed a bug in the default subtitle track.
 . and made a few error messages more explicit, ie. changed "error: %s" to
   "foo error: couldn't initialize bar (%s)"
 . and removed a warning in intf_ctrl.c which isn't used anyway.
2001-01-05 14:46:37 +00:00
Sam Hocevar
a132d75cac . this is a coding style patch which removes all "foo(bar){" constructions
and most of the tabulations.
 . also, fixed a bug in the default subtitle track.
 . and made a few error messages more explicit, ie. changed "error: %s" to
   "foo error: couldn't initialize bar (%s)"
2001-01-05 14:45:47 +00:00
Sam Hocevar
df5793c289 . splitted modules.h into modules.h and modules_core.h to enable
clean compilation of the Null Module.
2001-01-05 14:28:42 +00:00
Sam Hocevar
bcaed52cad . added the Null Module, the module that does nothing but that is going
to be of great help for debugging my module code.
2001-01-05 14:24:06 +00:00
Sam Hocevar
32d3e55a6e . Added files needed for the forthcoming module management.
Notes:

   Plugins are now called modules, because we will be able to compile
   them either as a dynamic plugin, or within the program. And, more
   important, I can commit this without having to break the vlc :)

   I tried to be as clear as possible in my comments, please tell me
   if a few prototypes still have an unclear beahaviour.

   Current features:
    . none, files haven't even been added to the Makefile yet.

   Future features:
    . dynamic loading (done)
    . built-in modules (still to do)
    . automatic unloading of plugins (done)
    . dynamic configuration (still to do)
    . automatic choosing of the most appropriate plugin for a given
       task (still to do but well prepared)
2001-01-05 13:57:12 +00:00
Arnaud de Bossoreille de Ribou
38e1bc0730 - fixed pitch bug;
- fixed segfault, it was probably a memory corruption but I'm not sure :) ;
  - video_output.c : compute picture size even if b_need_render == 0;
2001-01-04 23:18:21 +00:00
Christophe Massiot
afb5d2e65b * Fixed a deadlock (the vout unlocked a mutex locked by another thread,
grrrr, I'll kill someone) ;
* Put config.h in front of others in audio_decoder.c.
2001-01-04 18:47:18 +00:00
Christophe Massiot
fb0d0da763 Better display of the fps. 2001-01-02 14:03:30 +00:00
Christophe Massiot
2ac915c53c Comments for Henri. 2000-12-30 00:38:19 +00:00
Sam Hocevar
12d3f35f98 . fixed default subtitle stream handling (default: no subtitles)
. added a few missing break;s
 (oui je sais je ne fais que des patches de deux lignes � trois balles,
  mais par telnet c'est pas facile)
2000-12-29 14:04:59 +00:00
Henri Fallon
671e8844b4 - Removed i_iovec_start and i_iovec_end. Used i_data instead
- Meuuh : some questions for you in the commentaries

Happy new year !
2000-12-29 14:03:44 +00:00