Renamed sdrbase AudioInput to AudioInputDevice

pull/714/head
f4exb 2020-11-12 20:30:34 +01:00
rodzic 0d6e629436
commit 00b234b85c
13 zmienionych plików z 52 dodań i 62 usunięć

Wyświetl plik

@ -33,10 +33,8 @@
#include "audioinput.h" #include "audioinput.h"
#include "audioinputthread.h" #include "audioinputthread.h"
MESSAGE_CLASS_DEFINITION(AudioInputSource::AudioInput::MsgConfigureAudioInput, Message) MESSAGE_CLASS_DEFINITION(AudioInput::MsgConfigureAudioInput, Message)
MESSAGE_CLASS_DEFINITION(AudioInputSource::AudioInput::MsgStartStop, Message) MESSAGE_CLASS_DEFINITION(AudioInput::MsgStartStop, Message)
namespace AudioInputSource {
AudioInput::AudioInput(DeviceAPI *deviceAPI) : AudioInput::AudioInput(DeviceAPI *deviceAPI) :
m_deviceAPI(deviceAPI), m_deviceAPI(deviceAPI),
@ -521,5 +519,3 @@ void AudioInput::networkManagerFinished(QNetworkReply *reply)
reply->deleteLater(); reply->deleteLater();
} }
}

Wyświetl plik

@ -26,7 +26,7 @@
#include <QNetworkRequest> #include <QNetworkRequest>
#include "dsp/devicesamplesource.h" #include "dsp/devicesamplesource.h"
#include "audio/audioinput.h" #include "audio/audioinputdevice.h"
#include "audio/audiofifo.h" #include "audio/audiofifo.h"
#include "audioinputsettings.h" #include "audioinputsettings.h"
@ -36,9 +36,6 @@ class QNetworkReply;
class DeviceAPI; class DeviceAPI;
class AudioInputThread; class AudioInputThread;
// AudioInput is used in sdrbase/audio/audioinput.h
namespace AudioInputSource {
class AudioInput : public DeviceSampleSource { class AudioInput : public DeviceSampleSource {
Q_OBJECT Q_OBJECT
public: public:
@ -134,7 +131,7 @@ public:
private: private:
DeviceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
::AudioInput m_audioInput; AudioInputDevice m_audioInput;
AudioFifo m_fifo; AudioFifo m_fifo;
QMutex m_mutex; QMutex m_mutex;
AudioInputSettings m_settings; AudioInputSettings m_settings;
@ -156,6 +153,4 @@ private slots:
void networkManagerFinished(QNetworkReply *reply); void networkManagerFinished(QNetworkReply *reply);
}; };
}
#endif // INCLUDE_AUDIOINPUT_H #endif // INCLUDE_AUDIOINPUT_H

Wyświetl plik

