rtpjitterbuffer: move some initialization code from change_state to _init.
authorAlessandro Decina <alessandro.decina@collabora.co.uk>
Mon, 3 May 2010 11:26:32 +0000 (13:26 +0200)
committerAlessandro Decina <alessandro.decina@collabora.co.uk>
Mon, 3 May 2010 11:34:59 +0000 (13:34 +0200)
Set ->active to TRUE in _init so it can be set to FALSE after creating the
jitterbuffer and it won't be mistakenly reset to TRUE in the change_state
function.
This is needed to start the jitterbuffer as inactive when rtpbin is buffering.

gst/rtpmanager/gstrtpjitterbuffer.c

index cbcbd78..ddf84a1 100644 (file)
@@ -469,6 +469,7 @@ gst_rtp_jitter_buffer_init (GstRtpJitterBuffer * jitterbuffer,
   rtp_jitter_buffer_reset_skew (priv->jbuf);
   rtp_jitter_buffer_set_delay (priv->jbuf, priv->latency_ns);
   rtp_jitter_buffer_set_buffering (priv->jbuf, FALSE);
+  priv->active = TRUE;
 
   priv->srcpad =
       gst_pad_new_from_static_template (&gst_rtp_jitter_buffer_src_template,
@@ -949,11 +950,6 @@ gst_rtp_jitter_buffer_change_state (GstElement * element,
       priv->last_pt = -1;
       /* block until we go to PLAYING */
       priv->blocked = TRUE;
-      /* reset skew detection initialy */
-      rtp_jitter_buffer_reset_skew (priv->jbuf);
-      rtp_jitter_buffer_set_delay (priv->jbuf, priv->latency_ns);
-      rtp_jitter_buffer_set_buffering (priv->jbuf, FALSE);
-      priv->active = TRUE;
       JBUF_UNLOCK (priv);
       break;
     case GST_STATE_CHANGE_PAUSED_TO_PLAYING: