Queries are used to get information about the stream. A query is started on a specific pad and travels up or downstream.
multiple return values, grouped together when they make sense.
one pad function to perform the query
GstMiniObjectand contains a
some standard query types are defined below
methods to create and parse the results in the
define pad method:
gboolean (*GstPadQueryFunction) (GstPad *pad, GstObject *parent, GstQuery *query);
pad returns result in query structure and TRUE as result or FALSE when query is not supported.
GST_QUERY_POSITION: get info on current position of the stream in
GST_QUERY_DURATION: get info on the total duration of the stream.
GST_QUERY_LATENCY: get amount of latency introduced in the pipeline. (See latency)
GST_QUERY_RATE: get the current playback rate of the pipeline
GST_QUERY_SEEKING: get info on how seeking can be done
- getrange, with/without offset/size
- ranges where seeking is efficient (for caching network sources)
- flags describing seeking behaviour (forward, backward, segments,
play backwards, ...)
GST_QUERY_SEGMENT: get info about the currently configured playback segment.
GST_QUERY_CONVERT: convert format/value to another format/value pair.
GST_QUERY_FORMATS: return list of supported formats that can be used for
GST_QUERY_BUFFERING: query available media for efficient seeking (See buffering)
GST_QUERY_CUSTOM: a custom query, the name of the query defines the properties of the query.
GST_QUERY_URI: query the uri of the source or sink element
GST_QUERY_ALLOCATION: the buffer allocation properties (See bufferpool)
GST_QUERY_SCHEDULING: the scheduling properties (See scheduling)
GST_QUERY_ACCEPT_CAPS: check if caps are supported (See negotiation)
GST_QUERY_CAPS: get the possible caps (See negotiation)
The results of the search are