From 10f870ac5c8f8fe0b9f33c78dfa454a7334085de Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Tue, 7 Jan 2025 12:56:13 +0200 Subject: [PATCH] decklinkaudiosink: Don't crash if started without corresponding video sink Part-of: --- .../gst-plugins-bad/sys/decklink/gstdecklinkaudiosink.cpp | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/subprojects/gst-plugins-bad/sys/decklink/gstdecklinkaudiosink.cpp b/subprojects/gst-plugins-bad/sys/decklink/gstdecklinkaudiosink.cpp index 67e3a9ef93..c6b766c81a 100644 --- a/subprojects/gst-plugins-bad/sys/decklink/gstdecklinkaudiosink.cpp +++ b/subprojects/gst-plugins-bad/sys/decklink/gstdecklinkaudiosink.cpp @@ -556,6 +556,12 @@ gst_decklink_audio_sink_render (GstBaseSink * bsink, GstBuffer * buffer) self->output->output->BeginAudioPreroll (); } + if (!self->output->videosink) { + GST_ERROR_OBJECT (self, + "Can't output audio without video sink on the same device"); + return GST_FLOW_ERROR; + } + video_sink = GST_DECKLINK_VIDEO_SINK (gst_object_ref (self->output->videosink)); @@ -926,7 +932,7 @@ gst_decklink_audio_sink_change_state (GstElement * element, GST_OBJECT_UNLOCK (self); g_mutex_lock (&self->output->lock); - if (self->output->start_scheduled_playback) + if (self->output->start_scheduled_playback && self->output->videosink) self->output->start_scheduled_playback (self->output->videosink); g_mutex_unlock (&self->output->lock); break;