summaryrefslogtreecommitdiff
path: root/transmitters/shm/fs-shm-transmitter.c
diff options
context:
space:
mode:
Diffstat (limited to 'transmitters/shm/fs-shm-transmitter.c')
-rw-r--r--transmitters/shm/fs-shm-transmitter.c7
1 files changed, 7 insertions, 0 deletions
diff --git a/transmitters/shm/fs-shm-transmitter.c b/transmitters/shm/fs-shm-transmitter.c
index b548608a..49cfdd9f 100644
--- a/transmitters/shm/fs-shm-transmitter.c
+++ b/transmitters/shm/fs-shm-transmitter.c
@@ -695,6 +695,13 @@ fs_shm_transmitter_check_shm_src (FsShmTransmitter *self, ShmSrc *shm,
gst_pad_remove_probe (shm->funnelpad, shm->buffer_probe);
shm->buffer_probe = 0;
+ if (shm->funnelpad) {
+ gst_element_release_request_pad (self->priv->funnels[shm->component],
+ shm->funnelpad);
+ gst_object_unref (shm->funnelpad);
+ }
+ shm->funnelpad = NULL;
+
if (shm->src)
{
gst_element_set_locked_state (shm->src, TRUE);