gstreamermm  1.10.0
Public Member Functions | Static Public Member Functions | List of all members
Gst::EventSeek Class Reference

A seek event. More...

#include <gstreamermm/event.h>

Inheritance diagram for Gst::EventSeek:
Inheritance graph
[legend]

Public Member Functions

void parse (double& rate, Format& format, SeekFlags& flags, SeekType& start_type, gint64&start, SeekType& stop_type, gint64& stop) const
 Parses a seek event and stores the results in the given result locations. More...
 
gint64 parse_start () const
 Parses the start of a seek event. More...
 
double parse_rate () const
 Parses the rate of a seek event. More...
 
Format parse_format () const
 Parses the format of a seek event. More...
 
SeekFlags parse_flags () const
 Parses the flags of a seek event. More...
 
SeekType parse_start_type () const
 Parses the start type of a seek event. More...
 
SeekType parse_stop_type () const
 Parses the stop type of a seek event. More...
 
gint64 parse_stop () const
 Parses the stop of a seek event. More...
 
- Public Member Functions inherited from Gst::Event
void reference () const
 Increment the reference count for this object. More...
 
void unreference () const
 Decrement the reference count for this object. More...
 
GstEvent* gobj ()
 Provides access to the underlying C instance. More...
 
const GstEvent* gobj () const
 Provides access to the underlying C instance. More...
 
GstEvent* gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
 Event ()=delete
 
 Event (const Event&)=delete
 
Eventoperator= (const Event&)=delete
 
Gst::Structure get_structure () const
 Access the structure of the event. More...
 
bool has_name (const Glib::ustring& name) const
 Checks if event has the given name. More...
 
guint32 get_seqnum () const
 Retrieve the sequence number of a event. More...
 
void set_seqnum (guint32 seqnum)
 Set the sequence number of a event. More...
 
gint64 get_running_time_offset () const
 Retrieve the accumulated running time offset of the event. More...
 
void set_running_time_offset (gint64 offset)
 Set the running time offset of a event. More...
 
Glib::RefPtr< Gst::Eventcopy () const
 Copy the event using the event specific copy function. More...
 
Glib::RefPtr< Gst::Eventcreate_writable ()
 Makes a writable event from the given event. More...
 
bool is_downstream () const
 Check if an event can travel downstream. More...
 
bool is_serialized () const
 Check if an event is serialized with the data stream. More...
 
bool is_upstream () const
 Check if an event can travel upstream. More...
 
EventType get_event_type () const
 Get the Gst::EventType of the event. More...
 
Gst::ClockTime get_timestamp () const
 Get the Gst::ClockTime timestamp of the event. More...
 
- Public Member Functions inherited from Gst::MiniObject
void reference () const
 Increment the reference count for this object. More...
 
void unreference () const
 Decrement the reference count for this object. More...
 
GstMiniObject* gobj ()
 Provides access to the underlying C instance. More...
 
const GstMiniObject* gobj () const
 Provides access to the underlying C instance. More...
 
GstMiniObject* gobj_copy () const
 Provides access to the underlying C instance. The caller is responsible for unrefing it. Use when directly setting fields in structs. More...
 
 MiniObject ()=delete
 
 MiniObject (const MiniObject&)=delete
 
MiniObjectoperator= (const MiniObject&)=delete
 
 ~MiniObject ()
 
guint get_flags () const
 
void set_flags (const guint& value)
 
gint get_refcount () const
 
gint get_lockstate () const
 
bool lock (LockFlags flags)
 Lock the mini-object with the specified access mode in flags. More...
 
void unlock (LockFlags flags)
 Unlock the mini-object with the specified access mode in flags. More...
 
bool is_writable () const
 If mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE lock on object is the only one, this means that changes to the object will not be visible to any other object. More...
 
Glib::RefPtr< MiniObjectcreate_writable ()
 Checks if a mini-object is writable. More...
 
void set_qdata (GQuark quark, QuarkData* data)
 This sets an opaque, named pointer on a miniobject. More...
 
QuarkDataget_qdata (GQuark quark) const
 This function gets back user data pointers stored via set_qdata(). More...
 
QuarkDatasteal_qdata (GQuark quark)
 This function gets back user data pointers stored via set_qdata() and removes the data from object without invoking its destroy() function (if any was set). More...
 
