From cce3e8a019a3272ff422b1cdb1ce11bb7b00feea Mon Sep 17 00:00:00 2001 From: VaL Doroshchuk Date: Fri, 28 Sep 2018 15:17:39 +0200 Subject: 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 --- src/plugins/gstreamer/camerabin/camerabinvideoencoder.cpp | 11 ++++------- 1 file changed, 4 insertions(+), 7 deletions(-) (limited to 'src/plugins/gstreamer') 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 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 -- cgit v1.2.3