- Fixed 2 Win32 bugs in libdvdcss (in _win32_dvdcss_readv), one of them
should have prevented the Win9x dvd input from working.
- Moved the "if(Win2k)" out of the loop in _win32_dvdcss_readv.
- Put a readv() function in input_iovec.h, the input_es now compiles.
- Modified input_ts to use this function.
- Fixed an initialisation bug in vout_directx.c
- Right clicking on the mouse now displays the navigation menu.
PS: If someone is willing to test the DVD input on Win95/98/Me I will
upload an up to date binary package.
DirectX plugin changes:
- The Win32 GetMessage function has been isolated in a thread. This has
been done because this function can block the thread. Thanks to this
change, you can now move your window without any video and audio
interruption.
- Splitted the events handling code into a separate file.
- Fixed the bug associated with the window dragging option in the
diplay properties.
Sam Hocevar [Wed, 11 Jul 2001 02:01:05 +0000 (02:01 +0000)]
* libdvdcss enhancements by Billy Biggs <vektor@dumbterm.net>. This breaks
vlc's DVD input (looks like decoders are expecting data too early and
DVD input can't cope with it due to decryption). Needs to be investigated.
* Plugins are now compiled in plugins/* and libraries in lib/*.
* The KDE UI compiles again but does not work yet.
* ALSA plugin message corrections.
* Calculation modules can now be calledwith a shorter name
(eg. '--downmix mmx' instead of '--downmix downmixmmx').
* Fixed insane verbosity of the SDL plugin.
- Fixed the segfault in vout_UnloadFont
- DestroyThread in video_output doesn't call pf_destroy if pf_create has
failed previously.
- The Xvideo plugin now closes the video window when it XVideoGetPort
fails in vout_Create.
- defined off_t as a long long. This allows DVD navigation to work.
This change is to be implemented on a compiler by compiler basis. For
now, it works on mingw32 (tested) and should work on MSVC (not tested).
- Implemented a quick and dirty hack in intf_msg.c to be able to display
long long integers with printf on Win32. This change is also necessary
to avoid segfaults when debug is enabled in vlc on Win32.
- few minor changes in the directx plugins.
- defined snprintf in common.h and removed a few #ifdef WIN32
- Removed unecessary translations in the win32 code from block offsets to
byte offsets. This was overflowing some variables.
- Reduced the complexity of the Win9x ASPI functions because we only need
to handle DVD drive access.
- Win32 code now handles seeking in areas above 2.1 Go on DVDs.
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).