[farsight2/master] Make the result of the rtpbin_blocked_cb only depend on the state of the substream
Olivier Crête
olivier.crete at collabora.co.uk
Tue Dec 23 15:22:45 PST 2008
---
gst/fsrtpconference/fs-rtp-substream.c | 15 +++++++--------
1 files changed, 7 insertions(+), 8 deletions(-)
diff --git a/gst/fsrtpconference/fs-rtp-substream.c b/gst/fsrtpconference/fs-rtp-substream.c
index c18a5d5..79ffe91 100644
--- a/gst/fsrtpconference/fs-rtp-substream.c
+++ b/gst/fsrtpconference/fs-rtp-substream.c
@@ -974,7 +974,6 @@ _rtpbin_pad_have_data_callback (GstPad *pad, GstMiniObject *miniobj,
FsCodec *codec = NULL;
gboolean ret = TRUE;
GError *error = NULL;
- gboolean success = FALSE;
FS_RTP_SESSION_LOCK (self->priv->session);
@@ -995,10 +994,7 @@ _rtpbin_pad_have_data_callback (GstPad *pad, GstMiniObject *miniobj,
g_clear_error (&error);
if (fs_codec_are_equal (codec, self->priv->codec))
- {
- success = TRUE;
goto done;
- }
if (!fs_rtp_session_substream_add_codec_bin (self->priv->session,
@@ -1016,12 +1012,15 @@ _rtpbin_pad_have_data_callback (GstPad *pad, GstMiniObject *miniobj,
g_clear_error (&error);
- success = TRUE;
-
done:
- if (success && GST_IS_BUFFER (miniobj))
+
+ if (!self->priv->codecbin || !self->priv->codec)
+ {
+ ret = FALSE;
+ }
+ else if (GST_IS_BUFFER (miniobj))
{
- GstCaps *caps = fs_codec_to_gst_caps (codec);
+ GstCaps *caps = fs_codec_to_gst_caps (self->priv->codec);
GstCaps *intersection = gst_caps_intersect (GST_BUFFER_CAPS (miniobj),
caps);
--
1.5.6.5
More information about the farsight-commits
mailing list