summaryrefslogtreecommitdiff
path: root/transmitters
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.co.uk>2010-05-31 15:24:31 -0400
committerOlivier CrĂȘte <olivier.crete@collabora.co.uk>2010-05-31 15:44:03 -0400
commitd4f5cb0dd2f46a09c52b09747e84afdca2023c12 (patch)
treea3f2b9ef767c6300f43a2ff7ae345c545ef41708 /transmitters
parent56cb75eca2f161e801e391735e7e4b3b406941cf (diff)
downloadfarstream-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.c5
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]);
}