mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2025-06-05 23:18:52 +00:00
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.
This commit is contained in:
parent
1b0ae2608f
commit
a6aa41dc21
2 changed files with 15 additions and 0 deletions
|
@ -312,6 +312,7 @@ static void gst_rtp_bin_get_property (GObject * object, guint prop_id,
|
||||||
GValue * value, GParamSpec * pspec);
|
GValue * value, GParamSpec * pspec);
|
||||||
|
|
||||||
/* GstElement vmethods */
|
/* GstElement vmethods */
|
||||||
|
static GstClock *gst_rtp_bin_provide_clock (GstElement * element);
|
||||||
static GstStateChangeReturn gst_rtp_bin_change_state (GstElement * element,
|
static GstStateChangeReturn gst_rtp_bin_change_state (GstElement * element,
|
||||||
GstStateChange transition);
|
GstStateChange transition);
|
||||||
static GstPad *gst_rtp_bin_request_new_pad (GstElement * element,
|
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->set_property = gst_rtp_bin_set_property;
|
||||||
gobject_class->get_property = gst_rtp_bin_get_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->change_state = GST_DEBUG_FUNCPTR (gst_rtp_bin_change_state);
|
||||||
gstelement_class->request_new_pad =
|
gstelement_class->request_new_pad =
|
||||||
GST_DEBUG_FUNCPTR (gst_rtp_bin_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)
|
gst_rtp_bin_init (GstRTPBin * rtpbin, GstRTPBinClass * klass)
|
||||||
{
|
{
|
||||||
rtpbin->priv = GST_RTP_BIN_GET_PRIVATE (rtpbin);
|
rtpbin->priv = GST_RTP_BIN_GET_PRIVATE (rtpbin);
|
||||||
|
rtpbin->provided_clock = gst_system_clock_obtain ();
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
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
|
static GstStateChangeReturn
|
||||||
gst_rtp_bin_change_state (GstElement * element, GstStateChange transition)
|
gst_rtp_bin_change_state (GstElement * element, GstStateChange transition)
|
||||||
{
|
{
|
||||||
|
|
|
@ -42,6 +42,7 @@ struct _GstRTPBin {
|
||||||
|
|
||||||
/* a list of session */
|
/* a list of session */
|
||||||
GSList *sessions;
|
GSList *sessions;
|
||||||
|
GstClock *provided_clock;
|
||||||
|
|
||||||
/*< private >*/
|
/*< private >*/
|
||||||
GstRTPBinPrivate *priv;
|
GstRTPBinPrivate *priv;
|
||||||
|
|
Loading…
Reference in a new issue