gstreamer/docs/gst/tmpl/gstquery.sgml

101 lines
1.9 KiB
Text
Raw Normal View History

<!-- ##### 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/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:
<!-- ##### 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: