+  |
+
+  |
+
+ |
+
+
+ This is an informal changelog, a summary of changes in each release. Particulary important for developers is the precise description of changes to the library interfaces.
+
+
+
+ FLAC 1.1.1
+
+
+
+ -
+ General:
+
+ - Ogg FLAC seeking now works
+
+
+ -
+ FLAC format:
+
+ - Make invalid the metadata block type 127 so that audio frames can always be distinguished from metadata by seeing 0xff as the first byte.
+
+
+ -
+ flac:
+
+ - Print an error when output file already exists instead of automatically overwriting.
+ - New option -f (--force) to force overwriting if the output file already exists.
+ - New option --cue to select a specific section to decode using cuesheet track/index points.
+ - New option --totally-silent to suppress all output.
+ - New (but undocumented) option --apply-replaygain-which-is-not-lossless which applies ReplayGain to the decoded output. See this thread for usage and caveats.
+ - When encoding to Ogg FLAC, use a random serial number (instead of 0 as was done before) when a serial number is not specified.
+ - When encoding multiple Ogg FLAC streams, --serial-number or random serial number sets the first number, which is then incremented for subsequent streams (before, the same serial number was used for all streams).
+ - Decoder no longer exits with an error when writing to stdout and the pipe is broken.
+ - Better explanation of common error messages.
+ - Default extension when writing AIFF files is .aif (before, it was .aiff).
+ - Write more common representation of SANE numbers in AIFF files.
+ - Bug fix: calculating ReplayGain on 48kHz streams.
+ - Bug fix: check for supported block alignments in WAVE files.
+ - Bug fix: #679166: flac doesn't respect RIFF subchunk padding byte.
+ - Bug fix: #828391: --add-replay-gain segfaults.
+ - Bug fix: #851155: Can't seek to position in flac file.
+ - Bug fix: #851756: flac --skip --until reads entire file.
+ - Bug fix: #877122: problem parsing cuesheet with CATALOG entry.
+ - Bug fix: #896057: parsing ISRC number from cuesheet.
+
+
+ -
+ metaflac:
+
+ - Better explanation of common error messages.
+ - Bug fix: calculating ReplayGain on 48kHz streams.
+ - Bug fix: incorrect numbers when printing seek points.
+
+
+ -
+ plugins:
+
+ - Speed optimization in ReplayGain synthesis.
+ - Speed optimization in XMMS playback.
+ - Support for big-endian architectures in XMMS plugin.
+ - Bug fix: make hard limiter default to off in XMMS plugin.
+ - Bug fix: stream length calculation bug in XMMS plugin, debian bug #200435; see also.
+ - Bug fix: small memory leak in XMMS plugin.
+
+
+ -
+ build system:
+
+ - ordinals.h is now static, not a build-generated file anymore.
+
+
+ -
+ libraries:
+
+ - libFLAC: Make stream encoder encode the blocksize and sample rate in the frame header if at all possible (not in STREAMINFO), even if subset encoding was not requested.
+ - libFLAC: Bug fix: fixed seek routine where infinite loop could happen when seeking past end of stream.
+ - libFLAC, libFLAC++: added methods to skip single frames, useful for quickly finding frame boundaries (see interface changes below).
+ - libOggFLAC, libOggFLAC++: New seekable-stream and file encoder and decoder APIs to match native FLAC APIs (see interface changes below).
+
+
+ -
+ Interface changes:
+
+ -
+ libFLAC:
+
+ - Added callback-based versions of metadata editing functions:
+
+ - FLAC__metadata_chain_read_with_callbacks()
+ - FLAC__metadata_chain_write_with_callbacks()
+ - FLAC__metadata_chain_write_with_callbacks_and_tempfile()
+ - FLAC__metadata_chain_check_if_tempfile_needed()
+
+
+ - Added decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
+
+ - FLAC__stream_decoder_skip_single_frame()
+ - FLAC__seekable_stream_decoder_skip_single_frame()
+ - FLAC__file_decoder_skip_single_frame()
+
+
+ - Added new required tell callback on seekable stream encoder:
+
+ - FLAC__SeekableStreamEncoderTellStatus and FLAC__SeekableStreamEncoderTellStatusString[]
+ - FLAC__SeekableStreamEncoderTellCallback
+ - FLAC__seekable_stream_encoder_set_tell_callback()
+
+
+ - Changed FLAC__SeekableStreamEncoderState by adding FLAC__SEEKABLE_STREAM_ENCODER_TELL_ERROR
+ - Changed Tell callback is now required to initialize seekable stream encoder
+ - Deleted erroneous and unimplemented FLAC__file_decoder_process_remaining_frames()
+
+
+ -
+ libFLAC++:
+
+ - Added decoder functions for skipping single frames, also useful for quickly finding frame boundaries:
+
+ - FLAC::Decoder::Stream::skip_single_frame()
+ - FLAC::Decoder::SeekableStream::skip_single_frame()
+ - FLAC::Decoder::File::skip_single_frame()
+
+
+ - Added encoder functions for setting metadata:
+
+ - FLAC::Encoder::Stream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+ - FLAC::Encoder::SeekableStream::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+ - FLAC::Encoder::File::set_metadata(FLAC::Metadata::Prototype **metadata, unsigned num_blocks)
+
+
+ - Added new required tell callback on seekable stream encoder:
+
+ - pure virtual FLAC::Encoder::SeekableStream::tell_callback()
+
+
+ - Changed Tell callback is now required to initialize seekable stream encoder
+ - Deleted the following methods:
+
+ - FLAC::Decoder::Stream::State::resolved_as_cstring()
+ - FLAC::Encoder::Stream::State::resolved_as_cstring()
+
+
+
+
+ -
+ libOggFLAC:
+
+ - Added OggFLAC__SeekableStreamDecoder interface
+ - Added OggFLAC__FileDecoder interface
+ - Added OggFLAC__SeekableStreamEncoder interface
+ - Added OggFLAC__FileEncoder interface
+ - Added OggFLAC__stream_decoder_get_resolved_state_string()
+ - Added OggFLAC__stream_encoder_get_resolved_state_string()
+ - Added OggFLAC__stream_encoder_set_metadata_callback()
+ - Changed OggFLAC__StreamDecoderState by adding OggFLAC__STREAM_DECODER_END_OF_STREAM
+
+
+ -
+ libOggFLAC++:
+
+ - Added OggFLAC::Decoder::SeekableStream interface
+ - Added OggFLAC::Decoder::File interface
+ - Added OggFLAC::Encoder::SeekableStream interface
+ - Added OggFLAC::Encoder::File interface
+ - Added OggFLAC::Decoder::Stream::get_resolved_state_string()
+ - Added OggFLAC::Encoder::Stream::get_resolved_state_string()
+ - Added pure virtual OggFLAC::Encoder::Stream::metadata_callback()
+
+
+
+
+
+
+
+
+ |
+
+  |
+ |
+