<xi:include href="xml/gstutils.xml" />
<xi:include href="xml/gstvalue.xml" />
<xi:include href="xml/gstversion.xml" />
- <xi:include href="xml/gstxml.xml" />
</chapter>
GST_BUFFER_FLAG_SET
GST_BUFFER_FLAG_UNSET
-GST_BUFFER_CAPS
-
GST_BUFFER_TIMESTAMP
GST_BUFFER_DURATION
GST_BUFFER_OFFSET
gst_buffer_make_writable
gst_buffer_replace
-gst_buffer_get_caps
-gst_buffer_set_caps
-
gst_buffer_is_span_fast
gst_buffer_span
GstMetaInitFunction
GstMetaFreeFunction
GstMetaCopyFunction
-GstMetaSubFunction
-GstMetaSerializeFunction
-GstMetaDeserializeFunction
+GstMetaTransformFunction
gst_meta_register
gst_meta_get_info
</SECTION>
gst_element_abort_state
gst_element_continue_state
gst_element_lost_state
-gst_element_lost_state_full
gst_element_state_get_name
gst_element_state_change_return_get_name
gst_element_sync_state_with_parent
gst_element_factory_has_interface
gst_element_factory_create
gst_element_factory_make
-gst_element_factory_can_sink_caps
-gst_element_factory_can_src_caps
gst_element_factory_can_sink_all_caps
gst_element_factory_can_src_all_caps
gst_element_factory_can_sink_any_caps
GST_EVENT_TYPE
GST_EVENT_TYPE_NAME
GST_EVENT_TIMESTAMP
-GST_EVENT_SRC
+
GST_EVENT_IS_UPSTREAM
GST_EVENT_IS_DOWNSTREAM
GST_EVENT_IS_SERIALIZED
gst_event_new_eos
-gst_event_new_new_segment
-gst_event_new_new_segment_full
-gst_event_parse_new_segment
-gst_event_parse_new_segment_full
+gst_event_new_segment
+gst_event_parse_segment
gst_event_new_tag
gst_event_parse_tag
GstQOSType
gst_event_new_qos
-gst_event_new_qos_full
gst_event_parse_qos
-gst_event_parse_qos_full
GstSeekType
GstSeekFlags
gst_ghost_pad_construct
-gst_ghost_pad_setcaps_default
gst_ghost_pad_unlink_default
gst_ghost_pad_link_default
gst_ghost_pad_activate_pull_default
gst_proxy_pad_chain_default
gst_proxy_pad_chain_list_default
gst_proxy_pad_getrange_default
-gst_proxy_pad_checkgetrange_default
gst_proxy_pad_getcaps_default
gst_proxy_pad_acceptcaps_default
gst_proxy_pad_fixatecaps_default
-gst_proxy_pad_setcaps_default
gst_proxy_pad_unlink_default
<SUBSECTION Standard>
GstGhostPadClass
GstMemoryIsSpanFunction
gst_memory_new_wrapped
gst_memory_new_alloc
-gst_memory_new_copy
gst_memory_ref
gst_memory_unref
gst_pad_get_caps_reffed
gst_pad_get_allowed_caps
gst_pad_get_negotiated_caps
+gst_pad_get_current_caps
gst_pad_get_pad_template_caps
gst_pad_set_caps
gst_pad_is_active
-gst_pad_set_blocked
-gst_pad_set_blocked_async
-gst_pad_set_blocked_async_full
-GstPadBlockCallback
gst_pad_is_blocked
gst_pad_is_blocking
-gst_pad_add_data_probe
-gst_pad_add_data_probe_full
-gst_pad_add_buffer_probe
-gst_pad_add_buffer_probe_full
-gst_pad_add_event_probe
-gst_pad_add_event_probe_full
-gst_pad_remove_data_probe
-gst_pad_remove_buffer_probe
-gst_pad_remove_event_probe
+gst_pad_add_probe
+gst_pad_remove_probe
<SUBSECTION Element>
gst_pad_new
gst_pad_set_chain_list_function
GstPadChainListFunction
-gst_pad_set_checkgetrange_function
-GstPadCheckGetRangeFunction
-
gst_pad_get_range
gst_pad_set_getrange_function
GstPadGetRangeFunction
gst_pad_set_fixatecaps_function
GstPadFixateCapsFunction
-gst_pad_get_fixed_caps_func
-
gst_pad_peer_accept_caps
gst_pad_set_activate_function
gst_pad_push
gst_pad_push_event
gst_pad_push_list
-gst_pad_check_pull_range
gst_pad_pull_range
gst_pad_activate_pull
gst_pad_activate_push
gst_pad_set_active
-GST_PAD_CAPS
-
GST_PAD_GET_STREAM_LOCK
GST_PAD_STREAM_LOCK
GST_PAD_STREAM_LOCK_FULL
GST_PAD_BUFFERALLOCFUNC
GST_PAD_CHAINFUNC
GST_PAD_CHAINLISTFUNC
-GST_PAD_CHECKGETRANGEFUNC
GST_PAD_EVENTFUNC
GST_PAD_FIXATECAPSFUNC
GST_PAD_GETCAPSFUNC
<FILE>gstpluginfeature</FILE>
<TITLE>GstPluginFeature</TITLE>
GstPluginFeature
-GST_PLUGIN_FEATURE_NAME
GstTypeNameData
GstPluginFeatureFilter
GstRank
gst_query_copy
gst_query_make_writable
-gst_query_new_application
+gst_query_new_custom
gst_query_get_structure
gst_query_new_convert
gst_query_new_formats
gst_query_set_formats
gst_query_set_formatsv
-gst_query_parse_formats_length
-gst_query_parse_formats_nth
+gst_query_parse_n_formats
+gst_query_parse_nth_format
gst_query_new_segment
gst_query_set_segment
gst_segment_new
gst_segment_copy
gst_segment_free
-gst_segment_set_duration
-gst_segment_set_last_stop
-gst_segment_set_newsegment
-gst_segment_set_newsegment_full
-gst_segment_set_seek
+gst_segment_do_seek
gst_segment_to_running_time
gst_segment_to_stream_time
gst_segment_to_position
<SECTION>
<FILE>gstutils</FILE>
<TITLE>GstUtils</TITLE>
-GST_BOILERPLATE_WITH_INTERFACE
-GST_BOILERPLATE_FULL
-GST_BOILERPLATE
GST_CALL_PARENT
GST_CALL_PARENT_WITH_DEFAULT
-GDOUBLE_FROM_BE
-GDOUBLE_FROM_LE
-GDOUBLE_TO_BE
-GDOUBLE_TO_LE
-GDOUBLE_SWAP_LE_BE
-GFLOAT_FROM_BE
-GFLOAT_FROM_LE
-GFLOAT_TO_BE
-GFLOAT_TO_LE
-GFLOAT_SWAP_LE_BE
GST_READ_UINT8
GST_READ_UINT16_LE
GST_READ_UINT16_BE
gst_value_set_structure
gst_value_get_structure
-<SUBSECTION miniobject>
-GST_VALUE_HOLDS_MINI_OBJECT
-
+<SUBSECTION buffer>
GST_VALUE_HOLDS_BUFFER
gst_value_get_buffer
gst_value_set_buffer
gst_adapter_new
gst_adapter_clear
gst_adapter_push
-gst_adapter_peek
+gst_adapter_map
+gst_adapter_unmap
gst_adapter_copy
gst_adapter_flush
gst_adapter_available
GstBitReader
GST_BIT_READER_INIT
-GST_BIT_READER_INIT_FROM_BUFFER
gst_bit_reader_new
-gst_bit_reader_new_from_buffer
gst_bit_reader_free
gst_bit_reader_init
-gst_bit_reader_init_from_buffer
gst_bit_reader_get_pos
gst_bit_reader_get_remaining
GstByteReader
GST_BYTE_READER_INIT
-GST_BYTE_READER_INIT_FROM_BUFFER
gst_byte_reader_new
-gst_byte_reader_new_from_buffer
gst_byte_reader_free
gst_byte_reader_init
-gst_byte_reader_init_from_buffer
gst_byte_reader_get_pos
gst_byte_reader_get_remaining
GstByteWriter
gst_byte_writer_new
-gst_byte_writer_new_with_buffer
gst_byte_writer_new_with_data
gst_byte_writer_new_with_size
gst_byte_writer_init
-gst_byte_writer_init_with_buffer
gst_byte_writer_init_with_data
gst_byte_writer_init_with_size
gst_collect_pads_peek
gst_collect_pads_pop
gst_collect_pads_available
-gst_collect_pads_read
gst_collect_pads_read_buffer
gst_collect_pads_take_buffer
gst_collect_pads_flush
gstelementmetadata.h contains the keys for all standard metadata.
+ gst_element_factory_can_{src,sink}_caps() => gst_element_factory_can_{src,sink}_{any,all}_caps()
+
Element metadata and pad templates are inherited from parent classes and
should be added in class_init instead of base_init.
gst_value_take_get_object() -> g_value_get_boxed()
gst_value_take_dup_object() -> g_value_dup_boxed()
+ GST_VALUE_HOLDS_MINI_OBJECT() was removed, use G_VALUE_HOLDS_BOXED() or
+ type-specific GST_VALUE_HOLDS_{BUFFER,CAPS,etc.}() instead.
+
The GST_MINI_OBJECT_READONLY flag was removed as it used to mark the
memory in buffers as READONLY. Marking memory READONLY can now be done
with the GstMemory API. Writability of miniobjects is now only done by using
The GstStructure is removed from the public API, use the getters to get
a handle to a GstStructure.
+ gst_query_new_application() -> gst_query_new_custom()
+
+ gst_query_parse_formats_length() -> gst_query_parse_n_formats()
+ gst_query_parse_formats_nth() -> gst_query_parse_nth_format()
+
* GstBufferList
Is now a boxed type derived from GstMiniObject.
gst_segment_set_seek() -> gst_segment_do_seek(). Updates the segment values
with seek parameters.
+* GstPluginFeature
+ GST_PLUGIN_FEATURE_NAME() was removed, use GST_OBJECT_NAME() instead.
+
* GstTypeFind
- gst_type_find_peek() returns a const guin8 * now.
+ gst_type_find_peek() returns a const guint8 * now.
* GstAdapter
gst_adapter_peek() is removed, use gst_adapter_map() and gst_adapter_unmap()
/**
* GstBufferFlag:
- * the buffer should not be modified. The metadata might still be modified.
* @GST_BUFFER_FLAG_PREROLL: the buffer is part of a preroll and should not be
* displayed.
* @GST_BUFFER_FLAG_DISCONT: the buffer marks a discontinuity in the stream.
* GstBuffer:
* @mini_object: the parent structure
* @pool: pointer to the pool owner of the buffer
- * @caps: the #GstCaps describing the data format in this buffer
* @timestamp: timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the
* timestamp is not known or relevant.
* @duration: duration in time of the buffer data, can be #GST_CLOCK_TIME_NONE
void gst_buffer_resize (GstBuffer *buffer, gsize offset, gsize size);
/**
- * gst_buffer_remove_memory:
+ * gst_buffer_set_size:
* @b: a #GstBuffer.
* @s: a new size
*
/**
* GstBufferPool:
- * @mini_object: the parent structure
+ * @object: the parent structure
*
* The structure of a #GstBufferPool. Use the associated macros to access the public
* variables.
* @send_event: send a #GstEvent to the element
* @get_query_types: get the supported #GstQueryType of this element
* @query: perform a #GstQuery on the element
- * @request_new_pad_full: called when a new pad is requested. Since: 0.10.32.
* @state_changed: called immediately after a new state was set. Since: 0.10.35.
*
* GStreamer element class. Override the vmethods to implement the element
* @mini_object: the parent structure
* @type: the #GstEventType of the event
* @timestamp: the timestamp of the event
- * @structure: the #GstStructure containing the event info.
*
* A #GstEvent.
*/
* gst_iterator_find_custom:
* @it: The #GstIterator to iterate
* @func: (scope call): the compare function to use
+ * @elem: (out): pointer to a #GValue where to store the result
* @user_data: (closure): user data passed to the compare function
*
* Find the first element in @it that matches the compare function @func.
* memory with #GST_MAP_WRITE.
* @GST_MEMORY_FLAG_NO_SHARE: memory must not be shared. Copies will have to be
* made when this memory needs to be shared between buffers.
+ * @GST_MEMORY_FLAG_LAST: first flag that can be used for custom purposes
*
* Flags for wrapped memory.
*/
/**
* GstMemoryIsSpanFunction:
* @mem1: a #GstMemory
- * @mem1: a #GstMemory
+ * @mem2: a #GstMemory
* @offset: a result offset
*
* Check if @mem1 and @mem2 occupy contiguous memory and return the offset of
* @type: the #GstMessageType of the message
* @timestamp: the timestamp of the message
* @src: the src of the message
- * @structure: the #GstStructure containing the message info.
*
* A #GstMessage.
*/
/**
* GstMiniObject:
- * @instance: type instance
* @refcount: atomic refcount
* @flags: extra flags.
* @copy: a copy function
* GstObjectClass:
* @parent_class: parent
* @path_string_separator: separator used by gst_object_get_path_string()
- * @signal_object: is used to signal to the whole class
* @deep_notify: default signal handler
*
* GStreamer base object class.
* @stream_rec_lock: recursive stream lock of the pad, used to protect
* the data used in streaming.
* @task: task for this pad if the pad is actively driving dataflow.
- * @preroll_lock: lock used when prerolling
- * @preroll_cond: conf to signal preroll
* @block_cond: conditional to signal pad block
- * @block_callback: callback for the pad block if any
- * @block_data: user data for @block_callback
- * @caps: the current caps of the pad
* @getcapsfunc: function to get caps of the pad
* @setcapsfunc: function to set caps on the pad
* @acceptcapsfunc: function to check if pad can accept caps
* @unlinkfunc: function called when pad is unlinked
* @peer: the pad this pad is linked to
* @chainfunc: function to chain buffer to pad
- * @checkgetrangefunc: function to check if pad can operate in pull mode
* @getrangefunc: function to get a range of data from a pad
* @eventfunc: function to send an event to a pad
* @mode: current activation mode of the pad
* @querytypefunc: get list of supported queries
* @queryfunc: perform a query on the pad
- * @intlinkfunc: get the internal links of this pad
- * @do_buffer_signals: counter counting installed buffer signals
- * @do_event_signals: counter counting installed event signals
* @iterintlinkfunc: get the internal links iterator of this pad
- * @block_destroy_data: notify function for gst_pad_set_blocked_async_full()
*
* The #GstPad structure. Use the functions to update the variables.
*/
#define GST_PAD_ACTIVATEPULLFUNC(pad) (GST_PAD_CAST(pad)->activatepullfunc)
#define GST_PAD_CHAINFUNC(pad) (GST_PAD_CAST(pad)->chainfunc)
#define GST_PAD_CHAINLISTFUNC(pad) (GST_PAD_CAST(pad)->chainlistfunc)
-#define GST_PAD_CHECKGETRANGEFUNC(pad) (GST_PAD_CAST(pad)->checkgetrangefunc)
#define GST_PAD_GETRANGEFUNC(pad) (GST_PAD_CAST(pad)->getrangefunc)
#define GST_PAD_EVENTFUNC(pad) (GST_PAD_CAST(pad)->eventfunc)
#define GST_PAD_QUERYTYPEFUNC(pad) (GST_PAD_CAST(pad)->querytypefunc)
* GstQuery:
* @mini_object: The parent #GstMiniObject type
* @type: the #GstQueryType
- * @structure: the #GstStructure containing the query details.
*
* The #GstQuery structure.
*/
*
* The theory of operation is like this: All buffers received are put
* into the adapter using gst_adapter_push() and the data is then read back
- * in chunks of the desired size using gst_adapter_peek(). After the data is
- * processed, it is freed using gst_adapter_flush().
+ * in chunks of the desired size using gst_adapter_map()/gst_adapter_unmap()
+ * and/or gst_adapter_copy(). After the data has been processed, it is freed
+ * using gst_adapter_unmap().
*
* Other methods such as gst_adapter_take() and gst_adapter_take_buffer()
- * combine gst_adapter_peek() and gst_adapter_flush() in one method and are
+ * combine gst_adapter_map() and gst_adapter_unmap() in one method and are
* potentially more convenient for some use cases.
*
* For example, a sink pad's chain function that needs to pass data to a library
* gst_adapter_push (adapter, buffer);
* // while we can read out 512 bytes, process them
* while (gst_adapter_available (adapter) >= 512 && ret == GST_FLOW_OK) {
+ * const guint8 *data = gst_adapter_map (adapter, 512);
* // use flowreturn as an error value
- * ret = my_library_foo (gst_adapter_peek (adapter, 512));
- * gst_adapter_flush (adapter, 512);
+ * ret = my_library_foo (data);
+ * gst_adapter_unmap (adapter, 512);
* }
*
* gst_object_unref (this);
}
/**
- * gst_adapter_peek:
+ * gst_adapter_map:
* @adapter: a #GstAdapter
- * @size: the number of bytes to peek
+ * @size: the number of bytes to map/peek
*
* Gets the first @size bytes stored in the @adapter. The returned pointer is
* valid until the next function is called on the adapter.
* Flushes the first @flush bytes in the @adapter. The caller must ensure that
* at least this many bytes are available.
*
- * See also: gst_adapter_peek().
+ * See also: gst_adapter_map(), gst_adapter_unmap()
*/
static void
gst_adapter_flush_unchecked (GstAdapter * adapter, gsize flush)
* @adapter: a #GstAdapter
*
* Gets the maximum amount of bytes available, that is it returns the maximum
- * value that can be supplied to gst_adapter_peek() without that function
+ * value that can be supplied to gst_adapter_map() without that function
* returning NULL.
*
* Returns: number of bytes available in @adapter
* correct moment if the #GstBaseSink has been set to sync to the clock.
* @render_list: Same as @render but used whith buffer lists instead of
* buffers. Since: 0.10.24
- * @async_play: Subclasses should override this when they need to perform
- * special processing when changing to the PLAYING state asynchronously.
- * Called with the OBJECT_LOCK held.
* @activate_pull: Subclasses should override this when they can provide an
* alternate method of spawning a thread to drive the pipeline in pull mode.
* Should start or stop the pulling thread, depending on the value of the
* </listitem>
* </itemizedlist>
*
- * Since 0.10.9, any #GstBaseSrc can enable pull based scheduling at any time
- * by overriding #GstBaseSrcClass.check_get_range() so that it returns %TRUE.
- *
* If all the conditions are met for operating in pull mode, #GstBaseSrc is
* automatically seekable in push mode as well. The following conditions must
* be met to make the element seekable in push mode when the format is not
* @get_caps: Called to get the caps to report
* @set_caps: Notify subclass of changed output caps
* @negotiate: Negotiated the caps with the peer.
- * @newsegment: Generate and send a new_segment event (UNUSED)
* @start: Start processing. Subclasses should open resources and prepare
* to produce data.
* @stop: Stop processing. Subclasses should use this to close resources.
* configured native format and prepare a segment in that format.
* Since: 0.10.13
* @query: Handle a requested query.
- * @check_get_range: Check whether the source would support pull-based
- * operation if it were to be opened now. This vfunc is optional, but
- * should be implemented if possible to avoid unnecessary start/stop
- * cycles. The default implementation will open and close the resource
- * to find out whether get_range is supported, and that is usually
- * undesirable.
* @fixate: Called during negotiation if caps need fixating. Implement instead of
* setting a fixate function on the source pad.
*
* in a push based mode. If the peer accepts to operate without
* offsets and within the limits of the allowed block size, this
* class can operate in getrange based mode automatically. To make
- * this possible, the subclass should override the ::check_get_range
- * method.
+ * this possible, the subclass should implement and override the
+ * SCHEDULING query.
*
* The subclass should extend the methods from the baseclass in
* addition to the ::create method.