Gst::AudioClock Class Reference

A Helper object for implementing audio clocks. More...

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

## Public Types

typedef sigc::slot < Gst::ClockTime, const Glib::RefPtr< Gst::Clock >& > | SlotGetTime
| For example, Gst::ClockTime on_get_time(const Glib::RefPtr<Gst::Clock>& clock);. More...

## Public Member Functions

virtual | ~AudioClock ()
GstAudioClock* | gobj ()
| Provides access to the underlying C GObject. More...
const GstAudioClock* | gobj () const
| Provides access to the underlying C GObject. More...
GstAudioClock* | 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::SystemClock
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< AudioClock > | create (const Glib::ustring& name, const SlotGetTime& time_slot)
| Create a new Gst::AudioClock instance. More...
Static Public Member Functions inherited from Gst::SystemClock
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

| AudioClock (const Glib::ustring& name, const SlotGetTime& time_slot)
Protected Member Functions inherited from Gst::SystemClock
| 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::AudioClock > | wrap (GstAudioClock* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gst::SystemClock
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 Helper object for implementing audio clocks.

Gst::AudioClock makes it easy for elements to implement a Gst::Clock, they simply need to provide a slot that returns the current clock time.

This object is internally used to implement the clock in Gst::AudioBaseSink.

Last reviewed on 2006-09-27 (0.10.12).

## Member Typedef Documentation

typedef sigc::slot< Gst::ClockTime, const Glib::RefPtr<Gst::Clock>& > Gst::AudioClock::SlotGetTime

For example, Gst::ClockTime on_get_time(const Glib::RefPtr<Gst::Clock>& clock);.

This function will be called whenever the current clock time needs to be calculated. If this function returns Gst::CLOCK_TIME_NONE, the last reported time will be returned by the clock.

Parameters

  clock | The Gst::AudioClock.

## Constructor & Destructor Documentation

virtual Gst::AudioClock::~AudioClock | ( |  | ) |

virtual

Gst::AudioClock::AudioClock | ( | const Glib::ustring & | name,
|  | const SlotGetTime& | time_slot
| ) |  |

protected

## Member Function Documentation

static Glib::RefPtr<AudioClock> Gst::AudioClock::create | ( | const Glib::ustring & | name,
|  | const SlotGetTime& | time_slot
| ) |  |

static

Create a new Gst::AudioClock instance.

Whenever the clock time should be calculated it will call time_slot. When time_slot returns Gst::CLOCK_TIME_NONE, the clock will return the last reported time.

Parameters

  name | The name of the clock.
  time_slot | A slot that returns the time.

Returns
  a new Gst::AudioClock.

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

static

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

GstAudioClock* Gst::AudioClock::gobj | ( |  | ) |

inline

Provides access to the underlying C GObject.

const GstAudioClock* Gst::AudioClock::gobj | ( |  | ) | const

inline

Provides access to the underlying C GObject.

GstAudioClock* Gst::AudioClock::gobj_copy | ( |  | ) |

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

## Friends And Related Function Documentation

Glib::RefPtr< Gst::AudioClock > wrap | ( | GstAudioClock * | 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/audioclock.h