diff options
author | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2018-09-28 15:17:39 +0200 |
---|---|---|
committer | VaL Doroshchuk <valentyn.doroshchuk@qt.io> | 2018-11-05 12:49:40 +0000 |
commit | cce3e8a019a3272ff422b1cdb1ce11bb7b00feea (patch) | |
tree | d90d1b48dd395ba06231384001238f407a766db4 | |
parent | be919fd68a844a2e7e0d15c70fc5ccacce8d4edc (diff) | |
download | qtmultimedia-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.cpp | 11 |
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 |