Updated the camerabin2 based camera with QtMultimedia changes
Moved it to the separate plugin as the rest of gstreamer based services; Updated with libqgsttools_p changes; Implemented QMediaRecorder::status property; Made gst_photography dependency optional, it's not always available on desktop; Added video recording case to auto integration test; Moved backend implementation into qt namespace Task-number: QTBUG-26046 Change-Id: Iacfc1a6e263a4c0201d5eb28d04c960b87a230c0 Reviewed-by: Michael Goddard <michael.goddard@nokia.com>
This commit is contained in:
committed by
Qt by Nokia
parent
fdc197d614
commit
b6a8c713bc
@@ -54,6 +54,7 @@
|
||||
|
||||
#define IMAGE_DONE_SIGNAL "image-done"
|
||||
|
||||
QT_BEGIN_NAMESPACE
|
||||
|
||||
CameraBinImageCapture::CameraBinImageCapture(CameraBinSession *session)
|
||||
:QCameraImageCaptureControl(session)
|
||||
@@ -254,6 +255,9 @@ bool CameraBinImageCapture::processBusMessage(const QGstreamerMessage &message)
|
||||
return false;
|
||||
|
||||
QString elementName = QString::fromLatin1(gst_element_get_name(element));
|
||||
GstElementClass *elementClass = GST_ELEMENT_GET_CLASS(element);
|
||||
QString elementLongName = elementClass->details.longname;
|
||||
|
||||
if (elementName.contains("jpegenc") && element != m_jpegEncoderElement) {
|
||||
m_jpegEncoderElement = element;
|
||||
GstPad *sinkpad = gst_element_get_static_pad(element, "sink");
|
||||
@@ -275,7 +279,9 @@ bool CameraBinImageCapture::processBusMessage(const QGstreamerMessage &message)
|
||||
this);
|
||||
|
||||
gst_object_unref(sinkpad);
|
||||
} else if ((elementName.contains("jifmux") || elementName.startsWith("metadatamux"))
|
||||
} else if ((elementName.contains("jifmux") ||
|
||||
elementName.startsWith("metadatamux") ||
|
||||
elementLongName == QLatin1String("JPEG stream muxer"))
|
||||
&& element != m_metadataMuxerElement) {
|
||||
//Jpeg encoded buffer probe is added after jifmux/metadatamux
|
||||
//element to ensure the resulting jpeg buffer contains capture metadata
|
||||
@@ -321,3 +327,4 @@ bool CameraBinImageCapture::processBusMessage(const QGstreamerMessage &message)
|
||||
return false;
|
||||
}
|
||||
|
||||
QT_END_NAMESPACE
|
||||
|
||||
Reference in New Issue
Block a user