Ejemplo n.º 1
0
        public bool Decode(IPacket packet, float[][] buffer, out int packetStartindex, out int packetValidLength, out int packetTotalLength)
        {
            if (GetPacketInfo(packet, false, out var blockSize, out var windowIndex, out _, out packetStartindex, out packetValidLength, out packetTotalLength))
            {
                _mapping.DecodePacket(packet, blockSize, _channels, buffer);

                var window = Windows[windowIndex];
                for (var i = 0; i < blockSize; i++)
                {
                    for (var ch = 0; ch < _channels; ch++)
                    {
                        buffer[ch][i] *= window[i];
                    }
                }
                return(true);
            }
            return(false);
        }