Replaced endpoint control with audio input and output controls

Change-Id: I981aabe39d106ced4ee1240db9e5b653c6fa5e91
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
Dmytro Poplavskiy
2012-07-16 11:28:02 +10:00
committed by Qt by Nokia
parent 29a2d09a43
commit ae728a4b1e
34 changed files with 549 additions and 328 deletions

View File

@@ -10,7 +10,7 @@ DESTDIR = $$QT.multimedia.plugins/$${PLUGIN_TYPE}
HEADERS += audioencodercontrol.h \
audiocontainercontrol.h \
audiomediarecordercontrol.h \
audioendpointselector.h \
audioinputselector.h \
audiocaptureservice.h \
audiocaptureserviceplugin.h \
audiocapturesession.h
@@ -18,7 +18,7 @@ HEADERS += audioencodercontrol.h \
SOURCES += audioencodercontrol.cpp \
audiocontainercontrol.cpp \
audiomediarecordercontrol.cpp \
audioendpointselector.cpp \
audioinputselector.cpp \
audiocaptureservice.cpp \
audiocaptureserviceplugin.cpp \
audiocapturesession.cpp

View File

@@ -41,7 +41,7 @@
#include "audiocaptureservice.h"
#include "audiocapturesession.h"
#include "audioendpointselector.h"
#include "audioinputselector.h"
#include "audioencodercontrol.h"
#include "audiocontainercontrol.h"
#include "audiomediarecordercontrol.h"
@@ -53,14 +53,14 @@ AudioCaptureService::AudioCaptureService(QObject *parent):
m_encoderControl = new AudioEncoderControl(m_session);
m_containerControl = new AudioContainerControl(m_session);
m_mediaControl = new AudioMediaRecorderControl(m_session);
m_endpointSelector = new AudioEndpointSelector(m_session);
m_inputSelector = new AudioInputSelector(m_session);
}
AudioCaptureService::~AudioCaptureService()
{
delete m_encoderControl;
delete m_containerControl;
delete m_endpointSelector;
delete m_inputSelector;
delete m_mediaControl;
delete m_session;
}
@@ -73,8 +73,8 @@ QMediaControl *AudioCaptureService::requestControl(const char *name)
if (qstrcmp(name,QAudioEncoderSettingsControl_iid) == 0)
return m_encoderControl;
if (qstrcmp(name,QAudioEndpointSelectorControl_iid) == 0)
return m_endpointSelector;
if (qstrcmp(name,QAudioInputSelectorControl_iid) == 0)
return m_inputSelector;
if (qstrcmp(name,QMediaContainerControl_iid) == 0)
return m_containerControl;

View File

@@ -50,7 +50,7 @@ class AudioCaptureSession;
class AudioEncoderControl;
class AudioContainerControl;
class AudioMediaRecorderControl;
class AudioEndpointSelector;
class AudioInputSelector;
QT_USE_NAMESPACE
@@ -67,7 +67,7 @@ private:
AudioCaptureSession *m_session;
AudioEncoderControl *m_encoderControl;
AudioContainerControl *m_containerControl;
AudioEndpointSelector *m_endpointSelector;
AudioInputSelector *m_inputSelector;
AudioMediaRecorderControl *m_mediaControl;
};

View File

@@ -47,7 +47,7 @@
#include <QDir>
#include "audioencodercontrol.h"
#include "audioendpointselector.h"
#include "audioinputselector.h"
#include "audiomediarecordercontrol.h"
#include <qaudioformat.h>

View File

@@ -40,31 +40,31 @@
****************************************************************************/
#include "audiocapturesession.h"
#include "audioendpointselector.h"
#include "audioinputselector.h"
#include <qaudiodeviceinfo.h>
AudioEndpointSelector::AudioEndpointSelector(QObject *parent)
:QAudioEndpointSelectorControl(parent)
AudioInputSelector::AudioInputSelector(QObject *parent)
:QAudioInputSelectorControl(parent)
{
m_session = qobject_cast<AudioCaptureSession*>(parent);
update();
m_audioInput = defaultEndpoint();
m_audioInput = defaultInput();
}
AudioEndpointSelector::~AudioEndpointSelector()
AudioInputSelector::~AudioInputSelector()
{
}
QList<QString> AudioEndpointSelector::availableEndpoints() const
QList<QString> AudioInputSelector::availableInputs() const
{
return m_names;
}
QString AudioEndpointSelector::endpointDescription(const QString& name) const
QString AudioInputSelector::inputDescription(const QString& name) const
{
QString desc;
@@ -77,26 +77,26 @@ QString AudioEndpointSelector::endpointDescription(const QString& name) const
return desc;
}
QString AudioEndpointSelector::defaultEndpoint() const
QString AudioInputSelector::defaultInput() const
{
return QAudioDeviceInfo(QAudioDeviceInfo::defaultInputDevice()).deviceName();
}
QString AudioEndpointSelector::activeEndpoint() const
QString AudioInputSelector::activeInput() const
{
return m_audioInput;
}
void AudioEndpointSelector::setActiveEndpoint(const QString& name)
void AudioInputSelector::setActiveInput(const QString& name)
{
if (m_audioInput.compare(name) != 0) {
m_audioInput = name;
m_session->setCaptureDevice(name);
emit activeEndpointChanged(name);
emit activeInputChanged(name);
}
}
void AudioEndpointSelector::update()
void AudioInputSelector::update()
{
m_names.clear();
m_descriptions.clear();

View File

@@ -39,31 +39,31 @@
**
****************************************************************************/
#ifndef AUDIOENDPOINTSELECTOR_H
#define AUDIOENDPOINTSELECTOR_H
#ifndef AUDIOINPUTSELECTOR_H
#define AUDIOINPUTSELECTOR_H
#include <QStringList>
#include "qaudioendpointselectorcontrol.h"
#include "qaudioinputselectorcontrol.h"
class AudioCaptureSession;
QT_USE_NAMESPACE
class AudioEndpointSelector : public QAudioEndpointSelectorControl
class AudioInputSelector : public QAudioInputSelectorControl
{
Q_OBJECT
public:
AudioEndpointSelector(QObject *parent);
virtual ~AudioEndpointSelector();
AudioInputSelector(QObject *parent);
virtual ~AudioInputSelector();
QList<QString> availableEndpoints() const;
QString endpointDescription(const QString& name) const;
QString defaultEndpoint() const;
QString activeEndpoint() const;
QList<QString> availableInputs() const;
QString inputDescription(const QString& name) const;
QString defaultInput() const;
QString activeInput() const;
public Q_SLOTS:
void setActiveEndpoint(const QString& name);
void setActiveInput(const QString& name);
private:
void update();
@@ -74,4 +74,4 @@ private:
AudioCaptureSession* m_session;
};
#endif // AUDIOENDPOINTSELECTOR_H
#endif // AUDIOINPUTSELECTOR_H