OpenRA.FileFormats.VocFormat.FillBuffer C# (CSharp) Method

FillBuffer() private method

private FillBuffer ( int maxSamples ) : int
maxSamples int
return int
        int FillBuffer(int maxSamples)
        {
            var bufferedSamples = 0;
            var offset = 0;

            maxSamples = Math.Min(buffer.Length, maxSamples);

            while (maxSamples > 0 && !EndOfData)
            {
                var len = Math.Min(maxSamples, samplesLeftInBlock);
                stream.ReadBytes(buffer, offset, len);
                offset += len;
                var samplesRead = len;
                bufferedSamples += samplesRead;
                maxSamples -= samplesRead;
                samplesLeftInBlock -= samplesRead;
                samplePosition += len;

                UpdateBlockIfNeeded();
            }

            return bufferedSamples;
        }