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