diff options
author | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2010-05-31 15:24:31 -0400 |
---|---|---|
committer | Olivier CrĂȘte <olivier.crete@collabora.co.uk> | 2010-05-31 15:44:03 -0400 |
commit | d4f5cb0dd2f46a09c52b09747e84afdca2023c12 (patch) | |
tree | a3f2b9ef767c6300f43a2ff7ae345c545ef41708 /transmitters | |
parent | 56cb75eca2f161e801e391735e7e4b3b406941cf (diff) | |
download | farstream-d4f5cb0dd2f46a09c52b09747e84afdca2023c12.tar.gz |
nicetransmitter: Remove nicesrc before stopping it
This should prevent any EOS
Diffstat (limited to 'transmitters')
-rw-r--r-- | transmitters/nice/fs-nice-transmitter.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/transmitters/nice/fs-nice-transmitter.c b/transmitters/nice/fs-nice-transmitter.c index 898fa9ee..0a535314 100644 --- a/transmitters/nice/fs-nice-transmitter.c +++ b/transmitters/nice/fs-nice-transmitter.c @@ -796,13 +796,12 @@ fs_nice_transmitter_free_gst_stream (FsNiceTransmitter *self, if (ns->nicesrcs[c]) { GstStateChangeReturn ret; - gst_element_set_locked_state (ns->nicesrcs[c], TRUE); + if (!gst_bin_remove (GST_BIN (self->priv->gst_src), ns->nicesrcs[c])) + GST_ERROR ("Could not remove nicesrc element from transmitter source"); ret = gst_element_set_state (ns->nicesrcs[c], GST_STATE_NULL); if (ret != GST_STATE_CHANGE_SUCCESS) GST_ERROR ("Error changing state of nicesrc: %s", gst_element_state_change_return_get_name (ret)); - if (!gst_bin_remove (GST_BIN (self->priv->gst_src), ns->nicesrcs[c])) - GST_ERROR ("Could not remove nicesrc element from transmitter source"); gst_object_unref (ns->nicesrcs[c]); } |