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

A new buffering query object. More...

#include <gstreamermm/query.h>

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

Public Member Functions

void set (bool busy, int percent)
 Set the percentage of buffered data. More...
 
void parse (bool& busy, int& percent) const
 Get the busy flag and percentage of the buffered data. More...
 
bool parse_busy () const
 Get the busy flag of the buffered data. More...
 
int parse_percent () const
 Get the percentage of the buffered data. More...
 
void set (BufferingMode mode, int avg_in, int avg_out, gint64 buffering_left)
 Configures the buffering stats values in query. More...
 
void parse (BufferingMode& mode, int& avg_in, int& avg_out, gint64 buffering_left) const
 Extracts the buffering stats values from the query. More...
 
BufferingMode parse_mode () const
 Extracts the buffering mode from the query. More...
 
int parse_input_rate () const
 Extracts the average input rate from the query. More...
 
int parse_output_rate () const
 Extracts the average output rate from the query. More...
 
gint64 parse_time_left () const
 Extracts the buffering time left from the query. More...
 
void set (Format format, gint64 start, gint64 stop, gint64 estimated_total)
 Set the available query result fields in query. More...
 
void parse (Format& format, gint64&start, gint64& stop, gint64& estimated_total) const
 Parse the query, writing the format into format, and other results into the passed parameters. More...
 
Format parse_format () const
 Parse the query, returning the format. More...
 
gint64 parse_start () const
 Parse the query, returning the start range value. More...
 
gint64 parse_stop () const
 Parse the query, returning the stop range value. More...
 
gint64 parse_total_time () const
 Parse the query, returning the estimated total amount of download time. More...
 
guint get_n_buffering_ranges () const
 Retrieve the number of values currently stored in the buffered-ranges array of the query's structure. More...
 
bool add_buffering_range (gint64 start, gint64 stop)
 Set the buffering-ranges array field in query. More...
 
bool parse_nth_buffering_range (guint index, gint64&start, gint64& stop) const
 Parse an available query and get the start and stop values stored at the index of the buffered ranges array. More...
 
- Public Member Functions inherited from Gst::Query
void reference () const
 Increment the reference count for this object. More...
 
void unreference () const
 Decrement the reference count for this object. More...
 
GstQuery* gobj ()
 Provides access to the underlying C instance. More...
 
const GstQuery* gobj () const
 Provides access to the underlying C instance. More...
 
GstQuery* 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...
 
 Query ()=delete
 
 Query (const Query&)=delete
 
Queryoperator= (const Query&)=delete
 
Glib::RefPtr< Gst::Querycreate_writable ()
 Makes a writable query from the given query. More...
 
Gst::Structure get_structure () const
 Get the structure of a query. More...
 
QueryType get_query_type () const
 Get the Gst::QueryType of the query. More...
 
Glib::RefPtr< Gst::Querycopy ()
 Copies the given query using the copy function of the parent Gst::Structure. 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::QueryBufferingcreate (Format format)
 Constructs a new query object for querying the buffering status of a stream. More...
 
- Static Public Member Functions inherited from Gst::Query
static Glib::RefPtr< Gst::Querycreate_buffering (Gst::Format format)
 Constructs a new query object for querying the buffering status of a stream. More...
 
static Glib::RefPtr< Gst::Querycreate_allocation (Glib::RefPtr< Gst::Caps > caps, bool need_pool)
 Constructs a new query object for querying the allocation properties. More...
 
static Glib::RefPtr< Gst::Querycreate_uri ()
 Constructs a new query URI query object. More...
 
static Glib::RefPtr< Gst::Querycreate_scheduling ()
 Constructs a new query object for querying the scheduling properties. More...
 
static Glib::RefPtr< Gst::Querycreate_drain ()
 Constructs a new query object for querying the drain state. More...
 
static Glib::RefPtr< Gst::Querycreate_custom (Gst::QueryType type, const Gst::Structure& structure)
 Constructs a new custom query object. More...
 
static Glib::RefPtr< Gst::Querycreate_convert (Gst::Format format, gint64 value, Gst::Format dest_format)
 Constructs a new convert query object. More...
 
static Glib::RefPtr< Gst::Querycreate_position (Gst::Format format)
 Constructs a new query stream position query object. More...
 
static Glib::RefPtr< Gst::Querycreate_duration (Gst::Format format)
 Constructs a new stream duration query object to query in the given format. More...
 
static Glib::RefPtr< Gst::Querycreate_latency ()
 Constructs a new latency query object. More...
 
static Glib::RefPtr< Gst::Querycreate_seeking (Gst::Format format)
 Constructs a new query object for querying seeking properties of the stream. More...
 
static Glib::RefPtr< Gst::Querycreate_formats ()
 Constructs a new query object for querying formats of the stream. More...
 
static Glib::RefPtr< Gst::Querycreate_segment (Gst::Format format)
 Constructs a new segment query object. More...
 
static Glib::RefPtr< Gst::Querycreate_caps (Glib::RefPtr< Gst::Caps > filter)
 Constructs a new query object for querying the caps. More...
 
static Glib::RefPtr< Gst::Querycreate_accept_caps (Glib::RefPtr< Gst::Caps > filter)
 Constructs a new query object for querying if filter are accepted. More...
 

Additional Inherited Members

- Public Types inherited from Gst::MiniObject
typedef sigc::slot< void > SlotFinalizer
 
- Protected Member Functions inherited from Gst::Query
void operator delete (void*, std::size_t)
 
