Sam Hocevar [Fri, 6 Jul 2001 08:43:31 +0000 (08:43 +0000)]
* Small optimization in vpar_blocks.c, sparing a few memset() calls.
* Additional error checking in vout_sdl.c.
* Minor manpage fix, conforming to Debian policy version 3.5.5.0
(Closes Debian bug #99561).
- Portablility fix: We now control the name to be used in the assembler
code for a C function or variable.
GCC for Win32 normally prepends an underscore to the name of a
C function or variable, and the inline assembler code was using the
name without the underscore so we had undefined symbols in some
modules.
- Reenabled all the accelerated modules on Win32.
Gildas Bazin [Thu, 28 Jun 2001 22:12:04 +0000 (22:12 +0000)]
- a few bug fixes for the directx plugin.
- removed the custom usleep function for win32 as we don't really need
this accuracy, and it was eating cpu resources.
Gildas Bazin [Wed, 27 Jun 2001 06:29:59 +0000 (06:29 +0000)]
- Added command line option '--stdout <filename>' which redirects stdout
and stderr to the specified file. This option should mainly be useful
on Win32.
- On Win32, vlc now has an icon associated to the .exe file, and is a full
GUI application (you don't have this annoying dos command box anymore)
- Added INSTALL-win32.txt for specific details to the Win32 port.
I've tested these changes on Win32 and Linux, let's hope I didn't break
vlc for other platforms.
Sam Hocevar [Mon, 25 Jun 2001 11:34:08 +0000 (11:34 +0000)]
* Compile fix for newer versions of MacOS X by Colin Simmonds
<colin_simmonds@Mac.lover.org>.
* Additional MacOS X DVD ioctl work by Eugenio Jarosiewicz
<ej0@cise.ufl.edu>.
Sam Hocevar [Thu, 14 Jun 2001 20:21:04 +0000 (20:21 +0000)]
* Added gprof profiling support with --enable-profiling.
It works at last! configure with --enable-profiling, build, run
vlc (you may want to add --noaudio, it currently segfaults with sound
here) and launch "gprof vlc" when finished.
To make gprof work with multithreaded programs, one needs to set the
internal ITIMER_PROF timer for each new thread launched. I did this
through a wrapper in vlc_thread_create (see include/threads.h).
Sam Hocevar [Thu, 14 Jun 2001 01:49:44 +0000 (01:49 +0000)]
* DirectX enhancements by Gildas Bazin, such as software rendering.
* Merged dvdcss_init and dvdcss_open into dvdcss_open, and dvdcss_close
and dvdcss_end into dvdcss_close. libdvdcss API now has 7 functions.
* Another failed attempt at profiling vlc under Linux: ported the
threads API to GNU Pth. Activate with --enable-pth. It doesn't seem to
spawn new threads for me, maybe someone will have better luck.
* Makefile optimizations.
* Automatic build of libdvdcss if not found.
Stéphane Borel [Tue, 12 Jun 2001 18:16:49 +0000 (18:16 +0000)]
*slight modification in input_dvd since Getiovec wasn't at the right
place
*send escape packet when changing title, not to be stuck in some
decoder.
*the position in the title is now resetted when we change title to
prevent a title from being unavailable because we're stuck at the end
*fixed a bug with 1-chapter-long title that displayed chapter 0.
*added a _temporary_ field in p_main to know whether the audio stream is
ac3 (ugly). It allows a vlc launched in spdif mode to play mpeg or lpcm
audio.
*cleaned the title property messages to get rid of the ugly stars.
Sam Hocevar [Thu, 7 Jun 2001 15:27:44 +0000 (15:27 +0000)]
* Applied old FreeBSD patch for dvd input by German Tischler.
* Found what was causing the slowdowns: a namespace collision. Put all
plugins into builtins again.
Sam Hocevar [Thu, 7 Jun 2001 01:10:33 +0000 (01:10 +0000)]
* Put most builtins in plugins again due to performances issues (more
about this in a forthcoming post here).
* Fixed the painfully slow build process (at last!).
* Moved the null plugin together with the dummy one.
* Added new dummy input plugin.
More on the dummy input plugin: we'll use it to insert commands in
the playlist. Currently implemented are the "quit" and "pause" functions,
here are examples on how they are used:
vlc file.mpeg vlc:quit # exit after file.mpeg has been read.
vlc file1.mpeg vlc:pause:3 file2.mpeg # pause 3 seconds before playing
# the next file.
From now we can more efficiently benchmark vlc. For instance, to test
the video output changes I am doing, I use such a command:
time vlc -I dummy --noaudio file.mpeg vlc:quit
Future extentions might include more interesting stuff like "switch
to full screen", "repeat next file 3 times", "switch to SDL video
output"...
Sam Hocevar [Sun, 3 Jun 2001 12:47:22 +0000 (12:47 +0000)]
* Various little fixes
- BeOS interface compilation fix by Rene Gollent.
- DirectX plugin compilation fix by Gildas Bazin.
- removed %ebx spill in the iMDCT plugins.
Sam Hocevar [Sat, 2 Jun 2001 01:09:03 +0000 (01:09 +0000)]
* DirectX plugin by Gildas Bazin <gbazin@netcourrier.com>.
Notes: o I called it 'directx' instead of 'windx' because it
made a lot more sense to me.
o Completely untested. I didn't manage to compile it yet.
o Code in vout_directx.c will go through a big rewrite when
vout 4 is finished. Xav is already working on this.
Sam Hocevar [Wed, 30 May 2001 17:03:13 +0000 (17:03 +0000)]
* Fixed the BeOS compile typo.
* The ALSA plugin is back.
* A gift for Gildas: plugins don't rely on backlinking any more. The
drawback is the dirty magic in include/modules_export.h which has to
be included whenever a module needs one of the functions in it. But
a) we should less and less rely on those functions
b) no plugin code modification was needed
The BeOS and MacOS X modules may be broken when compiled as plugins,
I'll check this later when I can reboot under BeOS.
Sam Hocevar [Mon, 28 May 2001 04:23:52 +0000 (04:23 +0000)]
* Added a wrapper for readv() on platforms which don't support it. The
network support now compiles under Win32, but still doesn't work, the
select in plugins/mpeg/input_ts.c never returns any data.
Is there anything like strace(1) under Win32 to debug this ?
Modified in order to add network input under Win32.
It compiles under Linux and Win32 (yeeaaahaaa, haven't broken anything
:-))
(added the WinSock library initialization and cleanup)
Could someone test if it does really function ?
Sam Hocevar [Fri, 25 May 2001 13:20:10 +0000 (13:20 +0000)]
* Fixed a warning for *BSD compilation.
* Fixed a typo in yesterday's Darwin ioctl fixes.
* Patch by Eugenio so that the OS X interface and video output handle the
aout and vout banks.
Sam Hocevar [Fri, 25 May 2001 04:23:37 +0000 (04:23 +0000)]
OS X fixes:
* Applied Eugenio's fix to the DVDioctl driver. I didn't test it, but
it should not hang the kernel anymore.
* Ported most dvd_ioctl.c functions to the DVDioctl driver: ReportAgid,
ReportChallenge, ReportKey1, ReportASF, InvalidateAgid, SendChallenge,
SendKey2. They should comply with the "Mt. Fuji Commands for Multimedia
Devices" paper.
Last remaining problem: ReadCopyright and ReadKey. The version of
Darwin I have here only has reportKey() and sendKey() functions in
the IODVDBlockStorageDevice class (pages 413 and 449 of the Mt. Fuji
paper), but we also need the READ_STRUCTURE (page 357) which I couldn't
find anywhere in the kernel headers. Either I missed it, or we'll have
to wait for Apple to implement it (or maybe we can emulate this command
with some other IOKit commands).
Stéphane Borel [Wed, 23 May 2001 23:08:20 +0000 (23:08 +0000)]
-Unification of gnome/gtk intefaces: now all the file are in plugin/gtk.
Specific files are glade generated files and intf_* files. All the
remainders are common to gtk and gnome and contain all the callbacks for
both interfaces.
Stéphane Borel [Sat, 19 May 2001 00:39:30 +0000 (00:39 +0000)]
*More cleanification in gtk interface: now to change the
title/chapter/audio/spu/angle, we tell the input to do intead of doing
it inside the interface. It results in fewer locks during the changes.
*The dvd plugin reads again blocks of 32 sectors to gain speed since
there are no more lock-ups during stream change. I've also created a new
file that contain function to described video and audio streams with ifo
datas.
The changes are made only for gtk. We should update the other interfaces
soon (beos at least).
There is a memory corruption somewhere that make the vlc crash. I've no
idea where to search.
Stéphane Borel [Tue, 15 May 2001 01:01:44 +0000 (01:01 +0000)]
*initialization bugfixes in input_dvd
*added a b_stopped flag to interface playlist to have a stop function in
interface plugins. As a consequence, the playlist no longer loops on end
but wait for the user to press 'play' or to add another item (gtk/gnome
interface). I think that other plugins are broken but it shouldn't be
difficult to repair: just add a 'p_main->p_playlist->b_stopped = 0' in
play functions and 'p_main->p_playlist->b_stopped = 1' when you have to
stop.
*Updated gtk interface so that it has the same features as gnome. I
think I will merge the code so that we don't have to copy and paste each
change. Only the .glade file would be different.
Renaud Dartus [Mon, 14 May 2001 15:58:04 +0000 (15:58 +0000)]
* Begin of SSE/3DNow! support for imdct and downmix
If you have a PIII or a Athlon and you want to try this, just comment #if 0
in ac3_downmix.c and ac3_imdct.c and add in AC3_DECODER section of Makefile :
src/ac3_decoder/ac3_imdct_sse.o \
src/ac3_decoder/ac3_srfft_sse.o \
src/ac3_decoder/ac3_downmix_sse.o \
src/ac3_decoder/ac3_downmix_3dn.o \
Henri Fallon [Fri, 11 May 2001 01:03:14 +0000 (01:03 +0000)]
Alsa module now builds with alsa 0.9 thanks to Jeffrey Baker's patch
(jwbaker@acm.org)
Please notice that even if if builds with alsa 0.9beta, it's hardly
usable as it goes very often un Xrun mode. Though, it works fine with
current alsa CVS.
Sam Hocevar [Thu, 10 May 2001 06:47:31 +0000 (06:47 +0000)]
* Added SPU cropping.
* Gnome interface segfault fix.
* BeOS interface segfault fix by AnEvilYak (what's you real name btw?).
Note: if you want to have a look at the currently buggy YUV subpictures,
uncomment line 1999 of src/video_output/video_output.c. Don't report
bugs about this, I _know_ it's a quick hack.
- fix a bug in ts input.
Henri: a 0.5s timeout is not (time_t)0.5 sec and (time_t)0 usec
but (time_t)0 sec and (time_t)500000 usec
Now the input doesn't eat all the cpu any more :p
Sam Hocevar [Tue, 8 May 2001 00:43:57 +0000 (00:43 +0000)]
* Speed optimization in the handling of the unusual ephemer DVD subtitles.
* Little optimization to bozo's UnalignedShowBits fix.
* Race fix in the packet cache by Jon Lech Johansen <jon-vl@nanocrew.net>.
Sam Hocevar [Mon, 7 May 2001 04:42:42 +0000 (04:42 +0000)]
* Added support for some terribly braindead DVD subtitles in Kenshin
which do not have a "stop display" command. Anime fans rejoice!
* Fixed the BeOS interface to use p_aout_bank instead of p_main->p_aout.
* Coding-style butchery (mostly tabs).
Stéphane Borel [Sun, 6 May 2001 18:32:30 +0000 (18:32 +0000)]
*Much work on the gnome interface: added oct's playlist from gtk plugin,
tuned appearence, added preferences window (with no features yet), jump
window to go to specified time (not functionnal yet), and fixed some
bugs.
*moved b_fullscreen from p_vout->p_sys to p_vout and unified way of
toggling fullscreen in sdl in x11/xvideo output (using p_vout->i_ch
nges) so that an interface plugin can toogle fullscreen (implemented
in gnome)
*added p_input->stream.p_selected_area->i_tell in input TS so that the
slider work with ts files ( however, the time counter doesn't since we
have no mux_rate )
*improved ac3 spdif output ( and made it work again :)). It uses a true
blank frame now, and it allows to switch languages like a traditionnal
output. It doesn't support multiplexing though, neither can we switch
between spdif/analogical mode on-the-fly.
*beginning of the back port of gnome to gtk for those who do not have
gnome.
Sam Hocevar [Sun, 6 May 2001 04:32:03 +0000 (04:32 +0000)]
* Fixed a few warnings with gcc 3.0.
* aout and vout are now allocated in banks, making it possible to have
several of them at the same time.
* configure now checks for MMX and MMX EXT support in the assembler.
* Removed all MMX code from the main program and moved it to the
existing idct modules (Closes: Debian bug #96036).
Don't forget to make distclean before building vlc again.
Henri Fallon [Wed, 2 May 2001 13:30:30 +0000 (13:30 +0000)]
* Corrected vlc-howto thanks to Arnaud Gomes-do-Vale
* Fixed a segfault in TS input. Some stream still do not work, or
work very slowly with many error messages. I'll try to have a look.
Sam Hocevar [Tue, 1 May 2001 04:18:18 +0000 (04:18 +0000)]
* Mandatory step for video output IV and the audio output quality
fix: the output threads are now spawned when a decoder needs one,
so it can decide the audio frequency or the video window size. Still
under heavy construction, so don't get too excited at finding bugs
in it yet.
Note: this change broke the XVideo module, so I made its score much
lower than before. I suspect xvideo.so had a bug before which only
appears now. Other video output plugins may be broken as well, but
again this might be due to old existing bugs showing their ugly head.
* Fixed a few buffer overflows in the Gnome interface.
* The module bank is now a global variable. The video output bank and
the audio output bank might follow (when they exist).
* Coding style and organization fixes to the spdif decoder.
* autoconf and Makefile changes by Arnaud Gomes-do-Vale
<arnaud@carrosse.frmug.org>.
-slight modification in ClockManageRef: after a synchro reinit, we still
do the mwait and re-init last-cr so that there no date irregularity.
Such a thing is necessary for dvd playback at cell change ; however,
Meuuh, could you look at that since you might think we should do
otherwise.
-turned the "bitsream callback discontinuity" message to debug.
-removed modification of the title environnement variable in input dvd
at title change since we no longer restart the input at title change.