From: Wim Taymans Date: Fri, 6 Apr 2007 12:28:29 +0000 (+0000) Subject: gst/rtpmanager/gstrtpbin.*: Provide a clock. X-Git-Tag: RELEASE-0.10.16~217 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=a6aa41dc2118c811a5e84246722e8c6e99114c32;p=platform%2Fupstream%2Fgst-plugins-good.git gst/rtpmanager/gstrtpbin.*: Provide a clock. Original commit message from CVS: * gst/rtpmanager/gstrtpbin.c: (gst_rtp_bin_class_init), (gst_rtp_bin_init), (gst_rtp_bin_provide_clock): * gst/rtpmanager/gstrtpbin.h: Provide a clock. --- diff --git a/gst/rtpmanager/gstrtpbin.c b/gst/rtpmanager/gstrtpbin.c index eed0704..5f6551b 100644 --- a/gst/rtpmanager/gstrtpbin.c +++ b/gst/rtpmanager/gstrtpbin.c @@ -312,6 +312,7 @@ static void gst_rtp_bin_get_property (GObject * object, guint prop_id, GValue * value, GParamSpec * pspec); /* GstElement vmethods */ +static GstClock *gst_rtp_bin_provide_clock (GstElement * element); static GstStateChangeReturn gst_rtp_bin_change_state (GstElement * element, GstStateChange transition); static GstPad *gst_rtp_bin_request_new_pad (GstElement * element, @@ -361,6 +362,8 @@ gst_rtp_bin_class_init (GstRTPBinClass * klass) gobject_class->set_property = gst_rtp_bin_set_property; gobject_class->get_property = gst_rtp_bin_get_property; + gstelement_class->provide_clock = + GST_DEBUG_FUNCPTR (gst_rtp_bin_provide_clock); gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_rtp_bin_change_state); gstelement_class->request_new_pad = GST_DEBUG_FUNCPTR (gst_rtp_bin_request_new_pad); @@ -373,6 +376,7 @@ static void gst_rtp_bin_init (GstRTPBin * rtpbin, GstRTPBinClass * klass) { rtpbin->priv = GST_RTP_BIN_GET_PRIVATE (rtpbin); + rtpbin->provided_clock = gst_system_clock_obtain (); } static void @@ -415,6 +419,16 @@ gst_rtp_bin_get_property (GObject * object, guint prop_id, } } +static GstClock * +gst_rtp_bin_provide_clock (GstElement * element) +{ + GstRTPBin *rtpbin; + + rtpbin = GST_RTP_BIN (element); + + return GST_CLOCK_CAST (gst_object_ref (rtpbin->provided_clock)); +} + static GstStateChangeReturn gst_rtp_bin_change_state (GstElement * element, GstStateChange transition) { diff --git a/gst/rtpmanager/gstrtpbin.h b/gst/rtpmanager/gstrtpbin.h index ccd57a7..f9cfdf2 100644 --- a/gst/rtpmanager/gstrtpbin.h +++ b/gst/rtpmanager/gstrtpbin.h @@ -42,6 +42,7 @@ struct _GstRTPBin { /* a list of session */ GSList *sessions; + GstClock *provided_clock; /*< private >*/ GstRTPBinPrivate *priv;