summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorVaL Doroshchuk <valentyn.doroshchuk@qt.io>2018-09-28 15:17:39 +0200
committerVaL Doroshchuk <valentyn.doroshchuk@qt.io>2018-11-05 12:49:40 +0000
commitcce3e8a019a3272ff422b1cdb1ce11bb7b00feea (patch)
treed90d1b48dd395ba06231384001238f407a766db4
parentbe919fd68a844a2e7e0d15c70fc5ccacce8d4edc (diff)
downloadqtmultimedia-cce3e8a019a3272ff422b1cdb1ce11bb7b00feea.tar.gz
Gstreamer: Do not create video profile if no codec provided
Since camerabin2 requires not empty caps (format) in gst_encoding_video_profile. Change-Id: Iba073138321635a51c9364d54ec95707ccbc7445 Reviewed-by: Christian Stromme <christian.stromme@qt.io>
-rw-r--r--src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp11
1 files changed, 4 insertions, 7 deletions
diff --git a/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp b/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp
index 86585da9e..74ffd750e 100644
--- a/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp
+++ b/src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp
@@ -173,15 +173,12 @@ QPair<int,int> CameraBinVideoEncoder::rateAsRational(qreal frameRate) const
GstEncodingProfile *CameraBinVideoEncoder::createProfile()
{
QString codec = m_actualVideoSettings.codec();
- QString preset = m_actualVideoSettings.encodingOption(QStringLiteral("preset")).toString();
-
- GstCaps *caps;
+ GstCaps *caps = !codec.isEmpty() ? gst_caps_from_string(codec.toLatin1()) : nullptr;
- if (codec.isEmpty())
- caps = 0;
- else
- caps = gst_caps_from_string(codec.toLatin1());
+ if (!caps)
+ return nullptr;
+ QString preset = m_actualVideoSettings.encodingOption(QStringLiteral("preset")).toString();
GstEncodingVideoProfile *profile = gst_encoding_video_profile_new(
caps,
!preset.isEmpty() ? preset.toLatin1().constData() : NULL, //preset