Replaced QMediaRecorderControl::play/stop/pause with setState
This allows to introduce new states without breaking BC. Change-Id: I03c064cec92d6745b251a51cfb301e7f01f4b765 Reviewed-by: Ling Hu <ling.hu@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
b7935a84d7
commit
b36e2f5209
@@ -135,21 +135,9 @@ QMediaRecorderControl::~QMediaRecorderControl()
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn void QMediaRecorderControl::record()
|
||||
\fn void QMediaRecorderControl::setState(QMediaRecorder::State state)
|
||||
|
||||
Start recording.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn void QMediaRecorderControl::pause()
|
||||
|
||||
Pause recording.
|
||||
*/
|
||||
|
||||
/*!
|
||||
\fn void QMediaRecorderControl::stop()
|
||||
|
||||
Stop recording.
|
||||
Set the media recorder \a state.
|
||||
*/
|
||||
|
||||
/*!
|
||||
|
||||
@@ -84,9 +84,7 @@ Q_SIGNALS:
|
||||
void error(int error, const QString &errorString);
|
||||
|
||||
public Q_SLOTS:
|
||||
virtual void record() = 0;
|
||||
virtual void pause() = 0;
|
||||
virtual void stop() = 0;
|
||||
virtual void setState(QMediaRecorder::State state) = 0;
|
||||
virtual void setMuted(bool muted) = 0;
|
||||
|
||||
protected:
|
||||
|
||||
@@ -841,7 +841,7 @@ void QMediaRecorder::record()
|
||||
d->errorString = QString();
|
||||
|
||||
if (d->control)
|
||||
d->control->record();
|
||||
d->control->setState(RecordingState);
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -857,7 +857,7 @@ void QMediaRecorder::pause()
|
||||
{
|
||||
Q_D(QMediaRecorder);
|
||||
if (d->control)
|
||||
d->control->pause();
|
||||
d->control->setState(PausedState);
|
||||
}
|
||||
|
||||
/*!
|
||||
@@ -870,7 +870,7 @@ void QMediaRecorder::stop()
|
||||
{
|
||||
Q_D(QMediaRecorder);
|
||||
if (d->control)
|
||||
d->control->stop();
|
||||
d->control->setState(StoppedState);
|
||||
}
|
||||
|
||||
/*!
|
||||
|
||||
@@ -93,38 +93,33 @@ qint64 AudioMediaRecorderControl::duration() const
|
||||
return m_session->position();
|
||||
}
|
||||
|
||||
void AudioMediaRecorderControl::record()
|
||||
{
|
||||
if (m_state != QMediaRecorder::RecordingState) {
|
||||
m_state = QMediaRecorder::RecordingState;
|
||||
m_session->record();
|
||||
updateStatus();
|
||||
}
|
||||
}
|
||||
|
||||
void AudioMediaRecorderControl::pause()
|
||||
{
|
||||
if (m_state != QMediaRecorder::PausedState) {
|
||||
m_state = QMediaRecorder::PausedState;
|
||||
m_session->pause();
|
||||
updateStatus();
|
||||
}
|
||||
}
|
||||
|
||||
void AudioMediaRecorderControl::stop()
|
||||
{
|
||||
if (m_state != QMediaRecorder::StoppedState) {
|
||||
m_state = QMediaRecorder::StoppedState;
|
||||
m_session->pause();
|
||||
updateStatus();
|
||||
}
|
||||
}
|
||||
|
||||
bool AudioMediaRecorderControl::isMuted() const
|
||||
{
|
||||
return false;
|
||||
}
|
||||
|
||||
void AudioMediaRecorderControl::setState(QMediaRecorder::State state)
|
||||
{
|
||||
if (m_state == state)
|
||||
return;
|
||||
|
||||
m_state = state;
|
||||
|
||||
switch (state) {
|
||||
case QMediaRecorder::StoppedState:
|
||||
m_session->stop();
|
||||
break;
|
||||
case QMediaRecorder::PausedState:
|
||||
m_session->pause();
|
||||
break;
|
||||
case QMediaRecorder::RecordingState:
|
||||
m_session->record();
|
||||
break;
|
||||
}
|
||||
|
||||
updateStatus();
|
||||
}
|
||||
|
||||
void AudioMediaRecorderControl::setMuted(bool)
|
||||
{
|
||||
}
|
||||
@@ -141,5 +136,5 @@ void AudioMediaRecorderControl::updateStatus()
|
||||
void AudioMediaRecorderControl::handleSessionError(int code, const QString &description)
|
||||
{
|
||||
emit error(code, description);
|
||||
stop();
|
||||
setState(QMediaRecorder::StoppedState);
|
||||
}
|
||||
|
||||
@@ -71,9 +71,7 @@ public:
|
||||
void applySettings() {}
|
||||
|
||||
public slots:
|
||||
void record();
|
||||
void pause();
|
||||
void stop();
|
||||
void setState(QMediaRecorder::State state);
|
||||
void setMuted(bool);
|
||||
|
||||
private slots:
|
||||
|
||||
@@ -126,6 +126,21 @@ qint64 QGstreamerRecorderControl::duration() const
|
||||
return m_session->duration();
|
||||
}
|
||||
|
||||
void QGstreamerRecorderControl::setState(QMediaRecorder::State state)
|
||||
{
|
||||
switch (state) {
|
||||
case QMediaRecorder::StoppedState:
|
||||
stop();
|
||||
break;
|
||||
case QMediaRecorder::PausedState:
|
||||
pause();
|
||||
break;
|
||||
case QMediaRecorder::RecordingState:
|
||||
record();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
void QGstreamerRecorderControl::record()
|
||||
{
|
||||
if (m_state == QMediaRecorder::RecordingState)
|
||||
|
||||
@@ -71,6 +71,7 @@ public:
|
||||
void applySettings();
|
||||
|
||||
public slots:
|
||||
void setState(QMediaRecorder::State state);
|
||||
void record();
|
||||
void pause();
|
||||
void stop();
|
||||
|
||||
@@ -130,6 +130,22 @@ public slots:
|
||||
emit statusChanged(m_status);
|
||||
}
|
||||
|
||||
void setState(QMediaRecorder::State state)
|
||||
{
|
||||
switch (state) {
|
||||
case QMediaRecorder::StoppedState:
|
||||
stop();
|
||||
break;
|
||||
case QMediaRecorder::PausedState:
|
||||
pause();
|
||||
break;
|
||||
case QMediaRecorder::RecordingState:
|
||||
record();
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
void setMuted(bool muted)
|
||||
{
|
||||
if (m_muted != muted)
|
||||
|
||||
Reference in New Issue
Block a user