= class Gst::ClockEntry
A wrapper for GstClockID, used to create and start timers
on Gst::Clock objects.

== Class Methods
--- Gst::ClockEntry.new(aClock, aTime, anInterval=nil) 
    Creates a new Gst::ClockEntry object based on the given Gst::Clock.
    
    Two types of Gst::ClockEntry objects can be created:
    
        * One-shot: if anInterval is ommited or nil, the entry will trigger 
          a single shot notification, at the requested aTime (in nanoseconds);
        * Periodic: if anInterval is not nil, the timer entry will trigger a
          periodic notification, starting at aTime (in nanoseconds), and 
          be fired with the given interval (also in nanoseconds).
    
    The timer will be issued after Gst::ClockEntry#wait 
    or Gst::ClockEntry#wait_async.


== Instance Methods
--- clock 
    Gets the owner clock of the entry, as a Gst::Clock object.

--- interval 
    Gets the interval of the entry, in nanoseconds.
    Returns 0 if the entry is not periodic.

--- periodic? 
    Checks if the entry is periodic.

--- single_shot? 
    Checks if the entry is single-shot.

--- status 
    Gets the status of the entry, as a Fixnum integer.
    Possible values are:
        * Gst::ClockEntry::OK;
        * Gst::ClockEntry::EARLY;
        * Gst::ClockEntry::RESTART.

--- time 
    Gets the requested time of the entry, in nanoseconds.

--- unlock 
    Unlock the entry.

--- unschedule 
    Cancel an outstanding async notification request.

--- wait 
    Performs a blocking wait on the entry.
    
    Returns a code (as a Fixnum):
        * Gst::Clock::STOPPED;
        * Gst::Clock::TIMEOUT;
        * Gst::Clock::EARLY;
        * Gst::Clock::ERROR;
        * Gst::Clock::UNSUPPORTED.

--- wait_async { |aClock, aTime, aEntryClock| ... } 
    Register a block code, which will be called passing references
    to the Gst::Clock, the time (in nanoseconds) and the Gst::ClockEntry as
    parameters.
    
    Returns a code (as a Fixnum):
        * Gst::Clock::STOPPED;
        * Gst::Clock::TIMEOUT;
        * Gst::Clock::EARLY;
        * Gst::Clock::ERROR;
        * Gst::Clock::UNSUPPORTED.


== Constants
--- EARLY
    Request for timeout that has been passed.

--- OK
    Timeout happened.

--- RESTART
    Need to restart the timeout request.


- ((<lrz>))
