Gst::ClockID Class Reference

A datatype to hold the handle to an outstanding sync or async clock callback. More...

#include <clock.h>

List of all members.

Public Types

typedef sigc::slot< bool,
const Glib::RefPtr<Gst::Clock>
&, ClockTime, const
Glib::RefPtr<Gst::ClockID >&> 
SlotClock
 For example, bool on_clock(const Glib::RefPtr<Gst::Clock>& clock, ClockTime time, const Glib::RefPtr<Gst::ClockID>& id);.

Public Member Functions

void reference () const
void unreference () const
GstClockEntry* gobj ()
 Provides access to the underlying C instance.
const GstClockEntry* gobj () const
 Provides access to the underlying C instance.
GstClockEntry* gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs.
ClockTime get_time () const
 Get the time of the clock ID.
ClockReturn wait (ClockTimeDiff& jitter)
 Perform a blocking wait on the Gst::ClockID.
ClockReturn wait ()
 Perform a blocking wait without requiring a jitter argument.
ClockReturn wait_async (const SlotClock& slot)
 Register a slot on the given Gst::ClockID id with the given slot.
void unschedule ()
 Cancel an outstanding request with id.

Protected Member Functions

 ClockID ()
void operator delete (void*, size_t)

Related Functions

(Note that these are not member functions.)

Glib::RefPtr<Gst::ClockIDwrap (GstClockEntry* object, bool take_copy=false)
 A Glib::wrap() method for this object.


Detailed Description

A datatype to hold the handle to an outstanding sync or async clock callback.

Member Typedef Documentation

typedef sigc::slot<bool, const Glib::RefPtr<Gst::Clock>&, ClockTime, const Glib::RefPtr<Gst::ClockID>&> Gst::ClockID::SlotClock

For example, bool on_clock(const Glib::RefPtr<Gst::Clock>& clock, ClockTime time, const Glib::RefPtr<Gst::ClockID>& id);.

The clock function return value is currently unused (see GstClockCallback).


Constructor & Destructor Documentation

Gst::ClockID::ClockID (  )  [protected]


Member Function Documentation

ClockTime Gst::ClockID::get_time (  )  const

Get the time of the clock ID.

Returns:
The time of the given clock id.
MT safe.

const GstClockEntry* Gst::ClockID::gobj (  )  const

Provides access to the underlying C instance.

GstClockEntry* Gst::ClockID::gobj (  ) 

Provides access to the underlying C instance.

GstClockEntry* Gst::ClockID::gobj_copy (  )  const

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

void Gst::ClockID::operator delete ( void *  ,
size_t   
) [protected]

void Gst::ClockID::reference (  )  const

void Gst::ClockID::unreference (  )  const

void Gst::ClockID::unschedule (  ) 

Cancel an outstanding request with id.

This can either be an outstanding async notification or a pending sync notification. After this call, id cannot be used anymore to receive sync or async notifications, you need to create a new Gst::ClockID.

MT safe.

ClockReturn Gst::ClockID::wait (  ) 

Perform a blocking wait without requiring a jitter argument.

Gst::ClockID should have been created with Gst::Clock::create_single_shot_id() or Gst::Clock::create_periodic_id() and should not have been unscheduled with a call to unschedule().

Returns:
The result of the blocking wait. Gst::CLOCK_EARLY will be returned if the current clock time is past the time of Gst::ClockID, Gst::CLOCK_OK if Gst::ClockID was scheduled in time. Gst::CLOCK_UNSCHEDULED if Gst::ClockID was unscheduled with unschedule().

ClockReturn Gst::ClockID::wait ( ClockTimeDiff jitter  ) 

Perform a blocking wait on the Gst::ClockID.

The Gst::ClockID should have been created with Gst::Clock::create_single_shot_id() or Gst::Clock::create_periodic_id() and should not have been unscheduled with a call to unschedule().

If this function returns Gst::CLOCK_OK or Gst::CLOCK_EARLY, the jitter argument will contain the difference against the clock and the time of the Gst::ClockID when this method was called. Positive values indicate how late the Gst::ClockID was relative to the clock (in which case this function will return Gst::CLOCK_EARLY). Negative values indicate how much time was spent waiting on the clock before this function returned.

Parameters:
jitter A pointer that will contain the jitter.
Returns:
The result of the blocking wait. Gst::CLOCK_EARLY will be returned if the current clock time is past the time of the Gst::ClockID, Gst::CLOCK_OK if Gst::ClockID was scheduled in time. Gst::CLOCK_UNSCHEDULED if Gst::ClockID was unscheduled with unschedule().
MT safe.

ClockReturn Gst::ClockID::wait_async ( const SlotClock slot  ) 

Register a slot on the given Gst::ClockID id with the given slot.

When passing a Gst::ClockID with an invalid time to this function, the slot will be called immediatly with a time set to Gst::CLOCK_TIME_NONE. The slot will be called when the time of id has been reached.

Parameters:
slot The slot to callback.
Returns:
The result of the non blocking wait. MT safe.


Friends And Related Function Documentation

Glib::RefPtr<Gst::ClockID> wrap ( GstClockEntry *  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:

Generated on Thu Jan 15 09:33:12 2009 for gstreamermm by  doxygen 1.5.7.1