gstreamermm
1.10.0
|
A qos message. More...
#include <gstreamermm/message.h>
Public Member Functions | |
void | set_values (gint64 jitter, double proportion, gint quality) |
Set the QoS values that have been calculated/analysed from the QoS data. More... | |
void | set_stats (Gst::Format format, guint64 processed, guint64 dropped) |
Set the QoS stats representing the history of the current continuous pipeline playback period. More... | |
void | parse (bool& live, guint64& running_time, guint64& stream_time, guint64& timestamp, guint64& duration) const |
Extract the timestamps and live status from the QoS message. More... | |
void | parse_values (gint64& jitter, double& proportion, gint& quality) const |
Extract the QoS values that have been calculated/analysed from the QoS data. More... | |
void | parse_stats (Gst::Format& format, guint64& processed, guint64& dropped) const |
Extract the QoS stats representing the history of the current continuous pipeline playback period. More... | |
![]() | |
void | reference () const |
Increment the reference count for this object. More... | |
void | unreference () const |
Decrement the reference count for this object. More... | |
GstMessage* | gobj () |
Provides access to the underlying C instance. More... | |
const GstMessage* | gobj () const |
Provides access to the underlying C instance. More... | |
GstMessage* | 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... | |
Message ()=delete | |
Message (const Message&)=delete | |
Message& | operator= (const Message&)=delete |
Gst::Structure | get_structure () const |
Access the structure of the message. More... | |
Glib::RefPtr< Gst::Message > | create_writable () |
Checks if a message is writable. More... | |
guint32 | get_seqnum () const |
Retrieve the sequence number of a message. More... | |
void | set_seqnum (guint32 seqnum) |
Set the sequence number of a message. More... | |
Glib::RefPtr< Gst::Message > | copy () const |
Creates a copy of the message. More... | |
MessageType | get_message_type () const |
Get the GstMessageType of message. More... | |
Gst::ClockTime | get_timestamp () const |
Get the timestamp of message. More... | |
Glib::RefPtr< Gst::Object > | get_source () |
Get the object that posted the message. More... | |
Glib::RefPtr< const Gst::Object > | get_source () const |
bool | has_name (const Glib::ustring& name) const |
Checks if message has the given name. More... | |
![]() | |
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 | |
MiniObject& | operator= (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< 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::MessageQos > | create (const Glib::RefPtr< Gst::Object >& src, bool live, guint64 running_time, guint64 stream_time, guint64 timestamp, guint64 duration) |
A QOS message is posted on the bus whenever an element decides to drop a buffer because of QoS reasons or whenever it changes its processing strategy because of QoS reasons (quality adjustments such as processing at lower accuracy). More... | |
Additional Inherited Members | |
![]() | |
typedef sigc::slot< void > | SlotFinalizer |
![]() | |
void | operator delete (void*, std::size_t) |
![]() | |
void | operator delete (void*, std::size_t) |
![]() | |
Glib::RefPtr< Gst::Message > | wrap (GstMessage* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
![]() | |
Glib::RefPtr< Gst::MiniObject > | wrap (GstMiniObject* object, bool take_copy=false) |
A Glib::wrap() method for this object. More... | |
A qos message.
See create() for more details.
|
static |
A QOS message is posted on the bus whenever an element decides to drop a buffer because of QoS reasons or whenever it changes its processing strategy because of QoS reasons (quality adjustments such as processing at lower accuracy).
This message can be posted by an element that performs synchronisation against the clock (live) or it could be dropped by an element that performs QoS because of QOS events received from a downstream element (!live).
running_time, stream_time, timestamp, duration should be set to the respective running-time, stream-time, timestamp and duration of the (dropped) buffer that generated the QoS event. Values can be left to GST_CLOCK_TIME_NONE when unknown.
src | The object originating the message. |
live | If the message was generated by a live element. |
running_time | The running time of the buffer that generated the message. |
stream_time | The stream time of the buffer that generated the message. |
timestamp | The timestamps of the buffer that generated the message. |
duration | The duration of the buffer that generated the message. |
MT safe.
void Gst::MessageQos::parse | ( | bool & | live, |
guint64 & | running_time, | ||
guint64 & | stream_time, | ||
guint64 & | timestamp, | ||
guint64 & | duration | ||
) | const |
Extract the timestamps and live status from the QoS message.
The returned values give the running_time, stream_time, timestamp and duration of the dropped buffer. Values of Gst::CLOCK_TIME_NONE mean unknown values.
MT safe.
live | If the message was generated by a live element. |
running_time | The running time of the buffer that generated the message. |
stream_time | The stream time of the buffer that generated the message. |
timestamp | The timestamps of the buffer that generated the message. |
duration | The duration of the buffer that generated the message. |
void Gst::MessageQos::parse_stats | ( | Gst::Format& | format, |
guint64 & | processed, | ||
guint64 & | dropped | ||
) | const |
Extract the QoS stats representing the history of the current continuous pipeline playback period.
format | Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples). |
processed | Total number of units correctly processed since the last state change to READY or a flushing operation. |
dropped | Total number of units dropped since the last state change to READY or a flushing operation. |
MT_safe.
When format is Gst::FORMAT_UNDEFINED both dropped and processed are invalid. Values of -1 for either processed or dropped mean unknown values.
void Gst::MessageQos::parse_values | ( | gint64 & | jitter, |
double & | proportion, | ||
gint & | quality | ||
) | const |
Extract the QoS values that have been calculated/analysed from the QoS data.
jitter | The difference of the running-time against the deadline. |
proportion | Long term prediction of the ideal rate relative to normal rate to get optimal quality. |
quality | An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. |
MT safe.
void Gst::MessageQos::set_stats | ( | Gst::Format | format, |
guint64 | processed, | ||
guint64 | dropped | ||
) |
Set the QoS stats representing the history of the current continuous pipeline playback period.
When format is Gst::FORMAT_UNDEFINED both dropped and processed are invalid. Values of -1 for either processed or dropped mean unknown values.
MT safe.
format | Units of the processed and dropped fields. Video sinks and video filters will use Gst::FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use Gst::FORMAT_DEFAULT (samples). |
processed | Total number of units correctly processed since the last state change to READY or a flushing operation. |
dropped | Total number of units dropped since the last state change to READY or a flushing operation. |
void Gst::MessageQos::set_values | ( | gint64 | jitter, |
double | proportion, | ||
gint | quality | ||
) |
Set the QoS values that have been calculated/analysed from the QoS data.
MT safe.
jitter | The difference of the running-time against the deadline. |
proportion | Long term prediction of the ideal rate relative to normal rate to get optimal quality. |
quality | An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. |