gstreamermm: Gst::EventQos Class Reference

gstreamermm 1.4.3

- Main Page
- Related Pages
- Modules
- Namespaces
- Classes

- Class List
- Class Index
- Class Hierarchy
- Class Members

Public Member Functions | Static Public Member Functions | List of all members
Gst::EventQos Class Reference

A QOS event. More...

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

## Public Member Functions
void | parse (QOSType& type, double& proportion, ClockTimeDiff& diff, ClockTime& timestamp) const
| gst_event_parse_qos: : The event to query : (out): A pointer to store the QoS type in : (out): A pointer to store the proportion in : (out): A pointer to store the diff in : (out): A pointer to store the timestamp in More...
double | parse () const
| Get the proportion in the qos event. More...
ClockTimeDiff | parse_diff () const
| Get the diff in the qos event. More...
ClockTime | parse_timestamp () const
| Get the timestamp in the qos 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...
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...
Glib::RefPtr< Gst::Event > | create_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...
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 ()
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< MiniObject > | create_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...
QuarkData* | get_qdata (GQuark quark) const
| This function gets back user data pointers stored via set_qdata(). More...
QuarkData* | steal_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::EventQos > | create (QOSType type, double proportion, ClockTimeDiff diff, ClockTime timestamp)
| gst_event_new_qos: : the QoS type : the proportion of the qos message : The time difference of the last Clock sync : The timestamp of the buffer More...

## Additional Inherited Members
Public Types inherited from Gst::MiniObject
typedef sigc::slot< void > | SlotFinalizer
Protected Member Functions inherited from Gst::Event
| Event ()
void | operator delete (void*, std::size_t)
Protected Member Functions inherited from Gst::MiniObject
| MiniObject ()
void | operator delete (void*, std::size_t)
Related Functions inherited from Gst::Event
Glib::RefPtr< Gst::Event > | wrap (GstEvent* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...
Related Functions inherited from Gst::MiniObject
Glib::RefPtr< Gst::MiniObject > | wrap (GstMiniObject* object, bool take_copy=false)
| A Glib::wrap() method for this object. More...

## Detailed Description

A QOS event.

See create() for more details.

## Member Function Documentation

static Glib::RefPtr<Gst::EventQos> Gst::EventQos::create | ( | QOSType | type,
|  | double | proportion,
|  | ClockTimeDiff | diff,
|  | ClockTime | timestamp
| ) |  |
| static

gst_event_new_qos: : the QoS type : the proportion of the qos message : The time difference of the last Clock sync : The timestamp of the buffer

Allocate a new qos event with the given values. The QOS event is generated in an element that wants an upstream element to either reduce or increase its rate because of high/low CPU load or other resource usage such as network performance or throttling. Typically sinks generate these events for each buffer they receive.

indicates the reason for the QoS event. #GST_QOS_TYPE_OVERFLOW is used when a buffer arrived in time or when the sink cannot keep up with the upstream datarate. #GST_QOS_TYPE_UNDERFLOW is when the sink is not receiving buffers fast enough and thus has to drop late buffers. #GST_QOS_TYPE_THROTTLE is used when the datarate is artificially limited by the application, for example to reduce power consumption.

indicates the real-time performance of the streaming in the element that generated the QoS event (usually the sink). The value is generally computed based on more long term statistics about the streams timestamps compared to the clock. A value < 1.0 indicates that the upstream element is producing data faster than real-time. A value > 1.0 indicates that the upstream element is not producing data fast enough. 1.0 is the ideal value. The proportion value can safely be used to lower or increase the quality of the element.

is the difference against the clock in running time of the last buffer that caused the element to generate the QOS event. A negative value means that the buffer with arrived in time. A positive value indicates how late the buffer with was. When throttling is enabled, will be set to the requested throttling interval.

is the timestamp of the last buffer that cause the element to generate the QOS event. It is expressed in running time and thus an ever increasing value.

The upstream element can use the and values to decide whether to process more buffers. For possitive , all buffers with timestamp <= + will certainly arrive late in the sink as well. A (negative) value so that + would yield a result smaller than 0 is not allowed.

The application can use general event probes to intercept the QoS event and implement custom application specific QoS handling.

Returns: (transfer full): a new QOS event.

void Gst::EventQos::parse | ( | QOSType& | type,
|  | double & | proportion,
|  | ClockTimeDiff& | diff,
|  | ClockTime& | timestamp
| ) |  | const

gst_event_parse_qos: : The event to query : (out): A pointer to store the QoS type in : (out): A pointer to store the proportion in : (out): A pointer to store the diff in : (out): A pointer to store the timestamp in

Get the type, proportion, diff and timestamp in the qos event. See gst_event_new_qos() for more information about the different QoS values.

double Gst::EventQos::parse | ( |  | ) | const

Get the proportion in the qos event.

See create() for more information about the different QoS values.

Returns
  The proportion.

ClockTimeDiff Gst::EventQos::parse_diff | ( |  | ) | const

Get the diff in the qos event.

See create() for more information about the different QoS values.

Returns
  The difference.

ClockTime Gst::EventQos::parse_timestamp | ( |  | ) | const

Get the timestamp in the qos event.

See create() for more information about the different QoS values.

Returns
  The timestamp.

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

- gstreamermm/event.h