Skip to content

Commit 7cc7f78

Browse files
ktmf01c72578
andauthored
Add porting guide for 1.5.0 (#776)
Co-authored-by: Wolfgang Stöggl <c72578@yahoo.de>
1 parent 18795be commit 7cc7f78

File tree

2 files changed

+46
-1
lines changed

2 files changed

+46
-1
lines changed

CHANGELOG.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ As there have been additions to the libFLAC interfaces, the libFLAC version numb
2020
* Built-in help and tool documentation are improved (H2Swine)
2121
* When re-encoding a FLAC file from an existing FLAC file, a check is added that the MD5 sums of both files are the same
2222
* libFLAC and libFLAC++
23-
* The library interfaces have been extended. See the porting guide ***TODO TODO TODO***
23+
* The library interfaces have been extended. See the porting guide (part of the API documentation)
2424
* An error is sent when a frame is missing
2525
* The algorithm of the 'loose mid side' option has changed. Instead of checking every few frames which option is best and keeping that for the next few frames, a fast heuristic is now used. This was necessary to enable multithreading
2626
* Most level 0 metadata interface functions now also work with Ogg FLAC files

include/FLAC/all.h

Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -436,6 +436,51 @@
436436
*
437437
*/
438438

439+
/** \defgroup porting_1_4_3_to_1_5_0 Porting from FLAC 1.4.3 to 1.5.0
440+
* \ingroup porting
441+
*
442+
* \brief
443+
* This module describes porting from FLAC 1.4.3 to FLAC 1.5.0.
444+
*
445+
* \section porting_1_4_3_to_1_5_0_summary Summary
446+
*
447+
* Between FLAC 1.4.3 and FLAC 1.5.0, there have been changes to
448+
* existing functions and enums:
449+
* - the functions FLAC__metadata_get_streaminfo,
450+
* FLAC__metadata_get_tags and FLAC__metadata_get_cuesheet can now
451+
* read from Ogg FLAC files
452+
* - when encoding Ogg FLAC files, the 'samples' argument of the
453+
* write callback no longer always returns 0.
454+
* - two error statuses have been added to the
455+
* FLAC__StreamDecoderErrorStatus enum
456+
* - one status is added to FLAC__StreamDecoderState, which is only
457+
* used when the new decoding of chained streams functionality is
458+
* enabled
459+
* - one status is added to FLAC__StreamDecoderReadStatus, which is
460+
* only used when the new decoding of chained streams functionality
461+
* is enabled
462+
* - the function
463+
* FLAC__metadata_chain_write_with_callbacks_and_tempfile can now
464+
* be used regardless of whether a tempfile is actually needed,
465+
* which is useful when writing to a new file is desired anyway
466+
*
467+
* Furthermore, there have been the following additions:
468+
* - the functions FLAC__stream_decoder_set_decode_chained_stream,
469+
* FLAC__stream_decoder_get_decode_chained_stream,
470+
* FLAC__stream_decoder_finish_link,
471+
* FLAC__stream_decoder_skip_single_link,
472+
* FLAC__stream_decoder_process_until_end_of_link and
473+
* FLAC__stream_decoder_get_link_lengths have been added
474+
* to support decoding of chained streams
475+
* - the function FLAC__metadata_chain_write_new_file has been added,
476+
* which is useful to combine copying of a file with changing its
477+
* metadata
478+
* - the function FLAC__stream_decoder_find_total_samples was added,
479+
* which seeks to the end of a file to find the total number of
480+
* samples
481+
*
482+
*/
483+
439484
/** \defgroup flac FLAC C API
440485
*
441486
* The FLAC C API is the interface to libFLAC, a set of structures

0 commit comments

Comments
 (0)