diff --git a/doc/html/Makefile.am b/doc/html/Makefile.am index 05cbede8..eb8f453e 100644 --- a/doc/html/Makefile.am +++ b/doc/html/Makefile.am @@ -28,6 +28,7 @@ doc_DATA = \ documentation.html \ download.html \ faq.html \ + favicon.ico \ features.html \ format.html \ goals.html \ diff --git a/doc/html/documentation.html b/doc/html/documentation.html index 496c7f34..61ef0261 100644 --- a/doc/html/documentation.html +++ b/doc/html/documentation.html @@ -383,7 +383,7 @@ -o filename,
--output-name=filename - Force the output file name (usually flac just changes the extension). May only be used when encoding a single file. May not be used in conjunction with --output-prefix. + Force the output file name (usually flac just changes the extension). May only be used when encoding a single file. May not be used in conjunction with --output-prefix. @@ -519,7 +519,7 @@ - --apply-replaygain_which_is_not_lossless[=<specification>] + --apply-replaygain-which-is-not-lossless[=<specification>] Applies ReplayGain values while decoding. diff --git a/doc/html/download.html b/doc/html/download.html index 430753e2..0e26661a 100644 --- a/doc/html/download.html +++ b/doc/html/download.html @@ -87,7 +87,7 @@
  • Linux @@ -95,10 +95,11 @@
  • Mac OS X
  • @@ -166,6 +167,7 @@ Windows @@ -224,8 +227,9 @@ -->
  • Cooledit FLAC filter.
  • CoreFLAC: DirectShow filters for encoding to/decoding from FLAC.
  • -
  • DirectShow filters for encoding to/decoding from Ogg FLAC (and Vorbis, Speex, and Theora).
  • +
  • DirectShow filters for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).
  • Media Center/Media Jukebox FLAC plugin currently still beta, but promising. Source is also available.
  • +
  • Mp3CoolPlay-X FLAC plugin.
  • Nero FLAC plugin allows you to burn FLAC files directly to audio CDs.
  • QCD FLAC plugin.
  • FLAC Winamp3 plugin by Giacomo Margarito.
  • diff --git a/doc/html/faq.html b/doc/html/faq.html index 0f9b686d..6d2a6d09 100644 --- a/doc/html/faq.html +++ b/doc/html/faq.html @@ -108,6 +108,9 @@
  • Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?
  • +
  • + Why doesn't FLAC store all WAVE metadata? +
  • Why do the encoder settings have a big effect on the encoding time but not the decoding time?
  • @@ -246,9 +249,6 @@

    The short answer right now is probably "native FLAC". If all you are doing is compressing audio to be played back later, native FLAC will do everything you need, is more widely supported, and will yield smaller files. If you plan to edit the compressed audio, or want to multiplex the audio with video later in an Ogg container, Ogg FLAC is a better choice.

    -

    - Note that seeking in Ogg FLAC is not yet supported but will be in the next release. -

    Why aren't PERFORMER/TITLE/etc tags stored in the FLAC CUESHEET block?

    @@ -264,6 +264,18 @@

    Some players (for example Foobar2000) allow you to store the CDDB data as FLAC tags and can parse that.

    +

    + Why doesn't FLAC store all WAVE metadata? +

    +

    + FLAC is a general-purpose audio format, not just a compressed WAVE file format. There's a subtle difference. WAVE is a complicated standard; many kinds of data besides audio data can be put in it. FLAC's purpose is not to reproduce a WAVE file, including all the non-audio data that is in it, it is to losslessly compress the audio. +

    +

    + People have asked for that in FLAC, but if it were added, then what about similar formats like AIFF? flac can extract and compress audio data in an AIFF file also. AIFF is widely used on the Mac. AIFF users have asked that all AIFF metadata be stored for the same reasons. And it doesn't end there, other uncompressed formats exist. +

    +

    + Also, it would add a lot of complexity to FLAC because non-audio data has to go in the metadata section which is at the beginning of the FLAC file. But in WAVE and AIFF it can go before or after the audio, so the encoding would have to make multiple passes and also store the chunk hierarchy to be able to reproduce it. +

    Why do the encoder settings have a big effect on the encoding time but not the decoding time?

    @@ -362,6 +374,9 @@

    For the more technically inclined, FLAC only stores what is in the 'fmt ' and 'data' sub-chunks of a WAVE file.

    +

    + (see also) +

    I decoded a FLAC file and the WAVE is 2 bytes shorter than the original. Why?

    diff --git a/doc/html/favicon.ico b/doc/html/favicon.ico new file mode 100644 index 00000000..594fe38a Binary files /dev/null and b/doc/html/favicon.ico differ diff --git a/doc/html/id.html b/doc/html/id.html index 0e4e46d5..58292e73 100644 --- a/doc/html/id.html +++ b/doc/html/id.html @@ -137,7 +137,7 @@
    - id directory + id directory
    @@ -157,6 +157,14 @@ Application + + + 43756573 - "Cues" + + + GoldWave cue points (specification) + + 46746F6C - "Ftol" diff --git a/doc/html/index.html b/doc/html/index.html index 34126b60..6c5b37e7 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -11,6 +11,7 @@ FLAC - Free Lossless Audio Codec + @@ -85,16 +86,16 @@
    +

    Another handful of devices that support FLAC are out or announced: the Zensonic Z500 Networked DVD Media Player, Escient's new FireBall E2-40, E2-160, and DVDM-300, the M300A Digital Music Player from Digital Techniques (see manual), Meda Systems' Bravo servers (more info), and the MS300 Music Server by McIntosh Laboratory.

    +

    We just found out that SkipJam's line of networked audio/video components supports FLAC. (Even though it's not mentioned on their site, I'm assured that's just because the site hasn't been updated yet.)

    +

    Escient has a new home stereo component that supports FLAC, the FireBall E2-300.

    +

    Mindawn, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player.

    +

    Illiminable has updated his excellent Directshow filters to support native FLAC (in addition to Ogg FLAC/Vorbis/Speex/Theora).

    FLAC 1.1.1 has been released. There is a new changelog with a complete list of changes/fixes/improvements, but the main ones include: almost 2x decoding speedup on Macintosh, better Ogg FLAC support, and several new options to flac and metaflac. Available now on the download page.

    Also, the mailing lists have been migrated to Xiph.org. This should cut down on the abuse and response time. If you abandoned the lists because of spam problems, now is the time to sign back up: announce flac flac-dev

    There are some new hardware players out that support FLAC, the Hifidelio, a wireless home stereo component, and the iAUDIO M3 portable HDD digital audio player (firmware).

    -

    The Furthur Network, a legal-live music sharing P2P network, now supports FLAC.

    -

    Several sets from the Bonnaroo Music Festival are available in FLAC, including Dave Matthews & Friends and String Cheese Incident, with more to follow as the soundboard recordings are approved by the bands.

    -

    DigitalSoundboard.net has begun offering 24-bit recordings in FLAC format.

    -

    We've just discovered that the Roku Soundbridge now supports FLAC.

    -

    A Java native FLAC decoder is now available through the jFLAC project.

    Metallica is offering soundboard recordings of live shows in FLAC format.

    -

    last updated 2004-Oct-01

    +

    last updated 2005-Jan-20

    @@ -232,6 +233,9 @@
    + + + diff --git a/doc/html/links.html b/doc/html/links.html index 6c4ce00f..14a97977 100644 --- a/doc/html/links.html +++ b/doc/html/links.html @@ -103,7 +103,7 @@
    17-Jan-2005 :
      Several new devices support FLAC
    12-Nov-2004 :
      Escient's new FireBall E2-300 supports FLAC
    02-Nov-2004 :
      New Mindawn music store offers FLAC and Vorbis
    01-Oct-2004 :
      Version 1.1.1 released
    27-Jul-2004 :
      The Furthur network now supports FLAC
    21-Jun-2004 :
      Bonnaroo soundboard recordings available in FLAC
    - + @@ -110,7 +110,7 @@
  • The four-byte ASCII signature "FLAC", i.e. 0x46, 0x4C, 0x41, 0x43
  • A one-byte binary major version number for the mapping, e.g. 0x01 for mapping version 1.0
  • A one-byte binary minor version number for the mapping, e.g. 0x00 for mapping version 1.0
  • -
  • A two-byte, big-endian binary number signifying the number of header (non-audio) packets, including this one. This number may be zero (0x0000) to signify 'unknown' but be aware that some decoders may not be able to handle such streams.
  • +
  • A two-byte, big-endian binary number signifying the number of header (non-audio) packets, not including this one. This number may be zero (0x0000) to signify 'unknown' but be aware that some decoders may not be able to handle such streams.
  • The four-byte ASCII native FLAC signature "fLaC" according to the FLAC format specification
  • The STREAMINFO metadata block for the stream.
  • diff --git a/include/FLAC/stream_decoder.h b/include/FLAC/stream_decoder.h index 086c8ca9..6cd59d42 100644 --- a/include/FLAC/stream_decoder.h +++ b/include/FLAC/stream_decoder.h @@ -838,7 +838,7 @@ FLAC_API FLAC__bool FLAC__stream_decoder_process_until_end_of_stream(FLAC__Strea * * This function, when used from the higher FLAC__SeekableStreamDecoder * layer, can be used in more quickly determining FLAC frame boundaries - * when decoding of the actual data is not needed, for example when a + * when decoding of the actual data is not needed, for example when an * application is separating a FLAC stream into frames for editing or * storing in a container. To do this, the application can use * FLAC__seekable_stream_decoder_skip_single_frame() to quickly advance diff --git a/src/test_seeking/main.c b/src/test_seeking/main.c index d981d03e..0c7c8ef2 100644 --- a/src/test_seeking/main.c +++ b/src/test_seeking/main.c @@ -16,6 +16,10 @@ * Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */ +#ifdef HAVE_CONFIG_H +#include +#endif + #include #include #include @@ -27,7 +31,9 @@ #endif #include "FLAC/assert.h" #include "FLAC/file_decoder.h" +#ifdef FLAC__HAS_OGG #include "OggFLAC/file_decoder.h" +#endif typedef struct { FLAC__uint64 total_samples; @@ -73,6 +79,7 @@ static FLAC__bool die_f_(const char *msg, const FLAC__FileDecoder *decoder) return false; } +#ifdef FLAC__HAS_OGG static FLAC__bool die_of_(const char *msg, const OggFLAC__FileDecoder *decoder) { OggFLAC__FileDecoderState state = OggFLAC__file_decoder_get_state(decoder); @@ -98,6 +105,7 @@ static FLAC__bool die_of_(const char *msg, const OggFLAC__FileDecoder *decoder) return false; } +#endif static FLAC__StreamDecoderWriteStatus file_decoder_write_callback_(const FLAC__FileDecoder *decoder, const FLAC__Frame *frame, const FLAC__int32 * const buffer[], void *client_data) { @@ -252,6 +260,7 @@ static FLAC__bool seek_barrage_native_flac(const char *filename, unsigned count) return true; } +#ifdef FLAC__HAS_OGG static FLAC__bool seek_barrage_ogg_flac(const char *filename, unsigned count) { OggFLAC__FileDecoder *decoder; @@ -341,6 +350,7 @@ static FLAC__bool seek_barrage_ogg_flac(const char *filename, unsigned count) return true; } +#endif int main(int argc, char *argv[]) { @@ -380,10 +390,17 @@ int main(int argc, char *argv[]) { FLAC__bool ok; - if (strlen(filename) > 4 && 0 == strcmp(filename+strlen(filename)-4, ".ogg")) + if (strlen(filename) > 4 && 0 == strcmp(filename+strlen(filename)-4, ".ogg")) { +#ifdef FLAC__HAS_OGG ok = seek_barrage_ogg_flac(filename, count); - else +#else + fprintf(stderr, "ERROR: Ogg FLAC not supported\n"); + ok = false; +#endif + } + else { ok = seek_barrage_native_flac(filename, count); + } return ok? 0 : 2; } }

    - Below is a list of devices that support the FLAC format. + Below is a list of devices that support the FLAC format. So far we only have experience with the Rio Reciever. Manufacturers, if you would like your product reviewed here, feel free to send a unit.

    @@ -111,15 +111,18 @@

    @@ -136,8 +139,8 @@ Portable/Handheld:

    @@ -171,6 +174,7 @@

    @@ -212,6 +219,7 @@
  • Open Source Audio
  • +
  • dxdt.org
  • etree.org
  • The Furthur Network
  • @@ -248,6 +256,7 @@
  • EasyTAG versatile tagger
  • Entagged, a Java audio file tagger
  • etree-scripts: command-line tools for verifying, tagging, converting, and burning lossless audio files
  • +
  • Flacattack: an all-in-one tool that works with ExactAudioCopy to encode a CD image to FLAC, embed the cuesheet, add ReplayGain, create lossy files, etc. all in a customizable directory structure.
  • FLAC frontend (Windows GUI)
  • MacFLAC Mac OS X FLAC distribution
  • rawrec/rawplay recording/playback tools
  • @@ -283,6 +292,7 @@
  • Media Center FLAC plugin
  • MPD, Music Player Daemon
  • MPlayer
  • +
  • Musik: an open-source, cross-platform multimedia player and library
  • MythTV: Linux PVR and more
  • ripperX: X-based ripper/encoder
  • Soepkip TNG music playing daemon + web interface
  • @@ -302,6 +312,7 @@
  • crip: console ripper/encoder/tagger
  • MAREO multi-format encoder for EAC
  • rip command-line ripper/encoder
  • +
  • RipIT, a console-based front-end to several ripping and encoding tools
  • @@ -324,6 +335,7 @@
  • Audio::FLAC perl module
  • Audio::FLAC::Decoder perl module
  • CoreFLAC: FLAC DirectShow filters
  • +
  • DirectShow filters for encoding to/decoding from FLAC and Ogg FLAC (as well as Ogg Vorbis/Speex/Theora).
  • getID3(): a PHP4 script for extracting metadata
  • GStreamer streaming media framework
  • jFLAC: Java native FLAC decoder
  • diff --git a/doc/html/news.html b/doc/html/news.html index 9e47e9ec..ef75813a 100644 --- a/doc/html/news.html +++ b/doc/html/news.html @@ -81,7 +81,46 @@

    - 1-Oct-2004: + 17-Jan-2005: +

    +

    +

    +

    + +

    + 12-Nov-2004: +

    +

    +

      +
    • + Escient's new FireBall E2-300 supports FLAC +

      + Escient has a new home stereo component that supports FLAC, the FireBall E2-300.

      +
    • +
    +

    + +

    + 02-Nov-2004: +

    +

    +

      +
    • + New Mindawn music store offers FLAC and Vorbis +

      + Mindawn, a new online music service offering FLAC and Ogg Vorbis, is now open. They also have a multi-platform (Windows, Linux, Mac OS X) CD ripper/encoder and are finishing up a multi-platform player. +

    • +
    +

    + +

    + 01-Oct-2004:

      diff --git a/doc/html/ogg_mapping.html b/doc/html/ogg_mapping.html index 92863aed..6b1fd47b 100644 --- a/doc/html/ogg_mapping.html +++ b/doc/html/ogg_mapping.html @@ -33,7 +33,7 @@
      download  |   features  |   goals  |  format  |  format  |   id  |   comparison  |   documentation  |