int verbose_reset_buffer(mirisdr_dev_t *dev) { int r; r = mirisdr_reset_buffer(dev); if (r < 0) { fprintf(stderr, "WARNING: Failed to reset buffers.\n");} return r; }
bool SDRPlayInput::start() { // QMutexLocker mutexLocker(&m_mutex); int res; if (!m_dev) { return false; } if (m_running) stop(); char s12FormatString[] = "336_S16"; if ((res = mirisdr_set_sample_format(m_dev, s12FormatString))) // sample format S12 { qCritical("SDRPlayInput::start: could not set sample format: rc: %d", res); stop(); return false; } int sampleRate = SDRPlaySampleRates::getRate(m_settings.m_devSampleRateIndex); if ((res = mirisdr_set_sample_rate(m_dev, sampleRate))) { qCritical("SDRPlayInput::start: could not set sample rate to %d: rc: %d", sampleRate, res); stop(); return false; } char bulkFormatString[] = "BULK"; if ((res = mirisdr_set_transfer(m_dev, bulkFormatString)) < 0) { qCritical("SDRPlayInput::start: could not set USB Bulk mode: rc: %d", res); stop(); return false; } if ((res = mirisdr_reset_buffer(m_dev)) < 0) { qCritical("SDRPlayInput::start: could not reset USB EP buffers: %s", strerror(errno)); stop(); return false; } m_sdrPlayThread = new SDRPlayThread(m_dev, &m_sampleFifo); m_sdrPlayThread->setLog2Decimation(m_settings.m_log2Decim); m_sdrPlayThread->setFcPos((int) m_settings.m_fcPos); m_sdrPlayThread->startWork(); // mutexLocker.unlock(); applySettings(m_settings, true, true); m_running = true; return true; }
SDRIOEXPORT void * start_rx_routine(void *ctx) { sdrio_device *dev = (sdrio_device *)ctx; if (dev) { mirisdr_reset_buffer(dev->mirics_device); mirisdr_read_async(dev->mirics_device, mirics_read_async_cb, dev, 32, 262144); pthread_exit(0); } return 0; }