Gst::SystemClock Class Reference

A default clock that uses the current system time. More...

Inheritance diagram for Gst::SystemClock:
[legend]
Collaboration diagram for Gst::SystemClock:
[legend]

## Public Member Functions

virtual | ~SystemClock ()
GstSystemClock* | gobj ()
| Provides access to the underlying C GObject. More...
const GstSystemClock* | gobj () const
| Provides access to the underlying C GObject. More...
GstSystemClock* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
Public Member Functions inherited from Gst::Clock
virtual | ~Clock ()
GstClock* | gobj ()
| Provides access to the underlying C GObject. More...
const GstClock* | gobj () const
| Provides access to the underlying C GObject. More...
GstClock* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
bool | add_observation (ClockTime slave_time, ClockTime master_time, gdouble* result)
| The time master of the master clock and the time slave of the slave clock are added to the list of observations. More...
bool | set_master (const Clock& master_clock)
| Set master as the master clock for clock. More...
Glib::RefPtr< Gst::Clock > | get_master ()
| Get the master clock that clock is slaved to or `0` when the clock is not slaved to any master clock. More...
Glib::RefPtr< const Gst::Clock > | get_master () const
| Get the master clock that clock is slaved to or `0` when the clock is not slaved to any master clock. More...
ClockTime | set_resolution (ClockTime resolution)
| Set the accuracy of the clock. More...
ClockTime | get_resolution () const
| Get the accuracy of the clock. More...
ClockTime | get_time () const
| Gets the current time of the given clock. More...
Glib::RefPtr< Gst::ClockID > | create_single_shot_id (ClockTime time)
| Get a Gst::ClockID from clock to trigger a single shot notification at the requested time. More...
Glib::RefPtr< Gst::ClockID > | create_periodic_id (ClockTime start_time, ClockTime intervals)
| Get an ID from clock to trigger a periodic notification. More...
ClockTime | get_internal_time () const
| Gets the current internal time of the given clock. More...
ClockTime | adjust_unlocked (ClockTime internal_time)
| Converts the given internal clock time to the external time, adjusting for the rate and reference time set with set_calibration() and making sure that the returned time is increasing. More...
ClockTime | unadjust_unlocked (ClockTime external_time)
| Converts the given external clock time to the internal time of clock, using the rate and reference time set with set_calibration(). More...
void | get_calibration (ClockTime&internal, ClockTime& external, ClockTime& rate_num, ClockTime& rate_denom) const
| Gets the internal rate and reference time of clock. More...
void | set_calibration (ClockTime internal, ClockTime external, ClockTime rate_num, ClockTime rate_denom)
| Adjusts the rate and time of clock. More...
Glib::PropertyProxy< guint64 > | property_timeout ()
| The amount of time, in nanoseconds, to sample master and slave clocks. More...
Glib::PropertyProxy_ReadOnly < guint64 > | property_timeout () const
| The amount of time, in nanoseconds, to sample master and slave clocks. More...
Glib::PropertyProxy< int > | property_window_size ()
| The size of the window used to calculate rate and offset. More...
Glib::PropertyProxy_ReadOnly< int > | property_window_size () const
| The size of the window used to calculate rate and offset. More...
Glib::PropertyProxy< int > | property_window_threshold ()
| The threshold to start calculating rate and offset. More...
Glib::PropertyProxy_ReadOnly< int > | property_window_threshold () const
| The threshold to start calculating rate and offset. More...
virtual ClockTime | change_resolution_vfunc (ClockTime old_resolution, ClockTime new_resolution)
| Change the resolution of the clock. More...
virtual ClockTime | get_resolution_vfunc () const
| Get the resolution of the clock. More...
virtual ClockTime | get_internal_time_vfunc () const
| Get the internal unadjusted time of the clock. More...
virtual ClockReturn | wait_vfunc (const Glib::RefPtr< Gst::ClockID >& id, ClockTimeDiff& jitter)
| Perform a blocking wait for the given Gst::ClockID. More...
virtual ClockReturn | wait_async_vfunc (const Glib::RefPtr< Gst::ClockID >& id)
| Perform an asynchronous wait for the given Gst::ClockID. More...
virtual void | unschedule_vfunc (const Glib::RefPtr< Gst::ClockID >& id)
| Unblock a blocking or async wait operation. More...
Public Member Functions inherited from Gst::Object
virtual | ~Object ()
GstObject* | gobj ()
| Provides access to the underlying C GObject. More...
const GstObject* | gobj () const
| Provides access to the underlying C GObject. More...
GstObject* | gobj_copy ()
| Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
bool | is_element () const
bool | is_element_factory () const
bool | is_pad () const
bool | is_pad_template () const
bool | is_bin () const
guint32 | get_flags () const
| Returns the entire set of flags for the object. More...
bool | set_name (const Glib::ustring& name)
| Sets the name of object, or gives object a guaranteed unique name (if name is `0`). More...
Glib::ustring | get_name () const
| Returns a copy of the name of object. More...
bool | set_parent (const Glib::RefPtr< Gst::Object >& parent)
| Sets the parent of object to parent. More...
Glib::RefPtr< Gst::Object > | get_parent ()
| Returns the parent of object. More...
Glib::RefPtr< const Gst::Object > | get_parent () const
| Returns the parent of object. More...
void | unparent ()
| Clear the parent of object, removing the associated reference. More...
bool | has_ancestor (const Glib::RefPtr< const Gst::Object >& ancestor) const
| Check if object has an ancestor ancestor somewhere up in the hierarchy. More...
Glib::ustring | get_path_string ()
| Generates a string describing the path of object in the object hierarchy. More...
Glib::PropertyProxy < Glib::ustring > | property_name ()
| The name of the object. More...
Glib::PropertyProxy_ReadOnly < Glib::ustring > | property_name () const
| The name of the object. More...
Glib::SignalProxy2< void, const Glib::RefPtr< Object > &, GParamSpec* > | signal_deep_notify ()

