mirror of
https://github.com/f4exb/sdrangel.git
synced 2025-04-07 03:58:38 -04:00
Audio in/out mutex corrections
This commit is contained in:
parent
515bc1a04e
commit
f60f418f1b
@ -22,7 +22,7 @@
|
||||
#include "audio/audiofifo.h"
|
||||
|
||||
AudioInput::AudioInput() :
|
||||
m_mutex(),
|
||||
m_mutex(QMutex::Recursive),
|
||||
m_audioInput(0),
|
||||
m_audioUsageCount(0),
|
||||
m_onExit(false),
|
||||
@ -47,10 +47,9 @@ AudioInput::~AudioInput()
|
||||
|
||||
bool AudioInput::start(int device, int rate)
|
||||
{
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
|
||||
if (m_audioUsageCount == 0)
|
||||
{
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
QAudioDeviceInfo devInfo;
|
||||
|
||||
if (device < 0)
|
||||
@ -194,8 +193,6 @@ void AudioInput::stop()
|
||||
{
|
||||
qDebug("AudioInput::stop");
|
||||
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
|
||||
if (m_audioUsageCount > 0)
|
||||
{
|
||||
m_audioUsageCount--;
|
||||
@ -203,6 +200,7 @@ void AudioInput::stop()
|
||||
if (m_audioUsageCount == 0)
|
||||
{
|
||||
qDebug("AudioInput::stop: effectively close QIODevice");
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
QIODevice::close();
|
||||
|
||||
if (!m_onExit) {
|
||||
|
@ -23,7 +23,7 @@
|
||||
#include "audio/audiofifo.h"
|
||||
|
||||
AudioOutput::AudioOutput() :
|
||||
m_mutex(),
|
||||
m_mutex(QMutex::Recursive),
|
||||
m_audioOutput(0),
|
||||
m_audioUsageCount(0),
|
||||
m_onExit(false),
|
||||
@ -47,10 +47,10 @@ AudioOutput::~AudioOutput()
|
||||
|
||||
bool AudioOutput::start(int device, int rate)
|
||||
{
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
|
||||
if (m_audioUsageCount == 0)
|
||||
{
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
QAudioDeviceInfo devInfo;
|
||||
|
||||
if (device < 0)
|
||||
@ -191,14 +191,13 @@ void AudioOutput::stop()
|
||||
{
|
||||
qDebug("AudioOutput::stop");
|
||||
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
|
||||
if (m_audioUsageCount > 0)
|
||||
{
|
||||
m_audioUsageCount--;
|
||||
|
||||
if (m_audioUsageCount == 0)
|
||||
{
|
||||
QMutexLocker mutexLocker(&m_mutex);
|
||||
QIODevice::close();
|
||||
|
||||
if (!m_onExit) {
|
||||
|
Loading…
Reference in New Issue
Block a user