gstreamer/docs/gst/tmpl/gstquery.sgml
Andy Wingo 8970bda4ba 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

100 lines
1.9 KiB
Text

<!-- ##### 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>
<!-- ##### 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_QUERY_SEEKING:
@GST_QUERY_CONVERT:
@GST_QUERY_FORMATS:
<!-- ##### 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
<!-- ##### 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
<!-- ##### 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>
@type:
@Returns:
<!-- # Unused Parameters # -->
@Param1: