2002-12-30 17:55:05 +00:00
|
|
|
<!-- ##### SECTION Title ##### -->
|
|
|
|
GstQuery
|
|
|
|
|
|
|
|
<!-- ##### SECTION Short_Description ##### -->
|
|
|
|
Dynamically register new query types
|
|
|
|
|
|
|
|
<!-- ##### SECTION Long_Description ##### -->
|
|
|
|
<para>
|
|
|
|
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.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
<!-- ##### SECTION See_Also ##### -->
|
|
|
|
<para>
|
|
|
|
#GstPad, #GstElement
|
|
|
|
</para>
|
|
|
|
|
2004-03-15 14:43:35 +00:00
|
|
|
<!-- ##### ENUM GstQueryType ##### -->
|
|
|
|
<para>
|
|
|
|
Standard predefined Query types
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@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
|
gst/gstquery.h
Original commit message from CVS:
2005-05-06 Andy Wingo <wingo@pobox.com>
* gst/gstquery.h
* gst/gstquery.c (_gst_query_initialize): Extend GstQuery from
GstData, init a memchunk.
(standard_definitions): Add a few query types, deprecate a few.
(gst_query_get_type): New proc.
(_gst_query_copy, _gst_query_free, gst_query_new): GstData
implementation.
(gst_query_new_application, gst_query_get_structure): New public
procs.
* docs/design/draft-query.txt: Removed LINKS from the query types,
because all the rest can be dispatched to other pads -- seemed
ugly to have a query that couldn't be dispatched. internal_links
is fine as a pad method.
* gst/gstpad.h: Add query2 as a pad method, add the new functions
in gstpad.c, but maintain binary compatibility for the moment.
Will fix before 0.9 is out.
* gst/gstqueryutils.c:
* gst/gstqueryutils.h: New files, implement 3 methods for each
query type: parse_query, parse_response, and set. Probably need an
allocator as well.
* gst/gst.h: Add gstquery.h and gstqueryutils.h to the list.
* gst/elements/gstfilesink.c (gst_filesink_query2):
* gst/base/gstbasesrc.c (gst_basesrc_query2): Replace old query,
query_types, and formats methods.
* gst/gstpad.c (gst_pad_query2, gst_pad_query2_default)
(gst_pad_set_query2_function): New functions.
(gst_real_pad_init): Set query2_default as the default query2
function. Basically just dispatches to internally linked pads.
Needs review!
* gst/gstdata_private.h (_GST_DATA_INIT): Set data->refcount to 1
without using the atomic operations. Only one thread can possibly
be accessing the data at this point. Changed so as to avoid
gst_atomic operations.
2005-05-06 21:41:22 +00:00
|
|
|
@GST_QUERY_SEEKING:
|
|
|
|
@GST_QUERY_CONVERT:
|
|
|
|
@GST_QUERY_FORMATS:
|
2004-03-15 14:43:35 +00:00
|
|
|
|
2003-01-02 18:56:09 +00:00
|
|
|
<!-- ##### MACRO GST_QUERY_TYPE_RATE_DEN ##### -->
|
|
|
|
<para>
|
|
|
|
Rates are relative to this value
|
|
|
|
</para>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### STRUCT GstQueryTypeDefinition ##### -->
|
|
|
|
<para>
|
|
|
|
A Query Type definition
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@value: the unique id of the Query type
|
|
|
|
@nick: a short nick
|
|
|
|
@description: a longer description of the query type
|
2002-12-30 17:55:05 +00:00
|
|
|
|
|
|
|
<!-- ##### MACRO GST_QUERY_TYPE_FUNCTION ##### -->
|
|
|
|
<para>
|
|
|
|
Convenience function to define a function that returns an array of query types.
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@type: Type of first argument for function
|
|
|
|
@functionname: The name of the function
|
|
|
|
@...: query types, 0 to end the list
|
|
|
|
|
|
|
|
|
2003-01-02 18:56:09 +00:00
|
|
|
<!-- ##### FUNCTION gst_query_type_register ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@nick:
|
|
|
|
@description:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_query_type_get_by_nick ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@nick:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_query_types_contains ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
|
|
|
@types:
|
|
|
|
@type:
|
|
|
|
@Returns:
|
|
|
|
|
|
|
|
|
|
|
|
<!-- ##### FUNCTION gst_query_type_get_details ##### -->
|
|
|
|
<para>
|
|
|
|
|
|
|
|
</para>
|
|
|
|
|
2004-03-15 14:43:35 +00:00
|
|
|
@type:
|
2003-01-02 18:56:09 +00:00
|
|
|
@Returns:
|
2004-03-13 15:27:01 +00:00
|
|
|
<!-- # Unused Parameters # -->
|
2004-03-15 14:43:35 +00:00
|
|
|
@Param1:
|
2003-01-02 18:56:09 +00:00
|
|
|
|
|
|
|
|