Sam Hocevar [Tue, 9 Jan 2001 21:03:47 +0000 (21:03 +0000)]
. 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).
- 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 :).
Sam Hocevar [Mon, 8 Jan 2001 18:16:33 +0000 (18:16 +0000)]
. 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.
Sam Hocevar [Sun, 7 Jan 2001 17:07:02 +0000 (17:07 +0000)]
. 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
Sam Hocevar [Sun, 7 Jan 2001 16:17:59 +0000 (16:17 +0000)]
. 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.
Henri Fallon [Sun, 7 Jan 2001 03:56:40 +0000 (03:56 +0000)]
- 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
Sam Hocevar [Sat, 6 Jan 2001 07:23:32 +0000 (07:23 +0000)]
. 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
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.
Sam Hocevar [Fri, 5 Jan 2001 18:06:33 +0000 (18:06 +0000)]
. 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.
Sam Hocevar [Fri, 5 Jan 2001 14:46:37 +0000 (14:46 +0000)]
(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.
Sam Hocevar [Fri, 5 Jan 2001 14:45:47 +0000 (14:45 +0000)]
. 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)"
Sam Hocevar [Fri, 5 Jan 2001 13:57:12 +0000 (13:57 +0000)]
. 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)
- 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;
* 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.
Sam Hocevar [Fri, 29 Dec 2000 14:04:59 +0000 (14:04 +0000)]
. 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)
* Fixed a bug in the DTS/PTS parsing ;
* Fixed a bug in vpar_headers.c synchro handling introduced before ;
* Enhanced synchro's handling of dates and frame structure changes.
* Use of ptrdiff_t whenever necessary (IA-64 port) ;
* Changed behaviour of preparsing code, faster startup ;
* Fixed DecodePSM(), cannot test ;
* Cleaned up ParsePES(), fixed a bug which could reject very small but
valid PES packets ;
* Fixed cosmetic bugs in vpar_synchro frame_rate display.
Sam Hocevar [Sat, 23 Dec 2000 03:10:59 +0000 (03:10 +0000)]
. SPU decoder now uses Meuuh's GetChunk() code.
. lots of cleaning in the SPU decoder.
. message queue is flushed before we spawn input.
. fixed so that it compiles with VDEC_SMP (no good sync yet though).
* Removed b_die and b_error from all decoders (obsoleted by decoder_fifo_t).
All decoders should now exit cleanly (if it's not the case, it should be
referenced as a bug).
* Added -a, -c and -s options. (-a doesn't work but I will let the people
who thought it would be cleaner to put config in environment variables
correct what's wrong in my code).
Sam Hocevar [Mon, 18 Dec 2000 10:02:30 +0000 (10:02 +0000)]
. additional fix for Layer 1 mono
now vlc plays all of my 125 sample mpeg1 movies !
Please try it with yours, and report non-working streams.
(`file foo.mpeg' must report "system stream", not "video stream" in
order to be playable with the vlc)
Sam Hocevar [Mon, 18 Dec 2000 07:56:32 +0000 (07:56 +0000)]
. indentation fixes
. fixed audio syncword detection for mpeg 1 streams (hopefully)
FIXME: can anyone confirm we can get rid of adec_byte_stream_next
in audio_decoder_thread.c now that we have the new input ?
. fixed Layer 2 Mono decoding.
FIXME: who created freq_table ? what was the rationale for it, and
where does it come from ?
FIXME: how can we spare the extra DCT in audio_decoder.c:707 ? I'm too
tired to think about it.
. proposal: splitting audio_decoder.c in one file per layer.
- Hardware YUV overlay (SDL) with real colors ;p It may suck for non
4:2:0 streams.
- Removed vout code found in intf file to support fullscreen switching.
Now only vout_SDL updates SDL data and intf only switch flags such as
b_reopen_display and b_fullscreen in p_vout->p_sys.
- Fixed a var name typo in input_programs.c which prevents vlc from
compiling with --enable-debug option. (i_es_pid -> i_es_id :)
There's a segfault in the termination process due to sdl, I don't really
know what is the problem and I have to work today. Help me!
Pierre Baillet [Sun, 17 Dec 2000 15:05:30 +0000 (15:05 +0000)]
- partial SDL YUV support (green stream for now, please help me !)
- "y" key switch between SDL and vlc YUV
- autodetection of Overlay support
- soon to come, colors :P
* Fixed two typos in the Makefile (sam you owe me at least one beer)
* Moved b_discontinuity to pgrm_descriptor_t, cleaned up CRDecode
(needs some more cleaning for discontinuities)
* Added pf_new_pes in plugins
Benoit Steiner [Sun, 10 Dec 2000 08:08:35 +0000 (08:08 +0000)]
Generation d'un makefile presque correct pour les vieilles versions de make
Nettoyage: gestion des dependances pour les plugins, suppressions de pas
mal de redondances, options de compilations coherentes, etc...