mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-12-19 06:46:38 +00:00
8970bda4ba
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.
100 lines
1.9 KiB
Text
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:
|
|
|
|
|