Esempio n. 1
0
        public static async ValueTask <Fin <FirmwareRecord> > ReadFirmwareAsync(FileStream stream)
        {
            var vorbisChunk = Flac.ScanForChunk(stream, Flac.VorbisCommentBlockNumber);

            if (vorbisChunk.IsFail)
            {
                return((Error)vorbisChunk);
            }

            var vorbisSpan = await RangeHelper.ReadRangeAsync(stream, (RangeHelper.Range) vorbisChunk);

            // find the frontier labs vorbis vendor comment
            return(FindInBufferFirmware(vorbisSpan, ((RangeHelper.Range)vorbisChunk).Start));
        }