Commit 032b437a authored by Christophe Massiot's avatar Christophe Massiot
Browse files

* Desperate attempt to improve audio output ;

* Updated documentation.
parent 348f9662
......@@ -458,7 +458,7 @@ package-macosx:
# Copy relevant files
cp -R vlc.app tmp/
cp AUTHORS COPYING ChangeLog README README\ -\ Mac\ OS\ X.rtf FAQ TODO tmp/
cp AUTHORS COPYING ChangeLog README README.MacOSX.rtf FAQ TODO tmp/
# Create disk image
./macosx-dmg 0 "vlc-${VERSION}" tmp/*
......
......@@ -6,100 +6,40 @@
\hyphauto1\hyphfactor90
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
\f0\fs48 \cf0 VideoLAN Client (VLC) version 0.3\
\f0\fs48 \cf0 VideoLAN Client (VLC) version 0.4\
Mac OS X-specific information
\fs24 \
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\ql\qnatural
\cf0 \
\
\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qj
\cf0 Welcome to the VideoLAN Client ! VLC is a multi-purpose mutimedia tool : it can play DVDs and VCDs, or read a stream from the network. VLC has originally been developed for GNU/Linux systems, but has been ported to numerous operating systems, including Mac OS X and Win32. The Mac OS X port is a bit young and immature, as you will notice, and there are many caveats. We are working hard to improve it, and if you think you can help us in any way, please drop us a line.\
\cf0 Welcome to the VideoLAN Client ! VLC is a multi-purpose mutimedia tool : it can play DVDs and VCDs, or read a stream from the network. It also supports DivX/MPEG-4 files, via the same codec as the QuickTime plug-in (and features the same bugs). VLC has originally been developed for GNU/Linux systems, but has been ported to numerous operating systems, including Mac OS X and Win32. The Mac OS X port is a bit young and immature, as you will notice, and there are many caveats. We are working hard to improve it, and if you think you can help us in any way, please drop us a line.\
\
You may find the following frequentely asked questions useful :\
\
\f1\b \ul 1. How do I read a DVD ? The menu item is disabled !\
\f0\b0 \ulnone The menu item hasn't been implemented yet, but you can access all features of VLC using the command line. First open a terminal window (Terminal.app in your Applications folder) and change to the directory where you copied VLC - for instance if you copied it to your Applications folder, type :\
\f2 cd /Applications\
\f0 \
Then type :\
\f2 ./vlc.app/Contents/MacOS/vlc dvd:/dev/rdisk1\
\f0 \
VLC should play your DVD. On some configurations, /dev/rdisk1 isn't the DVD drive, and you will find it as /dev/rdisk2, /dev/rdisk3, etc. YMMV\
\
You can access all the capabilities of VLC through the command line (since the native interface support is still very poor), such as choosing audio channel, subtitles, and titles/chapters. To view all the options available, please type :\
\f2 ./vlc.app/Contents/MacOS/vlc --help\
\f0 \
For instance, if you want the audio channel #2 :\
\f2 ./vlc.app/Contents/MacOS/vlc --input_audio 2 dvd:/dev/rdisk1\
\f0 \
You can view all available channels and subtitles with :\
\f2 ./vlc.app/Contents/MacOS/vlc --stats dvd:/dev/rdisk1\
\f0 \
\
\f1\b \ul 2. How do I read a VCD ?\
\f0\b0 \ulnone The same way you read a DVD, except you replace
\f2 dvd
\f0 by
\f2 vcd
\f0 . Eg. :\
\f2 ./vlc.app/Contents/MacOS/vlc vcd:/dev/rdisk1\
\f0 \
\
\f1\b \ul 3. How do I read an SVCD ?
\f1\b \ul 1. How do I read an SVCD ?
\f0\b0 \ulnone \
SVCDs contain plain MPEG-2 files and do not require any specific plug-in. just copy the .vob files in the SVCD onto your hard drive, and use the "Open File" menu item in VLC (drag and drop doesn't work yet).\
\
VLC is currently unable to read SVCD directly from the drive. SVCDs contain plain MPEG-2 files which can be directly read. Just copy the .dat files in the SVCD onto your hard drive, and use the "Open File" menu item in VLC (drag and drop doesn't work yet).\
\
\f1\b \ul 4. Audio and video are out of sync by 300 ms !\
\f0\b0 \ulnone This is a known issue, and we're working on it. In the meantime, launch the application with
\f2 --desync\'ca300
\f0 (the exact number depends on your machine), eg. :\
\f2 ./vlc.app/Contents/MacOS/vlc --desync 300 dvd:/dev/rdisk1\
\f0 \
\
\f1\b \ul 5. The video is choppy ! It's like we're dropping frames\
\f1\b \ul 2. The video is choppy ! It's like we're dropping frames\
\f0\b0 \ulnone That's the normal behavior when the CPU isn't fast enough to decode all frames. Though there is some room for improvement, do never expect VLC to be able to decode MPEG-2 streams on a low-end G3 machine. Apple DVD player uses specific hardware accelerations from the video board of those systems, and we currently lack documentation to do the same. If you think you have information which might help us, please contact us, otherwise please don't complain about this.\
\
If VLC is slow on your G4 system, try and quit or hide all running applications. See with
\f2 top
\f2 top -u
\f0 in a terminal window which applications take the CPU. Minimizing the VLC controller window might help, too.\
\
\
\f1\b \ul 6. How do I play a DivX file ?\
\f0\b0 \ulnone VLC doesn't support DivX or OpenDivX or MPEG-4 files at present. We are working on it too, but this isn't expected to happen in the near future.\
\
\
\f1\b \ul 7. The fullscreen menu item has disappeared. This sucks !\
\f1\b \ul 3. I only get a black picture !\
\f0\b0 \ulnone The menu item has been temporarily removed for technical reasons. It doesn't mean that the feature has been removed. To turn on fullscreen mode, just hit 'f' in the video window. To go back to windowed mode, hit 'f' again.\
\f0\b0 \ulnone We haven't found the reason why some people get this problem. However, users have indicated a workaround : switch your screen depth to thousands of colors instead of millions. If you think you have information to help us find the bug, please drop us a mail.\
\
\
Thanks for reading this file. For additional information, subscribe to the vlc mailing list on \ul http://www.videolan.org/.\ulnone \
-- \
Christophe Massiot <massiot@via.ecp.fr>, 6 Apr 2002, for the VideoLAN team.}
\ No newline at end of file
Christophe Massiot <massiot@via.ecp.fr>, for the VideoLAN team.\
$Id: README.MacOSX.rtf,v 1.1 2002/05/19 00:34:54 massiot Exp $}
\ No newline at end of file
......@@ -19,11 +19,11 @@
<heading>What is VideoLAN ?</heading>
<p>
VideoLAN is a project of sudents of the École Centrale Paris which aims
to broadcast video on the campus, and provide the students with a MPEG2
at broadcasting video on the campus, and providing the students with an MPEG-2
software-only decoder. VideoLAN is an OpenSource project which will thus
allow anyone to watch DVD movies under Linux, BeOS, MacOS X, Windows
and most Unix
systems
and most UNIX systems. Recent additions allow to read .avi files,
and MPEG-4/DivX-encoded movies.
</p>
<p>
You may want to look at the port section on our website :
......@@ -120,17 +120,17 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
</p>
<p>
Please note that the Linux, Windows and MacOS X are generally the most
uptodate versions.
up-to-date versions.
</p>
</sect2>
<sect2>
<heading>Software requirements</heading>
<p>
Depending on the outputs and inputs you are using, you may need
additionnal libraries. Please see <ref id="modules" name="description">.
additional libraries. Please see <ref id="modules" name="description">.
</p>
<p>
For playing encrypted DVDs, you will need libdvdcss, which you can found
For playing encrypted DVDs, you will need libdvdcss, which you can find
on this page :
<htmlurl name="http://www.videolan.org/libdvdcss/download.html"
url="http://www.videolan.org/libdvdcss/download.html">.
......@@ -168,7 +168,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<sect1>
<heading>Legal</heading>
<p>
Copyright (©) 2001 by the VideoLAN project. This document may be
Copyright (©) 2001-2002 by the VideoLAN project. This document may be
distributed only subject to the terms and conditions set forth in
<htmlurl url="http://metalab.unc.edu/LDP/LDP-COPYRIGHT.html"
name="the LDP license">.
......@@ -227,7 +227,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<sect2>
<heading>RPM package</heading>
<p>
Install vlc just as you would install any rpm package :
Install vlc just as you would install any RPM package :
<verb>
rpm -i vlc-x.x.x.rpm
</verb>
......@@ -248,9 +248,10 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
</sect2>
<sect2>
<heading>MacOS X users</heading>
<heading>Mac OS X users</heading>
<p>
To be completed
Double-click on the archive, and copy the vlc file to your Applications
folder.
</p>
</sect2>
<sect2>
......@@ -258,7 +259,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<p>
Launch the installer by double-clicking on it, and follow the installation
instructions. Please note that in most cases you will need administrator
rights to install it under Windows NT, 2000 and XP
rights to install it under Windows NT, 2000 and XP.
</p>
</sect2>
</sect1>
......@@ -273,7 +274,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
url="http://www.videolan.org/libdvdcss/download.html">
</p>
<p>
For Windows users, libdvdcss is statically linked in the
For Windows, BeOS and Mac OS X users, libdvdcss is statically linked in the
Windows binary, so you don't have to install it.
</p>
</sect1>
......@@ -293,7 +294,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<sect2>
<heading>Linux users</heading>
<p>
Usually, you dvd device is /dev/hd? (if you have an ide drive).
Usually, your dvd device is /dev/hd? (if you have an ide drive).
For instance, if you DVD player is master on the second IDE device,
it will be /dev/hdc.
</p>
......@@ -355,14 +356,14 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<p>
If nothing appears and you are sure that a program is streamed in
this channel, you may try once again, because a problem of communication
with the channel server could have occured (in you launched vlc from
with the channel server could have occurred (if you launched vlc from
a terminal, you should see "Network error: no answer from vlcs").
</p>
</sect2>
<sect2>
<heading>Without VideoLAN Channel Server</heading>
<p>
Simply choose clicking on the network button, then on ok should be
Simply clicking on the network button, then on ok should be
sufficient in most cases.
</p>
<p>
......@@ -495,7 +496,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<sect>
<heading>Command line options</heading>
<p>
Many options are only available through command line. They are detailled here.
Many options are only available through command line. They are detailed here.
</p>
<sect1>
<heading>Opening streams</heading>
......@@ -556,9 +557,6 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<p> <verb>--intf &lt;interface module&gt;</verb>
allows you to select the interface module </p>
<p> <verb>--input &lt;input module&gt;</verb>
allows you to select the input module.</p>
<p> <verb>--vout &lt;video output module&gt;</verb>
allows you to select the video output.</p>
......@@ -568,10 +566,10 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<p> <verb>--filter &lt;video filter module&gt;</verb>
allows you to add a video filter module.</p>
<p> <verb>--mpeg_adec &lt;MPEG audio decoder module&gt;</verb>
<p> <verb>--mpeg-adec &lt;MPEG audio decoder module&gt;</verb>
allows you to select the audio MPEG decoder.</p>
<p> <verb>--ac3_adec &lt;AC3 audio decoder module&gt;</verb>
<p> <verb>--ac3-adec &lt;AC3 audio decoder module&gt;</verb>
allows you to select the audio AC3 decoder.</p>
</sect1>
......@@ -588,9 +586,9 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
gives you information about the current version.</p>
<p> <verb>--list</verb>
gives you the list of all available plugins.</p>
<p> <verb>--warning X or -vvvv (X times)</verb>
<p> <verb>-vvvv (X times)</verb>
set the level of warning messages.</p>
<p> <verb>--stat</verb>
<p> <verb>--stats</verb>
gives statistic outputs.</p>
</sect2>
......@@ -634,28 +632,28 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<p> <verb>--network-channel</verb>
Start with channel server enabled.</p>
<p> <verb>--channel_server &lt;string&gt;</verb>
<p> <verb>--channel-server &lt;string&gt;</verb>
Specify the channel server address.</p>
<p> <verb>--channel_port &lt;integer&gt;</verb>
<p> <verb>--channel-port &lt;integer&gt;</verb>
Specify the channel server port.</p>
<p> <verb>--iface &lt;string&gt;</verb>
Select the network interface to use.</p>
<p> <verb>--input_program &lt;integer&gt;</verb>
<p> <verb>--input-program &lt;integer&gt;</verb>
Select the program to use (for streams with
several programs, as those coming from satellite).</p>
<p> <verb>--input_audio &lt;integer&gt;</verb>
<p> <verb>--audio-type &lt;integer&gt;</verb>
Select the audio channel to use.</p>
<p> <verb>--input_subtitle &lt;integer&gt;</verb>
<p> <verb>--subtitle-channel &lt;integer&gt;</verb>
Select the subtitle.</p>
<p> <verb>--input_channel &lt;integer&gt;</verb>
<p> <verb>--audio_channel &lt;integer&gt;</verb>
Select the channel number.</p>
<p> <verb>--dvd_device &lt;string&gt;</verb>
<p> <verb>--dvd &lt;string&gt;</verb>
Specify the default dvd device.</p>
<p> <verb>--vcd_device &lt;string&gt;</verb>
<p> <verb>--vcd &lt;string&gt;</verb>
Specify the default vcd device.</p>
<p> <verb>--ipv4</verb>
<p> <verb>-4, --ipv4</verb>
Force IPv4.</p>
<p> <verb>--ipv6</verb>
<p> <verb>-6, --ipv6</verb>
Force IPv6.</p>
</sect2>
......@@ -716,7 +714,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<sect2>
<heading>Directly from CVS</heading>
<p> <label id="cvs">
Firs log in as suer anonymous with an empty password :
First log in as user anonymous with an empty password :
<verb>
cvs -d :pserver:anonymous@anoncvs.videolan.org:/var/cvs/videolan login
</verb>
......@@ -925,7 +923,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<heading>deinterlace</heading>
<p>default: enabled</p>
<p>
This filter deinterlaces video. It is usefull with streams coming
This filter deinterlaces video. It is useful with streams coming
from a satellite broadcast.
</p>
</sect2>
......@@ -1057,6 +1055,14 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<htmlurl url="http://www.linuxtv.org/" name="linuxtv.org">.
</p>
</sect2>
<sect2>
<heading>avi</heading>
<p>default: enabled</p>
<p>
This input module allows to read .avi files.
</p>
</sect2>
</sect1>
<sect1>
......@@ -1135,6 +1141,28 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
</p>
</sect2>
</sect1>
<sect1>
<heading>Codec modules</heading>
<p> The following modules add codec support. </p>
<sect2>
<heading>a52</heading>
<p>default: disabled</p>
<p>
This is a better AC3/A52 decoder than the built-in one, based on
liba52 :
<htmlurl url="http://liba52.sf.net/" name="liba52">.
</p>
</sect2>
<sect2>
<heading>ffmpeg</heading>
<p>default: disabled</p>
<p>
This is a free MPEG-4/DivX/OpenDivX codec :
<htmlurl url="http://ffmpeg.sf.net/" name="ffmpeg">.
</p>
</sect2>
</sect1>
<sect1>
<heading>OS support modules</heading>
<p> The following modules add support or different OSs. </p>
......@@ -1256,7 +1284,7 @@ url="http://www.videolan.org/doc" name="VideoLAN Web Site">.
<htmlurl url="mailto:videolan@videolan.org" name="videolan@videolan.org">
</p>
<p>
Finally, there's a users mailing list (English speaking). To subscribe, send a mail to
Finally, there's a users mailing list (English-speaking). To subscribe, send a mail to
<htmlurl url="mailto:listar@videlan.org" name="listar@videlan.org"> containing
"subscribe vlc" as message body.
</p>
......
......@@ -2,7 +2,7 @@
.\" First parameter, NAME, should be all caps
.\" Second parameter, SECTION, should be 1-8, maybe w/ subsection
.\" other parameters are allowed: see man(7), man(1)
.TH VLC 1 "March 10, 2001"
.TH VLC 1 "May 19, 2002"
.\" Please adjust this date whenever revising the manpage.
.\"
.\" Some roff macros, for reference:
......@@ -32,6 +32,8 @@ recognizes several URL-style items:
.TP
.B *.mpg, *.vob
Plain MPEG-1/2 files
.B *.avi
AVI files, such as DivX movies
.TP
.B dvd:[<device>][@<raw device>][@[<title>][,[<chapter>][,<angle>]]]
DVD device (for instance dvd:/dev/dvd). The raw device is optional and
......@@ -40,7 +42,7 @@ must have been prepared beforehands.
.B vcd:<device>
VCD device (for instance dvd:/dev/cdrom).
.TP
.B udpstream:[<server>[:<server port>]][@[<bind address>][:<bind port>]]
.B udpstream:[@[<multicast address>][:<local port>]]
UDP stream, such as one sent by VideoLAN Server or VideoLAN miniserver.
Usually "udpstream:" is enough.
.TP
......@@ -56,161 +58,7 @@ Execute a play-list command. Commands are :
.B vlc
follows the usual GNU command line syntax, with long
options starting with two dashes (`-').
A summary of options is included below.
.TP
.B \-I, \-\-intf <module>
Specify an interface module: "gnome", "curses", "qt", for instance.
.TP
.B \-v, \-\-verbose
Set
.B vlc
verbosity. This command is cumulative, you can use "-vv" or "-vvvv" for increased verbosity.
.TP
.B \-\-memcpy <module>
Specify a module for performing heavy memory copies: "memcpy", "sse" for instance.
.TP
.B \-\-noaudio
Disable audio output.
.TP
.B \-A, \-\-aout <module>
Specify an audio output module: "dsp", "esd", for instance.
.TP
.B \-\-stereo, \-\-mono
Choose stereo or mono audio output.
.TP
.B \-\-spdif
Activate hardware AC3 pass-through mode.
.TP
.B \-\-downmix <module>
Specify a module for AC3 downmix: "downmix", "sse" or "3dn" for instance.
.TP
.B \-\-imdct <module>
Specify a module for AC3 IMDCT: "imdct", sse" or "3dn" for instance.
.TP
.B \-\-volume [1..1024]
Change VLC output volume (default: 512).
.TP
.B \-\-desync <time in ms>
Compensate desynchronization of the audio (default: 0).
.TP
.B \-\-novideo
Disable video output.
.TP
.B \-V, \-\-vout <module>
Specify a video output module: "x11", "sdl", "fb", for instance.
.TP
.B \-\-motion <module>
Specify a module for motion compensation: "motion", "motionmmx", for instance.
.TP
.B \-\-idct <module>
Specify a module for IDCT: "idct", "idctmmx", for instance.
.TP
.B \-\-yuv <module>
Specify a YUV module: "yuv", "yuvmmx", for instance.
.TP
.B \-\-display <display>
Specify the display name.
.TP
.B \-\-width <w>, \-\-height <h>
Choose the display coordinates.
.TP
.B \-g, \-\-grayscale
Grayscale output.
.TP
.B \-\-fullscreen
Full screen output.
.TP
.B \-\-overlay
Overlay (hardware accelerated output), if available.
.TP
.B \-\-xvadaptor <port>
Select XVideo adaptor, if XVideo output is used.
.TP
.B \-\-color
Color output.
.TP
.B \-\-synchro <type>
Choose a fixed synchro value instead of the internal auto-adaptative
heuristics based on CPU usage.
`I' displays only I images, `IP' displays I and P images, `IP+'
displays I and P images and every second B image, and `IPB' forces
displaying of all images.
Note that vlc is not guaranteed to behave properly if you ask it to
display more images than your CPU can cope with.
.TP
.B \-a, \-\-input_audio [ ac3 | lpcm | mpeg | off ]
Choose the audio channel type. Most DVDs have AC3 audio channels, but
you can also have Linear PCM or MPEG layer 2 sound. Also, one might decide
not to activate the audio channel.
.TP
.B \-c, \-\-input_channel [ 0\-15 ]
Select the audio channel. Most DVDs only have one or two audio channels,
but some of them have a great number of available languages. Note that the
audio channel will also depend on the channel type.
.TP
.B \-s, \-\-input_subtitle [ 0\-31 ]
Select the subtitle channel, if there is one in the stream.
.TP
.B \-\-input <method>
Choose the input method, "dvd", "ps", "ts" for instance.
.TP
.B \-\-nommx, \-\-no3dnow, \-\-nommxext, \-\-nosse, \-\-noaltivec
Disable the CPU's MMX, 3D Now!, MMX EXT, SSE or AltiVec support. This may
be useful when you suspect a bug in an accelerated module.
.TP
.B \-h, \-\-help
Print help and exit.
.TP
.B \-H, \-\-longhelp
Print long help and exit.
.TP
.B \-\-version
Output version information and exit.
.SH PARAMETERS
.B vlc
also accepts a lot of parameters to customize its behaviour.
.TP
.B Interface parameters:
vlc_intf=<method name> interface method
.TP
.B Audio parameters:
vlc_aout=<method name> audio method
vlc_dsp=<filename> dsp device path
vlc_stereo={1|0} stereo or mono output
vlc_spdif={1|0} AC3 pass-through mode
vlc_downmix=<method name> AC3 downmix method
vlc_imdct=<method name> AC3 IMDCT method
vlc_volume=[0..1024] VLC output volume
vlc_audio_rate=<rate> output rate
.TP
.B Video parameters:
vlc_vout=<method name> display method
vlc_display=<display> display used
vlc_width=<width> display width
vlc_height=<height> dislay height
vlc_fb_dev=<filename> framebuffer device
vlc_grayscale={1|0} grayscale or color
vlc_fullscreen={1|0} full screen
vlc_overlay={1|0} overlay
vlc_xvport=<port> XVideo port
vlc_motion=<method name> motion compensation method
vlc_idct=<method name> IDCT method
vlc_yuv=<method name> YUV method
vlc_synchro={I|I+|IP|IP+|IPB} synchro algorithm
.TP
.B DVD parameters:
vlc_dvd_device=<device> DVD device
vlc_input_title=<title> title number
vlc_input_chapter=<chapter> chapter number
vlc_input_angle=<angle> angle number
vlc_input_audio={ac3|lpcm|mpeg|off} audio type
vlc_input_channel=[0-15] audio channel
vlc_input_subtitle=[0-31] subtitle channel
.TP
.B Input parameters:
vlc_iface=<interface> network interface
For a precise description of options, please use "vlc --help".
.SH SEE ALSO
.BR vls (1), vlms (1)
......
......@@ -105,7 +105,7 @@
/* Duration between the time we receive the data packet, and the time we will
* mark it to be presented */
#define DEFAULT_PTS_DELAY (mtime_t)(.35*CLOCK_FREQ)
#define DEFAULT_PTS_DELAY (mtime_t)(.45*CLOCK_FREQ)
/*****************************************************************************
* Audio configuration
......
......@@ -2,7 +2,7 @@
* aout_macosx.c : CoreAudio output plugin
*****************************************************************************
* Copyright (C) 2001 VideoLAN
* $Id: aout_macosx.m,v 1.1 2002/05/12 20:56:33 massiot Exp $
* $Id: aout_macosx.m,v 1.2 2002/05/19 00:34:54 massiot Exp $
*
* Authors: Colin Delacroix <colin@zoy.org>
* Jon Lech Johansen <jon-vl@nanocrew.net>
......@@ -326,13 +326,13 @@ static OSStatus CAIOCallback( AudioDeviceID inDevice,
{
aout_thread_t *p_aout = (aout_thread_t *)threadGlobals;
aout_sys_t *p_sys = p_aout->p_sys;
#if 0
AudioTimeStamp host_time;
host_time.mFlags = kAudioTimeStampHostTimeValid;
AudioDeviceTranslateTime( inDevice, inOutputTime, &host_time );
intf_Msg( "%lld", AudioConvertHostTimeToNanos(host_time.mHostTime) / 1000 + p_aout->p_sys->clock_diff - p_aout->date );
#endif
//intf_Msg( "%lld", AudioConvertHostTimeToNanos(host_time.mHostTime) / 1000 + p_aout->p_sys->clock_diff - p_aout->date );
p_aout->date = p_aout->p_sys->clock_diff + AudioConvertHostTimeToNanos(host_time.mHostTime) / 1000;
/* move data into output data buffer */
if( p_sys->b_buffer_data )
......@@ -430,7 +430,7 @@ static int CABeginFormat( aout_thread_t *p_aout )
kAudioDevicePropertyBufferSize,
ui_param_size,
&p_aout->p_sys->ui_buffer_size );
p_aout->i_latency = p_aout->p_sys->ui_buffer_size / 2;
//p_aout->i_latency = p_aout->p_sys->ui_buffer_size / 2;
if( err != noErr )
{
......@@ -486,7 +486,9 @@ static int CABeginFormat( aout_thread_t *p_aout )
/* Let's pray for the following operation to be atomic... */
p_aout->p_sys->clock_diff = mdate()
- AudioConvertHostTimeToNanos(AudioGetCurrentHostTime()) / 1000;
- AudioConvertHostTimeToNanos(AudioGetCurrentHostTime()) / 1000
+ (mtime_t)p_aout->p_sys->ui_buffer_size / 4 * 1000000 / (mtime_t)p_aout->i_rate
+ p_main->i_desync;
p_aout->p_sys->b_format = 1;
......
......@@ -2,7 +2,7 @@
* aout_pcm.c: PCM audio output functions
*****************************************************************************
* Copyright (C) 1999-2002 VideoLAN
* $Id: aout_pcm.c,v 1.6 2002/05/18 17:47:47 sam Exp $
* $Id: aout_pcm.c,v 1.7 2002/05/19 00:34:54 massiot Exp $
*
* Authors: Michel Kaempf <maxx@via.ecp.fr>
* Cyril Deguet <asmax@via.ecp.fr>
......@@ -36,7 +36,7 @@
/* Biggest difference allowed between scheduled playing date and actual date
(in microseconds) */