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); }