Add Qt prefixes to audio class implementations

pull/53/head
michal.szwaj 2018-03-24 01:04:26 +01:00
parent 339f0075c8
commit e4771d0d1c
5 changed files with 50 additions and 51 deletions

View File

@ -32,11 +32,11 @@ namespace autoapp
namespace projection
{
class AudioInput: public QObject, public IAudioInput
class QtAudioInput: public QObject, public IAudioInput
{
Q_OBJECT
public:
AudioInput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate);
QtAudioInput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate);
bool open() override;
bool isActive() const override;

View File

@ -32,12 +32,12 @@ namespace autoapp
namespace projection
{
class AudioOutput: public QObject, public IAudioOutput
class QtAudioOutput: public QObject, public IAudioOutput
{
Q_OBJECT
public:
AudioOutput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate);
QtAudioOutput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate);
bool open() override;
void write(const aasdk::common::DataConstBuffer& buffer) override;
void start() override;

View File

@ -17,7 +17,7 @@
*/
#include <QApplication>
#include <f1x/openauto/autoapp/Projection/AudioInput.hpp>
#include <f1x/openauto/autoapp/Projection/QtAudioInput.hpp>
#include <f1x/openauto/Common/Log.hpp>
namespace f1x
@ -29,7 +29,7 @@ namespace autoapp
namespace projection
{
AudioInput::AudioInput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate)
QtAudioInput::QtAudioInput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate)
: ioDevice_(nullptr)
{
qRegisterMetaType<IAudioInput::StartPromise::Pointer>("StartPromise::Pointer");
@ -42,32 +42,32 @@ AudioInput::AudioInput(uint32_t channelCount, uint32_t sampleSize, uint32_t samp
audioFormat_.setSampleType(QAudioFormat::SignedInt);
this->moveToThread(QApplication::instance()->thread());
connect(this, &AudioInput::startRecording, this, &AudioInput::onStartRecording, Qt::QueuedConnection);
connect(this, &AudioInput::stopRecording, this, &AudioInput::onStopRecording, Qt::QueuedConnection);
connect(this, &QtAudioInput::startRecording, this, &QtAudioInput::onStartRecording, Qt::QueuedConnection);
connect(this, &QtAudioInput::stopRecording, this, &QtAudioInput::onStopRecording, Qt::QueuedConnection);
QMetaObject::invokeMethod(this, "createAudioInput", Qt::BlockingQueuedConnection);
}
void AudioInput::createAudioInput()
void QtAudioInput::createAudioInput()
{
OPENAUTO_LOG(debug) << "[AudioInput] create.";
audioInput_ = (std::make_unique<QAudioInput>(QAudioDeviceInfo::defaultInputDevice(), audioFormat_));
}
bool AudioInput::open()
bool QtAudioInput::open()
{
std::lock_guard<decltype(mutex_)> lock(mutex_);
return ioDevice_ == nullptr;
}
bool AudioInput::isActive() const
bool QtAudioInput::isActive() const
{
std::lock_guard<decltype(mutex_)> lock(mutex_);
return ioDevice_ != nullptr;
}
void AudioInput::read(ReadPromise::Pointer promise)
void QtAudioInput::read(ReadPromise::Pointer promise)
{
std::lock_guard<decltype(mutex_)> lock(mutex_);
@ -85,32 +85,32 @@ void AudioInput::read(ReadPromise::Pointer promise)
}
}
void AudioInput::start(StartPromise::Pointer promise)
void QtAudioInput::start(StartPromise::Pointer promise)
{
emit startRecording(std::move(promise));
}
void AudioInput::stop()
void QtAudioInput::stop()
{
emit stopRecording();
}
uint32_t AudioInput::getSampleSize() const
uint32_t QtAudioInput::getSampleSize() const
{
return audioFormat_.sampleSize();
}
uint32_t AudioInput::getChannelCount() const
uint32_t QtAudioInput::getChannelCount() const
{
return audioFormat_.channelCount();
}
uint32_t AudioInput::getSampleRate() const
uint32_t QtAudioInput::getSampleRate() const
{
return audioFormat_.sampleRate();
}
void AudioInput::onStartRecording(StartPromise::Pointer promise)
void QtAudioInput::onStartRecording(StartPromise::Pointer promise)
{
std::lock_guard<decltype(mutex_)> lock(mutex_);
@ -118,7 +118,7 @@ void AudioInput::onStartRecording(StartPromise::Pointer promise)
if(ioDevice_ != nullptr)
{
connect(ioDevice_, &QIODevice::readyRead, this, &AudioInput::onReadyRead, Qt::QueuedConnection);
connect(ioDevice_, &QIODevice::readyRead, this, &QtAudioInput::onReadyRead, Qt::QueuedConnection);
promise->resolve();
}
else
@ -127,7 +127,7 @@ void AudioInput::onStartRecording(StartPromise::Pointer promise)
}
}
void AudioInput::onStopRecording()
void QtAudioInput::onStopRecording()
{
std::lock_guard<decltype(mutex_)> lock(mutex_);
@ -147,7 +147,7 @@ void AudioInput::onStopRecording()
audioInput_->stop();
}
void AudioInput::onReadyRead()
void QtAudioInput::onReadyRead()
{
std::lock_guard<decltype(mutex_)> lock(mutex_);

View File

@ -17,7 +17,7 @@
*/
#include <QApplication>
#include <f1x/openauto/autoapp/Projection/AudioOutput.hpp>
#include <f1x/openauto/autoapp/Projection/QtAudioOutput.hpp>
#include <f1x/openauto/Common/Log.hpp>
namespace f1x
@ -29,7 +29,7 @@ namespace autoapp
namespace projection
{
AudioOutput::AudioOutput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate)
QtAudioOutput::QtAudioOutput(uint32_t channelCount, uint32_t sampleSize, uint32_t sampleRate)
: playbackStarted_(false)
{
audioFormat_.setChannelCount(channelCount);
@ -40,79 +40,78 @@ AudioOutput::AudioOutput(uint32_t channelCount, uint32_t sampleSize, uint32_t sa
audioFormat_.setSampleType(QAudioFormat::SignedInt);
this->moveToThread(QApplication::instance()->thread());
connect(this, &AudioOutput::startPlayback, this, &AudioOutput::onStartPlayback);
connect(this, &AudioOutput::suspendPlayback, this, &AudioOutput::onSuspendPlayback);
connect(this, &AudioOutput::stopPlayback, this, &AudioOutput::onStopPlayback);
connect(this, &QtAudioOutput::startPlayback, this, &QtAudioOutput::onStartPlayback);
connect(this, &QtAudioOutput::suspendPlayback, this, &QtAudioOutput::onSuspendPlayback);
connect(this, &QtAudioOutput::stopPlayback, this, &QtAudioOutput::onStopPlayback);
QMetaObject::invokeMethod(this, "createAudioOutput", Qt::BlockingQueuedConnection);
}
void AudioOutput::createAudioOutput()
void QtAudioOutput::createAudioOutput()
{
OPENAUTO_LOG(debug) << "[AudioOutput] create.";
OPENAUTO_LOG(debug) << "[QtAudioOutput] create.";
audioOutput_ = std::make_unique<QAudioOutput>(QAudioDeviceInfo::defaultOutputDevice(), audioFormat_);
// Setting this category switching to the low latency mode
// See: http://code.qt.io/cgit/qt/qtmultimedia.git/tree/src/plugins/pulseaudio/qaudiooutput_pulse.cpp?h=5.7#n58
audioOutput_->setCategory("game");
}
bool AudioOutput::open()
bool QtAudioOutput::open()
{
return audioBuffer_.open(QIODevice::ReadWrite);
}
void AudioOutput::write(const aasdk::common::DataConstBuffer& buffer)
void QtAudioOutput::write(const aasdk::common::DataConstBuffer& buffer)
{
audioBuffer_.write(reinterpret_cast<const char*>(buffer.cdata), buffer.size);
}
void AudioOutput::start()
void QtAudioOutput::start()
{
emit startPlayback();
}
void AudioOutput::stop()
void QtAudioOutput::stop()
{
emit stopPlayback();
}
void AudioOutput::suspend()
void QtAudioOutput::suspend()
{
emit suspendPlayback();
}
uint32_t AudioOutput::getSampleSize() const
uint32_t QtAudioOutput::getSampleSize() const
{
return audioFormat_.sampleSize();
}
uint32_t AudioOutput::getChannelCount() const
uint32_t QtAudioOutput::getChannelCount() const
{
return audioFormat_.channelCount();
}
uint32_t AudioOutput::getSampleRate() const
uint32_t QtAudioOutput::getSampleRate() const
{
return audioFormat_.sampleRate();
}
void AudioOutput::onStartPlayback()
void QtAudioOutput::onStartPlayback()
{
if(!playbackStarted_)
{
audioOutput_->start(&audioBuffer_);
playbackStarted_ = true;
}
else
{
audioOutput_->resume();
}
}
void AudioOutput::onSuspendPlayback()
void QtAudioOutput::onSuspendPlayback()
{
// QAudioOutput is in pull mode so suspending/resuming are not needed.
// Keep this interface for any further purposes
audioOutput_->suspend();
}
void AudioOutput::onStopPlayback()
void QtAudioOutput::onStopPlayback()
{
if(playbackStarted_)
{

View File

@ -32,8 +32,8 @@
#include <f1x/openauto/autoapp/Projection/InputService.hpp>
#include <f1x/openauto/autoapp/Projection/QtVideoOutput.hpp>
#include <f1x/openauto/autoapp/Projection/OMXVideoOutput.hpp>
#include <f1x/openauto/autoapp/Projection/AudioOutput.hpp>
#include <f1x/openauto/autoapp/Projection/AudioInput.hpp>
#include <f1x/openauto/autoapp/Projection/QtAudioOutput.hpp>
#include <f1x/openauto/autoapp/Projection/QtAudioInput.hpp>
#include <f1x/openauto/autoapp/Projection/InputDevice.hpp>
#include <f1x/openauto/autoapp/Projection/LocalBluetoothDevice.hpp>
#include <f1x/openauto/autoapp/Projection/RemoteBluetoothDevice.hpp>
@ -59,22 +59,22 @@ ServiceList ServiceFactory::create(aasdk::messenger::IMessenger::Pointer messeng
{
ServiceList serviceList;
IAudioInput::Pointer audioInput(new AudioInput(1, 16, 16000), std::bind(&QObject::deleteLater, std::placeholders::_1));
IAudioInput::Pointer audioInput(new QtAudioInput(1, 16, 16000), std::bind(&QObject::deleteLater, std::placeholders::_1));
serviceList.emplace_back(std::make_shared<AudioInputService>(ioService_, messenger, std::move(audioInput)));
if(configuration_->musicAudioChannelEnabled())
{
IAudioOutput::Pointer mediaAudioOutput(new AudioOutput(2, 16, 48000), std::bind(&QObject::deleteLater, std::placeholders::_1));
IAudioOutput::Pointer mediaAudioOutput(new QtAudioOutput(2, 16, 48000), std::bind(&QObject::deleteLater, std::placeholders::_1));
serviceList.emplace_back(std::make_shared<MediaAudioService>(ioService_, messenger, std::move(mediaAudioOutput)));
}
if(configuration_->speechAudioChannelEnabled())
{
IAudioOutput::Pointer speechAudioOutput(new AudioOutput(1, 16, 16000), std::bind(&QObject::deleteLater, std::placeholders::_1));
IAudioOutput::Pointer speechAudioOutput(new QtAudioOutput(1, 16, 16000), std::bind(&QObject::deleteLater, std::placeholders::_1));
serviceList.emplace_back(std::make_shared<SpeechAudioService>(ioService_, messenger, std::move(speechAudioOutput)));
}
IAudioOutput::Pointer systemAudioOutput(new AudioOutput(1, 16, 16000), std::bind(&QObject::deleteLater, std::placeholders::_1));
IAudioOutput::Pointer systemAudioOutput(new QtAudioOutput(1, 16, 16000), std::bind(&QObject::deleteLater, std::placeholders::_1));
serviceList.emplace_back(std::make_shared<SystemAudioService>(ioService_, messenger, std::move(systemAudioOutput)));
serviceList.emplace_back(std::make_shared<SensorService>(ioService_, messenger));