GStreamer: improve camerabin audio settings checking.
authorYoann Lopes <yoann.lopes@theqtcompany.com>
Thu, 5 Feb 2015 15:34:27 +0000 (16:34 +0100)
committerYoann Lopes <yoann.lopes@theqtcompany.com>
Wed, 18 Feb 2015 13:15:36 +0000 (13:15 +0000)
Don't try setting a sample rate or a channel count equal to 0.

Change-Id: Ib2e1728f0d9af09df9c4d3fd1322b5cb174a2981
Reviewed-by: Christian Stromme <christian.stromme@theqtcompany.com>
src/plugins/gstreamer/camerabin/camerabinsession.cpp

index cbc56f2..356ad8d 100644 (file)
@@ -420,7 +420,7 @@ void CameraBinSession::setAudioCaptureCaps()
     const int sampleRate = settings.sampleRate();
     const int channelCount = settings.channelCount();
 
-    if (sampleRate == -1 && channelCount == -1)
+    if (sampleRate <= 0 && channelCount <=0)
         return;
 
 #if GST_CHECK_VERSION(1,0,0)
@@ -434,9 +434,9 @@ void CameraBinSession::setAudioCaptureCaps()
                 "depth", G_TYPE_INT, 16,
                 NULL);
 #endif
-    if (sampleRate != -1)
+    if (sampleRate > 0)
         gst_structure_set(structure, "rate", G_TYPE_INT, sampleRate, NULL);
-    if (channelCount != -1)
+    if (channelCount > 0)
         gst_structure_set(structure, "channels", G_TYPE_INT, channelCount, NULL);
 
     GstCaps *caps = gst_caps_new_full(structure, NULL);