48 lines
1.5 KiB
Diff
48 lines
1.5 KiB
Diff
diff --git a/src/gstreamer-1.0/gsttcamsrc.cpp b/src/gstreamer-1.0/gsttcamsrc.cpp
|
|
index d482e1e..e36afd8 100644
|
|
--- a/src/gstreamer-1.0/gsttcamsrc.cpp
|
|
+++ b/src/gstreamer-1.0/gsttcamsrc.cpp
|
|
@@ -1112,6 +1112,7 @@ bool gst_tcam_src_init_camera (GstTcamSrc* self)
|
|
|
|
static void gst_tcam_src_close_camera (GstTcamSrc* self)
|
|
{
|
|
+ GST_INFO("Closing device");
|
|
if (self->device != NULL)
|
|
{
|
|
self->device->dev->stop_stream();
|
|
@@ -1156,7 +1157,7 @@ static gboolean gst_tcam_src_stop (GstBaseSrc* src)
|
|
|
|
self->device->dev->stop_stream();
|
|
gst_element_send_event(GST_ELEMENT(self), gst_event_new_eos());
|
|
- GST_DEBUG_OBJECT (self, "Stopped acquisition");
|
|
+ GST_DEBUG("Stopped acquisition");
|
|
|
|
return TRUE;
|
|
}
|
|
@@ -1556,6 +1557,18 @@ static void gst_tcam_src_get_property (GObject* object,
|
|
}
|
|
|
|
|
|
+static gboolean gst_tcam_src_unlock (GstBaseSrc* src)
|
|
+{
|
|
+ GstTcamSrc* self = GST_TCAM_SRC(src);
|
|
+
|
|
+ self->is_running = FALSE;
|
|
+
|
|
+ self->cv.notify_all();
|
|
+
|
|
+ return TRUE;
|
|
+}
|
|
+
|
|
+
|
|
static void gst_tcam_src_class_init (GstTcamSrcClass* klass)
|
|
{
|
|
GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
|
|
@@ -1616,6 +1629,7 @@ static void gst_tcam_src_class_init (GstTcamSrcClass* klass)
|
|
gstbasesrc_class->fixate = gst_tcam_src_fixate_caps;
|
|
gstbasesrc_class->start = gst_tcam_src_start;
|
|
gstbasesrc_class->stop = gst_tcam_src_stop;
|
|
+ gstbasesrc_class->unlock = gst_tcam_src_unlock;
|
|
gstbasesrc_class->negotiate = gst_tcam_src_negotiate;
|
|
gstbasesrc_class->get_times = gst_tcam_src_get_times;
|
|
|