gst/base/gstbasesink.*: No need to store the clock, the parent element class already...
authorWim Taymans <wim.taymans@gmail.com>
Tue, 22 Nov 2005 18:28:44 +0000 (18:28 +0000)
committerWim Taymans <wim.taymans@gmail.com>
Tue, 22 Nov 2005 18:28:44 +0000 (18:28 +0000)
commitcf925ebb6f056b59025ee58eb4bb32079b1587fe
tree0333bf2c065b0eab313a2116e25d317a74a7bff8
parent59ac39499a81dfe99d4e773ec52a5215951f5e5e
gst/base/gstbasesink.*: No need to store the clock, the parent element class already has it.

Original commit message from CVS:
* gst/base/gstbasesink.c: (gst_base_sink_class_init),
(gst_base_sink_wait), (gst_base_sink_do_sync),
(gst_base_sink_handle_event):
* gst/base/gstbasesink.h:
No need to store the clock, the parent element class already
has it.

* gst/gstbin.c: (gst_bin_set_clock_func), (gst_bin_add_func):
Updates for clock_set returning a gboolean

* gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_wait),
(gst_clock_id_wait_async), (gst_clock_class_init),
(gst_clock_init), (gst_clock_finalize),
(gst_clock_get_internal_time), (gst_clock_get_time),
(gst_clock_slave_callback), (gst_clock_set_master),
(gst_clock_get_master), (do_linear_regression),
(gst_clock_add_observation), (gst_clock_set_property),
(gst_clock_get_property):
* gst/gstclock.h:
Implement master/slave. When setting a clock as a slave, a
periodic timeout is scheduled to sample master and slave times.
Then the slave clock is recalibrated to match offset and rate
of the master clock.
Update logging a bit.
Add flag so that a clock can state that is cannot be slaved to
another clock.

* gst/gstelement.c: (gst_element_set_clock):
* gst/gstelement.h:
The set_clock returns a gboolean for when an element cannot
deal with the selected clock in the pipeline.

* gst/gstpipeline.c: (gst_pipeline_change_state),
(gst_pipeline_set_clock):
* gst/gstpipeline.h:
Handle the case where the selected clock cannot be set on
the pipeline.

* gst/net/gstnetclientclock.c: (gst_net_client_clock_class_init),
(gst_net_client_clock_init), (gst_net_client_clock_finalize),
(gst_net_client_clock_set_property),
(gst_net_client_clock_get_property),
(gst_net_client_clock_observe_times):
* gst/net/gstnetclientclock.h:
Use regression code in GstClock parent, remove duplicated
functionality.
17 files changed:
ChangeLog
gst/base/gstbasesink.c
gst/base/gstbasesink.h
gst/gstbin.c
gst/gstclock.c
gst/gstclock.h
gst/gstelement.c
gst/gstelement.h
gst/gstpipeline.c
gst/gstpipeline.h
gst/gstquery.h
gst/net/gstnetclientclock.c
gst/net/gstnetclientclock.h
libs/gst/base/gstbasesink.c
libs/gst/base/gstbasesink.h
libs/gst/net/gstnetclientclock.c
libs/gst/net/gstnetclientclock.h