diff options
author | Dmytro Poplavskiy <dmytro.poplavskiy@nokia.com> | 2011-08-02 14:33:38 +1000 |
---|---|---|
committer | Qt by Nokia <qt-info@nokia.com> | 2011-08-05 07:50:59 +0200 |
commit | e70ebfd2ed8d522478f04ab823b527b48ed24671 (patch) | |
tree | aa52d70121ab80a07ff5036aba3be30be8aba758 /src/plugins/gstreamer/camerabin/camerabinsession.cpp | |
parent | 6eac3bd6488f8d8b368d97bdb8d701b804310be6 (diff) |
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>
Diffstat (limited to 'src/plugins/gstreamer/camerabin/camerabinsession.cpp')
-rw-r--r-- | src/plugins/gstreamer/camerabin/camerabinsession.cpp | 27 |
1 files changed, 9 insertions, 18 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinsession.cpp b/src/plugins/gstreamer/camerabin/camerabinsession.cpp index d1552c0af..fbcc85266 100644 --- a/src/plugins/gstreamer/camerabin/camerabinsession.cpp +++ b/src/plugins/gstreamer/camerabin/camerabinsession.cpp @@ -145,8 +145,8 @@ CameraBinSession::CameraBinSession(QObject *parent) m_bus = gst_element_get_bus(m_pipeline); m_busHelper = new QGstreamerBusHelper(m_bus, this); - m_busHelper->installSyncEventFilter(this); - connect(m_busHelper, SIGNAL(message(QGstreamerMessage)), SLOT(handleBusMessage(QGstreamerMessage))); + m_busHelper->installMessageFilter(this); + m_audioEncodeControl = new CameraBinAudioEncoder(this); m_videoEncodeControl = new CameraBinVideoEncoder(this); m_imageEncodeControl = new CameraBinImageEncoder(this); @@ -534,6 +534,8 @@ void CameraBinSession::setViewfinder(QObject *viewfinder) this, SLOT(handleViewfinderChange())); disconnect(m_viewfinder, SIGNAL(readyChanged(bool)), this, SIGNAL(readyChanged(bool))); + + m_busHelper->removeMessageFilter(m_viewfinder); } m_viewfinder = viewfinder; @@ -544,6 +546,8 @@ void CameraBinSession::setViewfinder(QObject *viewfinder) this, SLOT(handleViewfinderChange())); connect(m_viewfinder, SIGNAL(readyChanged(bool)), this, SIGNAL(readyChanged(bool))); + + m_busHelper->installMessageFilter(m_viewfinder); } emit viewfinderChanged(); @@ -795,24 +799,14 @@ bool CameraBinSession::processSyncMessage(const QGstreamerMessage &message) } } - if (gst_structure_has_name(gm->structure, "prepare-xwindow-id")) { - if (m_viewfinderInterface) - m_viewfinderInterface->precessNewStream(); - - return true; - } - if (gst_structure_has_name(gm->structure, GST_PHOTOGRAPHY_AUTOFOCUS_DONE)) m_cameraFocusControl->handleFocusMessage(gm); - - if (m_viewfinderInterface && GST_MESSAGE_SRC(gm) == GST_OBJECT_CAST(m_viewfinderElement)) - m_viewfinderInterface->handleSyncMessage(gm); } return false; } -void CameraBinSession::handleBusMessage(const QGstreamerMessage &message) +bool CameraBinSession::processBusMessage(const QGstreamerMessage &message) { GstMessage* gm = message.rawMessage(); @@ -911,12 +905,9 @@ void CameraBinSession::handleBusMessage(const QGstreamerMessage &message) } //qDebug() << "New session state:" << ENUM_NAME(CameraBinSession,"State",m_state); } - - if (m_viewfinderInterface && GST_MESSAGE_SRC(gm) == GST_OBJECT_CAST(m_viewfinderElement)) - m_viewfinderInterface->handleBusMessage(gm); - - emit busMessage(message); } + + return false; } void CameraBinSession::recordVideo() |