* Desperate attempt to improve audio output ;
authorChristophe Massiot <massiot@videolan.org>
Sun, 19 May 2002 00:34:54 +0000 (00:34 +0000)
committerChristophe Massiot <massiot@videolan.org>
Sun, 19 May 2002 00:34:54 +0000 (00:34 +0000)
* Updated documentation.

Makefile
README - Mac OS X.rtf [deleted file]
README.MacOSX.rtf [new file with mode: 0644]
doc/vlc-howto.sgml
doc/vlc.1
include/config.h
plugins/macosx/aout_macosx.m
src/audio_output/aout_pcm.c

index 8e8b8c6..b0b8b15 100644 (file)
--- a/Makefile
+++ b/Makefile
@@ -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/* 
diff --git a/README - Mac OS X.rtf b/README - Mac OS X.rtf
deleted file mode 100644 (file)
index cbd753c..0000000
+++ /dev/null
@@ -1,105 +0,0 @@
-{\rtf1\mac\ansicpg10000\cocoartf100
-{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fmodern\fcharset77 Courier;
-}
-{\colortbl;\red255\green255\blue255;}
-\margl1440\margr1440\vieww11240\viewh10380\viewkind0
-\hyphauto1\hyphfactor90
-\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
-
-\f0\fs48 \cf0 VideoLAN Client (VLC) version 0.3\
-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.\
-\
-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 ?
-\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).\
-\
-\
-
-\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\
-
-\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
-\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 !\
-
-\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.\
-\
-\
-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
diff --git a/README.MacOSX.rtf b/README.MacOSX.rtf
new file mode 100644 (file)
index 0000000..1e35bc6
--- /dev/null
@@ -0,0 +1,45 @@
+{\rtf1\mac\ansicpg10000\cocoartf100
+{\fonttbl\f0\fswiss\fcharset77 Helvetica;\f1\fswiss\fcharset77 Helvetica-Bold;\f2\fmodern\fcharset77 Courier;
+}
+{\colortbl;\red255\green255\blue255;}
+\margl1440\margr1440\vieww11240\viewh10380\viewkind0
+\hyphauto1\hyphfactor90
+\pard\tx1440\tx2880\tx4320\tx5760\tx7200\qc
+
+\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. 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 an SVCD ?
+\f0\b0 \ulnone \
+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 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 -u
+\f0  in a terminal window which applications take the CPU. Minimizing the VLC controller window might help, too.\
+\
+\
+
+\f1\b \ul 3. I only get a black picture !\
+
+\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>, 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
index a1549e3..4a34da2 100644 (file)
   <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 MPEG
+   at broadcasting video on the campus, and providing the students with an MPEG-
    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>
index b33f5fc..77e67f5 100644 (file)
--- a/doc/vlc.1
+++ b/doc/vlc.1
@@ -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)
index 510484a..259f18e 100644 (file)
 
 /* 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
index 8b4267b..9e3ef16 100644 (file)
@@ -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;
 
index 432890a..fc1abe7 100644 (file)
@@ -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) */
-#define MAX_DELTA 10000
+#define MAX_DELTA 50000
 
 /*****************************************************************************
  * Local prototypes
@@ -130,7 +130,7 @@ void aout_PCMThread( aout_thread_t * p_aout )
         case AOUT_FMT_S8:
             i_units = p_aout->pf_getbufinfo( p_aout, i_buffer_limit );
 
-            p_aout->date = mdate() + ((((mtime_t)((i_units + 4 *
+            p_aout->date = mdate() + ((((mtime_t)((i_units +
                 p_aout->i_latency) / p_aout->i_channels)) * 1000000) /
                 ((mtime_t)p_aout->i_rate)) + p_main->i_desync;
 
@@ -144,8 +144,8 @@ void aout_PCMThread( aout_thread_t * p_aout )
         case AOUT_FMT_S16_BE:
             i_units = p_aout->pf_getbufinfo( p_aout, i_buffer_limit * 2 ) / 2;
 
-            p_aout->date = mdate() + ((((mtime_t)((i_units + 4 *
-                p_aout->i_latency) / (2 * p_aout->i_channels))) * 1000000) /
+            p_aout->date = mdate() + ((((mtime_t)((i_units +
+                p_aout->i_latency / 2) / p_aout->i_channels)) * 1000000) /
                 ((mtime_t)p_aout->i_rate)) + p_main->i_desync;
 
             p_aout->pf_play( p_aout, (byte_t *)p_aout->buffer,
@@ -159,7 +159,6 @@ void aout_PCMThread( aout_thread_t * p_aout )
         if( i_units > (i_buffer_limit/2) )
             msleep( (i_units - i_buffer_limit/2) * AOUT_BUFFER_DURATION
                     / i_buffer_limit );
-
     }
 
     vlc_mutex_lock( &p_aout->fifos_lock );
@@ -295,7 +294,7 @@ static int NextFrame( aout_thread_t * p_aout, aout_fifo_t * p_fifo,
                       mtime_t aout_date )
 {
     int i_units, i_units_dist, i_rate;
-    u64 i_delta;    
+    mtime_t i_delta;    
 
     /* We take the lock */
     vlc_mutex_lock( &p_fifo->data_lock );