@ -39,7 +39,7 @@ AudioInputGui::AudioInputGui(DeviceUISet *deviceUISet, QWidget* parent) :
m_settings(), m_settings(),
m_sampleSource(NULL) m_sampleSource(NULL)
{ {
m_sampleSource = (AudioInputSource::AudioInput*) m_deviceUISet->m_deviceAPI->getSampleSource(); m_sampleSource = (AudioInput*) m_deviceUISet->m_deviceAPI->getSampleSource();
ui->setupUi(this); ui->setupUi(this);
@ -94,18 +94,18 @@ bool AudioInputGui::deserialize(const QByteArray& data)
bool AudioInputGui::handleMessage(const Message& message) bool AudioInputGui::handleMessage(const Message& message)
{ {
if (AudioInputSource::AudioInput::MsgConfigureAudioInput::match(message)) if (AudioInput::MsgConfigureAudioInput::match(message))
{ {
const AudioInputSource::AudioInput::MsgConfigureAudioInput& cfg = (AudioInputSource::AudioInput::MsgConfigureAudioInput&) message; const AudioInput::MsgConfigureAudioInput& cfg = (AudioInput::MsgConfigureAudioInput&) message;
m_settings = cfg.getSettings(); m_settings = cfg.getSettings();
blockApplySettings(true); blockApplySettings(true);
displaySettings(); displaySettings();
blockApplySettings(false); blockApplySettings(false);
return true; return true;
} }
else if (AudioInputSource::AudioInput::MsgStartStop::match(message)) else if (AudioInput::MsgStartStop::match(message))
{ {
AudioInputSource::AudioInput::MsgStartStop& notif = (AudioInputSource::AudioInput::MsgStartStop&) message; AudioInput::MsgStartStop& notif = (AudioInput::MsgStartStop&) message;
blockApplySettings(true); blockApplySettings(true);
ui->startStop->setChecked(notif.getStartStop()); ui->startStop->setChecked(notif.getStartStop());
blockApplySettings(false); blockApplySettings(false);
@ -262,7 +262,7 @@ void AudioInputGui::on_startStop_toggled(bool checked)
{ {
if (m_doApplySettings) if (m_doApplySettings)
{ {
AudioInputSource::AudioInput::MsgStartStop *message = AudioInputSource::AudioInput::MsgStartStop::create(checked); AudioInput::MsgStartStop *message = AudioInput::MsgStartStop::create(checked);
m_sampleSource->getInputMessageQueue()->push(message); m_sampleSource->getInputMessageQueue()->push(message);
} }
} }
@ -277,7 +277,7 @@ void AudioInputGui::updateHardware()
{ {
if (m_doApplySettings) if (m_doApplySettings)
{ {
AudioInputSource::AudioInput::MsgConfigureAudioInput* message = AudioInputSource::AudioInput::MsgConfigureAudioInput::create(m_settings, m_forceSettings); AudioInput::MsgConfigureAudioInput* message = AudioInput::MsgConfigureAudioInput::create(m_settings, m_forceSettings);
m_sampleSource->getInputMessageQueue()->push(message); m_sampleSource->getInputMessageQueue()->push(message);
m_forceSettings = false; m_forceSettings = false;
m_updateTimer.stop(); m_updateTimer.stop();

Wyświetl plik

@ -31,7 +31,7 @@
const PluginDescriptor AudioInputPlugin::m_pluginDescriptor = { const PluginDescriptor AudioInputPlugin::m_pluginDescriptor = {
QString("AudioInput"), QString("AudioInput"),
QString("Audio Input"), QString("Audio Input"),
QString("4.22.0"), QString("6.0.0"),
QString("(c) Jon Beniston, M7RCE and Edouard Griffiths, F4EXB"), QString("(c) Jon Beniston, M7RCE and Edouard Griffiths, F4EXB"),
QString("https://github.com/f4exb/sdrangel"), QString("https://github.com/f4exb/sdrangel"),
true, true,
@ -136,7 +136,7 @@ DeviceSampleSource *AudioInputPlugin::createSampleSourcePluginInstance(const QSt
{ {
if (sourceId == m_deviceTypeID) if (sourceId == m_deviceTypeID)
{ {
AudioInputSource::AudioInput* input = new AudioInputSource::AudioInput(deviceAPI); AudioInput* input = new AudioInput(deviceAPI);
return input; return input;
} }
else else

Wyświetl plik

@ -33,7 +33,7 @@ int AudioInputWebAPIAdapter::webapiSettingsGet(
(void) errorMessage; (void) errorMessage;
response.setAirspyHfSettings(new SWGSDRangel::SWGAirspyHFSettings()); response.setAirspyHfSettings(new SWGSDRangel::SWGAirspyHFSettings());
response.getAirspyHfSettings()->init(); response.getAirspyHfSettings()->init();
AudioInputSource::AudioInput::webapiFormatDeviceSettings(response, m_settings); AudioInput::webapiFormatDeviceSettings(response, m_settings);
return 200; return 200;
} }
@ -44,6 +44,6 @@ int AudioInputWebAPIAdapter::webapiSettingsPutPatch(
QString& errorMessage) QString& errorMessage)
{ {
(void) errorMessage; (void) errorMessage;
AudioInputSource::AudioInput::webapiUpdateDeviceSettings(m_settings, deviceSettingsKeys, response); AudioInput::webapiUpdateDeviceSettings(m_settings, deviceSettingsKeys, response);
return 200; return 200;
} }

Wyświetl plik

@ -25,7 +25,7 @@
#include <QNetworkRequest> #include <QNetworkRequest>
#include "dsp/devicesamplesource.h" #include "dsp/devicesamplesource.h"
#include "audio/audioinput.h" #include "audio/audioinputdevice.h"
#include "audio/audiofifo.h" #include "audio/audiofifo.h"
#include "fcdprosettings.h" #include "fcdprosettings.h"
@ -156,7 +156,7 @@ public:
private: private:
DeviceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
hid_device *m_dev; hid_device *m_dev;
AudioInput m_fcdAudioInput; AudioInputDevice m_fcdAudioInput;
AudioFifo m_fcdFIFO; AudioFifo m_fcdFIFO;
QMutex m_mutex; QMutex m_mutex;
FCDProSettings m_settings; FCDProSettings m_settings;

Wyświetl plik

@ -25,7 +25,7 @@
#include <QNetworkRequest> #include <QNetworkRequest>
#include "dsp/devicesamplesource.h" #include "dsp/devicesamplesource.h"
#include "audio/audioinput.h" #include "audio/audioinputdevice.h"
#include "audio/audiofifo.h" #include "audio/audiofifo.h"
#include "fcdproplussettings.h" #include "fcdproplussettings.h"
@ -145,7 +145,7 @@ public:
private: private:
DeviceAPI *m_deviceAPI; DeviceAPI *m_deviceAPI;
hid_device *m_dev; hid_device *m_dev;
AudioInput m_fcdAudioInput; AudioInputDevice m_fcdAudioInput;
AudioFifo m_fcdFIFO; AudioFifo m_fcdFIFO;
QMutex m_mutex; QMutex m_mutex;
FCDProPlusSettings m_settings; FCDProPlusSettings m_settings;

Wyświetl plik

@ -76,7 +76,7 @@ set(sdrbase_SOURCES
audio/audiog722.cpp audio/audiog722.cpp
audio/audioopus.cpp audio/audioopus.cpp
audio/audiooutput.cpp audio/audiooutput.cpp
audio/audioinput.cpp audio/audioinputdevice.cpp
audio/audionetsink.cpp audio/audionetsink.cpp
audio/audioresampler.cpp audio/audioresampler.cpp
@ -216,7 +216,7 @@ set(sdrbase_HEADERS
audio/audiog722.h audio/audiog722.h
audio/audiooutput.h audio/audiooutput.h
audio/audioopus.h audio/audioopus.h
audio/audioinput.h audio/audioinputdevice.h
audio/audionetsink.h audio/audionetsink.h
audio/audioresampler.h audio/audioresampler.h

Wyświetl plik

@ -312,7 +312,7 @@ void AudioDeviceManager::addAudioSource(AudioFifo* audioFifo, MessageQueue *samp
qDebug("AudioDeviceManager::addAudioSource: %d: %p", inputDeviceIndex, audioFifo); qDebug("AudioDeviceManager::addAudioSource: %d: %p", inputDeviceIndex, audioFifo);
if (m_audioInputs.find(inputDeviceIndex) == m_audioInputs.end()) { if (m_audioInputs.find(inputDeviceIndex) == m_audioInputs.end()) {
m_audioInputs[inputDeviceIndex] = new AudioInput(); m_audioInputs[inputDeviceIndex] = new AudioInputDevice();
} }
if ((m_audioInputs[inputDeviceIndex]->getNbFifos() == 0) && if ((m_audioInputs[inputDeviceIndex]->getNbFifos() == 0) &&
@ -570,7 +570,7 @@ void AudioDeviceManager::setInputDeviceInfo(int inputDeviceIndex, const InputDev
return; return;
} }
AudioInput *audioInput = m_audioInputs[inputDeviceIndex]; AudioInputDevice *audioInput = m_audioInputs[inputDeviceIndex];
if (oldDeviceInfo.sampleRate != deviceInfo.sampleRate) if (oldDeviceInfo.sampleRate != deviceInfo.sampleRate)
{ {

Wyświetl plik

@ -24,7 +24,7 @@
#include <QMap> #include <QMap>
#include <QAudioDeviceInfo> #include <QAudioDeviceInfo>
#include "audio/audioinput.h" #include "audio/audioinputdevice.h"
#include "audio/audiooutput.h" #include "audio/audiooutput.h"
#include "export.h" #include "export.h"
@ -133,7 +133,7 @@ private:
QMap<AudioFifo*, int> m_audioSourceFifos; //< audio source FIFO to audio input device index-1 map QMap<AudioFifo*, int> m_audioSourceFifos; //< audio source FIFO to audio input device index-1 map
QMap<AudioFifo*, MessageQueue*> m_audioFifoToSourceMessageQueues; //!< audio source FIFO to attached source message queue QMap<AudioFifo*, MessageQueue*> m_audioFifoToSourceMessageQueues; //!< audio source FIFO to attached source message queue
QMap<int, QList<MessageQueue*> > m_inputDeviceSourceMessageQueues; //!< sink message queues attached to device QMap<int, QList<MessageQueue*> > m_inputDeviceSourceMessageQueues; //!< sink message queues attached to device
QMap<int, AudioInput*> m_audioInputs; //!< audio device index to audio input map (index -1 is default device) QMap<int, AudioInputDevice*> m_audioInputs; //!< audio device index to audio input map (index -1 is default device)
QMap<QString, InputDeviceInfo> m_audioInputInfos; //!< audio device name to audio input device info QMap<QString, InputDeviceInfo> m_audioInputInfos; //!< audio device name to audio input device info
bool m_defaultOutputStarted; //!< True if the default audio output (-1) has already been started bool m_defaultOutputStarted; //!< True if the default audio output (-1) has already been started

Wyświetl plik

@ -19,10 +19,10 @@
#include <QAudioFormat> #include <QAudioFormat>
#include <QAudioDeviceInfo> #include <QAudioDeviceInfo>
#include <QAudioInput> #include <QAudioInput>
#include "audio/audioinput.h" #include "audio/audioinputdevice.h"
#include "audio/audiofifo.h" #include "audio/audiofifo.h"
AudioInput::AudioInput() : AudioInputDevice::AudioInputDevice() :
m_mutex(QMutex::Recursive), m_mutex(QMutex::Recursive),
m_audioInput(0), m_audioInput(0),
m_audioUsageCount(0), m_audioUsageCount(0),
@ -32,7 +32,7 @@ AudioInput::AudioInput() :
{ {
} }
AudioInput::~AudioInput() AudioInputDevice::~AudioInputDevice()
{ {
stop(); stop();
@ -46,7 +46,7 @@ AudioInput::~AudioInput()
m_audioFifos.clear(); m_audioFifos.clear();
} }
bool AudioInput::start(int device, int rate) bool AudioInputDevice::start(int device, int rate)
{ {
if (m_audioUsageCount == 0) if (m_audioUsageCount == 0)
{ {
@ -56,7 +56,7 @@ bool AudioInput::start(int device, int rate)
if (device < 0) if (device < 0)
{ {
devInfo = QAudioDeviceInfo::defaultInputDevice(); devInfo = QAudioDeviceInfo::defaultInputDevice();
qWarning("AudioInput::start: using default device %s", qPrintable(devInfo.defaultInputDevice().deviceName())); qWarning("AudioInputDevice::start: using default device %s", qPrintable(devInfo.defaultInputDevice().deviceName()));
} }
else else
{ {
@ -65,12 +65,12 @@ bool AudioInput::start(int device, int rate)
if (device < devicesInfo.size()) if (device < devicesInfo.size())
{ {
devInfo = devicesInfo[device]; devInfo = devicesInfo[device];
qWarning("AudioInput::start: using audio device #%d: %s", device, qPrintable(devInfo.deviceName())); qWarning("AudioInputDevice::start: using audio device #%d: %s", device, qPrintable(devInfo.deviceName()));
} }
else else
{ {
devInfo = QAudioDeviceInfo::defaultInputDevice(); devInfo = QAudioDeviceInfo::defaultInputDevice();
qWarning("AudioInput::start: audio device #%d does not exist. Using default device %s", device, qPrintable(devInfo.deviceName())); qWarning("AudioInputDevice::start: audio device #%d does not exist. Using default device %s", device, qPrintable(devInfo.deviceName()));
} }
} }
@ -86,17 +86,17 @@ bool AudioInput::start(int device, int rate)
if (!devInfo.isFormatSupported(m_audioFormat)) if (!devInfo.isFormatSupported(m_audioFormat))
{ {
m_audioFormat = devInfo.nearestFormat(m_audioFormat); m_audioFormat = devInfo.nearestFormat(m_audioFormat);
qWarning("AudioInput::start: %d Hz S16_LE audio format not supported. Nearest is sampleRate: %d channelCount: %d sampleSize: %d sampleType: %d", qWarning("AudioInputDevice::start: %d Hz S16_LE audio format not supported. Nearest is sampleRate: %d channelCount: %d sampleSize: %d sampleType: %d",
rate, m_audioFormat.sampleRate(), m_audioFormat.channelCount(), m_audioFormat.sampleSize(), (int) m_audioFormat.sampleType()); rate, m_audioFormat.sampleRate(), m_audioFormat.channelCount(), m_audioFormat.sampleSize(), (int) m_audioFormat.sampleType());
} }
else else
{ {
qInfo("AudioInput::start: audio format OK"); qInfo("AudioInputDevice::start: audio format OK");
} }
if (m_audioFormat.sampleSize() != 16) if (m_audioFormat.sampleSize() != 16)
{ {
qWarning("AudioInput::start: Audio device '%s' failed", qPrintable(devInfo.defaultInputDevice().deviceName())); qWarning("AudioInputDevice::start: Audio device '%s' failed", qPrintable(devInfo.defaultInputDevice().deviceName()));
return false; return false;
} }
@ -109,7 +109,7 @@ bool AudioInput::start(int device, int rate)
if (m_audioInput->state() != QAudio::ActiveState) if (m_audioInput->state() != QAudio::ActiveState)
{ {
qWarning("AudioInput::start: cannot start"); qWarning("AudioInputDevice::start: cannot start");
} }
} }
@ -118,9 +118,9 @@ bool AudioInput::start(int device, int rate)
return true; return true;
} }
void AudioInput::stop() void AudioInputDevice::stop()
{ {
qDebug("AudioInput::stop"); qDebug("AudioInputDevice::stop");
if (m_audioUsageCount > 0) if (m_audioUsageCount > 0)
{ {
@ -128,7 +128,7 @@ void AudioInput::stop()
if (m_audioUsageCount == 0) if (m_audioUsageCount == 0)
{ {
qDebug("AudioInput::stop: effectively close QIODevice"); qDebug("AudioInputDevice::stop: effectively close QIODevice");
QMutexLocker mutexLocker(&m_mutex); QMutexLocker mutexLocker(&m_mutex);
QIODevice::close(); QIODevice::close();
@ -139,28 +139,28 @@ void AudioInput::stop()
} }
} }
void AudioInput::addFifo(AudioFifo* audioFifo) void AudioInputDevice::addFifo(AudioFifo* audioFifo)
{ {
QMutexLocker mutexLocker(&m_mutex); QMutexLocker mutexLocker(&m_mutex);
m_audioFifos.push_back(audioFifo); m_audioFifos.push_back(audioFifo);
} }
void AudioInput::removeFifo(AudioFifo* audioFifo) void AudioInputDevice::removeFifo(AudioFifo* audioFifo)
{ {
QMutexLocker mutexLocker(&m_mutex); QMutexLocker mutexLocker(&m_mutex);
m_audioFifos.remove(audioFifo); m_audioFifos.remove(audioFifo);
} }
qint64 AudioInput::readData(char* data, qint64 maxLen) qint64 AudioInputDevice::readData(char* data, qint64 maxLen)
{ {
Q_UNUSED(data); Q_UNUSED(data);
Q_UNUSED(maxLen); Q_UNUSED(maxLen);
return 0; return 0;
} }
qint64 AudioInput::writeData(const char *data, qint64 len) qint64 AudioInputDevice::writeData(const char *data, qint64 len)
{ {
// Study this mutex on OSX, for now deadlocks possible // Study this mutex on OSX, for now deadlocks possible
// Removed as it may indeed cause lockups and is in fact useless. // Removed as it may indeed cause lockups and is in fact useless.
@ -172,12 +172,12 @@ qint64 AudioInput::writeData(const char *data, qint64 len)
|| (m_audioFormat.sampleType() != QAudioFormat::SignedInt) || (m_audioFormat.sampleType() != QAudioFormat::SignedInt)
|| (m_audioFormat.byteOrder() != QAudioFormat::LittleEndian)) || (m_audioFormat.byteOrder() != QAudioFormat::LittleEndian))
{ {
qCritical("AudioInput::writeData: invalid format not S16LE"); qCritical("AudioInputDevice::writeData: invalid format not S16LE");
return 0; return 0;
} }
if (m_audioFormat.channelCount() != 2) { if (m_audioFormat.channelCount() != 2) {
qCritical("AudioInput::writeData: invalid format not stereo"); qCritical("AudioInputDevice::writeData: invalid format not stereo");
return 0; return 0;
} }
@ -189,7 +189,7 @@ qint64 AudioInput::writeData(const char *data, qint64 len)
return len; return len;
} }
void AudioInput::setVolume(float volume) void AudioInputDevice::setVolume(float volume)
{ {
m_volume = volume; m_volume = volume;
if (m_audioInput != nullptr) if (m_audioInput != nullptr)

Wyświetl plik

@ -15,8 +15,8 @@
// along with this program. If not, see <http://www.gnu.org/licenses/>. // // along with this program. If not, see <http://www.gnu.org/licenses/>. //
/////////////////////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////////////////////
#ifndef SDRBASE_AUDIO_AUDIOINPUT_H_ #ifndef SDRBASE_AUDIO_AUDIOINPUTDEVICE_H_
#define SDRBASE_AUDIO_AUDIOINPUT_H_ #define SDRBASE_AUDIO_AUDIOINPUTDEVICE_H_
#include <QMutex> #include <QMutex>
#include <QIODevice> #include <QIODevice>
@ -30,10 +30,10 @@ class AudioFifo;
class AudioOutputPipe; class AudioOutputPipe;
class SDRBASE_API AudioInput : public QIODevice { class SDRBASE_API AudioInputDevice : public QIODevice {
public: public:
AudioInput(); AudioInputDevice();
virtual ~AudioInput(); virtual ~AudioInputDevice();
bool start(int device, int rate); bool start(int device, int rate);
void stop(); void stop();
@ -67,4 +67,4 @@ private:
#endif /* SDRBASE_AUDIO_AUDIOINPUT_H_ */ #endif /* SDRBASE_AUDIO_AUDIOINPUTDEVICE_H_ */

Wyświetl plik

@ -25,7 +25,6 @@
#include "audio/audiodevicemanager.h" #include "audio/audiodevicemanager.h"
#include "audio/audiooutput.h" #include "audio/audiooutput.h"
#include "audio/audioinput.h"
#include "export.h" #include "export.h"
#include "ambe/ambeengine.h" #include "ambe/ambeengine.h"