summaryrefslogtreecommitdiff
path: root/gst/gstclock.h
Commit message (Collapse)AuthorAgeFilesLines
* Fix FSF addressTim-Philipp Müller2012-11-031-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=687520
* Remove 0.10-related documentation and "Since" markersEdward Hervey2012-07-101-9/+1
|
* clock: annotate GST_CLOCK_TIME_NONE with its value for g-iTim-Philipp Müller2012-06-271-4/+7
| | | | | | | The value now gets picked up, but it still thinks the type is a 'gint'. https://bugzilla.gnome.org/show_bug.cgi?id=678928
* clock: remove _full versionWim Taymans2012-06-201-3/+0
| | | | | Rename gst_clock_id_wait_async_full() to gst_clock_id_wait_async() and remove the old gst_clock_id_wait_async() version.
* clock: assert about timestamp overflowsWim Taymans2012-06-191-2/+6
| | | | | | | Assert when converting to timeval and timespec about overflows. This can happen on platforms with 32bits long. Fixes https://bugzilla.gnome.org/show_bug.cgi?id=678181
* clock: fix compiler warningSebastian Rasmussen2012-06-181-5/+5
| | | | | Cast to the right value, it might indeed overflow but we want the compiler to ignore that.
* introspection: add some missing annotationsEvan Nemerson2012-06-121-0/+1
|
* clock: make more stuff privateWim Taymans2012-02-271-61/+5
| | | | Expose methods to get and set the timeout because subclasses uses this.
* clock: remove unimplemented stats property while we canStefan Sauer2012-02-071-1/+0
|
* remove TRACE_NAME from headersWim Taymans2012-02-021-7/+0
|
* Update for new gthread APIWim Taymans2012-01-191-9/+9
|
* .h: fix header filesWim Taymans2011-11-111-116/+117
| | | | | | Ensure correct indentation and :retab. Make sure all structures have padding Fix up some old ABI additions.
* controller: move to core/gstobjectStefan Sauer2011-11-041-2/+2
| | | | | | | | | | | | Move the controller to gstobject as a simple delegate. The controller and controlsource are not classes in core. The controlsources stay separate as a lib for now. This way we can avoid the qdata lookups. Also remove controller_init(). There is no more need to link to controller for elements. Also sanitize the API. We now have functions to add properties like we had methods to remove that. That avoids then ref count hacks we had in _new.
* Merge branch 'master' into 0.11Wim Taymans2011-11-041-0/+13
|\ | | | | | | | | Conflicts: gst/gstbin.c
| * introspection: add Value annotations for GST_SECOND, GST_MSECOND, ↵Peteris Krisjanis2011-11-041-0/+13
| | | | | | | | | | | | | | | | | | | | | | | | GST_USECOND, GST_NSECOND constants gobject-introspection won't parse them properly otherwise. Still need to force the right type though (either GstClockTime or guint64), but Type: xyz has no effect for me here, so someone with a newer g-i needs to test this. Some other defines are also missing, e.g. GST_CLOCK_TIME_NONE.
* | Merge branch 'master' into 0.11Wim Taymans2011-05-241-6/+13
|\ \ | |/ | | | | | | Conflicts: gst/gstpad.h
| * clock: improve the GST_TIME_FORMAT/ARGS docsKipp Cannon2011-05-241-6/+13
| |
* | cleanupsWim Taymans2011-02-221-8/+5
|/ | | | Fix padding, remove deprecated symbols.
* clock: API: Add function to re-init periodic GstClockIDsSebastian Dröge2011-01-241-0/+4
|
* docs: add missing "Since: 0.10.32" markers for GstClockMart Raudsepp2011-01-241-1/+1
| | | | | Since tags were missing for gst_clock_single_shot_id_reinit() and GST_CLOCK_DONE.
* clock: make sync clock wait lockfreeWim Taymans2010-12-031-1/+5
| | | | Make the common case lockfree.
* gstclock: New API to re-use a single shot GstClockIDEdward Hervey2010-12-021-0/+3
| | | | | | API: gst_clock_single_shot_id_reinit https://bugzilla.gnome.org/show_bug.cgi?id=632778
* clock: document that GstClockEntry should be treated as ana opaque structure.Alessandro Decina2010-07-061-0/+2
|
* clock: add gst_clock_id_wait_async_full.Alessandro Decina2010-07-061-0/+5
| | | | | Add gst_clock_id_wait_async_full. It's the same as gst_clock_id_wait_async but allows passing a GDestroyNotify to destroy user_data.
* gstclock: Fix ABI breakage on 32 bit architecturesSebastian Dröge2009-05-171-3/+4
| | | | | | | | | The padding of GstClock is a GstClockTime and not a gpointer, so adding a pointer requires the padding size to be changed depending on the pointer size. Use an union instead. Fixes bug #582878.
* clock: use seqlocks to parallellize readersWim Taymans2009-05-151-1/+4
|
* docs: use real <note> tags as they look nice in new gtk-docStefan Kost2009-04-141-4/+4
|
* gst/: Fixed a bunch of typos.Peter Kjellerstedt2008-05-261-16/+16
| | | | | | | | | Original commit message from CVS: * gst/gstclock.c: * gst/gstclock.h: * gst/gsttask.c: * gst/gsttask.h: Fixed a bunch of typos.
* docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section.Stefan Kost2008-04-231-2/+2
| | | | | | | | | | | | | | | Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Move GParamSepc macros to standart section. * gst/gstbin.c: Dn't document _get_type - its in private section in docs anyway and this doc-blob was incomplete. * gst/gstclock.h: Fix wrong symbol names in docs. * gst/gstmacros.h: Add once doc sentence. * tests/check/gst/.cvsignore: Ignore more.
* Small documentation fixes. Fixes #523978.Mark Nauwelaerts2008-03-241-0/+3
| | | | | | | | | | Original commit message from CVS: Patch by: Mark Nauwelaerts <manauw at skynet be> * gst/gstclock.h: * libs/gst/base/gstbasesrc.h: * libs/gst/base/gstbasetransform.c: * libs/gst/check/gstcheck.c: Small documentation fixes. Fixes #523978.
* gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to ↵Peter Kjellerstedt2008-01-091-2/+2
| | | | | | | | | | what the docs say it casts to, a GstClockTim... Original commit message from CVS: Patch by: Peter Kjellerstedt <pkj axis com> * gst/gstclock.h: Cast the results from the timeval/spec_to_time macros to what the docs say it casts to, a GstClockTime. fixes #508175.
* Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as ↵Stefan Kost2007-12-111-25/+0
| | | | | | | | | | | | | | | | | we don't have HAVE_POSIX_TIMERS in publi... Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * gst/gstdebugutils.c: * gst/gstinfo.c: * gst/gstutils.c: * gst/gstutils.h: * libs/gst/base/gstbasesink.c: * tools/gst-launch.c: Change GST_GET_TIMESTAMP into gst_util_get_timestamp and replace all uses as we don't have HAVE_POSIX_TIMERS in public headers. Thanks Tim for spotting.
* Rename new API + ChangeLog surgery to remove old name from last entry..Stefan Kost2007-11-281-5/+6
| | | | | | | | | | Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * gst/gstdebugutils.c: * gst/gstinfo.c: Rename new API + ChangeLog surgery to remove old name from last entry.. API: GST_GET_TIMESTAMP
* Now hide the different clock stuff behind a macro.Stefan Kost2007-11-281-0/+24
| | | | | | | | | | Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * gst/gstdebugutils.c: * gst/gstinfo.c: Now hide the different clock stuff behind a macro. API: GST_GET_CURRENT_TIME
* Start merging in the easy bits of #361155, the monotonic clock patch.Wim Taymans2007-11-281-0/+35
| | | | | | | | | | Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.h: * tests/check/gst/gstsystemclock.c: (GST_START_TEST), (gst_systemclock_suite): Start merging in the easy bits of #361155, the monotonic clock patch. This one adds a few handy macros with docs and a testsuite.
* gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The ↵Tim-Philipp Müller2007-10-031-2/+1
| | | | | | | | | flags field has moved to GstObject. Original commit message from CVS: * gst/gstclock.h: Fix up broken GST_CLOCK_FLAGS macro and GstClock docs. The flags field has moved to GstObject.
* Improve _adjust_unlocked() so that it overflows less.Wim Taymans2007-04-051-1/+2
| | | | | | | | | | | | | Original commit message from CVS: * docs/gst/gstreamer-sections.txt: * gst/gstclock.c: (gst_clock_adjust_unlocked), (gst_clock_unadjust_unlocked), (gst_clock_set_calibration): * gst/gstclock.h: Improve _adjust_unlocked() so that it overflows less. Add gst_clock_unadjust_unlocked to convert from external time to internal time based on calibration. Add some more debug. API: GstClock::gst_clock_unadjust_unlocked()
* Small docs fixes.Wim Taymans2006-10-181-1/+1
| | | | | | | Original commit message from CVS: * docs/design/part-live-source.txt: * gst/gstclock.h: Small docs fixes.
* releasing 0.10.10RELEASE-0_10_10Thomas Vander Stichele2006-09-141-2/+2
| | | | | Original commit message from CVS: releasing 0.10.10
* docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs.Wim Taymans2006-08-111-2/+22
| | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * docs/gst/gstreamer-sections.txt: Add GstClockClass vmethod docs. * gst/gstcaps.h: Mark #endif with comment for associated #if * gst/gstclock.c: (gst_clock_id_wait): * gst/gstclock.h: Add vmethod wait_jitter to avoid an unneeded _get_time() for most clock implementations. Document vmethods. Flesh out docs about resolution methods. API: GstClockClass::wait_jitter * gst/gstsystemclock.c: (gst_system_clock_class_init), (gst_system_clock_async_thread), (gst_system_clock_id_wait_jitter_unlocked), (gst_system_clock_id_wait_jitter): Use base class wait_jitter variant for improved performance due to less clock polling.
* gst/: Remove comma at end of enumerator list.Wim Taymans2006-07-061-2/+2
| | | | | | | | | | | | Original commit message from CVS: * gst/gstbus.h: * gst/gstclock.h: * gst/gstevent.h: * gst/gstiterator.h: * gst/gstpad.h: * gst/gstplugin.h: * gst/gsttask.h: Remove comma at end of enumerator list.
* gst/gstclock.h: Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need to ↵Tim-Philipp Müller2006-03-101-1/+1
| | | | | | | | | | cast the input to GstClockTime before comp... Original commit message from CVS: * gst/gstclock.h: Fix GST_CLOCK_TIME_IS_VALID signedness issues - we need to cast the input to GstClockTime before comparing with another GstClockTime value.
* gst/gstclock.*: Review docs.Wim Taymans2006-03-091-0/+1
| | | | | | | | | | | | | | | | | | | | | | | | Original commit message from CVS: * gst/gstclock.c: (gst_clock_entry_new), (gst_clock_id_compare_func), (gst_clock_id_wait), (gst_clock_id_wait_async), (gst_clock_id_unschedule), (gst_clock_init), (gst_clock_get_internal_time), (gst_clock_set_master), (do_linear_regression), (gst_clock_add_observation), (gst_clock_set_property): * gst/gstclock.h: Review docs. Small cleanups. Fix a possible segfault when the window-size is made smaller. Calculate jitter before performing the clock wait. Ideally the clock implementation should calculate jitter but we need API breakage for that. * gst/gstsystemclock.c: (gst_system_clock_init): Docs review. * libs/gst/base/gstbasesink.c: (gst_base_sink_do_sync): Remove leftover else * tests/check/gst/gstsystemclock.c: (GST_START_TEST), (gst_systemclock_suite): Added check to test GST_CLOCK_DIFF.
* gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999Thomas Vander Stichele2006-03-061-4/+8
| | | | | | | Original commit message from CVS: * gst/gstclock.h: Show GST_CLOCK_TIME_NONE as 99:99:99.999999999
* check/gst/gstutils.c: Added test for scaling.Wim Taymans2005-11-241-1/+1
| | | | | | | | | | | | Original commit message from CVS: * check/gst/gstutils.c: (GST_START_TEST), (gst_utils_suite): Added test for scaling. * gst/gstclock.h: Small doc fix. * gst/gstutils.c: (gst_util_uint64_scale_int): Implemented high precision scaling code.
* check/net/gstnetclientclock.c (test_functioning): Adjust to ↵Andy Wingo2005-11-231-4/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | rate_num/rate_denom change. Original commit message from CVS: 2005-11-23 Andy Wingo <wingo@pobox.com> * check/net/gstnetclientclock.c (test_functioning): Adjust to rate_num/rate_denom change. * gst/net/gstnetclientclock.c (gst_net_client_clock_observe_times): Take the SLAVE_LOCK not the OBJECT_LOCK. Don't call add_observation with the lock. * gst/gstclock.c (gst_clock_init): Initialize the rate as a fraction. (gst_clock_adjust_unlocked): Adjust using uint64_scale and the rate fraction. (gst_clock_set_calibration, gst_clock_get_calibration): Change to deal with rate as a fraction whose numerator and denominator are GstClockTime values. (gst_clock_set_master): Only use the OBJECT_LOCK to set the master; the other fields are protected by the SLAVE_LOCK. (do_linear_regression): Note that this must be called with the SLAVE_LOCK. (gst_clock_add_observation): Take the SLAVE_LOCK, not the OBJECT_LOCK. Call set_calibration instead of touching the variables directly. (gst_clock_set_property, gst_clock_get_property): Protect master/slave parameters with the SLAVE_LOCK. * gst/gstclock.h (GstClock): Remove rate, add rate_numerator and rate_denominator. PR3C1S3. Add a new lock, the SLAVE_LOCK, and note that all of the instance variables that add_observation and the set_master functions use are protected by that lock and not the OBJECT_LOCK. (GST_CLOCK_SLAVE_LOCK, GST_CLOCK_SLAVE_UNLOCK): New macros. * gst/gstclock.c (gst_clock_add_observation): No longer requires the caller to take the object lock.
* gst/base/gstbasesink.*: No need to store the clock, the parent element class ↵Wim Taymans2005-11-221-1/+17
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | 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.
* gst/: Convert Clock flags to object flags.Wim Taymans2005-11-211-8/+13
| | | | | | | | | | Original commit message from CVS: * gst/gstclock.c: (gst_clock_init), (gst_clock_set_master), (gst_clock_get_master): * gst/gstclock.h: * gst/gstsystemclock.c: (gst_system_clock_init): Convert Clock flags to object flags. Added methods to manage master/slave clocks.
* *.*: Ran scripts/update-macros. Oh yes. gst/gstobject.h ↵Andy Wingo2005-11-211-2/+2
| | | | | | | | | | | | | | | | | | (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK) Original commit message from CVS: 2005-11-21 Andy Wingo <wingo@pobox.com> * *.h: * *.c: Ran scripts/update-macros. Oh yes. * gst/gstobject.h (GST_OBJECT_GET_LOCK, GST_OBJECT_LOCK) (GST_OBJECT_TRYLOCK, GST_OBJECT_UNLOCK): Renamed from GST_GET_LOCK, etc. * scripts/update-macros: New script. Run it on your files to change GST_LOCK to GST_OBJECT_LOCK, and the same for UNLOCK as well.
* gst/gstclock.*: Change resolution to be a GstClockTime.Andy Wingo2005-11-191-6/+8
| | | | | | | | | | | Original commit message from CVS: 2005-11-19 Andy Wingo <wingo@pobox.com> * gst/gstclock.h: * gst/gstclock.c (GstClock, GstClockClass): Change resolution to be a GstClockTime. (gst_clock_set_resolution, gst_clock_get_resolution): Resolution is a GstClockTime. Fixes #321710.