diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2012-01-31 13:36:36 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2012-02-01 08:10:28 +0100 |
commit | a26bf6c8b6dbf91d0f556dfd41222db2775ba038 (patch) | |
tree | a5fcf30df20c61ee9d96decf120a4d54f1e90072 | |
parent | a22a0195f146e83174ee4eacffe33c161ab39e50 (diff) |
Added more encoding settings to declarative camera recorder.
Change-Id: If2ec0297a2db5fedaf27c009fb8d55ccf4254c21
Reviewed-by: Ling Hu <ling.hu@nokia.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerarecorder.cpp | 70 | ||||
-rw-r--r-- | src/imports/multimedia/qdeclarativecamerarecorder_p.h | 27 |
2 files changed, 96 insertions, 1 deletions
diff --git a/src/imports/multimedia/qdeclarativecamerarecorder.cpp b/src/imports/multimedia/qdeclarativecamerarecorder.cpp index e7568aa34..dc49ba289 100644 --- a/src/imports/multimedia/qdeclarativecamerarecorder.cpp +++ b/src/imports/multimedia/qdeclarativecamerarecorder.cpp @@ -126,6 +126,76 @@ void QDeclarativeCameraRecorder::setMediaContainer(const QString &container) } } +qreal QDeclarativeCameraRecorder::frameRate() const +{ + return m_videoSettings.frameRate(); +} + +int QDeclarativeCameraRecorder::videoBitRate() const +{ + return m_videoSettings.bitRate(); +} + +int QDeclarativeCameraRecorder::audioBitRate() const +{ + return m_audioSettings.bitRate(); +} + +int QDeclarativeCameraRecorder::audioChannels() const +{ + return m_audioSettings.channelCount(); +} + +int QDeclarativeCameraRecorder::audioSampleRate() const +{ + return m_audioSettings.sampleRate(); +} + +void QDeclarativeCameraRecorder::setFrameRate(qreal frameRate) +{ + if (!qFuzzyCompare(m_videoSettings.frameRate(),frameRate)) { + m_videoSettings.setFrameRate(frameRate); + m_recorder->setVideoSettings(m_videoSettings); + emit frameRateChanged(frameRate); + } +} + +void QDeclarativeCameraRecorder::setVideoBitRate(int rate) +{ + if (m_videoSettings.bitRate() != rate) { + m_videoSettings.setBitRate(rate); + m_recorder->setVideoSettings(m_videoSettings); + emit videoBitRateChanged(rate); + } +} + +void QDeclarativeCameraRecorder::setAudioBitRate(int rate) +{ + if (m_audioSettings.bitRate() != rate) { + m_audioSettings.setBitRate(rate); + m_recorder->setAudioSettings(m_audioSettings); + emit audioBitRateChanged(rate); + } +} + +void QDeclarativeCameraRecorder::setAudioChannels(int channels) +{ + if (m_audioSettings.channelCount() != channels) { + m_audioSettings.setChannelCount(channels); + m_recorder->setAudioSettings(m_audioSettings); + emit audioChannelsChanged(channels); + } +} + +void QDeclarativeCameraRecorder::setAudioSampleRate(int rate) +{ + if (m_audioSettings.sampleRate() != rate) { + m_audioSettings.setSampleRate(rate); + m_recorder->setAudioSettings(m_audioSettings); + emit audioSampleRateChanged(rate); + } +} + QMediaRecorder::Error QDeclarativeCameraRecorder::error() const { return m_recorder->error(); diff --git a/src/imports/multimedia/qdeclarativecamerarecorder_p.h b/src/imports/multimedia/qdeclarativecamerarecorder_p.h index 9ff116fc5..c6315c276 100644 --- a/src/imports/multimedia/qdeclarativecamerarecorder_p.h +++ b/src/imports/multimedia/qdeclarativecamerarecorder_p.h @@ -69,10 +69,17 @@ class QDeclarativeCameraRecorder : public QObject Q_ENUMS(RecorderState) Q_PROPERTY(RecorderState recorderState READ recorderState WRITE setRecorderState NOTIFY recorderStateChanged) - Q_PROPERTY(QSize resolution READ captureResolution WRITE setCaptureResolution NOTIFY captureResolutionChanged) Q_PROPERTY(QString videoCodec READ videoCodec WRITE setVideoCodec NOTIFY videoCodecChanged) + Q_PROPERTY(QSize resolution READ captureResolution WRITE setCaptureResolution NOTIFY captureResolutionChanged) + Q_PROPERTY(qreal frameRate READ frameRate WRITE setFrameRate NOTIFY frameRateChanged) + Q_PROPERTY(int videoBitRate READ videoBitRate WRITE setVideoBitRate NOTIFY videoBitRateChanged) + Q_PROPERTY(QString audioCodec READ audioCodec WRITE setAudioCodec NOTIFY audioCodecChanged) + Q_PROPERTY(int audioBitRate READ audioBitRate WRITE setAudioBitRate NOTIFY audioBitRateChanged) + Q_PROPERTY(int audioChannels READ audioChannels WRITE setAudioChannels NOTIFY audioChannelsChanged) + Q_PROPERTY(int audioSampleRate READ audioSampleRate WRITE setAudioSampleRate NOTIFY audioSampleRateChanged) + Q_PROPERTY(QString mediaContainer READ mediaContainer WRITE setMediaContainer NOTIFY mediaContainerChanged) Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged) @@ -104,6 +111,12 @@ public: QMediaRecorder::Error error() const; QString errorString() const; + qreal frameRate() const; + int videoBitRate() const; + int audioBitRate() const; + int audioChannels() const; + int audioSampleRate() const; + public Q_SLOTS: void setOutputLocation(const QUrl &location); @@ -119,6 +132,12 @@ public Q_SLOTS: void setVideoCodec(const QString &codec); void setMediaContainer(const QString &container); + void setFrameRate(qreal frameRate); + void setVideoBitRate(int rate); + void setAudioBitRate(int rate); + void setAudioChannels(int channels); + void setAudioSampleRate(int rate); + Q_SIGNALS: void recorderStateChanged(QDeclarativeCameraRecorder::RecorderState state); void durationChanged(qint64 duration); @@ -136,6 +155,12 @@ Q_SIGNALS: void videoCodecChanged(const QString &codec); void mediaContainerChanged(const QString &container); + void frameRateChanged(qreal arg); + void videoBitRateChanged(int arg); + void audioBitRateChanged(int arg); + void audioChannelsChanged(int arg); + void audioSampleRateChanged(int arg); + private slots: void updateRecorderState(QMediaRecorder::State); void updateRecorderError(QMediaRecorder::Error); |