## Static Public Member Functions

static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static Glib::RefPtr< Gst::Clock > | obtain ()
| Get a handle to the default system clock. More...
Static Public Member Functions inherited from Gst::Clock
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
Static Public Member Functions inherited from Gst::Object
static GType | get_type ()
| Get the GType for this class, for use with the underlying GObject type system. More...
static bool | check_uniqueness (const Glib::ListHandle< const Gst::Object >& list, const Glib::ustring& name)
| Checks to see if there is any object named name in list. More...

## Protected Member Functions

| SystemClock ()
Protected Member Functions inherited from Gst::Object
virtual void | on_deep_notify (const Glib::RefPtr< Object >& prop_object, GParamSpec* prop)
| This is a default handler for the signal signal_deep_notify(). More...

## Related Functions

(Note that these are not member functions.)
Glib::RefPtr< Gst::SystemClock > | wrap (GstSystemClock* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gst::Clock
Glib::RefPtr< Gst::Clock > | wrap (GstClock* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gst::Object
Glib::RefPtr< Gst::Object > | wrap (GstObject* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Detailed Description

A default clock that uses the current system time.

The GStreamer core provides a Gst::SystemClock based on the system time. Asynchronous callbacks are scheduled from an internal thread.

Gst::Clock implementors are encouraged to subclass this systemclock as it implements the async notification.

Subclasses can however override all of the important methods for sync and async notifications to implement their own callback methods or blocking wait operations.

Last reviewed on 2006-03-08 (0.10.4)

## Constructor & Destructor Documentation

virtual Gst::SystemClock::~SystemClock | ( |  | ) |

virtual

Gst::SystemClock::SystemClock | ( |  | ) |

protected

## Member Function Documentation

static GType Gst::SystemClock::get_type | ( |  | ) |

static

Get the GType for this class, for use with the underlying GObject type system.

GstSystemClock* Gst::SystemClock::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GstSystemClock* Gst::SystemClock::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

GstSystemClock* Gst::SystemClock::gobj_copy | ( |  | ) |

Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.

static Glib::RefPtr<Gst::Clock> Gst::SystemClock::obtain | ( |  | ) |

static

Get a handle to the default system clock.

The refcount of the clock will be increased so you need to unref the clock after usage.

Returns
  The default clock.

MT safe.

## Friends And Related Function Documentation

Glib::RefPtr< Gst::SystemClock > wrap | ( | GstSystemClock * | object,
|  | bool | take_copy = `false`
| ) |  |

related

A Glib::wrap() method for this object.

Parameters

  object | The C instance.
  take_copy | False if the result should take ownership of the C instance. True if it should take a new copy or ref.

Returns
  A C++ instance that wraps this C instance.

The documentation for this class was generated from the following file:

- gstreamermm/systemclock.h