diff --git a/CUETools.Codecs.FLAKE/Flake.cs b/CUETools.Codecs.FLAKE/Flake.cs index c34163e..aa76263 100644 --- a/CUETools.Codecs.FLAKE/Flake.cs +++ b/CUETools.Codecs.FLAKE/Flake.cs @@ -34,7 +34,7 @@ namespace CUETools.Codecs.FLAKE public const int FLAC__STREAM_METADATA_SEEKPOINT_FRAME_SAMPLES_LEN = 16; /* bits */ public static readonly int[] flac_samplerates = new int[16] { - 0, 0, 0, 0, + 0, 88200, 176400, 192000, 8000, 16000, 22050, 24000, 32000, 44100, 48000, 96000, 0, 0, 0, 0 }; diff --git a/CUETools.Codecs.FLAKE/FlakeReader.cs b/CUETools.Codecs.FLAKE/FlakeReader.cs index 121344f..c91e0c3 100644 --- a/CUETools.Codecs.FLAKE/FlakeReader.cs +++ b/CUETools.Codecs.FLAKE/FlakeReader.cs @@ -325,7 +325,7 @@ namespace CUETools.Codecs.FLAKE frame.blocksize = Flake.flac_blocksizes[frame.bs_code0]; // custom sample rate - if (sr_code0 < 4 || sr_code0 > 11) + if (sr_code0 < 1 || sr_code0 > 11) { // sr_code0 == 12 -> sr == bitreader.readbits(8) * 1000; // sr_code0 == 13 -> sr == bitreader.readbits(16); diff --git a/CUETools.Codecs.FLAKE/FlakeWriter.cs b/CUETools.Codecs.FLAKE/FlakeWriter.cs index d7c1130..b390ffd 100644 --- a/CUETools.Codecs.FLAKE/FlakeWriter.cs +++ b/CUETools.Codecs.FLAKE/FlakeWriter.cs @@ -1805,11 +1805,11 @@ new int[] { // 30 { if (_IO == null) _IO = new FileStream(_path, FileMode.Create, FileAccess.Write, FileShare.Read); - int header_size = flake_encode_init(); + inited = true; + int header_size = flake_encode_init(); _IO.Write(header, 0, header_size); if (_IO.CanSeek) first_frame_offset = _IO.Position; - inited = true; } buff.Prepare(this); @@ -1997,7 +1997,7 @@ new int[] { // 30 ch_code = channels - 1; // find samplerate in table - for (i = 4; i < 12; i++) + for (i = 1; i < 12; i++) { if (_pcm.SampleRate == Flake.flac_samplerates[i]) {