| GStreamer 0.8 Core API Reference (0.8.2) |
|---|
GstQuery — Dynamically register new query types
enum GstQueryType; #define GST_QUERY_TYPE_RATE_DEN struct GstQueryTypeDefinition; #define GST_QUERY_TYPE_FUNCTION (type, functionname, ...) GstQueryType gst_query_type_register (const gchar *nick, const gchar *description); GstQueryType gst_query_type_get_by_nick (const gchar *nick); gboolean gst_query_types_contains (const GstQueryType *types, GstQueryType type); G_CONST_RETURN GstQueryTypeDefinition* gst_query_type_get_details (GstQueryType type); G_CONST_RETURN GList* gst_query_type_get_definitions (void);
GstQuery functions are used to register a new query types to the gstreamer core. Query types can be used to perform queries on pads and elements.
typedef enum {
GST_QUERY_NONE = 0,
GST_QUERY_TOTAL,
GST_QUERY_POSITION,
GST_QUERY_LATENCY,
GST_QUERY_JITTER,
GST_QUERY_START,
GST_QUERY_SEGMENT_END,
GST_QUERY_RATE
} GstQueryType;
Standard predefined Query types
| GST_QUERY_NONE | invalid query type |
| GST_QUERY_TOTAL | total length of stream |
| GST_QUERY_POSITION | current position in stream |
| GST_QUERY_LATENCY | latency of stream |
| GST_QUERY_JITTER | current jitter of stream |
| GST_QUERY_START | start of configured segment |
| GST_QUERY_SEGMENT_END | end of configured segment |
| GST_QUERY_RATE | current rate of the stream |
#define GST_QUERY_TYPE_RATE_DEN G_GINT64_CONSTANT (1000000)
Rates are relative to this value
struct GstQueryTypeDefinition {
GstQueryType value;
gchar *nick;
gchar *description;
};
A Query Type definition
| GstQueryType value | the unique id of the Query type |
| gchar *nick | a short nick |
| gchar *description | a longer description of the query type |
#define GST_QUERY_TYPE_FUNCTION(type, functionname, ...)
Convenience function to define a function that returns an array of query types.
| type : | Type of first argument for function |
| functionname : | The name of the function |
| ... : | query types, 0 to end the list |
GstQueryType gst_query_type_register (const gchar *nick, const gchar *description);
Create a new GstQueryType based on the nick or return an allrady registered query with that nick
| nick : | The nick of the new query |
| description : | The description of the new query |
| Returns : | A new GstQueryType or an already registered query with the same nick. |
GstQueryType gst_query_type_get_by_nick (const gchar *nick);
Return the query registered with the given nick.
| nick : | The nick of the query |
| Returns : | The query with nick or GST_QUERY_NONE if the query was not registered. |
gboolean gst_query_types_contains (const GstQueryType *types, GstQueryType type);
See if the given query is inside the query array.
| types : | The query array to search |
| type : | the querytype to find |
| Returns : | TRUE if the query is found inside the array |
G_CONST_RETURN GstQueryTypeDefinition* gst_query_type_get_details (GstQueryType type);
Get details about the given query.
| type : | The query to get details of |
| Returns : | The GstQueryTypeDefinition for query or NULL on failure. |
G_CONST_RETURN GList* gst_query_type_get_definitions
(void);Get a list of all the registered query types.
| Returns : | A GList of GstQueryTypeDefinition. |
| << GstProbe | GstQueue >> |