diff options
Diffstat (limited to 'nixpkgs/pkgs/os-specific/linux/tiscamera/allow-pipeline-stop-in-trigger-mode.patch')
-rw-r--r-- | nixpkgs/pkgs/os-specific/linux/tiscamera/allow-pipeline-stop-in-trigger-mode.patch | 48 |
1 files changed, 48 insertions, 0 deletions
diff --git a/nixpkgs/pkgs/os-specific/linux/tiscamera/allow-pipeline-stop-in-trigger-mode.patch b/nixpkgs/pkgs/os-specific/linux/tiscamera/allow-pipeline-stop-in-trigger-mode.patch new file mode 100644 index 000000000000..48a520f6ec3a --- /dev/null +++ b/nixpkgs/pkgs/os-specific/linux/tiscamera/allow-pipeline-stop-in-trigger-mode.patch @@ -0,0 +1,48 @@ +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; + |