Exemplo n.º 1
0
        private void AnalyzeRaw(ChunkArgs e)
        {
            // logger.Debug(string.Format("ANALYZE RAW Real: {0} Step: {1} Bits: {2} Sample rate: {3} Data length: {4} Fft Length: {5}", _real, _step, _converter.BitRate, e.SamplingRate, e.RawData.Length, _fftLength));

            if (_real)
            {
                // NetRadio.Devices.G3XDdc.Signal.G3XDdcIfProvider
                for (var n = 0; n < e.RawData.Length; n += _step)
                {
                    var f = _converter.Convert(e.RawData, n);
                    Add(f, 0);
                }
            }
            else
            {
                // NetRadio.Devices.G3XDdc.Signal.G3XDdcDdc1StreamProvider
                for (var n = 0; n < e.RawData.Length; n += _step * 2)
                {
                    var r = _converter.Convert(e.RawData, n);
                    var i = _converter.Convert(e.RawData, n + _step);
                    Add(r, i);
                }
            }

            if (ForceInstantFft)
            {
                CalculateFft();
            }
        }
Exemplo n.º 2
0
 private void AudioChunkRecieved(object sender, ChunkArgs e)
 {
     _stopLock.WaitOne();
     if (_writer != null)
     {
         _writer.Write(e.RawData, 0, e.RawData.Length);
     }
 }
Exemplo n.º 3
0
        void G313AudioProvider_IfChunkRecieved(object sender, ChunkArgs e)
        {
            if (DataChunkRecieved == null)
            {
                return;
            }

            DataChunkRecieved(this, e);
        }
Exemplo n.º 4
0
 private void DataChunkRecieved(object sender, ChunkArgs e)
 {
     logger.Debug(string.Format(" DATA CHUNK RECIEVED - {7,7} : Source: {0,-55} Real: {1,-5} Step: {2} Bits: {3} Sample rate: {4,-10} Data length: {5,-7} Fft Length: {6,-6}", sender.ToString(), _real, _step, _converter.BitRate, e.SamplingRate, e.RawData.Length, _fftLength, _pushCount + 1));
     lock (_bufferLock)
     {
         _pushCount++;
         _rawArgs = e;
     }
 }
Exemplo n.º 5
0
        private void AudioChunkRecieved(object sender, ChunkArgs e)
        {
            _buffer.AddSamples(e.RawData, 0, e.RawData.Length);

            if (_bufferedLength < _preBufferLength)
            {
                _bufferedLength += e.RawData.Length / (float)_byteRate;
            }
            else
            {
                _bufferLock.Set();
            }
        }