Gstreamer media backend cleanup.

Moved controls specific bus/sync messages handling from
player/camera/capture session to corresponding controls.

Reviewed-by: Michael Goddard
Change-Id: Ieb67976ed335b0ef1cde87dc60e8ad8da3409526
Reviewed-on: http://codereview.qt.nokia.com/2535
Reviewed-by: Qt Sanity Bot <qt_sanity_bot@ovi.com>
Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
Dmytro Poplavskiy
2011-08-02 14:33:38 +10:00
committed by Qt by Nokia
parent 6eac3bd648
commit e70ebfd2ed
20 changed files with 211 additions and 165 deletions

View File

@@ -76,10 +76,13 @@ public:
virtual GstElement *buildElement() = 0;
};
class CameraBinSession : public QObject, public QGstreamerSyncEventFilter
class CameraBinSession : public QObject,
public QGstreamerBusMessageFilter,
public QGstreamerSyncMessageFilter
{
Q_OBJECT
Q_PROPERTY(qint64 duration READ duration NOTIFY durationChanged)
Q_INTERFACES(QGstreamerBusMessageFilter QGstreamerSyncMessageFilter)
public:
enum CameraRole {
FrontCamera, // Secondary camera
@@ -91,6 +94,7 @@ public:
GstPhotography *photography();
GstElement *cameraBin() { return m_pipeline; }
QGstreamerBusHelper *bus() { return m_busHelper; }
CameraRole cameraRole() const;
@@ -146,6 +150,7 @@ public:
bool isMuted() const;
bool processSyncMessage(const QGstreamerMessage &message);
bool processBusMessage(const QGstreamerMessage &message);
signals:
void stateChanged(QCamera::State state);
@@ -157,7 +162,6 @@ signals:
void viewfinderChanged();
void readyChanged(bool);
void busyChanged(bool);
void busMessage(const QGstreamerMessage &message);
public slots:
void setDevice(const QString &device);
@@ -167,7 +171,6 @@ public slots:
void setMuted(bool);
private slots:
void handleBusMessage(const QGstreamerMessage &message);
void handleViewfinderChange();
private: