CSharpRTMP.Core.Streaming.MP3Document.InitFrameSizes C# (CSharp) Метод

InitFrameSizes() приватный Метод

private InitFrameSizes ( ) : void
Результат void
        private void InitFrameSizes()
        {
            if (_frameSizes != null) return;
               
            //ver/layer/bitrate/samplerate/padding
            _frameSizes = new uint[4, 4, 15, 3, 2];
            for (byte ver = 0; ver < 4; ver++)
            {
                if (ver == 1)
                    continue;
                for (byte layer = 0; layer < 4; layer++)
                {
                    if (layer == 0)
                        continue;
                    for (byte bitRateIndex = 1; bitRateIndex < 15; bitRateIndex++)
                    {
                        for (byte sampleRateIndex = 0; sampleRateIndex < 3; sampleRateIndex++)
                        {
                            for (byte padding = 0; padding < 2; padding++)
                            {
                                var bitRate = _bitRates[ver, layer, bitRateIndex];
                                var sampleRate = _samplingRates[ver, sampleRateIndex];
                                int length;
                                if (layer == LAYER_1)
                                {
                                    length = (12 * bitRate / sampleRate + padding) * 4;
                                }
                                else
                                {
                                    length = 144 * bitRate / sampleRate + padding;
                                }
                                _frameSizes[ver, layer, bitRateIndex, sampleRateIndex, padding] = (uint) length;
                            }
                        }
                    }
                }
            }
        }