camerabin2: Do not segfault on null locations
authorThiago Santos <thiago.sousa.santos@collabora.co.uk>
Fri, 20 May 2011 18:25:08 +0000 (15:25 -0300)
committerThiago Santos <thiago.sousa.santos@collabora.co.uk>
Fri, 20 May 2011 18:25:08 +0000 (15:25 -0300)
Prevent capture from starting when saving location is set to
NULL

gst/camerabin2/gstcamerabin2.c

index deaa880..0c8c4da 100644 (file)
@@ -212,6 +212,16 @@ gst_camera_bin_start_capture (GstCameraBin * camerabin)
   const GstTagList *taglist;
 
   GST_DEBUG_OBJECT (camerabin, "Received start-capture");
+
+  /* check that we have a valid location */
+  if ((camerabin->mode == MODE_VIDEO && camerabin->video_location == NULL)
+      || (camerabin->mode == MODE_IMAGE && camerabin->image_location == NULL)) {
+    GST_ELEMENT_ERROR (camerabin, RESOURCE, OPEN_WRITE,
+        (_("File location is set to NULL, please set it to a valid filename")),
+        (NULL));
+    return;
+  }
+
   GST_CAMERA_BIN_PROCESSING_INC (camerabin);
 
   if (camerabin->mode == MODE_VIDEO && camerabin->audio_src) {