protected override bool GetLiveFrameInternal(TimeSpan timeout, out BaseDataHeader header, out byte[] data)
 {
     header = null;
     data   = null;
     if (_currentSpeakerData != null && _currentSpeakerHeader != null)
     {
         header = _currentSpeakerHeader.Clone();
         data   = _currentSpeakerData;
         _currentSpeakerData = null;
         return(true);
     }
     return(false);
 }
예제 #2
0
 protected override bool GetLiveFrameInternal(TimeSpan timeout, out BaseDataHeader header, out byte[] data)
 {
     header = null;
     data   = null;
     byte[] frame = _demoConnectionManager.GetLiveFrame(Channel, false);
     if (frame == null)
     {
         return(false);
     }
     _currentAudioHeader.Length    = (ulong)frame.Length;
     _currentAudioHeader.Timestamp = DateTime.UtcNow;
     _currentAudioHeader.SequenceNumber++;
     _currentAudioHeader.SampleCount = frame.Length / 2; // Assume 16 bits per sample
     header = _currentAudioHeader.Clone();
     data   = frame;
     return(true);
 }
        protected override bool GetLiveFrameInternal(TimeSpan timeout, out BaseDataHeader header, out byte[] data)
        {
            header = null;
            data   = null;
            byte[] frame = null;

            // TODO: Implement request for fetching frame data from device

            if (frame == null)
            {
                return(false);
            }
            _currentAudioHeader.Length    = (ulong)frame.Length;
            _currentAudioHeader.Timestamp = DateTime.UtcNow;
            _currentAudioHeader.SequenceNumber++;
            _currentAudioHeader.SampleCount = frame.Length / 2; // Assume 16 bits per sample
            header = _currentAudioHeader.Clone();
            data   = frame;
            return(true);
        }