Expose the audio and video encoding modes through QML as well.

They were missing.

Change-Id: I0bb08c5e4721c27d2dcec818c0ee33f42c8df959
Reviewed-by: Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com>
This commit is contained in:
Michael Goddard
2012-02-26 14:47:05 +10:00
committed by Qt by Nokia
parent c9b3f247c7
commit b33b0d9d1d
3 changed files with 100 additions and 4 deletions

View File

@@ -67,6 +67,7 @@ class QDeclarativeCameraRecorder : public QObject
{
Q_OBJECT
Q_ENUMS(RecorderState)
Q_ENUMS(EncodingMode)
Q_PROPERTY(RecorderState recorderState READ recorderState WRITE setRecorderState NOTIFY recorderStateChanged)
@@ -74,11 +75,13 @@ class QDeclarativeCameraRecorder : public QObject
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(EncodingMode videoEncodingMode READ videoEncodingMode WRITE setVideoEncodingMode NOTIFY videoEncodingModeChanged)
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(EncodingMode audioEncodingMode READ audioEncodingMode WRITE setAudioEncodingMode NOTIFY audioEncodingModeChanged)
Q_PROPERTY(QString mediaContainer READ mediaContainer WRITE setMediaContainer NOTIFY mediaContainerChanged)
@@ -95,6 +98,13 @@ public:
RecordingState = QMediaRecorder::RecordingState
};
enum EncodingMode
{
ConstantQualityEncoding = QtMultimedia::ConstantQualityEncoding,
ConstantBitRateEncoding = QtMultimedia::ConstantBitRateEncoding,
AverageBitRateEncoding = QtMultimedia::AverageBitRateEncoding
};
~QDeclarativeCameraRecorder();
RecorderState recorderState() const;
@@ -120,6 +130,9 @@ public:
int audioChannels() const;
int audioSampleRate() const;
EncodingMode videoEncodingMode() const;
EncodingMode audioEncodingMode() const;
public Q_SLOTS:
void setOutputLocation(const QString &location);
@@ -141,6 +154,9 @@ public Q_SLOTS:
void setAudioChannels(int channels);
void setAudioSampleRate(int rate);
void setVideoEncodingMode(EncodingMode encodingMode);
void setAudioEncodingMode(EncodingMode encodingMode);
Q_SIGNALS:
void recorderStateChanged(QDeclarativeCameraRecorder::RecorderState state);
void durationChanged(qint64 duration);
@@ -163,6 +179,9 @@ Q_SIGNALS:
void audioChannelsChanged(int arg);
void audioSampleRateChanged(int arg);
void audioEncodingModeChanged(EncodingMode encodingMode);
void videoEncodingModeChanged(EncodingMode encodingMode);
private slots:
void updateRecorderState(QMediaRecorder::State);
void updateRecorderError(QMediaRecorder::Error);