diff options
author | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2010-02-03 17:31:38 +0200 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2010-09-07 17:09:39 +0300 |
commit | fd916e1a71e5e2530c6a5c38a6241b8c479cf19c (patch) | |
tree | f01b52a53f84a08b2c3e8d307cc4e887e3cdeee4 /transmitters | |
parent | ed0937ed0eb62c354de4c327061821756c57e1f1 (diff) | |
download | farstream-fd916e1a71e5e2530c6a5c38a6241b8c479cf19c.tar.gz |
shmtrans: Release teepad before stopping downstream elements
Diffstat (limited to 'transmitters')
-rw-r--r-- | transmitters/shm/fs-shm-transmitter.c | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/transmitters/shm/fs-shm-transmitter.c b/transmitters/shm/fs-shm-transmitter.c index 51d7e042..76d8b99c 100644 --- a/transmitters/shm/fs-shm-transmitter.c +++ b/transmitters/shm/fs-shm-transmitter.c @@ -840,6 +840,14 @@ fs_shm_transmitter_check_shm_sink (FsShmTransmitter *self, ShmSink *shm, if (path && !strcmp (path, shm->path)) return TRUE; + if (shm->teepad) + { + gst_element_release_request_pad (self->priv->tees[shm->component], + shm->teepad); + gst_object_unref (shm->teepad); + } + shm->teepad = NULL; + if (shm->sink) { gst_element_set_locked_state (shm->sink, TRUE); @@ -856,14 +864,6 @@ fs_shm_transmitter_check_shm_sink (FsShmTransmitter *self, ShmSink *shm, } shm->recvonly_filter = NULL; - if (shm->teepad) - { - gst_element_release_request_pad (self->priv->tees[shm->component], - shm->teepad); - gst_object_unref (shm->teepad); - } - shm->teepad = NULL; - g_free (shm->path); g_slice_free (ShmSink, shm); |