2005-10-20 Wim Taymans <wim@fluendo.com>
+ * docs/gst/gstreamer-sections.txt:
+ * gst/gstelement.c: (gst_element_get_state_func),
+ (gst_element_abort_state), (gst_element_commit_state),
+ (gst_element_lost_state):
+ * gst/gstevent.h:
+ * gst/gstquery.c: (gst_query_set_position),
+ (gst_query_parse_position), (gst_query_set_duration),
+ (gst_query_parse_duration), (gst_query_new_convert):
+ * gst/gstutils.c:
+ Yay! 1% more docs coverage.
+
+2005-10-20 Wim Taymans <wim@fluendo.com>
+
* gst/gstpad.h:
* gst/gstquery.c: (gst_query_set_position),
(gst_query_parse_position), (gst_query_set_duration),
GstStateChange
GstStateChangeReturn
-GST_SIGN
GST_STATE
GST_STATE_BROADCAST
-GST_STATE_CHANGE
-GST_STATE_ERROR
-GST_STATE_FINAL
GST_STATE_GET_COND
GST_STATE_GET_LOCK
GST_STATE_GET_NEXT
GST_STATE_LOCK
GST_STATE_LOCK_FULL
GST_STATE_NEXT
-GST_STATE_NO_PREROLL
GST_STATE_PENDING
GST_STATE_RETURN
GST_STATE_SIGNAL
GST_ELEMENT_WARNING
GST_ELEMENT_IS_LOCKED_STATE
-gst_element_abort_preroll
gst_element_abort_state
gst_element_add_pad
gst_element_class_add_pad_template
gst_element_factory_can_sink_caps
gst_element_factory_can_src_caps
gst_element_factory_get_static_pad_templates
-gst_element_finish_preroll
gst_element_found_tags
gst_element_found_tags_for_pad
gst_element_get_base_time
return result;
}
-/**
+/*
* default set state function, calculates the next state based
* on current state and calls the change_state function
*/
G_BEGIN_DECLS
-/* bitmasks defining the direction */
+/**
+ * GST_EVDIR_US:
+ *
+ * bitmask defining the event can travel upstream
+ */
#define GST_EVDIR_US (1 << 0)
+/**
+ * GST_EVDIR_DS:
+ *
+ * bitmask defining the event can travel downstream
+ */
#define GST_EVDIR_DS (1 << 1)
+/**
+ * GST_EVDIR_BOTH:
+ *
+ * bitmask defining the event can travel both up and downstream
+ */
#define GST_EVDIR_BOTH GST_EVDIR_US | GST_EVDIR_DS
-/* mask defining event is serialized with data */
+/**
+ * GST_EVSER:
+ *
+ * mask defining if the event is serialized with the data stream
+ */
#define GST_EVSER (1 << 2)
+/**
+ * GST_EVSHIFT:
+ *
+ * shift for the bits in the serialize mask.
+ */
#define GST_EVSHIFT 4
-/* when making custom event types, use this macro with the num and
- * the given flags */
+/**
+ * GST_EVENT_MAKE_TYPE:
+ * @num: the event number to create
+ * @flags: the event flags
+ *
+ * when making custom event types, use this macro with the num and
+ * the given flags
+ */
#define GST_EVENT_MAKE_TYPE(num,flags) (((num) << GST_EVSHIFT) | (flags))
/**
*/
#define GST_EVENT_SRC(event) (GST_EVENT(event)->src)
+/**
+ * GST_EVENT_IS_UPSTREAM:
+ * @ev: the event to query
+ *
+ * Check if an event can travel upstream.
+ */
#define GST_EVENT_IS_UPSTREAM(ev) !!(GST_EVENT_TYPE (ev) & GST_EVDIR_US)
+/**
+ * GST_EVENT_IS_DOWNSTREAM:
+ * @ev: the event to query
+ *
+ * Check if an event can travel downstream.
+ */
#define GST_EVENT_IS_DOWNSTREAM(ev) !!(GST_EVENT_TYPE (ev) & GST_EVDIR_DS)
+/**
+ * GST_EVENT_IS_SERIALIZED:
+ * @ev: the event to query
+ *
+ * Check if an event is serialized with the data stream.
+ */
#define GST_EVENT_IS_SERIALIZED(ev) !!(GST_EVENT_TYPE (ev) & GST_EVSER)
/**
* @GST_SEEK_TYPE_SET: absolute position is requested
* @GST_SEEK_TYPE_END: relative position to duration is requested
*
- * The different types of seek events. When constructing a seek event a format,
- * a seek method and optional flags are OR-ed together. The seek event is then
+ * The different types of seek events. When constructing a seek event, a format,
+ * a seek method and optional flags are to be provided. The seek event is then
* inserted into the graph with #gst_pad_send_event() or
* #gst_element_send_event().
*/
* @GST_SEEK_FLAG_NONE: no flag
* @GST_SEEK_FLAG_FLUSH: flush pipeline
* @GST_SEEK_FLAG_ACCURATE: accurate position is requested, this might
- * be slower for some formats.
+ * be considerably slower for some formats.
* @GST_SEEK_FLAG_KEY_UNIT: seek to the nearest keyframe. This might be
* faster but less accurate.
* @GST_SEEK_FLAG_SEGMENT: perform a segment seek. After the playback
* of the segment completes, no EOS will be emmited but a
* SEGMENT_DONE message will be posted on the bus.
*
- * Flags to be used with gst_element_seek()
+ * Flags to be used with #gst_element_seek() or #gst_event_new_seek()
+ *
+ * A non flushing seek might take some time to perform as the currently
+ * playing data in the pipeline will not be cleared.
+ *
+ * An accurate seek might be slower for formats that don't have any indexes
+ * or timestamp markers in the stream. Specifying this flag might require a
+ * complete scan of the file in those cases.
*/
typedef enum {
GST_SEEK_FLAG_NONE = 0,
return query->structure;
}
+/**
+ * gst_query_set_seeking:
+ * @query: the query to set
+ * @format: the format to set
+ * @seekable: the seekable flag to set
+ * @segment_start: the segment_start to set
+ * @segment_end: the segment_end to set
+ *
+ * Set the seeking query result fields in @query.
+ */
void
gst_query_set_seeking (GstQuery * query, GstFormat format,
gboolean seekable, gint64 segment_start, gint64 segment_end)
"segment-end", G_TYPE_INT64, segment_end, NULL);
}
+/**
+ * gst_query_set_formats:
+ * @query: the query to set
+ * @n_formats: the first format to set
+ * @...: additional formats, NULL terminated.
+ *
+ * Set the formats query result fields in @query. a NULL terminated
+ * list of formats should be passed to this function.
+ */
void
gst_query_set_formats (GstQuery * query, gint n_formats, ...)
{
#ifdef WIN32
/* work around error C2520: conversion from unsigned __int64 to double
* not implemented, use signed __int64 */
+/**
+ * gst_guint64_to_gdouble:
+ * @value: the value to convert
+ *
+ * Convert @value to a gdouble. This is implemented as a function
+ * because on some platforms a 64bit int to double conversion is
+ * not defined/implemented.
+ *
+ * Returns: @value converted to a double.
+ */
gdouble
gst_guint64_to_gdouble (guint64 value)
{
return (gdouble) ((gint64) value);
}
+/**
+ * gst_gdouble_to_guint64:
+ * @value: the value to convert
+ *
+ * Convert @value to a guint64. This is implemented as a function
+ * because on some platforms a double to guint64 conversion is not
+ * defined/implemented.
+ *
+ * Returns: @value converted to a double.
+ */
guint64
gst_gdouble_to_guint64 (gdouble value)
{