void add_finalize_notifier (const SlotFinalizer& slot)
 Adds notifier when mini object is finalized. More...
 
void remove_finalize_notifier ()
 Remove finalize notifier. More...
 

Static Public Member Functions

static Glib::RefPtr< Gst::EventSeekcreate (double rate, Format format, SeekFlags flags, SeekType start_type, gint64 start, SeekType stop_type, gint64 stop)
 Allocate a new seek event with the given parameters. More...
 

Additional Inherited Members

- Public Types inherited from Gst::MiniObject
typedef sigc::slot< void > SlotFinalizer
 
- Protected Member Functions inherited from Gst::Event
void operator delete (void*, std::size_t)
 
- Protected Member Functions inherited from Gst::MiniObject
void operator delete (void*, std::size_t)
 

Detailed Description

A seek event.

See create() for more details.

Member Function Documentation

◆ create()

static Glib::RefPtr<Gst::EventSeek> Gst::EventSeek::create ( double  rate,
Format  format,
SeekFlags  flags,
SeekType  start_type,
gint64  start,
SeekType  stop_type,
gint64  stop 
)
static

Allocate a new seek event with the given parameters.

The seek event configures playback of the pipeline between start to stop at the speed given in rate, also called a playback segment. The start and stop values are expressed in format.

A rate of 1.0 means normal playback rate, 2.0 means double speed. Negatives values means backwards playback. A value of 0.0 for the rate is not allowed and should be accomplished instead by PAUSING the pipeline.

A pipeline has a default playback segment configured with a start position of 0, a stop position of -1 and a rate of 1.0. The currently configured playback segment can be queried with Gst::QUERY_SEGMENT.

start_type and stop_type specify how to adjust the currently configured start and stop fields in playback segment. Adjustments can be made relative or absolute to the last configured values. A type of Gst::SEEK_TYPE_NONE means that the position should not be updated.

When the rate is positive and start has been updated, playback will start from the newly configured start position.

For negative rates, playback will start from the newly configured stop position (if any). If the stop position is updated, it must be different from -1 (Gst::CLOCK_TIME_NONE) for negative rates.

It is not possible to seek relative to the current playback position, to do this, PAUSE the pipeline, query the current playback position with Gst::QUERY_POSITION and update the playback segment current position with a Gst::SEEK_TYPE_SET to the desired position.

Parameters
rateThe new playback rate.
formatThe format of the seek values.
flagsThe optional seek flags.
start_typeThe type and flags for the new start position.
startThe value of the new start position.
stop_typeThe type and flags for the new stop position.
stopThe value of the new stop position.
Returns
A new seek event.

◆ parse()

void Gst::EventSeek::parse ( double &  rate,
Format format,
SeekFlags flags,
SeekType start_type,
gint64 &  start,
SeekType stop_type,
gint64 &  stop 
) const

Parses a seek event and stores the results in the given result locations.

Parameters
rateResult location for the rate.
formatResult location for the stream format.
flagsResult location for the Gst::SeekFlags.
start_typeResult location for the Gst::SeekType of the start position.
startResult location for the start postion expressed in format.
stop_typeResult location for the Gst::SeekType of the stop position.
stopResult location for the stop postion expressed in format.

◆ parse_flags()

SeekFlags Gst::EventSeek::parse_flags ( ) const

Parses the flags of a seek event.

Returns
The flags.

◆ parse_format()

Format Gst::EventSeek::parse_format ( ) const

Parses the format of a seek event.

Returns
The format.

◆ parse_rate()

double Gst::EventSeek::parse_rate ( ) const

Parses the rate of a seek event.

Returns
The rate.

◆ parse_start()

gint64 Gst::EventSeek::parse_start ( ) const

Parses the start of a seek event.

Returns
The start.

◆ parse_start_type()

SeekType Gst::EventSeek::parse_start_type ( ) const

Parses the start type of a seek event.

Returns
The start type.

◆ parse_stop()

gint64 Gst::EventSeek::parse_stop ( ) const

Parses the stop of a seek event.

Returns
The stop.

◆ parse_stop_type()

SeekType Gst::EventSeek::parse_stop_type ( ) const

Parses the stop type of a seek event.

Returns
The stop type.