static gboolean gst_decklink_audio_src_close (GstDecklinkAudioSrc * self) { GST_DEBUG_OBJECT (self, "Closing"); if (self->input) { g_mutex_lock (&self->input->lock); self->input->got_audio_packet = NULL; g_mutex_unlock (&self->input->lock); gst_decklink_release_nth_input (self->device_number, GST_ELEMENT_CAST (self), TRUE); self->input = NULL; } return TRUE; }
static gboolean gst_decklink_video_src_close (GstDecklinkVideoSrc * self) { GST_DEBUG_OBJECT (self, "Closing"); if (self->input) { g_mutex_lock (&self->input->lock); self->input->got_video_frame = NULL; self->input->mode = NULL; self->input->video_enabled = FALSE; self->input->start_streams = NULL; g_mutex_unlock (&self->input->lock); gst_decklink_release_nth_input (self->device_number, GST_ELEMENT_CAST (self), FALSE); self->input = NULL; } return TRUE; }