From be1c154f33133904632e4f5eb1850090f5212874 Mon Sep 17 00:00:00 2001 From: Doug Nazar Date: Tue, 18 May 2021 00:43:23 -0400 Subject: sctp: Ensure pad is still a child of element before removal During pipeline shutdown there are several competing paths to remove pads. Avoids tests failing due to: Unexpected critical/warning: Padname '':sink_1 does not belong to element sctpenc1 when removing Part-of: --- ext/sctp/gstsctpenc.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) (limited to 'ext') diff --git a/ext/sctp/gstsctpenc.c b/ext/sctp/gstsctpenc.c index 99a0e83d2..e420fe0c8 100644 --- a/ext/sctp/gstsctpenc.c +++ b/ext/sctp/gstsctpenc.c @@ -483,7 +483,10 @@ gst_sctp_enc_release_pad (GstElement * element, GstPad * pad) if (self->sctp_association) gst_sctp_association_reset_stream (self->sctp_association, stream_id); - gst_element_remove_pad (element, pad); + GST_PAD_STREAM_LOCK (pad); + if (gst_object_has_as_parent (GST_OBJECT (pad), GST_OBJECT (element))) + gst_element_remove_pad (element, pad); + GST_PAD_STREAM_UNLOCK (pad); } static void -- cgit v1.2.1