fix bug where decoding to stdout could fail for no good reason in some cases; fixes...
[flac.git] / README
diff --git a/README b/README
index 76e2a0d..056e824 100644 (file)
--- a/README
+++ b/README
@@ -1,5 +1,5 @@
 /* FLAC - Free Lossless Audio Codec
- * Copyright (C) 2001,2002,2003  Josh Coalson
+ * Copyright (C) 2001,2002,2003,2004,2005,2006 Josh Coalson
  *
  * This file is part the FLAC project.  FLAC is comprised of several
  * components distributed under difference licenses.  The codec libraries
@@ -22,17 +22,15 @@ codec developed by Josh Coalson.
 
 FLAC is comprised of
   * `libFLAC', a library which implements reference encoders and
-    decoders, and a metadata interface
+    decoders for native FLAC and Ogg FLAC, and a metadata interface
   * `libFLAC++', a C++ object wrapper library around libFLAC
-  * `libOggFLAC' and `libOggFLAC++', which provide encoders and
-    decoders for FLAC streams in an Ogg container
   * `flac', a command-line program for encoding and decoding files
   * `metaflac', a command-line program for viewing and editing FLAC
     metadata
   * player plugins for XMMS and Winamp
   * user and API documentation
 
-The libraries (libFLAC, libFLAC++, libOggFLAC, and libOggFLAC++) are
+The libraries (libFLAC, libFLAC++) are
 licensed under Xiph.org's BSD-like license (see COPYING.Xiph).  All other
 programs and plugins are licensed under the GNU General Public License
 (see COPYING.GPL).  The documentation is licensed under the GNU Free
@@ -40,10 +38,11 @@ Documentation License (see COPYING.FDL).
 
 
 ===============================================================================
-FLAC - CVS-20031217 - Contents
+FLAC - 1.1.3-beta2 - Contents
 ===============================================================================
 
 - Introduction
+- Prerequisites
 - Building in a GNU environment
 - Building with Makefile.lite
 - Building with MSVC
@@ -57,7 +56,7 @@ Introduction
 
 This is the source release for the FLAC project.  See
 
-       doc/index.html
+       doc/html/index.html
 
 for full documentation.
 
@@ -72,6 +71,19 @@ A brief description of the directory tree:
 
 
 ===============================================================================
+Prerequisites
+===============================================================================
+
+To build FLAC with support for Ogg FLAC you must have built and installed
+libogg according to the specific instructions below.  You must have
+libogg 1.1.2 or greater, or there will be seeking problems with Ogg FLAC.
+
+If you are building on x86 and want the assembly optimizations, you will
+need to have NASM >= 0.98.30 installed according to the specific instructions
+below.
+
+
+===============================================================================
 Building in a GNU environment
 ===============================================================================
 
@@ -120,7 +132,6 @@ $HOME/.xmms/Plugins, instead of the global XMMS plugin area
 (usually /usr/lib/xmms/Input).
 
 --with-ogg=
---with-id3lib=
 --with-xmms-prefix=
 --with-libiconv-prefix=
 Use these if you have these packages but configure can't find them.
@@ -162,10 +173,9 @@ all the libraries and executables.
 Prerequisite: you must have the Ogg libraries installed as described
 later.
 
-Prerequisite: you must have nasm installed, and have the environment
-variable FLAC_NASM set to the full path to nasmw.exe, e.g
-
-C:\nasm\nasmw.exe
+Prerequisite: you must have nasm installed, and nasmw.exe must be in
+your PATH, or the path to nasmw.exe must be added to the list of
+directories for executable files in the MSVC global options.
 
 To build everything, run Developer Studio, do File|Open Workspace,
 and open FLAC.dsw.  Select "Build | Set active configuration..."
@@ -205,6 +215,15 @@ This will create everything and leave it in the build/ directory.
 Don't worry about the rest of the stuff that is in build/ or
 the stuff that was already there before building.
 
+The Project Builder project requires that you have libiconv and
+libogg in /sw, ala fink.  If you don't, you'll need to install
+them somewhere and change the path to them in the Library Paths
+section of several targets.
+
+It also assumes the CPU supports Altivec instructions.  If it does
+not, you will also have to add -DFLAC__NO_ASM to the CFLAGS in the
+libFLAC target.
+
 There currently is no install procedure; you will have to
 manually copy the tools to wherever you need them.
 
@@ -220,17 +239,18 @@ configure.in and src/libFLAC/Makefile.am; the following dependency
 graph shows which modules may be pruned without breaking things
 further down:
 
-file_encoder.h
-       stream_encoder.h
-               format.h
+stream_encoder.h
+       stream_decoder.h
+       format.h
 
-file_decoder.h
-       seekable_stream_decoder.h
-               stream_decoder.h
-                       format.h
+stream_decoder.h
+       format.h
 
 metadata.h
        format.h
 
+In other words, for pure decoding applications, both the stream encoder
+and metadata editing interfaces can be safely removed.
+
 There is a section dedicated to embedded use in the libFLAC API
 HTML documentation (see doc/html/api/index.html).