- Protected Member Functions inherited from Gst::MiniObject
void operator delete (void*, std::size_t)
 
- Static Protected Member Functions inherited from Gst::Query
template<class QueryType >
static Glib::RefPtr< QueryTypewrap (GstQuery* query, bool take_copy=false)
 

Detailed Description

A new buffering query object.

See create() for more details.

Member Function Documentation

◆ add_buffering_range()

bool Gst::QueryBuffering::add_buffering_range ( gint64  start,
gint64  stop 
)

Set the buffering-ranges array field in query.

The current last start position of the array should be inferior to start.

Parameters
startstart position of the range.
stopstop position of the range.
Returns
a bool indicating if the range was added or not.

◆ create()

static Glib::RefPtr<Gst::QueryBuffering> Gst::QueryBuffering::create ( Format  format)
static

Constructs a new query object for querying the buffering status of a stream.

Parameters
formatThe default Gst::Format for the new query.
Returns
The new Gst::QueryBuffering.

◆ get_n_buffering_ranges()

guint Gst::QueryBuffering::get_n_buffering_ranges ( ) const

Retrieve the number of values currently stored in the buffered-ranges array of the query's structure.

Returns
the range array size as a guint.

◆ parse() [1/3]

void Gst::QueryBuffering::parse ( bool &  busy,
int &  percent 
) const

Get the busy flag and percentage of the buffered data.

The percent is a value between 0 and 100. The busy indicator is true when the buffering is in progress. Use the other parse() methods to parse individual values.

Parameters
busyThe location to store the buffering busy flag.
percentThe location to store the buffering percent.

◆ parse() [2/3]

void Gst::QueryBuffering::parse ( BufferingMode mode,
int &  avg_in,
int &  avg_out,
gint64  buffering_left 
) const

Extracts the buffering stats values from the query.

Use the other parse() methods to parse individual values.

Parameters
modeThe location to store the buffering mode.
avg_inThe location to store the average input rate.
avg_outThe location to store the average output rate.
buffering_leftThe location to store the amount of buffering time left.

◆ parse() [3/3]

void Gst::QueryBuffering::parse ( Format format,
gint64 &  start,
gint64 &  stop,
gint64 &  estimated_total 
) const

Parse the query, writing the format into format, and other results into the passed parameters.

Use the other parse() methods to parse individual values.

Parameters
formatThe location to store the format.
startThe location to store the start.
stopThe location to store the stop.
estimated_totalThe location to store the estimated total amount of download time.

◆ parse_busy()

bool Gst::QueryBuffering::parse_busy ( ) const

Get the busy flag of the buffered data.

The busy indicator is true when the buffering is in progress.

Returns
The buffering busy flag.

◆ parse_format()

Format Gst::QueryBuffering::parse_format ( ) const

Parse the query, returning the format.

Returns
The format.

◆ parse_input_rate()

int Gst::QueryBuffering::parse_input_rate ( ) const

Extracts the average input rate from the query.

Returns
The average input rate.

◆ parse_mode()

BufferingMode Gst::QueryBuffering::parse_mode ( ) const

Extracts the buffering mode from the query.

Returns
The the buffering mode.

◆ parse_nth_buffering_range()

bool Gst::QueryBuffering::parse_nth_buffering_range ( guint  index,
gint64 &  start,
gint64 &  stop 
) const

Parse an available query and get the start and stop values stored at the index of the buffered ranges array.

Parameters
indexposition in the buffered-ranges array to read.
startthe start position to set, or NULL.
stopthe stop position to set, or NULL.
Returns
a bool indicating if the parsing succeeded.

◆ parse_output_rate()

int Gst::QueryBuffering::parse_output_rate ( ) const

Extracts the average output rate from the query.

Returns
The average output rate.

◆ parse_percent()

int Gst::QueryBuffering::parse_percent ( ) const

Get the percentage of the buffered data.

The percent is a value between 0 and 100.

Returns
The buffering percent.

◆ parse_start()

gint64 Gst::QueryBuffering::parse_start ( ) const

Parse the query, returning the start range value.

Returns
The start value.

◆ parse_stop()

gint64 Gst::QueryBuffering::parse_stop ( ) const

Parse the query, returning the stop range value.

Returns
The stop value.

◆ parse_time_left()

gint64 Gst::QueryBuffering::parse_time_left ( ) const

Extracts the buffering time left from the query.

Returns
The the amount of buffering time left.

◆ parse_total_time()

gint64 Gst::QueryBuffering::parse_total_time ( ) const

Parse the query, returning the estimated total amount of download time.

Returns
The estimated total amount of download time.

◆ set() [1/3]

void Gst::QueryBuffering::set ( bool  busy,
int  percent 
)

Set the percentage of buffered data.

This is a value between 0 and 100. The busy indicator is true when the buffering is in progress.

Parameters
busyIf buffering is busy.
percentA buffering percent.

◆ set() [2/3]

void Gst::QueryBuffering::set ( BufferingMode  mode,
int  avg_in,
int  avg_out,
gint64  buffering_left 
)

Configures the buffering stats values in query.

Parameters
modeA buffering mode.
avg_inThe average input rate.
avg_outThe average output rate.
buffering_leftAmount of buffering time left.

◆ set() [3/3]

void Gst::QueryBuffering::set ( Format  format,
gint64  start,
gint64  stop,
gint64  estimated_total 
)

Set the available query result fields in query.

Parameters
formatThe format to set for the start and stop values.
startThe start to set.
stopThe stop to set.
estimated_totalEstimated total amount of download time.