From f006b3482c5b7342820756828ba8f337e25be912 Mon Sep 17 00:00:00 2001 From: Anton Gorenko Date: Tue, 15 Mar 2011 23:01:18 +0600 Subject: [PATCH] gstreamer: remove all girs; --- extra/gstreamer/Gst-0.10.gir | 26303 ---------------- extra/gstreamer/base/GstBase-0.10.gir | 5989 ---- extra/gstreamer/base/ffi/ffi.factor | 2 +- .../controller/GstController-0.10.gir | 1160 - extra/gstreamer/controller/ffi/ffi.factor | 2 +- extra/gstreamer/ffi/ffi.factor | 2 +- extra/gstreamer/net/GstNet-0.10.gir | 299 - extra/gstreamer/net/ffi/ffi.factor | 2 +- 8 files changed, 4 insertions(+), 33755 deletions(-) delete mode 100644 extra/gstreamer/Gst-0.10.gir delete mode 100644 extra/gstreamer/base/GstBase-0.10.gir delete mode 100644 extra/gstreamer/controller/GstController-0.10.gir delete mode 100644 extra/gstreamer/net/GstNet-0.10.gir diff --git a/extra/gstreamer/Gst-0.10.gir b/extra/gstreamer/Gst-0.10.gir deleted file mode 100644 index 9c73cc1d0d..0000000000 --- a/extra/gstreamer/Gst-0.10.gir +++ /dev/null @@ -1,26303 +0,0 @@ - - - - - - - - - - - - A datatype to hold the handle to an outstanding sync or async clock callback. - - - - A datatype to hold a time, measured in nanoseconds. - - - - A datatype to hold a time difference, measured in nanoseconds. - - - - - - - The status of a GstPad. After activating a pad, which usually happens when the -parent element goes from READY to PAUSED, the GstActivateMode defines if the -pad operates in push or pull mode. - - - - - - The main tracing object - - - - - - - - - - - - - - - - Print the status of the given GstAllocTrace. - - - - - - Enable the given features on the given GstAllocTrace object. - - - - - - flags to set - - - - - - - Flags indicating which tracing feature to enable. - - - - - Flags for an association entry. - - - - - - - - - - - - - - - - The GstBin base class. Subclasses can access these fields provided -the LOCK is taken. - - - Creates a new bin with the given name. - - a new #GstBin - - - - - the name of the new bin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds the given element to the bin. Sets the element's parent, and thus -takes ownership of the element. An element can only be added to one bin. -If the element's pads are linked to other pads, the pads will be unlinked -before the element is added to the bin. -MT safe. -the bin does not want to accept the element. - - TRUE if the element could be added, FALSE if - - - - - the #GstElement to add - - - - - - Adds a NULL-terminated list of elements to a bin. This function is -equivalent to calling gst_bin_add() for each member of the list. The return -value of each gst_bin_add() is ignored. - - - - - - the #GstElement element to add to the bin - - - - - - - - - - Recursively looks for elements with an unlinked pad of the given -direction within the specified bin and returns an unlinked pad -if one is found, or NULL otherwise. If a pad is found, the caller -owns a reference to it and should use gst_object_unref() on the -pad when it is not needed any longer. - - unlinked pad of the given direction, or NULL. - - - - - whether to look for an unlinked source or sink pad - - - - - - Recursively looks for elements with an unlinked pad of the given -direction within the specified bin and returns an unlinked pad -if one is found, or NULL otherwise. If a pad is found, the caller -owns a reference to it and should use gst_object_unref() on the -pad when it is not needed any longer. - - unlinked pad of the given direction, or NULL. - - - - - whether to look for an unlinked source or sink pad - - - - - - Looks for an element inside the bin that implements the given -interface. If such an element is found, it returns the element. -You can cast this element to the given interface afterwards. If you want -all elements that implement the interface, use -gst_bin_iterate_all_by_interface(). This function recurses into child bins. -MT safe. Caller owns returned reference. - - A #GstElement inside the bin implementing the interface - - - - - the #GType of an interface - - - - - - Gets the element with the given name from a bin. This -function recurses into child bins. -Returns NULL if no element with the given name is found in the bin. -MT safe. Caller owns returned reference. - - the #GstElement with the given name, or NULL - - - - - the element name to search for - - - - - - Gets the element with the given name from this bin. If the -element is not found, a recursion is performed on the parent bin. -Returns NULL if: -- no element with the given name is found in the bin -MT safe. Caller owns returned reference. - - the #GstElement with the given name, or NULL - - - - - the element name to search for - - - - - - Looks for all elements inside the bin that implements the given -interface. You can safely cast all returned elements to the given interface. -The function recurses inside child bins. The iterator will yield a series -of #GstElement that should be unreffed after use. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. -in the bin implementing the given interface, or NULL - - a #GstIterator of #GstElement for all elements - - - - - the #GType of an interface - - - - - - Gets an iterator for the elements in this bin. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for the elements in this bin. -This iterator recurses into GstBin children. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for all elements in the bin that have the -#GST_ELEMENT_IS_SINK flag set. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for the elements in this bin in topologically -sorted order. This means that the elements are returned from -the most downstream elements (sinks) to the sources. -This function is used internally to perform the state changes -of the bin elements and for clock selection. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Gets an iterator for all elements in the bin that have the -#GST_ELEMENT_IS_SOURCE flag set. -Each element yielded by the iterator will have its refcount increased, so -unref after use. -MT safe. Caller owns returned value. - - a #GstIterator of #GstElement, or NULL - - - - - Query @bin for the current latency using and reconfigures this latency to all the -elements with a LATENCY event. -This method is typically called on the pipeline when a #GST_MESSAGE_LATENCY -is posted on the bus. -This function simply emits the 'do-latency' signal so any custom latency -calculations will be performed. - - %TRUE if the latency could be queried and reconfigured. - - - - - Removes the element from the bin, unparenting it as well. -Unparenting the element means that the element will be dereferenced, -so if the bin holds the only reference to the element, the element -will be freed in the process of removing it from the bin. If you -want the element to still exist after removing, you need to call -gst_object_ref() before removing it from the bin. -If the element's pads are linked to other pads, the pads will be unlinked -before the element is removed from the bin. -MT safe. -the bin does not want to remove the element. - - TRUE if the element could be removed, FALSE if - - - - - the #GstElement to remove - - - - - - Remove a list of elements from a bin. This function is equivalent -to calling gst_bin_remove() with each member of the list. - - - - - - the first #GstElement to remove from the bin - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Will be emitted when the bin needs to perform latency calculations. This -signal is only emited for toplevel bins or when async-handling is -enabled. -Only one signal handler is invoked. If no signals are connected, the -default handler is invoked, which will query and distribute the lowest -possible latency to all sinks. -Connect to this signal if the default latency calculations are not -sufficient, like when you need different latencies for different sinks in -the same pipeline. - - - - - - Will be emitted after the element was added to the bin. - - - - - - the #GstElement that was added to the bin - - - - - - Will be emitted after the element was removed from the bin. - - - - - - the #GstElement that was removed from the bin - - - - - - - Subclasses can override the @add_element and @remove_element to -update the list of children in the bin. -The @handle_message method can be overridden to implement custom -message handling. @handle_message takes ownership of the message, just like -#gst_element_post_message. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GstBinFlags are a set of flags specific to bins. Most are set/used -internally. They can be checked using the GST_OBJECT_FLAG_IS_SET () macro, -and (un)set using GST_OBJECT_FLAG_SET () and GST_OBJECT_FLAG_UNSET (). - - - - - - The structure of a #GstBuffer. Use the associated macros to access the public -variables. - - Creates a newly allocated buffer without any data. -MT safe. - - the new #GstBuffer. - - - - - Creates a newly allocated buffer with data of the given size. -The buffer memory is not cleared. If the requested amount of -memory can't be allocated, the program will abort. Use -gst_buffer_try_new_and_alloc() if you want to handle this case -gracefully or have gotten the size to allocate from an untrusted -source such as a media stream. -Note that when @size == 0, the buffer data pointer will be NULL. -MT safe. - - the new #GstBuffer. - - - - - the size of the new buffer's data. - - - - - - Tries to create a newly allocated buffer with data of the given size. If -the requested amount of memory can't be allocated, NULL will be returned. -The buffer memory is not cleared. -Note that when @size == 0, the buffer data pointer will be NULL. -MT safe. -be allocated. - - a new #GstBuffer, or NULL if the memory couldn't - - - - - the size of the new buffer's data. - - - - - - Copies the metadata from @src into @dest. The data, size and mallocdata -fields are not copied. -all the metadata fields. -This function is typically called from a custom buffer copy function after -creating @dest and setting the data, size, mallocdata. - - - - - - a source #GstBuffer - - - - flags indicating what metadata fields should be copied. - - - - - - Creates a sub-buffer from @parent at @offset and @size. -This sub-buffer uses the actual memory space of the parent buffer. -This function will copy the offset and timestamp fields when the -offset is 0. If not, they will be set to #GST_CLOCK_TIME_NONE and -#GST_BUFFER_OFFSET_NONE. -If @offset equals 0 and @size equals the total size of @buffer, the -duration and offset end fields are also copied. If not they will be set -to #GST_CLOCK_TIME_NONE and #GST_BUFFER_OFFSET_NONE. -MT safe. -invalid. - - the new #GstBuffer or NULL if the arguments were - - - - - the offset into parent #GstBuffer at which the new sub-buffer begins. - - - - the size of the new #GstBuffer sub-buffer, in bytes. - - - - - - Gets the media type of the buffer. This can be NULL if there -is no media type attached to this buffer. -Returns NULL if there were no caps on this buffer. - - a reference to the #GstCaps. unref after usage. - - - - - Similar to gst_buffer_is_writable, but this only ensures that the -refcount of the buffer is 1, indicating that the caller is the sole -owner and can change the buffer metadata, such as caps and timestamps. - - TRUE if the metadata is writable. - - - - - Determines whether a gst_buffer_span() can be done without copying -the contents, that is, whether the data areas are contiguous sub-buffers of -the same buffer. -MT safe. -FALSE if a copy would be required. - - TRUE if the buffers are contiguous, - - - - - the second #GstBuffer. - - - - - - Create a new buffer that is the concatenation of the two source -buffers, and unrefs the original source buffers. -If the buffers point to contiguous areas of memory, the buffer -is created without copying the data. -This is a convenience function for C programmers. See also -gst_buffer_merge(), which does the same thing without -unreffing the input parameters. Language bindings without -explicit reference counting should not wrap this function. -the source buffers. - - the new #GstBuffer which is the concatenation of - - - - - the second source #GstBuffer. - - - - - - Similar to gst_buffer_make_writable, but does not ensure that the buffer -data array is writable. Instead, this just ensures that the returned buffer -is solely owned by the caller, by creating a subbuffer of the original -buffer if necessary. -After calling this function, @buf should not be referenced anymore. The -result of this function has guaranteed writable metadata. -may or may not be the same as @buf. - - a new #GstBuffer with writable metadata, which - - - - - Create a new buffer that is the concatenation of the two source -buffers. The original source buffers will not be modified or -unref'd. Make sure you unref the source buffers if they are not used -anymore afterwards. -If the buffers point to contiguous areas of memory, the buffer -is created without copying the data. -of the source buffers. - - the new #GstBuffer which is the concatenation - - - - - the second source #GstBuffer to merge. - - - - - - Sets the media type on the buffer. The refcount of the caps will -be increased and any previous caps on the buffer will be -unreffed. - - - - - - a #GstCaps. - - - - - - Creates a new buffer that consists of part of buf1 and buf2. -Logically, buf1 and buf2 are concatenated into a single larger -buffer, and a new buffer is created at the given offset inside -this space, with a given length. -If the two source buffers are children of the same larger buffer, -and are contiguous, the new buffer will be a child of the shared -parent, and thus no copying is necessary. you can use -gst_buffer_is_span_fast() to determine if a memcpy will be needed. -MT safe. -buffers, or NULL if the arguments are invalid. - - the new #GstBuffer that spans the two source - - - - - the offset in the first buffer from where the new buffer should start. - - - - the second source #GstBuffer to merge. - - - - the total length of the new buffer. - - - - - - Copies additional information (the timestamp, duration, and offset start -and end) from one buffer to the other. -This function does not copy any buffer flags or caps and is equivalent to -gst_buffer_copy_metadata(@dest, @src, GST_BUFFER_COPY_TIMESTAMPS). -control. - - - - - - buffer to stamp from - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A set of flags that can be provided to the gst_buffer_copy_metadata() -function to specify which metadata fields should be copied. - - - - - - A set of buffer flags used to describe properties of a #GstBuffer. - - - - - - - - - - - - - Opaque list of grouped buffers. - - Creates a new, empty #GstBufferList. The caller is responsible for unreffing -the returned #GstBufferList. -after usage. - - the new #GstBufferList. gst_buffer_list_unref() - - - - - Call @func with @data for each buffer in @list. -of @func define if this function returns or if the remaining buffers in a -group should be skipped. - - - - - - a #GstBufferListFunc to call - - - - user data passed to @func - - - - - - Get the buffer at @idx in @group. -Note that this function is not efficient for iterating over the entire list. -Use an iterator or gst_buffer_list_foreach() instead. -is no buffer. The buffer remains valid as long as @list is valid. - - the buffer at @idx in @group or NULL when there - - - - - the group - - - - the index in @group - - - - - - Iterate the buffers in @list. The owner of the iterator must also be the -owner of a reference to @list while the returned iterator is in use. - - a new #GstBufferListIterator of the buffers in - - - - - Returns the number of groups in @list. - - the number of groups in the buffer list - - - - - - - - A function for accessing the last buffer returned by -gst_buffer_list_iterator_next(). The function can leave @buffer in the list, -replace @buffer in the list or remove @buffer from the list, depending on -the return value. If the function returns NULL, @buffer will be removed from -the list, otherwise @buffer will be replaced with the returned buffer. -The last buffer returned by gst_buffer_list_iterator_next() will be replaced -with the buffer returned from the function. The function takes ownership of -unreffed. If NULL is returned, the buffer will be removed from the list. The -list must be writable. -to remove @buffer from the list - - the buffer to replace @buffer in the list, or NULL - - - - - the #GstBuffer - - - - user data - - - - - - A function that will be called from gst_buffer_list_foreach(). The @buffer -field will point to a the reference of the buffer at @idx in @group. -When this function returns #GST_BUFFER_LIST_CONTINUE, the next buffer will be -returned. When #GST_BUFFER_LIST_SKIP_GROUP is returned, all remaining buffers -in the current group will be skipped and the first buffer of the next group -is returned (if any). When GST_BUFFER_LIST_END is returned, -gst_buffer_list_foreach() will return. -When @buffer is set to NULL, the item will be removed from the bufferlist. -When @buffer has been made writable, the new buffer reference can be assigned -to @buffer. This function is responsible for unreffing the old buffer when -removing or modifying. - - a #GstBufferListItem - - - - - pointer the buffer - - - - the group index of @buffer - - - - the index in @group of @buffer - - - - user data passed to gst_buffer_list_foreach() - - - - - - The result of the #GstBufferListFunc. - - - - - - Opaque iterator for a #GstBufferList. - - Inserts @buffer into the #GstBufferList iterated with @it. The buffer is -inserted into the current group, immediately before the buffer that would be -returned by gst_buffer_list_iterator_next(). The buffer is inserted before -the implicit cursor, a subsequent call to gst_buffer_list_iterator_next() -will return the buffer after the inserted buffer, if any. -This function takes ownership of @buffer. - - - - - - a #GstBuffer - - - - - - Inserts a new, empty group into the #GstBufferList iterated with @it. The -group is inserted immediately before the group that would be returned by -gst_buffer_list_iterator_next_group(). A subsequent call to -gst_buffer_list_iterator_next_group() will advance the iterator to the group -after the inserted group, if any. - - - - - - Inserts @list of buffers into the #GstBufferList iterated with @it. The list is -inserted into the current group, immediately before the buffer that would be -returned by gst_buffer_list_iterator_next(). The list is inserted before -the implicit cursor, a subsequent call to gst_buffer_list_iterator_next() -will return the buffer after the last buffer of the inserted list, if any. -This function takes ownership of @list and all its buffers. - - - - - - a #GList of buffers - - - - - - - - Calls the given function for the last buffer returned by -gst_buffer_list_iterator_next(). gst_buffer_list_iterator_next() must have -been called on @it before this function is called. -gst_buffer_list_iterator_remove() and gst_buffer_list_iterator_steal() must -not have been called since the last call to gst_buffer_list_iterator_next(). -See #GstBufferListDoFunction for more details. - - the return value from @do_func - - - - - the function to be called - - - - the gpointer to optional user data. - - - - - - Free the iterator. - - - - - - Merge a buffer list group into a normal #GstBuffer by copying its metadata -and memcpying its data into consecutive memory. All buffers in the current -group after the implicit cursor will be merged into one new buffer. The -metadata of the new buffer will be a copy of the metadata of the buffer that -would be returned by gst_buffer_list_iterator_next(). If there is no buffer -in the current group after the implicit cursor, NULL will be returned. -This function will not move the implicit cursor or in any other way affect -the state of the iterator @it or the list. -or NULL - - a new #GstBuffer, gst_buffer_unref() after usage, - - - - - Returns the number of buffers left to iterate in the current group. I.e. the -number of calls that can be made to gst_buffer_list_iterator_next() before -it returns NULL. -This function will not move the implicit cursor or in any other way affect -the state of the iterator @it. - - the number of buffers left to iterate in the current group - - - - - Returns the next buffer in the list iterated with @it. If the iterator is at -the end of a group, NULL will be returned. This function may be called -repeatedly to iterate through the current group. -The caller will not get a new ref to the returned #GstBuffer and must not -unref it. -buffer list, or NULL - - the next buffer in the current group of the - - - - - Advance the iterator @it to the first buffer in the next group. If the -iterator is at the last group, FALSE will be returned. This function may be -called repeatedly to iterate through the groups in a buffer list. -the iterator was already at the last group - - TRUE if the iterator could be advanced to the next group, FALSE if - - - - - Removes the last buffer returned by gst_buffer_list_iterator_next() from -the #GstBufferList iterated with @it. gst_buffer_list_iterator_next() must -have been called on @it before this function is called. This function can -only be called once per call to gst_buffer_list_iterator_next(). -The removed buffer is unreffed. - - - - - - Returns the last buffer returned by gst_buffer_list_iterator_next() without -modifying the refcount of the buffer. -gst_buffer_list_iterator_next() - - the last buffer returned by - - - - - Replaces the last buffer returned by gst_buffer_list_iterator_next() with -this function is called. gst_buffer_list_iterator_remove() must not have been -called since the last call to gst_buffer_list_iterator_next(). -This function unrefs the replaced buffer if it has not been stolen with -gst_buffer_list_iterator_steal() and takes ownership of @buffer (i.e. the -refcount of @buffer is not increased). - - - - - - a #GstBuffer - - - - - - - The different types of buffering methods. - - - - - - - The opaque #GstBus data structure. - - Creates a new #GstBus instance. - - a new #GstBus instance - - - - - Adds a bus signal watch to the default main context with the default priority -(%G_PRIORITY_DEFAULT). -After calling this statement, the bus will emit the "message" signal for each -message posted on the bus. -This function may be called multiple times. To clean up, the caller is -responsible for calling gst_bus_remove_signal_watch() as many times as this -function is called. -MT safe. - - - - - - Adds a bus signal watch to the default main context with the given @priority -(e.g. %G_PRIORITY_DEFAULT). -After calling this statement, the bus will emit the "message" signal for each -message posted on the bus when the main loop is running. -This function may be called multiple times. To clean up, the caller is -responsible for calling gst_bus_remove_signal_watch() as many times as this -function is called. -There can only be a single bus watch per bus, you most remove all signal watch -before you can set another type of watch. -MT safe. - - - - - - The priority of the watch. - - - - - - Adds a bus watch to the default main context with the default priority -(%G_PRIORITY_DEFAULT). -This function is used to receive asynchronous messages in the main loop. -There can only be a single bus watch per bus, you must remove it before you -can set a new one. -The watch can be removed using g_source_remove() or by returning FALSE -from @func. -MT safe. - - The event source id. - - - - - A function to call when a message is received. - - - - user data passed to @func. - - - - - - Adds a bus watch to the default main context with the given @priority (e.g. -%G_PRIORITY_DEFAULT). -This function is used to receive asynchronous messages in the main loop. -There can only be a single bus watch per bus, you must remove it before you -can set a new one. -When @func is called, the message belongs to the caller; if you want to -keep a copy of it, call gst_message_ref() before leaving @func. -The watch can be removed using g_source_remove() or by returning FALSE -from @func. -MT safe. - - The event source id. - - - - - The priority of the watch. - - - - A function to call when a message is received. - - - - user data passed to @func. - - - - the function to call when the source is removed. - - - - - - A helper #GstBusFunc that can be used to convert all asynchronous messages -into signals. - - TRUE - - - - - the #GstMessage received - - - - user data - - - - - - Create watch for this bus. The GSource will be dispatched whenever -a message is on the bus. After the GSource is dispatched, the -message is popped off the bus and unreffed. - - a #GSource that can be added to a mainloop. - - - - - Instructs GStreamer to stop emitting the "sync-message" signal for this bus. -See gst_bus_enable_sync_message_emission() for more information. -In the event that multiple pieces of code have called -gst_bus_enable_sync_message_emission(), the sync-message emissions will only -be stopped after all calls to gst_bus_enable_sync_message_emission() were -"cancelled" by calling this function. In this way the semantics are exactly -the same as gst_object_ref() that which calls enable should also call -disable. -MT safe. - - - - - - Instructs GStreamer to emit the "sync-message" signal after running the bus's -sync handler. This function is here so that code can ensure that they can -synchronously receive messages without having to affect what the bin's sync -handler is. -This function may be called multiple times. To clean up, the caller is -responsible for calling gst_bus_disable_sync_message_emission() as many times -as this function is called. -While this function looks similar to gst_bus_add_signal_watch(), it is not -exactly the same -- this function enables <emphasis>synchronous</emphasis> emission of -signals when messages arrive; gst_bus_add_signal_watch() adds an idle callback -to pop messages off the bus <emphasis>asynchronously</emphasis>. The sync-message signal -comes from the thread of whatever object posted the message; the "message" -signal is marshalled to the main thread via the main loop. -MT safe. - - - - - - Check if there are pending messages on the bus that -should be handled. -otherwise. -MT safe. - - TRUE if there are messages on the bus to be handled, FALSE - - - - - Peek the message on the top of the bus' queue. The message will remain -on the bus' message queue. A reference is returned, and needs to be unreffed -by the caller. -bus is empty. -MT safe. - - the #GstMessage that is on the bus, or NULL if the - - - - - Poll the bus for messages. Will block while waiting for messages to come. -You can specify a maximum time to poll with the @timeout parameter. If -All messages not in @events will be popped off the bus and will be ignored. -Because poll is implemented using the "message" signal enabled by -gst_bus_add_signal_watch(), calling gst_bus_poll() will cause the "message" -signal to be emitted for every message that poll sees. Thus a "message" -signal handler will see the same messages that this function sees -- neither -will steal messages from the other. -This function will run a main loop from the default main context when -polling. -You should never use this function, since it is pure evil. This is -especially true for GUI applications based on Gtk+ or Qt, but also for any -other non-trivial application that uses the GLib main loop. As this function -runs a GLib main loop, any callback attached to the default GLib main -context may be invoked. This could be timeouts, GUI events, I/O events etc.; -even if gst_bus_poll() is called with a 0 timeout. Any of these callbacks -may do things you do not expect, e.g. destroy the main application window or -some other resource; change other application state; display a dialog and -run another main loop until the user clicks it away. In short, using this -function may add a lot of complexity to your code through unexpected -re-entrancy and unexpected changes to your application's state. -For 0 timeouts use gst_bus_pop_filtered() instead of this function; for -other short timeouts use gst_bus_timed_pop_filtered(); everything else is -better handled by setting up an asynchronous bus watch and doing things -from there. -poll timed out. The message is taken from the bus and needs to be -unreffed with gst_message_unref() after usage. - - the message that was received, or NULL if the - - - - - a mask of #GstMessageType, representing the set of message types to poll for. - - - - the poll timeout, as a #GstClockTimeDiff, or -1 to poll indefinitely. - - - - - - Get a message from the bus. -bus is empty. The message is taken from the bus and needs to be unreffed -with gst_message_unref() after usage. -MT safe. - - the #GstMessage that is on the bus, or NULL if the - - - - - Get a message matching @type from the bus. Will discard all messages on -the bus that do not match @type and that have been posted before the first -message that does match @type. If there is no message matching @type on -the bus, all messages will be discarded. -the bus, or NULL if the bus is empty or there is no message matching -gst_message_unref() after usage. -MT safe. - - the next #GstMessage matching @type that is on - - - - - message types to take into account - - - - - - Post a message on the given bus. Ownership of the message -is taken by the bus. -MT safe. - - TRUE if the message could be posted, FALSE if the bus is flushing. - - - - - the #GstMessage to post - - - - - - Removes a signal watch previously added with gst_bus_add_signal_watch(). -MT safe. - - - - - - If @flushing, flush out and unref any messages queued in the bus. Releases -references to the message origin objects. Will flush future messages until -gst_bus_set_flushing() sets @flushing to #FALSE. -MT safe. - - - - - - whether or not to flush the bus - - - - - - Sets the synchronous handler on the bus. The function will be called -every time a new message is posted on the bus. Note that the function -will be called in the same thread context as the posting object. This -function is usually only called by the creator of the bus. Applications -should handle messages asynchronously using the gst_bus watch and poll -functions. -You cannot replace an existing sync_handler. You can pass NULL to this -function, which will clear the existing handler. - - - - - - The handler function to install - - - - User data that will be sent to the handler function. - - - - - - A helper GstBusSyncHandler that can be used to convert all synchronous -messages into signals. - - GST_BUS_PASS - - - - - the #GstMessage received - - - - user data - - - - - - Get a message from the bus, waiting up to the specified timeout. -If @timeout is 0, this function behaves like gst_bus_pop(). If @timeout is -#GST_CLOCK_TIME_NONE, this function will block forever until a message was -posted on the bus. -specified timeout or NULL if the bus is empty after the timeout expired. -The message is taken from the bus and needs to be unreffed with -gst_message_unref() after usage. -MT safe. - - the #GstMessage that is on the bus after the - - - - - a timeout - - - - - - Get a message from the bus whose type matches the message type mask @types, -waiting up to the specified timeout (and discarding any messages that do not -match the mask provided). -If @timeout is 0, this function behaves like gst_bus_pop_filtered(). If -matching message was posted on the bus. -or NULL if no matching message was found on the bus until the timeout -expired. The message is taken from the bus and needs to be unreffed -with gst_message_unref() after usage. -MT safe. - - a #GstMessage matching the filter in @types, - - - - - a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever - - - - message types to take into account, GST_MESSAGE_ANY for any type - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A message has been posted on the bus. This signal is emitted from a -GSource added to the mainloop. this signal will only be emitted when -there is a mainloop running. - - - - - - the message that has been posted asynchronously - - - - - - A message has been posted on the bus. This signal is emitted from the -thread that posted the message so one has to be careful with locking. -This signal will not be emitted by default, you have to set up -gst_bus_sync_signal_handler() as a sync handler if you want this -signal to be emitted when a message is posted on the bus, like this: -<programlisting> -gst_bus_set_sync_handler (bus, gst_bus_sync_signal_handler, yourdata); -</programlisting> - - - - - - the message that has been posted synchronously - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The standard flags that a bus may have. - - - - - Specifies the type of function passed to gst_bus_add_watch() or -gst_bus_add_watch_full(), which is called from the mainloop when a message -is available on the bus. -The message passed to the function will be unreffed after execution of this -function so it should not be freed in the function. -Note that this function is used as a GSourceFunc which means that returning -FALSE will remove the GSource from the mainloop. - - %FALSE if the event source should be removed. - - - - - the #GstBus that sent the message - - - - the #GstMessage - - - - user data that has been given, when registering the handler - - - - - - - - Handler will be invoked synchronously, when a new message has been injected -into the bus. This function is mostly used internally. Only one sync handler -can be attached to a given bus. -If the handler returns GST_BUS_DROP, it should unref the message, else the -message should not be unreffed by the sync handler. - - #GstBusSyncReply stating what to do with the message - - - - - the #GstBus that sent the message - - - - the #GstMessage - - - - user data that has been given, when registering the handler - - - - - - The result values for a GstBusSyncHandler. - - - - - - - - - - - - - - - Object describing media types. - - - - - - - - - - - - - - - - - - - - - Creates a new #GstCaps that indicates that it is compatible with -any media format. - - the new #GstCaps - - - - - Creates a new #GstCaps that is empty. That is, the returned -#GstCaps contains no media formats. -Caller is responsible for unreffing the returned caps. - - the new #GstCaps - - - - - Creates a new #GstCaps and adds all the structures listed as -arguments. The list must be NULL-terminated. The structures -are not copied; the returned #GstCaps owns the structures. - - the new #GstCaps - - - - - the first structure to add - - - - - - - - - - Creates a new #GstCaps and adds all the structures listed as -arguments. The list must be NULL-terminated. The structures -are not copied; the returned #GstCaps owns the structures. - - the new #GstCaps - - - - - the first structure to add - - - - additional structures to add - - - - - - Creates a new #GstCaps that contains one #GstStructure. The -structure is defined by the arguments, which have the same format -as gst_structure_new(). -Caller is responsible for unreffing the returned caps. - - the new #GstCaps - - - - - the media type of the structure - - - - first field to set - - - - - - - - - - Appends the structures contained in @caps2 to @caps1. The structures in -freed. If either caps is ANY, the resulting caps will be ANY. - - - - - - the #GstCaps to append - - - - - - Appends @structure to @caps. The structure is not copied; @caps -becomes the owner of @structure. - - - - - - the #GstStructure to append - - - - - - Tries intersecting @caps1 and @caps2 and reports whether the result would not -be empty - - %TRUE if intersection would be not empty - - - - - a #GstCaps to intersect - - - - - - Creates a new #GstCaps as a copy of the old @caps. The new caps will have a -refcount of 1, owned by the caller. The structures are copied as well. -Note that this function is the semantic equivalent of a gst_caps_ref() -followed by a gst_caps_make_writable(). If you only want to hold on to a -reference to the data, you should use gst_caps_ref(). -When you are finished with the caps, call gst_caps_unref() on it. - - the new #GstCaps - - - - - Creates a new #GstCaps and appends a copy of the nth structure -contained in @caps. - - the new #GstCaps - - - - - the nth structure to copy - - - - - - Modifies the given @caps inplace into a representation that represents the -same set of formats, but in a simpler form. Component structures that are -identical are merged. Component structures that have values that can be -merged are also merged. - - TRUE, if the caps could be simplified - - - - - Gets the number of structures contained in @caps. - - the number of structures that @caps contains - - - - - Finds the structure in @caps that has the index @index, and -returns it. -non-const GstStructure *. This is for programming convenience -- -the caller should be aware that structures inside a constant -#GstCaps should not be modified. However, if you know the caps -are writable, either because you have just copied them or made -them writable with gst_caps_make_writable(), you may modify the -structure returned in the usual way, e.g. with functions like -gst_structure_set(). -You do not need to free or unref the structure returned, it -belongs to the #GstCaps. -to @index - - a pointer to the #GstStructure corresponding - - - - - the index of the structure - - - - - - Creates a new #GstCaps that contains all the formats that are common -to both @caps1 and @caps2. - - the new #GstCaps - - - - - a #GstCaps to intersect - - - - - - A given #GstCaps structure is always compatible with another if -every media format that is in the first is also contained in the -second. That is, @caps1 is a subset of @caps2. - - TRUE if @caps1 is a subset of @caps2. - - - - - the #GstCaps to test - - - - - - Determines if @caps represents any media format. - - TRUE if @caps represents any format. - - - - - Determines if @caps represents no media formats. - - TRUE if @caps represents no formats. - - - - - Checks if the given caps represent the same set of caps. -<note>This function does not work reliably if optional properties for caps -are included on one caps and omitted on the other.</note> -This function deals correctly with passing NULL for any of the caps. - - TRUE if both caps are equal. - - - - - another #GstCaps - - - - - - Tests if two #GstCaps are equal. This function only works on fixed -#GstCaps. - - TRUE if the arguments represent the same format - - - - - the #GstCaps to test - - - - - - Fixed #GstCaps describe exactly one format, that is, they have exactly -one structure, and each field in the structure describes a fixed type. -Examples of non-fixed types are GST_TYPE_INT_RANGE and GST_TYPE_LIST. - - TRUE if @caps is fixed - - - - - Checks if all caps represented by @subset are also represented by @superset. -<note>This function does not work reliably if optional properties for caps -are included on one caps and omitted on the other.</note> - - %TRUE if @subset is a subset of @superset - - - - - a potentially greater #GstCaps - - - - - - Returns a writable copy of @caps. -If there is only one reference count on @caps, the caller must be the owner, -and so this function will return the caps object unchanged. If on the other -hand there is more than one reference on the object, a new caps object will -be returned. The caller's reference on @caps will be removed, and instead the -caller will own a reference to the returned object. -In short, this function unrefs the caps in the argument and refs the caps -that it returns. Don't access the argument after calling this function. See - - the same #GstCaps object. - - - - - Appends the structures contained in @caps2 to @caps1 if they are not yet -expressed by @caps1. The structures in @caps2 are not copied -- they are -transferred to @caps1, and then @caps2 is freed. -If either caps is ANY, the resulting caps will be ANY. - - - - - - the #GstCaps to merge in - - - - - - Appends @structure to @caps if its not already expressed by @caps. The -structure is not copied; @caps becomes the owner of @structure. - - - - - - the #GstStructure to merge - - - - - - Creates a new #GstCaps that represents the same set of formats as - - the new #GstCaps - - - - - Add a reference to a #GstCaps object. -From this point on, until the caller calls gst_caps_unref() or -gst_caps_make_writable(), it is guaranteed that the caps object will not -change. This means its structures won't change, etc. To use a #GstCaps -object, you must always have a refcount on it -- either the one made -implicitly by e.g. gst_caps_new_simple(), or via taking one explicitly with -this function. - - the same #GstCaps object. - - - - - removes the stucture with the given index from the list of structures -contained in @caps. - - - - - - Index of the structure to remove - - - - - - Serializes a #GstCaps to XML and adds it as a child node of @parent. - - a XML node pointer - - - - - a XML parent node - - - - - - Sets fields in a #GstCaps. The arguments must be passed in the same -manner as gst_structure_set(), and be NULL-terminated. -<note>Prior to GStreamer version 0.10.26, this function failed when -of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE() -is %TRUE for @caps.</note> - - - - - - first field to set - - - - - - - - - - Sets fields in a #GstCaps. The arguments must be passed in the same -manner as gst_structure_set(), and be NULL-terminated. -<note>Prior to GStreamer version 0.10.26, this function failed when -of GStreamer, you may only call this function when GST_CAPS_IS_SIMPLE() -is %TRUE for @caps.</note> - - - - - - first field to set - - - - additional parameters - - - - - - Sets the given @field on all structures of @caps to the given @value. -This is a convenience function for calling gst_structure_set_value() on -all structures of @caps. - - - - - - name of the field to set - - - - value to set the field to - - - - - - Retrieves the stucture with the given index from the list of structures -contained in @caps. The caller becomes the owner of the returned structure. -to @index. - - a pointer to the #GstStructure corresponding - - - - - Index of the structure to retrieve - - - - - - Subtracts the @subtrahend from the @minuend. -<note>This function does not work reliably if optional properties for caps -are included on one caps and omitted on the other.</note> - - the resulting caps - - - - - #GstCaps to substract - - - - - - Converts @caps to a string representation. This string representation -can be converted back to a #GstCaps by gst_caps_from_string(). -For debugging purposes its easier to do something like this: -|[ -GST_LOG ("caps are %" GST_PTR_FORMAT, caps); -]| -This prints the caps in human readble form. - - a newly allocated string representing @caps. - - - - - Destructively discard all but the first structure from @caps. Useful when -fixating. @caps must be writable. - - - - - - Creates a new #GstCaps that contains all the formats that are in -either @caps1 and @caps2. - - the new #GstCaps - - - - - a #GstCaps to union - - - - - - Unref a #GstCaps and and free all its structures and the -structures' values when the refcount reaches 0. - - - - - - - Extra flags for a caps. - - - - Opaque #GstChildProxy data structure. - - - Fetches a child by its number. -too high). Unref after usage. -MT safe. - - the child object or %NULL if not found (index - - - - - the childs position in the child list - - - - - - Gets the number of child objects this parent contains. -MT safe. - - the number of child objects - - - - - Fetches a child by its number. -too high). Unref after usage. -MT safe. - - the child object or %NULL if not found (index - - - - - the childs position in the child list - - - - - - Looks up a child element by the given name. -Implementors can use #GstObject together with gst_object_get_name() -after usage. -MT safe. - - the child object or %NULL if not found. Unref - - - - - the childs name - - - - - - Gets the number of child objects this parent contains. -MT safe. - - the number of child objects - - - - - - - - - - - - - - - - - - - - - - - - - - #GstChildProxy interface. - - - - - - - the child object or %NULL if not found (index - - - - - - - - the childs position in the child list - - - - - - - - - the number of child objects - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #GstClock base structure. The values of this structure are -protected for subclasses, use the methods to use the #GstClock. - - - - - - - - - - - - - - - - - - - - - - - - - Increase the refcount of given @id. -MT safe. - - The same #GstClockID with increased refcount. - - - - - The #GstClockID to ref - - - - - - Unref given @id. When the refcount reaches 0 the -#GstClockID will be freed. -MT safe. - - - - - - The #GstClockID to unref - - - - - - Cancel an outstanding request with @id. This can either -be an outstanding async notification or a pending sync notification. -After this call, @id cannot be used anymore to receive sync or -async notifications, you need to create a new #GstClockID. -MT safe. - - - - - - The id to unschedule - - - - - - - - - - - - - - - - - - - Register a callback on the given #GstClockID @id with the given -function and user_data. When passing a #GstClockID with an invalid -time to this function, the callback will be called immediately -with a time set to GST_CLOCK_TIME_NONE. The callback will -be called when the time of @id has been reached. -The callback @func can be invoked from any thread, either provided by the -core or from a streaming thread. The application should be prepared for this. -MT safe. - - the result of the non blocking wait. - - - - - a #GstClockID to wait on - - - - The callback function - - - - User data passed in the callback - - - - - - Register a callback on the given #GstClockID @id with the given -function and user_data. When passing a #GstClockID with an invalid -time to this function, the callback will be called immediately -with a time set to GST_CLOCK_TIME_NONE. The callback will -be called when the time of @id has been reached. -The callback @func can be invoked from any thread, either provided by the -core or from a streaming thread. The application should be prepared for this. -MT safe. - - the result of the non blocking wait. - - - - - a #GstClockID to wait on - - - - The callback function - - - - User data passed in the callback - - - - #GDestroyNotify for user_data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get the master clock that @clock is slaved to or %NULL when the clock is -not slaved to any master clock. -not slaved to a master clock. Unref after usage. -MT safe. - - a master #GstClock or %NULL when this clock is - - - - - - - - - - - - - - - Get an ID from @clock to trigger a periodic notification. -The periodic notifications will start at time @start_time and -will then be fired with the given @interval. @id should be unreffed -after usage. -time notification. -MT safe. - - a #GstClockID that can be used to request the - - - - - the requested start time - - - - the requested interval - - - - - - Get a #GstClockID from @clock to trigger a single shot -notification at the requested time. The single shot id should be -unreffed after usage. -time notification. -MT safe. - - a #GstClockID that can be used to request the - - - - - the requested time - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reinitializes the provided single shot @id to the provided time. Does not -modify the reference count. - - %TRUE if the GstClockID could be reinitialized to the provided - - - - - a #GstClockID - - - - The requested time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The function prototype of the callback. - - %TRUE or %FALSE (currently unused) - - - - - The clock that triggered the callback - - - - The time it was triggered - - - - The #GstClockID that expired - - - - user data passed in the gst_clock_id_wait_async() function - - - - - - GStreamer clock class. Override the vmethods to implement the clock -functionality. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - All pending timeouts or periodic notifies are converted into -an entry. -Note that GstClockEntry should be treated as an opaque structure. It must -not be extended or allocated using a custom allocator. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The type of the clock entry - - - - - The capabilities of this clock - - - - - - - - - - - - The return value of a clock operation. - - - - - - - - - - - The different kind of clocks. - - - - - A function to create a copy of some object or -increase its reference count. - - a copy of the object or the same object with increased reference count - - - - - The object to copy - - - - - - Core errors are errors inside the core GStreamer library. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque, immutable, refcounted struct that stores date, time and timezone -information. It currently supports ranges from 0001-01-01 to -9999-12-31 in the Gregorian proleptic calendar. -Use the acessor functions to get the stored values. - - Creates a new #GstDateTime using the date and times in the gregorian calendar -in the supplied timezone. -1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59. -Note that @tzoffset is a float and was chosen so for being able to handle -some fractional timezones, while it still keeps the readability of -represeting it in hours for most timezones. - - the newly created #GstDateTime - - - - - Offset from UTC in hours. - - - - the gregorian year - - - - the gregorian month - - - - the day of the gregorian month - - - - the hour of the day - - - - the minute of the hour - - - - the second of the minute - - - - - - Creates a new #GstDateTime using the time since Jan 1, 1970 specified by - - the newly created #GstDateTime - - - - - seconds from the Unix epoch - - - - - - Creates a new #GstDateTime using the time since Jan 1, 1970 specified by - - the newly created #GstDateTime - - - - - seconds from the Unix epoch - - - - - - Creates a new #GstDateTime using the date and times in the gregorian calendar -in the local timezone. -1 to 31, @hour from 0 to 23, @minutes and @seconds from 0 to 59. - - the newly created #GstDateTime - - - - - the gregorian year - - - - the gregorian month - - - - the day of the gregorian month - - - - the hour of the day - - - - the minute of the hour - - - - the second of the minute - - - - - - Creates a new #GstDateTime representing the current date and time. -be freed with gst_date_time_unref(). - - the newly created #GstDateTime which should - - - - - Creates a new #GstDateTime that represents the current instant at Universal -coordinated time. -be freed with gst_date_time_unref(). - - the newly created #GstDateTime which should - - - - - Returns the day of this #GstDateTime. - - The day of this #GstDateTime - - - - - Retrieves the hour of the day represented by @datetime in the gregorian -calendar. The return is in the range of 0 to 23. - - the hour of the day - - - - - Retrieves the fractional part of the seconds in microseconds represented by - - the microsecond of the second - - - - - Retrieves the minute of the hour represented by @datetime in the gregorian -calendar. - - the minute of the hour - - - - - Returns the month of this #GstDateTime. January is 1, February is 2, etc.. - - The month of this #GstDateTime - - - - - Retrieves the second of the minute represented by @datetime in the gregorian -calendar. - - the second represented by @datetime - - - - - Retrieves the offset from UTC in hours that the timezone specified -by @datetime represents. Timezones ahead (to the east) of UTC have positive -values, timezones before (to the west) of UTC have negative values. -If @datetime represents UTC time, then the offset is zero. - - the offset from UTC in hours - - - - - Returns the year of this #GstDateTime - - The year of this #GstDateTime - - - - - Atomically increments the reference count of @datetime by one. - - the reference @datetime - - - - - Atomically decrements the reference count of @datetime by one. When the -reference count reaches zero, the structure is freed. - - - - - - - This is the struct that describes the categories. Once initialized with -#GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore. - - - - - - - - - - - - - - Removes and frees the category and all associated resources. - - - - - - Returns the color of a debug category used when printing output in this -category. - - the color of the category. - - - - - Returns the description of a debug category. - - the description of the category. - - - - - Returns the name of a debug category. - - the name of the category. - - - - - Returns the threshold of a #GstDebugCategory. - - the #GstDebugLevel that is used as threshold. - - - - - Resets the threshold of the category to the default level. Debug information -will only be output if the threshold is lower or equal to the level of the -debugging message. -Use this function to set the threshold back to where it was after using -gst_debug_category_set_threshold(). - - - - - - Sets the threshold of the category to the given level. Debug information will -only be output if the threshold is lower or equal to the level of the -debugging message. -<note><para> -Do not use this function in production code, because other functions may -change the threshold of categories as side effect. It is however a nice -function to use when debugging (even from gdb). -</para></note> - - - - - - the #GstDebugLevel threshold to set. - - - - - - - These are some terminal style flags you can use when creating your -debugging categories to make them stand out in debugging output. - - - - - - - - - - - - - - - - - - - - - - - - - - Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() -and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(). - - - - - - - - The level defines the importance of a debugging message. The more important a -message is, the greater the probability that the debugging system outputs it. - - - - - - - - - - - - - - Gets the string representation of a #GstDebugMessage. This function is used -in debug handlers to extract the message. - - the string representation of a #GstDebugMessage. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - GStreamer element abstract base class. - - Creates an element for handling the given URI. - - a new element or NULL if none could be created - - - - - Whether to create a source or a sink - - - - URI to create an element for - - - - Name of created element, can be NULL. - - - - - - Create a new elementfactory capable of instantiating objects of the - - TRUE, if the registering succeeded, FALSE on error - - - - - #GstPlugin to register the element with, or NULL for a static element (note that passing NULL only works in GStreamer 0.10.13 and later) - - - - name of elements of this type - - - - rank of element (higher rank means more importance when autoplugging) - - - - GType of element to register - - - - - - Gets a string representing the given state change result. -result. - - a string with the name of the state - - - - - a #GstStateChangeReturn to get the name of. - - - - - - Gets a string representing the given state. - - a string with the name of the state. - - - - - a #GstState to get the name of. - - - - - - Perform @transition on @element. -This function must be called with STATE_LOCK held and is mainly used -internally. - - the #GstStateChangeReturn of the state transition. - - - - - the requested transition - - - - - - Gets the index from the element. -element. unref after usage. -MT safe. - - a #GstIndex or %NULL when no index was set on the - - - - - Get an array of query types from the element. -If the element doesn't implement a query types function, -the query will be forwarded to the peer of a random linked sink pad. -be freed or modified. -MT safe. - - An array of #GstQueryType elements that should not - - - - - Gets the state of the element. -For elements that performed an ASYNC state change, as reported by -gst_element_set_state(), this function will block up to the -specified timeout value for the state change to complete. -If the element completes the state change or goes into -an error, this function returns immediately with a return value of -%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively. -For elements that did not return %GST_STATE_CHANGE_ASYNC, this function -returns the current and pending state immediately. -This function returns %GST_STATE_CHANGE_NO_PREROLL if the element -successfully changed its state but is not able to provide data yet. -This mostly happens for live sources that only produce data in -%GST_STATE_PLAYING. While the state change return is equivalent to -%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that -some sink elements might not be able to complete their state change because -an element is not producing data to complete the preroll. When setting the -element to playing, the preroll will complete and playback will start. -and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the -element is still performing a state change or -%GST_STATE_CHANGE_FAILURE if the last state change failed. -MT safe. - - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - - - - - a pointer to #GstState to hold the state. Can be %NULL. - - - - a pointer to #GstState to hold the pending state. Can be %NULL. - - - - a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - - - - - - Get the clock provided by the given element. -<note>An element is only required to provide a clock in the PAUSED -state. Some elements can provide a clock in other states.</note> -if no clock could be provided. Unref after usage. -MT safe. - - the GstClock provided by the element or %NULL - - - - - Performs a query on the given element. -For elements that don't implement a query handler, this function -forwards the query to a random srcpad or to the peer of a -random linked sinkpad of this element. -Please note that some queries might need a running pipeline to work. -MT safe. - - TRUE if the query could be performed. - - - - - the #GstQuery. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Sends an event to an element. If the element doesn't implement an -event handler, the event will be pushed on a random linked sink pad for -upstream events or a random linked source pad for downstream events. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. -MT safe. - - %TRUE if the event was handled. - - - - - the #GstEvent to send to the element. - - - - - - Sets the bus of the element. Increases the refcount on the bus. -For internal use only, unless you're testing elements. -MT safe. - - - - - - the #GstBus to set. - - - - - - Sets the clock for the element. This function increases the -refcount on the clock. Any previously set clock on the object -is unreffed. -clock when it, for example, is not able to slave its internal clock to the -MT safe. - - %TRUE if the element accepted the clock. An element can refuse a - - - - - the #GstClock to set for the element. - - - - - - Set @index on the element. The refcount of the index -will be increased, any previously set index is unreffed. -MT safe. - - - - - - a #GstIndex. - - - - - - Sets the state of the element. This function will try to set the -requested state by going through all the intermediary states and calling -the class's state change function for each. -This function can return #GST_STATE_CHANGE_ASYNC, in which case the -element will perform the remainder of the state change asynchronously in -another thread. -An application can use gst_element_get_state() to wait for the completion -of the state change or it can wait for a state change message on the bus. -State changes to %GST_STATE_READY or %GST_STATE_NULL never return -#GST_STATE_CHANGE_ASYNC. -MT safe. - - Result of the state change using #GstStateChangeReturn. - - - - - the element's new #GstState. - - - - - - Abort the state change of the element. This function is used -by elements that do asynchronous state changes and find out -something is wrong. -This function should be called with the STATE_LOCK held. -MT safe. - - - - - - Adds a pad (link point) to @element. @pad's parent will be set to @element; -see gst_object_set_parent() for refcounting information. -Pads are not automatically activated so elements should perform the needed -steps to activate the pad in case this pad is added in the PAUSED or PLAYING -state. See gst_pad_set_active() for more information about activating pads. -The pad and the element should be unlocked when calling this function. -This function will emit the #GstElement::pad-added signal on the element. -a pad with the same name already existed or the pad already had another -parent. -MT safe. - - %TRUE if the pad could be added. This function can fail when - - - - - the #GstPad to add to the element. - - - - - - Perform @transition on @element. -This function must be called with STATE_LOCK held and is mainly used -internally. - - the #GstStateChangeReturn of the state transition. - - - - - the requested transition - - - - - - Commit the state change of the element and proceed to the next -pending state if any. This function is used -by elements that do asynchronous state changes. -The core will normally call this method automatically when an -element returned %GST_STATE_CHANGE_SUCCESS from the state change function. -If after calling this method the element still has not reached -the pending state, the next state change is performed. -This method is used internally and should normally not be called by plugins -or applications. -MT safe. - - The result of the commit state change. - - - - - The previous state return value - - - - - - Creates a pad for each pad template that is always available. -This function is only useful during object intialization of -subclasses of #GstElement. - - - - - - Posts a message to the bus that new tags were found, and pushes an event -to all sourcepads. Takes ownership of the @list. -This is a utility method for elements. Applications should use the -#GstTagSetter interface. - - - - - - list of tags. - - - - - - Posts a message to the bus that new tags were found and pushes the -tags as event. Takes ownership of the @list. -This is a utility method for elements. Applications should use the -#GstTagSetter interface. - - - - - - pad on which to push tag-event - - - - the taglist to post on the bus and create event from - - - - - - Returns the base time of the element. The base time is the -absolute time of the clock when this element was last put to -PLAYING. Subtracting the base time from the clock time gives -the running time of the element. -MT safe. - - the base time of the element. - - - - - Returns the bus of the element. Note that only a #GstPipeline will provide a -bus for the application. -MT safe. - - the element's #GstBus. unref after usage. - - - - - Gets the currently configured clock of the element. This is the clock as was -last set with gst_element_set_clock(). -MT safe. - - the #GstClock of the element. unref after usage. - - - - - Looks for an unlinked pad to which the given pad can link. It is not -guaranteed that linking the pads will work, though it should work in most -cases. -This function will first attempt to find a compatible unlinked ALWAYS pad, -and if none can be found, it will request a compatible REQUEST pad by looking -at the templates of @element. -if one cannot be found. gst_object_unref() after usage. - - the #GstPad to which a link can be made, or %NULL - - - - - the #GstPad to find a compatible one for. - - - - the #GstCaps to use as a filter. - - - - - - Retrieves a pad template from @element that is compatible with @compattempl. -Pads from compatible templates can be linked together. -was found. No unreferencing is necessary. - - a compatible #GstPadTemplate, or NULL if none - - - - - the #GstPadTemplate to find a compatible template for - - - - - - Retrieves the factory that was used to create this element. -element. no refcounting is needed. - - the #GstElementFactory used for creating this - - - - - Gets the index from the element. -element. unref after usage. -MT safe. - - a #GstIndex or %NULL when no index was set on the - - - - - Retrieves a pad from @element by name. Tries gst_element_get_static_pad() -first, then gst_element_get_request_pad(). -to the result pad should be released with gst_object_unref() in case of a static pad -or gst_element_release_request_pad() in case of a request pad. -Use gst_element_get_static_pad() or gst_element_get_request_pad() instead. -depending on the type of the pad. - - the #GstPad if found, otherwise %NULL. Unref or Release after usage, - - - - - the name of the pad to retrieve. - - - - - - Get an array of query types from the element. -If the element doesn't implement a query types function, -the query will be forwarded to the peer of a random linked sink pad. -be freed or modified. -MT safe. - - An array of #GstQueryType elements that should not - - - - - Retrieves a pad from the element by name. This version only retrieves -request pads. The pad should be released with -gst_element_release_request_pad(). -This method is slow and will be deprecated in the future. New code should -use gst_element_request_pad() with the requested template. -Release after usage. - - requested #GstPad if found, otherwise %NULL. - - - - - the name of the request #GstPad to retrieve. - - - - - - Returns the start time of the element. The start time is the -running time of the clock when this element was last put to PAUSED. -Usually the start_time is managed by a toplevel element such as -#GstPipeline. -MT safe. - - the start time of the element. - - - - - Gets the state of the element. -For elements that performed an ASYNC state change, as reported by -gst_element_set_state(), this function will block up to the -specified timeout value for the state change to complete. -If the element completes the state change or goes into -an error, this function returns immediately with a return value of -%GST_STATE_CHANGE_SUCCESS or %GST_STATE_CHANGE_FAILURE respectively. -For elements that did not return %GST_STATE_CHANGE_ASYNC, this function -returns the current and pending state immediately. -This function returns %GST_STATE_CHANGE_NO_PREROLL if the element -successfully changed its state but is not able to provide data yet. -This mostly happens for live sources that only produce data in -%GST_STATE_PLAYING. While the state change return is equivalent to -%GST_STATE_CHANGE_SUCCESS, it is returned to the application to signal that -some sink elements might not be able to complete their state change because -an element is not producing data to complete the preroll. When setting the -element to playing, the preroll will complete and playback will start. -and the last state change succeeded, %GST_STATE_CHANGE_ASYNC if the -element is still performing a state change or -%GST_STATE_CHANGE_FAILURE if the last state change failed. -MT safe. - - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - - - - - a pointer to #GstState to hold the state. Can be %NULL. - - - - a pointer to #GstState to hold the pending state. Can be %NULL. - - - - a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - - - - - - Retrieves a pad from @element by name. This version only retrieves -already-existing (i.e. 'static') pads. -unref after usage. -MT safe. - - the requested #GstPad if found, otherwise %NULL. - - - - - the name of the static #GstPad to retrieve. - - - - - - Test whether the given element implements a certain interface of type -iface_type, and test whether it is supported for this specific instance. - - whether or not the element implements the interface. - - - - - (final) type of the interface which we want to be implemented - - - - - - Queries if the element can be indexed. -MT safe. - - TRUE if the element can be indexed. - - - - - Checks if the state of an element is locked. -If the state of an element is locked, state changes of the parent don't -affect the element. -This way you can leave currently unused elements inside bins. Just lock their -state before changing the state from #GST_STATE_NULL. -MT safe. - - TRUE, if the element's state is locked. - - - - - Retrieves an iterattor of @element's pads. The iterator should -be freed after usage. -after use. -MT safe. - - the #GstIterator of #GstPad. Unref each pad - - - - - Retrieves an iterator of @element's sink pads. -after use. -MT safe. - - the #GstIterator of #GstPad. Unref each pad - - - - - Retrieves an iterator of @element's source pads. -after use. -MT safe. - - the #GstIterator of #GstPad. Unref each pad - - - - - Links @src to @dest. The link must be from source to -destination; the other direction will not be tried. The function looks for -existing pads that aren't linked yet. It will request new pads if necessary. -Such pads need to be released manualy when unlinking. -If multiple links are possible, only one is established. -Make sure you have added your elements to a bin or pipeline with -gst_bin_add() before trying to link them. - - TRUE if the elements could be linked, FALSE otherwise. - - - - - the #GstElement containing the destination pad. - - - - - - Links @src to @dest using the given caps as filtercaps. -The link must be from source to -destination; the other direction will not be tried. The function looks for -existing pads that aren't linked yet. It will request new pads if necessary. -If multiple links are possible, only one is established. -Make sure you have added your elements to a bin or pipeline with -gst_bin_add() before trying to link them. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the #GstElement containing the destination pad. - - - - the #GstCaps to filter the link, or #NULL for no filter. - - - - - - Chain together a series of elements. Uses gst_element_link(). -Make sure you have added your elements to a bin or pipeline with -gst_bin_add() before trying to link them. - - TRUE on success, FALSE otherwise. - - - - - the second #GstElement in the link chain. - - - - - - - - - - Links the two named pads of the source and destination elements. -Side effect is that if one of the pads has no parent, it becomes a -child of the parent of the other element. If they have different -parents, the link fails. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the name of the #GstPad in source element or NULL for any pad. - - - - the #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element, or NULL for any pad. - - - - - - Links the two named pads of the source and destination elements. Side effect -is that if one of the pads has no parent, it becomes a child of the parent of -the other element. If they have different parents, the link fails. If @caps -is not #NULL, makes sure that the caps of the link is a subset of @caps. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the name of the #GstPad in source element or NULL for any pad. - - - - the #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element or NULL for any pad. - - - - the #GstCaps to filter the link, or #NULL for no filter. - - - - - - Links the two named pads of the source and destination elements. -Side effect is that if one of the pads has no parent, it becomes a -child of the parent of the other element. If they have different -parents, the link fails. -Calling gst_element_link_pads_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT -is the same as calling gst_element_link_pads() and the recommended way of -linking pads with safety checks applied. - - TRUE if the pads could be linked, FALSE otherwise. - - - - - the name of the #GstPad in source element or NULL for any pad. - - - - the #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element, or NULL for any pad. - - - - the #GstPadLinkCheck to be performed when linking pads. - - - - - - Brings the element to the lost state. This function calls -gst_element_lost_state_full() with the new_base_time set to %TRUE. -This function is used internally and should normally not be called from -plugins or applications. -MT safe. - - - - - - Brings the element to the lost state. The current state of the -element is copied to the pending state so that any call to -gst_element_get_state() will return %GST_STATE_CHANGE_ASYNC. -An ASYNC_START message is posted with indication to distribute a new -base_time to the element when @new_base_time is %TRUE. -If the element was PLAYING, it will go to PAUSED. The element -will be restored to its PLAYING state by the parent pipeline when it -prerolls again. -This is mostly used for elements that lost their preroll buffer -in the %GST_STATE_PAUSED or %GST_STATE_PLAYING state after a flush, -they will go to their pending state again when a new preroll buffer is -queued. This function can only be called when the element is currently -not in error or an async state change. -This function is used internally and should normally not be called from -plugins or applications. -MT safe. - - - - - - if a new base time should be distributed - - - - - - Post an error, warning or info message on the bus from inside an element. -#GST_MESSAGE_INFO. -MT safe. - - - - - - the #GstMessageType - - - - the GStreamer GError domain this message belongs to - - - - the GError code belonging to the domain - - - - an allocated text string to be used as a replacement for the default message connected to code, or %NULL - - - - an allocated debug message to be used as a replacement for the default debugging information, or %NULL - - - - the source code file where the error was generated - - - - the source code function where the error was generated - - - - the source code line where the error was generated - - - - - - Use this function to signal that the element does not expect any more pads -to show up in the current pipeline. This function should be called whenever -pads have been added by the element itself. Elements with #GST_PAD_SOMETIMES -pad templates use this in combination with autopluggers to figure out that -the element is done initializing its pads. -This function emits the #GstElement::no-more-pads signal. -MT safe. - - - - - - Post a message on the element's #GstBus. This function takes ownership of the -message; if you want to access the message after this call, you should add an -additional reference before calling. -%FALSE if the element did not have a bus. -MT safe. - - %TRUE if the message was successfully posted. The function returns - - - - - a #GstMessage to post - - - - - - Get the clock provided by the given element. -<note>An element is only required to provide a clock in the PAUSED -state. Some elements can provide a clock in other states.</note> -if no clock could be provided. Unref after usage. -MT safe. - - the GstClock provided by the element or %NULL - - - - - Query if the element provides a clock. A #GstClock provided by an -element can be used as the global #GstClock for the pipeline. -An element that can provide a clock is only required to do so in the PAUSED -state, this means when it is fully negotiated and has allocated the resources -to operate the clock. -MT safe. - - %TRUE if the element provides a clock - - - - - Performs a query on the given element. -For elements that don't implement a query handler, this function -forwards the query to a random srcpad or to the peer of a -random linked sinkpad of this element. -Please note that some queries might need a running pipeline to work. -MT safe. - - TRUE if the query could be performed. - - - - - the #GstQuery. - - - - - - Queries an element to convert @src_val in @src_format to @dest_format. - - TRUE if the query could be performed. - - - - - a #GstFormat to convert from. - - - - a value to convert. - - - - a pointer to the #GstFormat to convert to. - - - - a pointer to the result. - - - - - - Queries an element for the total stream duration. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - A location in which to store the total duration, or NULL. - - - - - - Queries an element for the stream position. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the current position, or NULL. - - - - - - Makes the element free the previously requested pad as obtained -with gst_element_get_request_pad(). -This does not unref the pad. If the pad was created by using -gst_element_get_request_pad(), gst_element_release_request_pad() needs to be -followed by gst_object_unref() to free the @pad. -MT safe. - - - - - - the #GstPad to release. - - - - - - Removes @pad from @element. @pad will be destroyed if it has not been -referenced elsewhere using gst_object_unparent(). -This function is used by plugin developers and should not be used -by applications. Pads that were dynamically requested from elements -with gst_element_get_request_pad() should be released with the -gst_element_release_request_pad() function instead. -Pads are not automatically deactivated so elements should perform the needed -steps to deactivate the pad in case this pad is removed in the PAUSED or -PLAYING state. See gst_pad_set_active() for more information about -deactivating pads. -The pad and the element should be unlocked when calling this function. -This function will emit the #GstElement::pad-removed signal on the element. -pad does not belong to the provided element. -MT safe. - - %TRUE if the pad could be removed. Can return %FALSE if the - - - - - the #GstPad to remove from the element. - - - - - - Retrieves a request pad from the element according to the provided template. -If the @caps are specified and the element implements thew new -request_new_pad_full virtual method, the element will use them to select -which pad to create. -The pad should be released with gst_element_release_request_pad(). -Release after usage. - - requested #GstPad if found, otherwise %NULL. - - - - - a #GstPadTemplate of which we want a pad of. - - - - the name of the request #GstPad to retrieve. Can be %NULL. - - - - the caps of the pad we want to request. Can be %NULL. - - - - - - Query if the element requires a clock. -MT safe. - - %TRUE if the element requires a clock - - - - - Sends a seek event to an element. See gst_event_new_seek() for the details of -the parameters. The seek event is sent to the element using -gst_element_send_event(). -MT safe. - - %TRUE if the event was handled. - - - - - The new playback rate - - - - The format of the seek values - - - - The optional seek flags. - - - - The type and flags for the new current position - - - - The value of the new current position - - - - The type and flags for the new stop position - - - - The value of the new stop position - - - - - - - - - - - - - - - - - - - - - - Sends an event to an element. If the element doesn't implement an -event handler, the event will be pushed on a random linked sink pad for -upstream events or a random linked source pad for downstream events. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. -MT safe. - - %TRUE if the event was handled. - - - - - the #GstEvent to send to the element. - - - - - - Set the base time of an element. See gst_element_get_base_time(). -MT safe. - - - - - - the base time to set. - - - - - - Sets the bus of the element. Increases the refcount on the bus. -For internal use only, unless you're testing elements. -MT safe. - - - - - - the #GstBus to set. - - - - - - Sets the clock for the element. This function increases the -refcount on the clock. Any previously set clock on the object -is unreffed. -clock when it, for example, is not able to slave its internal clock to the -MT safe. - - %TRUE if the element accepted the clock. An element can refuse a - - - - - the #GstClock to set for the element. - - - - - - Set @index on the element. The refcount of the index -will be increased, any previously set index is unreffed. -MT safe. - - - - - - a #GstIndex. - - - - - - Locks the state of an element, so state changes of the parent don't affect -this element anymore. -MT safe. -or the elements state-locking needed no change. - - TRUE if the state was changed, FALSE if bad parameters were given - - - - - TRUE to lock the element's state - - - - - - Set the start time of an element. The start time of the element is the -running time of the element when it last went to the PAUSED state. In READY -or after a flushing seek, it is set to 0. -Toplevel elements like #GstPipeline will manage the start_time and -base_time on its children. Setting the start_time to #GST_CLOCK_TIME_NONE -on such a toplevel element will disable the distribution of the base_time to -the children and can be useful if the application manages the base_time -itself, for example if you want to synchronize capture from multiple -pipelines, and you can also ensure that the pipelines have the same clock. -MT safe. - - - - - - the base time to set. - - - - - - Sets the state of the element. This function will try to set the -requested state by going through all the intermediary states and calling -the class's state change function for each. -This function can return #GST_STATE_CHANGE_ASYNC, in which case the -element will perform the remainder of the state change asynchronously in -another thread. -An application can use gst_element_get_state() to wait for the completion -of the state change or it can wait for a state change message on the bus. -State changes to %GST_STATE_READY or %GST_STATE_NULL never return -#GST_STATE_CHANGE_ASYNC. -MT safe. - - Result of the state change using #GstStateChangeReturn. - - - - - the element's new #GstState. - - - - - - Tries to change the state of the element to the same as its parent. -If this function returns FALSE, the state of element is undefined. -MT safe. - - TRUE, if the element's state could be synced to the parent's state. - - - - - Unlinks all source pads of the source element with all sink pads -of the sink element to which they are linked. -If the link has been made using gst_element_link(), it could have created an -requestpad, which has to be released using gst_element_release_request_pad(). - - - - - - the sink #GstElement to unlink. - - - - - - Unlinks a series of elements. Uses gst_element_unlink(). - - - - - - the second #GstElement in the link chain. - - - - - - - - - - Unlinks the two named pads of the source and destination elements. - - - - - - the name of the #GstPad in source element. - - - - a #GstElement containing the destination pad. - - - - the name of the #GstPad in destination element. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This signals that the element will not generate more dynamic pads. - - - - - - a new #GstPad has been added to the element. - - - - - - the pad that has been added - - - - - - a #GstPad has been removed from the element - - - - - - the pad that has been removed - - - - - - - GStreamer element class. Override the vmethods to implement the element -functionality. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state - - - - - - - - a pointer to #GstState to hold the state. Can be %NULL. - - - - a pointer to #GstState to hold the pending state. Can be %NULL. - - - - a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - - - - - - - - - Result of the state change using #GstStateChangeReturn. - - - - - - - - the element's new #GstState. - - - - - - - - - the #GstStateChangeReturn of the state transition. - - - - - - - - the requested transition - - - - - - - - - - - - - - - - the #GstBus to set. - - - - - - - - - the GstClock provided by the element or %NULL - - - - - - - - - - - - - %TRUE if the element accepted the clock. An element can refuse a - - - - - - - - the #GstClock to set for the element. - - - - - - - - - a #GstIndex or %NULL when no index was set on the - - - - - - - - - - - - - - - - - - - - a #GstIndex. - - - - - - - - - %TRUE if the event was handled. - - - - - - - - the #GstEvent to send to the element. - - - - - - - - - An array of #GstQueryType elements that should not - - - - - - - - - - - - - TRUE if the query could be performed. - - - - - - - - the #GstQuery. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Adds a padtemplate to an element class. This is mainly used in the _base_init -functions of classes. - - - - - - a #GstPadTemplate to add to the element class. - - - - - - Retrieves a padtemplate from @element_class with the given name. -<note>If you use this function in the #GInstanceInitFunc of an object class -that has subclasses, make sure to pass the g_class parameter of the -#GInstanceInitFunc here.</note> -if none was found. No unreferencing is necessary. - - the #GstPadTemplate with the given name, or %NULL - - - - - the name of the #GstPadTemplate to get. - - - - - - Retrieves a list of the pad templates associated with @element_class. The -list must not be modified by the calling code. -<note>If you use this function in the #GInstanceInitFunc of an object class -that has subclasses, make sure to pass the g_class parameter of the -#GInstanceInitFunc here.</note> -pad templates. - - the #GList of - - - - - - - Adds a list of standardized properties with types to the @klass. -the id is for the property switch in your get_prop method, and -the flags determine readability / writeability. - - - - - - the name of the first property. in a NULL terminated - - - - - - - - - - Sets the detailed information for a #GstElementClass. -<note>This function is for use in _base_init functions only.</note> -The @details are copied. - - - - - - details to set - - - - - - Sets the detailed information for a #GstElementClass. Simpler version of -gst_element_class_set_details() that generates less linker overhead. -<note>This function is for use in _base_init functions only.</note> -The detail parameter strings are copied into the #GstElementDetails for -the element class. - - - - - - The long English name of the element. E.g. "File Sink" - - - - String describing the type of element, as an unordered list separated with slashes ('/'). See draft-klass.txt of the design docs for more details and common types. E.g: "Sink/File" - - - - Sentence describing the purpose of the element. E.g: "Write stream to a file" - - - - Name and contact details of the author(s). Use \n to separate multiple author details. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" - - - - - - Set uri pointing to user documentation. Applications can use this to show -help for e.g. effects to users. - - - - - - uri of element documentation - - - - - - Elements that bridge to certain other products can include an icon of that -used product. Application can show the icon in menus/selectors to help -identifying specific elements. - - - - - - name of an icon - - - - - - - This struct defines the public information about a #GstElement. It contains -meta-data about the element that is mostly for the benefit of editors. -The @klass member can be used by applications to filter elements based -on functionality. - - - - - - - - - - - - - - - - - - - - The opaque #GstElementFactory data structure. - - Search for an element factory of the given name. Refs the returned -element factory; caller is responsible for unreffing. - - #GstElementFactory if found, NULL otherwise - - - - - name of factory to find - - - - - - Filter out all the elementfactories in @list that can handle @caps in -the given direction. -If @subsetonly is %TRUE, then only the elements whose pads templates -are a complete superset of @caps will be returned. Else any element -whose pad templates caps can intersect with @caps will be returned. -#GstElementFactory elements that match the given requisits. -Use #gst_plugin_feature_list_free after usage. - - a #GList of - - - - - - - a #GList of #GstElementFactory to filter - - - - - - a #GstCaps - - - - a #GstPadDirection to filter on - - - - whether to filter on caps subsets or not. - - - - - - Get a list of factories that match the given @type. Only elements -with a rank greater or equal to @minrank will be returned. -The list of factories is returned by decreasing rank. -#GstElementFactory elements. Use gst_plugin_feature_list_free() after -usage. - - a #GList of - - - - - - - a #GstElementFactoryListType - - - - Minimum rank - - - - - - Create a new element of the type defined by the given element factory. -If name is NULL, then the element will receive a guaranteed unique name, -consisting of the element factory name and a number. -If name is given, it will be given the name supplied. - - new #GstElement or NULL if unable to create element - - - - - a named factory to instantiate - - - - name of new element - - - - - - Checks if the factory can sink the given capability. - - true if it can sink the capabilities - - - - - the caps to check - - - - - - Checks if the factory can source the given capability. - - true if it can src the capabilities - - - - - the caps to check - - - - - - Create a new element of the type defined by the given elementfactory. -It will be given the name supplied, since all elements require a name as -their first argument. -be created - - new #GstElement or NULL if the element couldn't - - - - - name of new element - - - - - - Gets the author for this factory. - - the author - - - - - Gets the description for this factory. - - the description - - - - - Gets icon name for this factory if set. - - the icon name - - - - - Get the #GType for elements managed by this factory. The type can -only be retrieved if the element factory is loaded, which can be -assured with gst_plugin_feature_load(). -the factory is not loaded. - - the #GType for elements managed by this factory or 0 if - - - - - - - - - - Gets the class for this factory. - - the class - - - - - Gets the longname for this factory - - the longname - - - - - Gets the number of pad_templates in this factory. - - the number of pad_templates - - - - - Gets the #GList of #GstStaticPadTemplate for this factory. -static pad templates - - the - - - - - - - Gets a NULL-terminated array of protocols this element supports or NULL if -no protocols are supported. You may not change the contents of the returned -array, as it is still owned by the element factory. Use g_strdupv() to -make a copy of the protocol string array if you need to. -or NULL - - the supported protocols - - - - - - - Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none. - - type of URIs this element supports - - - - - Check if @factory implements the interface with name @interfacename. - - #TRUE when @factory implement the interface. - - - - - an interface name - - - - - - Check if @factory if of the given types. - - %TRUE if @factory is of @type. - - - - - a #GstElementFactoryListType - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The standard flags that an element may have. - - - - - - - - A #GstEvent. - - Create a new buffersize event. The event is sent downstream and notifies -elements that they should provide a buffer of the specified dimensions. -When the @async flag is set, a thread boundary is prefered. - - a new #GstEvent - - - - - buffer format - - - - minimum buffer size - - - - maximum buffer size - - - - thread behavior - - - - - - Create a new custom-typed event. This can be used for anything not -handled by other event-specific functions to pass an event to another -element. -Make sure to allocate an event type with the #GST_EVENT_MAKE_TYPE macro, -assigning a free number and filling in the correct direction and -serialization flags. -New custom events can also be created by subclassing the event type if -needed. - - the new custom event. - - - - - The type of the new event - - - - the structure for the event. The event will take ownership of the structure. - - - - - - Create a new EOS event. The eos event can only travel downstream -synchronized with the buffer flow. Elements that receive the EOS -event on a pad can return #GST_FLOW_UNEXPECTED as a #GstFlowReturn -when data after the EOS event arrives. -The EOS event will travel down to the sink elements in the pipeline -which will then post the #GST_MESSAGE_EOS on the bus after they have -finished playing any buffered data. -When all sinks have posted an EOS message, an EOS message is -forwarded to the application. -The EOS event itself will not cause any state transitions of the pipeline. - - the new EOS event. - - - - - Allocate a new flush start event. The flush start event can be sent -upstream and downstream and travels out-of-bounds with the dataflow. -It marks pads as being flushing and will make them return -#GST_FLOW_WRONG_STATE when used for data flow with gst_pad_push(), -gst_pad_chain(), gst_pad_alloc_buffer(), gst_pad_get_range() and -gst_pad_pull_range(). Any event (except a #GST_EVENT_FLUSH_STOP) received -on a flushing pad will return %FALSE immediately. -Elements should unlock any blocking functions and exit their streaming -functions as fast as possible when this event is received. -This event is typically generated after a seek to flush out all queued data -in the pipeline so that the new media is played as soon as possible. - - a new flush start event. - - - - - Allocate a new flush stop event. The flush stop event can be sent -upstream and downstream and travels serialized with the dataflow. -It is typically sent after sending a FLUSH_START event to make the -pads accept data again. -Elements can process this event synchronized with the dataflow since -the preceeding FLUSH_START event stopped the dataflow. -This event is typically generated to complete a seek and to resume -dataflow. - - a new flush stop event. - - - - - Create a new latency event. The event is sent upstream from the sinks and -notifies elements that they should add an additional @latency to the -running time before synchronising against the clock. -The latency is mostly used in live sinks and is always expressed in -the time format. - - a new #GstEvent - - - - - the new latency value - - - - - - Create a new navigation event from the given description. - - a new #GstEvent - - - - - description of the event. The event will take ownership of the structure. - - - - - - Allocate a new newsegment event with the given format/values tripplets -This method calls gst_event_new_new_segment_full() passing a default -value of 1.0 for applied_rate - - a new newsegment event. - - - - - is this segment an update to a previous one - - - - a new rate for playback - - - - The format of the segment values - - - - the start value of the segment - - - - the stop value of the segment - - - - stream position - - - - - - Allocate a new newsegment event with the given format/values triplets. -The newsegment event marks the range of buffers to be processed. All -data not within the segment range is not to be processed. This can be -used intelligently by plugins to apply more efficient methods of skipping -unneeded data. The valid range is expressed with the @start and @stop -values. -The position value of the segment is used in conjunction with the start -value to convert the buffer timestamps into the stream time. This is -usually done in sinks to report the current stream_time. -is a valid @stop given, it must be greater or equal the @start, including -when the indicated playback @rate is < 0. -The @applied_rate value provides information about any rate adjustment that -has already been made to the timestamps and content on the buffers of the -stream. (@rate * @applied_rate) should always equal the rate that has been -requested for playback. For example, if an element has an input segment -with intended playback @rate of 2.0 and applied_rate of 1.0, it can adjust -incoming timestamps and buffer content by half and output a newsegment event -with @rate of 1.0 and @applied_rate of 2.0 -After a newsegment event, the buffer stream time is calculated with: -position + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate) - - a new newsegment event. - - - - - Whether this segment is an update to a previous one - - - - A new rate for playback - - - - The rate factor which has already been applied - - - - The format of the segment values - - - - The start value of the segment - - - - The stop value of the segment - - - - stream position - - - - - - Allocate a new qos event with the given values. -The QOS event is generated in an element that wants an upstream -element to either reduce or increase its rate because of -high/low CPU load or other resource usage such as network performance. -Typically sinks generate these events for each buffer they receive. -element that generated the QoS event (usually the sink). The value is -generally computed based on more long term statistics about the streams -timestamps compared to the clock. -A value < 1.0 indicates that the upstream element is producing data faster -than real-time. A value > 1.0 indicates that the upstream element is not -producing data fast enough. 1.0 is the ideal @proportion value. The -proportion value can safely be used to lower or increase the quality of -the element. -buffer that caused the element to generate the QOS event. A negative value -means that the buffer with @timestamp arrived in time. A positive value -indicates how late the buffer with @timestamp was. -to generate the QOS event. It is expressed in running time and thus an ever -increasing value. -The upstream element can use the @diff and @timestamp values to decide -whether to process more buffers. For possitive @diff, all buffers with -timestamp <= @timestamp + @diff will certainly arrive late in the sink -as well. A (negative) @diff value so that @timestamp + @diff would yield a -result smaller than 0 is not allowed. -The application can use general event probes to intercept the QoS -event and implement custom application specific QoS handling. - - a new QOS event. - - - - - the proportion of the qos message - - - - The time difference of the last Clock sync - - - - The timestamp of the buffer - - - - - - Allocate a new seek event with the given parameters. -The seek event configures playback of the pipeline between @start to @stop -at the speed given in @rate, also called a playback segment. -The @start and @stop values are expressed in @format. -A @rate of 1.0 means normal playback rate, 2.0 means double speed. -Negatives values means backwards playback. A value of 0.0 for the -rate is not allowed and should be accomplished instead by PAUSING the -pipeline. -A pipeline has a default playback segment configured with a start -position of 0, a stop position of -1 and a rate of 1.0. The currently -configured playback segment can be queried with #GST_QUERY_SEGMENT. -start and stop fields in playback segment. Adjustments can be made relative -or absolute to the last configured values. A type of #GST_SEEK_TYPE_NONE -means that the position should not be updated. -When the rate is positive and @start has been updated, playback will start -from the newly configured start position. -For negative rates, playback will start from the newly configured stop -position (if any). If the stop position if updated, it must be different from --1 for negative rates. -It is not possible to seek relative to the current playback position, to do -this, PAUSE the pipeline, query the current playback position with -#GST_QUERY_POSITION and update the playback segment current position with a -#GST_SEEK_TYPE_SET to the desired position. - - a new seek event. - - - - - The new playback rate - - - - The format of the seek values - - - - The optional seek flags - - - - The type and flags for the new start position - - - - The value of the new start position - - - - The type and flags for the new stop position - - - - The value of the new stop position - - - - - - Create a new sink-message event. The purpose of the sink-message event is -to instruct a sink to post the message contained in the event synchronized -with the stream. - - a new #GstEvent - - - - - the #GstMessage to be posted - - - - - - Create a new step event. The purpose of the step event is to instruct a sink -to skip @amount (expressed in @format) of media. It can be used to implement -stepping through the video frame by frame or for doing fast trick modes. -A rate of <= 0.0 is not allowed, pause the pipeline or reverse the playback -direction of the pipeline to get the same effect. -The @flush flag will clear any pending data in the pipeline before starting -the step operation. -The @intermediate flag instructs the pipeline that this step operation is -part of a larger step operation. - - a new #GstEvent - - - - - the format of @amount - - - - the amount of data to step - - - - the step rate - - - - flushing steps - - - - intermediate steps - - - - - - Generates a metadata tag event from the given @taglist. - - a new #GstEvent - - - - - metadata list. The event will take ownership of @taglist. - - - - - - Gets the #GstEventTypeFlags associated with @type. - - a #GstEventTypeFlags. - - - - - a #GstEventType - - - - - - Get a printable name for the given event type. Do not modify or free. - - a reference to the static name of the event. - - - - - the event type - - - - - - Get the unique quark for the given event type. - - the quark associated with the event type - - - - - the event type - - - - - - Retrieve the sequence number of a event. -Events have ever-incrementing sequence numbers, which may also be set -explicitly via gst_event_set_seqnum(). Sequence numbers are typically used to -indicate that a event corresponds to some other set of events or messages, -for example an EOS event corresponding to a SEEK event. It is considered good -practice to make this correspondence when possible, though it is not -required. -Note that events and messages share the same sequence number incrementor; -two events or messages will never not have the same sequence number unless -that correspondence was made explicitly. -MT safe. - - The event's sequence number. - - - - - Access the structure of the event. -owned by the event, which means that you should not free it and -that the pointer becomes invalid when you free the event. -MT safe. - - The structure of the event. The structure is still - - - - - Checks if @event has the given @name. This function is usually used to -check the name of a custom event. - - %TRUE if @name matches the name of the event structure. - - - - - name to check - - - - - - Get the format, minsize, maxsize and async-flag in the buffersize event. - - - - - - A pointer to store the format in - - - - A pointer to store the minsize in - - - - A pointer to store the maxsize in - - - - A pointer to store the async-flag in - - - - - - Get the latency in the latency event. - - - - - - A pointer to store the latency in. - - - - - - Get the update flag, rate, format, start, stop and position in the -newsegment event. In general, gst_event_parse_new_segment_full() should -be used instead of this, to also retrieve the applied_rate value of the -segment. See gst_event_new_new_segment_full() for a full description -of the newsegment event. - - - - - - A pointer to the update flag of the segment - - - - A pointer to the rate of the segment - - - - A pointer to the format of the newsegment values - - - - A pointer to store the start value in - - - - A pointer to store the stop value in - - - - A pointer to store the stream time in - - - - - - Get the update, rate, applied_rate, format, start, stop and -position in the newsegment event. See gst_event_new_new_segment_full() -for a full description of the newsegment event. - - - - - - A pointer to the update flag of the segment - - - - A pointer to the rate of the segment - - - - A pointer to the applied_rate of the segment - - - - A pointer to the format of the newsegment values - - - - A pointer to store the start value in - - - - A pointer to store the stop value in - - - - A pointer to store the stream time in - - - - - - Get the proportion, diff and timestamp in the qos event. See -gst_event_new_qos() for more information about the different QoS values. - - - - - - A pointer to store the proportion in - - - - A pointer to store the diff in - - - - A pointer to store the timestamp in - - - - - - Parses a seek @event and stores the results in the given result locations. - - - - - - result location for the rate - - - - result location for the stream format - - - - result location for the #GstSeekFlags - - - - result location for the #GstSeekType of the start position - - - - result location for the start postion expressed in @format - - - - result location for the #GstSeekType of the stop position - - - - result location for the stop postion expressed in @format - - - - - - Parse the sink-message event. Unref @msg after usage. - - - - - - a pointer to store the #GstMessage in. - - - - - - Parse the step event. - - - - - - a pointer to store the format in - - - - a pointer to store the amount in - - - - a pointer to store the rate in - - - - a pointer to store the flush boolean in - - - - a pointer to store the intermediate boolean in - - - - - - Parses a tag @event and stores the results in the given @taglist location. - - - - - - pointer to metadata list - - - - - - Set the sequence number of a event. -This function might be called by the creator of a event to indicate that the -event relates to other events or messages. See gst_event_get_seqnum() for -more information. -MT safe. - - - - - - A sequence number. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - #GstEventType lists the standard event types that can be sent in a pipeline. -The custom event types can be used for private messages between elements -that can't be expressed using normal -GStreamer buffer passing semantics. Custom events carry an arbitrary -#GstStructure. -Specific custom events are distinguished by the name of the structure. - - - - - - - - - - - - - - - - - - - - - #GstEventTypeFlags indicate the aspects of the different #GstEventType -values. You can get the type flags of a #GstEventType with the -gst_event_type_get_flags() function. - - - - - - - - - Function prototype for a filter callback that can be use in gst_filter_run(). -The function should apply its filtering to @obj. Additional data passed to -gst_filter_run() are in @data. - - %TRUE for success. - - - - - the object - - - - filter data - - - - - - sent yet) (unused/unimplemented). -this error should post an error message with more -details. -this (and higher) to define custom success -codes. Since 0.10.7. -custom success code to this to avoid compiler -warnings). Since 0.10.29. -this (and lower) to define custom error codes. -Since 0.10.7. -custom error code to this to avoid compiler -warnings). Since 0.10.29. -The result of passing data to a pad. -Note that the custom return values should not be exposed outside of the -element scope and are available since 0.10.7. - - - - - - - - - - - - - - - - - Standard predefined formats - - - - - - - - - A format definition - - - - - - - - - - - - - - - Opaque #GstGhostPad structure. - - Create a new ghostpad with @target as the target. The direction will be taken -from the target pad. @target must be unlinked. -Will ref the target. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name - - - - the pad to ghost. - - - - - - Create a new ghostpad with @target as the target. The direction will be taken -from the target pad. The template used on the ghostpad will be @template. -Will ref the target. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name. - - - - the pad to ghost. - - - - the #GstPadTemplate to use on the ghostpad. - - - - - - Create a new ghostpad without a target with the given direction. -A target can be set on the ghostpad later with the -gst_ghost_pad_set_target() function. -The created ghostpad will not have a padtemplate. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name. - - - - the direction of the ghostpad - - - - - - Create a new ghostpad based on @templ, without setting a target. The -direction will be taken from the @templ. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad, or NULL to assign a default name - - - - the #GstPadTemplate to create the ghostpad from. - - - - - - Finish initialization of a newly allocated ghost pad. -This function is most useful in language bindings and when subclassing -#GstGhostPad; plugin and application developers normally will not call this -function. Call this function directly after a call to g_object_new -(GST_TYPE_GHOST_PAD, "direction", @dir, ..., NULL). - - %TRUE if the construction succeeds, %FALSE otherwise. - - - - - Get the target pad of @gpad. Unref target pad after usage. -has no target set. Unref target pad after usage. - - the target #GstPad, can be NULL if the ghostpad - - - - - Set the new target of the ghostpad @gpad. Any existing target -is unlinked and links to the new target are established. if @newtarget is -NULL the target will be cleared. -can return FALSE when the internal pads could not be linked. - - TRUE if the new target could be set. This function - - - - - the new pad target - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque #GstImplementsInterface structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque #GstIndex structure. - - Create a new tileindex object - - a new index object - - - - - - - - - - - - - - - Tell the index that the writer with the given id is done -with this index and is not going to write any more entries -to it. - - - - - - the writer that commited the index - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Before entries can be added to the index, a writer -should obtain a unique id. The methods to add new entries -to the index require this id as an argument. -The application can implement a custom function to map the writer object -to a string. That string will be used to register or look up an id -in the index. - - TRUE if the writer would be mapped to an id. - - - - - - - - - - - - - Associate given format/value pairs with each other. -Be sure to pass gint64 values to this functions varargs, -you might want to use a gint64 cast to be sure. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - optinal flags for this entry - - - - the format of the value - - - - the value - - - - - - - - - - Associate given format/value pairs with each other. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - optinal flags for this entry - - - - number of associations - - - - list of associations - - - - - - Adds a format entry into the index. This function is -used to map dynamic GstFormat ids to their original -format key. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - the format to add to the index - - - - - - Add an id entry into the index. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - the description of the index writer - - - - - - Add the given object to the index with the given key. -This function is not yet implemented. - - a pointer to the newly added entry in the index. - - - - - the id of the index writer - - - - a key for the object - - - - the GType of the object - - - - a pointer to the object to add - - - - - - Tell the index that the writer with the given id is done -with this index and is not going to write any more entries -to it. - - - - - - the writer that commited the index - - - - - - Finds the given format/value in the index -value was not found. - - the entry associated with the value or NULL if the - - - - - the id of the index writer - - - - The lookup method to use - - - - Flags for the entry - - - - the format of the value - - - - the value to find - - - - - - Finds the given format/value in the index with the given -compare function and user_data. -value was not found. - - the entry associated with the value or NULL if the - - - - - the id of the index writer - - - - The lookup method to use - - - - Flags for the entry - - - - the format of the value - - - - the value to find - - - - the function used to compare entries - - - - user data passed to the compare function - - - - - - Get the certainty of the given index. - - the certainty of the index. - - - - - Get the id of the current group. - - the id of the current group. - - - - - Before entries can be added to the index, a writer -should obtain a unique id. The methods to add new entries -to the index require this id as an argument. -The application can implement a custom function to map the writer object -to a string. That string will be used to register or look up an id -in the index. - - TRUE if the writer would be mapped to an id. - - - - - the GstObject to allocate an id for - - - - a pointer to a gint to hold the id - - - - - - Create a new group for the given index. It will be -set as the current group. - - the id of the newly created group. - - - - - Set the certainty of the given index. - - - - - - the certainty to set - - - - - - Lets the app register a custom filter function so that -it can select what entries should be stored in the index. - - - - - - the filter to register - - - - data passed to the filter function - - - - - - Lets the app register a custom filter function so that -it can select what entries should be stored in the index. - - - - - - the filter to register - - - - data passed to the filter function - - - - function to call when @user_data is unset - - - - - - Set the current groupnumber to the given argument. -did not exist. - - TRUE if the operation succeeded, FALSE if the group - - - - - the groupnumber to set - - - - - - Lets the app register a custom function to map index -ids to writer descriptions. - - - - - - the resolver to register - - - - data passed to the resolver function - - - - - - Lets the app register a custom function to map index -ids to writer descriptions. - - - - - - the resolver to register - - - - data passed to the resolver function - - - - destroy function for @user_data - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - An association in an entry. - - - - - - - - - The certainty of a group in the index. - - - - - - - - - - - - TRUE if the writer would be mapped to an id. - - - - - - - - - - - - - - - - - - - - - - - - - - the writer that commited the index - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The basic element of an index. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gets alternative formats associated with the indexentry. -format. - - TRUE if there was a value associated with the given - - - - - the format of the value the find - - - - a pointer to store the value - - - - - - Copies an entry and returns the result. - - a newly allocated #GstIndexEntry. - - - - - Free the memory used by the given entry. - - - - - - - The different types of entries in the index. - - - - - - - The GstIndexFactory object - - Create a new indexfactory with the given parameters - - a new #GstIndexFactory. - - - - - name of indexfactory to create - - - - long description of indexfactory to create - - - - the GType of the GstIndex element of this factory - - - - - - Search for an indexfactory of the given name. - - #GstIndexFactory if found, NULL otherwise - - - - - name of indexfactory to find - - - - - - Create a new #GstIndex instance from the -indexfactory with the given name. - - a new #GstIndex instance. - - - - - the name of the factory used to create the instance - - - - - - Create a new #GstIndex instance from the -given indexfactory. - - a new #GstIndex instance. - - - - - Removes the index from the global list. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Function to filter out entries in the index. -to the index, %FALSE otherwise. - - This function should return %TRUE if the entry is to be added - - - - - The index being queried - - - - The entry to be added. - - - - User data passed to the function. - - - - - - Flags for this index - - - - - - A group of related entries in an index. - - - - - - - - - - - - - - - - - Specify the method to find an index entry in the index. - - - - - - Function to resolve ids to writer descriptions. - - %TRUE if an id could be assigned to the writer. - - - - - the index being queried. - - - - The object that wants to write - - - - A description of the writer. - - - - user_data as registered - - - - - - The method used to resolve index writers - - - - - - #GstIterator base structure. The values of this structure are -protected for subclasses, use the methods to use the #GstIterator. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Create a new iterator from an existing iterator. The new iterator -will only return those elements that match the given compare function @func. -in the iterator. -When this iterator is freed, @it will also be freed. -MT safe. - - a new #GstIterator. - - - - - the compare function to select elements - - - - user data passed to the compare function - - - - - - Find the first element in @it that matches the compare function @func. -the refcount of a refcounted object will be increased before @func is -called, and should be unrefed after use in @func unless it is the matching -element. -The iterator will not be freed. -This function will return NULL if an error happened to the iterator. -function or NULL when no element matched. -MT safe. - - The element in the iterator that matches the compare - - - - - the compare function to use - - - - user data passed to the compare function - - - - - - Folds @func over the elements of @iter. That is to say, @func will be called -as @func (object, @ret, @user_data) for each object in @it. The normal use -of this procedure is to accumulate the results of operating on the objects in -before @func is called, and it should be unrefed after use in @func. -This procedure can be used (and is used internally) to implement the -gst_iterator_foreach() and gst_iterator_find_custom() operations. -The fold will proceed as long as @func returns TRUE. When the iterator has no -more arguments, %GST_ITERATOR_DONE will be returned. If @func returns FALSE, -the fold will stop, and %GST_ITERATOR_OK will be returned. Errors or resyncs -will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as -appropriate. -The iterator will not be freed. -MT safe. - - A #GstIteratorResult, as described above. - - - - - the fold function - - - - the seed value passed to the fold function - - - - user data passed to the fold function - - - - - - Iterate over all element of @it and call the given function @func for -each element. As in gst_iterator_fold(), the refcount of a refcounted -object will be increased before @func is called, and should be unrefed -after use. -freed. -MT safe. - - the result call to gst_iterator_fold(). The iterator will not be - - - - - the function to call for each element. - - - - user data passed to the function - - - - - - Free the iterator. -MT safe. - - - - - - Get the next item from the iterator in @elem. -Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid -value. For iterators that return refcounted objects, the returned object -will have its refcount increased and should therefore be unreffed after -usage. -When this function returns %GST_ITERATOR_DONE, no more elements can be -retrieved from @it. -A return value of %GST_ITERATOR_RESYNC indicates that the element list was -concurrently updated. The user of @it should call gst_iterator_resync() to -get the newly updated list. -A return value of %GST_ITERATOR_ERROR indicates an unrecoverable fatal error. -is a refcounted object. -MT safe. - - The result of the iteration. Unref @elem after usage if this - - - - - pointer to hold next element - - - - - - Pushes @other iterator onto @it. All calls performed on @it are -forwarded to @other. If @other returns %GST_ITERATOR_DONE, it is -popped again and calls are handled by @it again. -This function is mainly used by objects implementing the iterator -next function to recurse into substructures. -When gst_iterator_resync() is called on @it, @other will automatically be -popped. -MT safe. - - - - - - The #GstIterator to push - - - - - - Resync the iterator. this function is mostly called -after gst_iterator_next() returned %GST_ITERATOR_RESYNC. -When an iterator was pushed on @it, it will automatically be popped again -with this function. -MT safe. - - - - - - - The function that will be called when a #GList iterator is freed. The -owner of the #GList iterator can then clean up its resources. - - - - - - the owner of the iterator - - - - - - A function to be passed to gst_iterator_fold(). - - TRUE if the fold should continue, FALSE if it should stop. - - - - - the item to fold - - - - a #GValue collecting the result - - - - data passed to gst_iterator_fold() - - - - - - This function will be called when the iterator is freed. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - - - - - the iterator - - - - - - The result of a #GstIteratorItemFunction. - - - - - - The function that will be called after the next item of the iterator -has been retrieved. This function will typically increase the refcount -of the item or make a copy. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - the result of the operation. - - - - - the iterator - - - - the item being retrieved. - - - - - - The function that will be called when the next element of the iterator -should be retrieved. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - the result of the operation. - - - - - the iterator - - - - a pointer to hold the next item - - - - - - The result of gst_iterator_next(). - - - - - - - This function will be called whenever a concurrent update happened -to the iterated datastructure. The implementor of the iterator should -restart the iterator from the beginning and clean up any state it might -have. -Implementors of a #GstIterator should implement this -function and pass it to the constructor of the custom iterator. -The function will be called with the iterator lock held. - - - - - - the iterator - - - - - - - - - Library errors are for errors from the library being used by elements -(initializing, finalizing, settings, ...) - - - - - - - - - - Function prototype for a logging function that can be registered with -gst_debug_add_log_function(). -Use G_GNUC_NO_INSTRUMENT on that function. - - - - - - a #GstDebugCategory - - - - a #GstDebugLevel - - - - file name - - - - function name - - - - line number - - - - a #GObject - - - - the message - - - - user data for the log function - - - - - - - - - - - - A #GstMessage. - - Create a new application-typed message. GStreamer will never create these -messages; they are a gift from us to you. Enjoy. -MT safe. - - The new application message. - - - - - the object originating the message. - - - - the structure for the message. The message will take ownership of the structure. - - - - - - The message is posted when elements completed an ASYNC state change. -MT safe. - - The new async_done message. - - - - - The object originating the message. - - - - - - This message is posted by elements when they start an ASYNC state change. -PLAYING. -MT safe. - - The new async_start message. - - - - - The object originating the message. - - - - if a new base_time should be set on the element - - - - - - Create a new buffering message. This message can be posted by an element that -needs to buffer data before it can continue processing. @percent should be a -value between 0 and 100. A value of 100 means that the buffering completed. -When @percent is < 100 the application should PAUSE a PLAYING pipeline. When -The application must be prepared to receive BUFFERING messages in the -PREROLLING state and may only set the pipeline to PLAYING after receiving a -message with @percent set to 100, which can happen after the pipeline -completed prerolling. -MT safe. - - The new buffering message. - - - - - The object originating the message. - - - - The buffering percent - - - - - - Create a clock lost message. This message is posted whenever the -clock is not valid anymore. -If this message is posted by the pipeline, the pipeline will -select a new clock again when it goes to PLAYING. It might therefore -be needed to set the pipeline to PAUSED and PLAYING again. -MT safe. - - The new clock lost message. - - - - - the object originating the message. - - - - the clock that was lost - - - - - - Create a clock provide message. This message is posted whenever an -element is ready to provide a clock or lost its ability to provide -a clock (maybe because it paused or became EOS). -This message is mainly used internally to manage the clock -selection. -MT safe. - - the new provide clock message. - - - - - the object originating the message. - - - - the clock it provides - - - - TRUE if the sender can provide a clock - - - - - - Create a new custom-typed message. This can be used for anything not -handled by other message-specific functions to pass a message to the -app. The structure field can be NULL. -MT safe. - - The new message. - - - - - The #GstMessageType to distinguish messages - - - - The object originating the message. - - - - the structure for the message. The message will take ownership of the structure. - - - - - - Create a new duration message. This message is posted by elements that -know the duration of a stream in a specific format. This message -is received by bins and is used to calculate the total duration of a -pipeline. Elements may post a duration message with a duration of -GST_CLOCK_TIME_NONE to indicate that the duration has changed and the -cached duration should be discarded. The new duration can then be -retrieved via a query. -MT safe. - - The new duration message. - - - - - The object originating the message. - - - - The format of the duration - - - - The new duration - - - - - - Create a new element-specific message. This is meant as a generic way of -allowing one-way communication from an element to an application, for example -"the firewire cable was unplugged". The format of the message should be -documented in the element's documentation. The structure field can be NULL. -MT safe. - - The new element message. - - - - - The object originating the message. - - - - The structure for the message. The message will take ownership of the structure. - - - - - - Create a new eos message. This message is generated and posted in -the sink elements of a GstBin. The bin will only forward the EOS -message to the application if all sinks have posted an EOS message. -MT safe. - - The new eos message. - - - - - The object originating the message. - - - - - - Create a new error message. The message will copy @error and -occured. The pipeline will probably (partially) stop. The application -receiving this message should stop the pipeline. -MT safe. - - the new error message. - - - - - The object originating the message. - - - - The GError for this message. - - - - A debugging string. - - - - - - Create a new info message. The message will make copies of @error and -MT safe. - - the new info message. - - - - - The object originating the message. - - - - The GError for this message. - - - - A debugging string. - - - - - - This message can be posted by elements when their latency requirements have -changed. -MT safe. - - The new latency message. - - - - - The object originating the message. - - - - - - Create a new clock message. This message is posted whenever the -pipeline selectes a new clock for the pipeline. -MT safe. - - The new new clock message. - - - - - The object originating the message. - - - - the new selected clock - - - - - - A QOS message is posted on the bus whenever an element decides to drop a -buffer because of QoS reasons or whenever it changes its processing strategy -because of QoS reasons (quality adjustments such as processing at lower -accuracy). -This message can be posted by an element that performs synchronisation against the -clock (live) or it could be dropped by an element that performs QoS because of QOS -events received from a downstream element (!live). -respective running-time, stream-time, timestamp and duration of the (dropped) -buffer that generated the QoS event. Values can be left to -GST_CLOCK_TIME_NONE when unknown. -MT safe. - - The new qos message. - - - - - The object originating the message. - - - - if the message was generated by a live element - - - - the running time of the buffer that generated the message - - - - the stream time of the buffer that generated the message - - - - the timestamps of the buffer that generated the message - - - - the duration of the buffer that generated the message - - - - - - This message can be posted by elements when they want to have their state -changed. A typical use case would be an audio server that wants to pause the -pipeline because a higher priority stream is being played. -MT safe. - - the new requst state message. - - - - - the object originating the message. - - - - The new requested state - - - - - - Create a new segment done message. This message is posted by elements that -finish playback of a segment as a result of a segment seek. This message -is received by the application after all elements that posted a segment_start -have posted the segment_done. -MT safe. - - the new segment done message. - - - - - the object originating the message. - - - - The format of the position being done - - - - The position of the segment being done - - - - - - Create a new segment message. This message is posted by elements that -start playback of a segment as a result of a segment seek. This message -is not received by the application but is used for maintenance reasons in -container elements. -MT safe. - - the new segment start message. - - - - - The object originating the message. - - - - The format of the position being played - - - - The position of the segment being played - - - - - - Create a state change message. This message is posted whenever an element -changed its state. -MT safe. - - the new state change message. - - - - - the object originating the message - - - - the previous state - - - - the new (current) state - - - - the pending (target) state - - - - - - Create a state dirty message. This message is posted whenever an element -changed its state asynchronously and is used internally to update the -states of container objects. -MT safe. - - the new state dirty message. - - - - - the object originating the message - - - - - - This message is posted by elements when they complete a part, when @intermediate set -to TRUE, or a complete step operation. -MT safe. - - the new step_done message. - - - - - The object originating the message. - - - - the format of @amount - - - - the amount of stepped data - - - - the rate of the stepped amount - - - - is this an flushing step - - - - is this an intermediate step - - - - the duration of the data - - - - the step caused EOS - - - - - - This message is posted by elements when they accept or activate a new step -event for @amount in @format. -queued it for execution in the streaming threads. -is now ready to start executing the step in the streaming thread. After this -message is emited, the application can queue a new step operation in the -element. -MT safe. - - The new step_start message. - - - - - The object originating the message. - - - - if the step is active or queued - - - - the format of @amount - - - - the amount of stepped data - - - - the rate of the stepped amount - - - - is this an flushing step - - - - is this an intermediate step - - - - - - Create a new stream status message. This message is posted when a streaming -thread is created/destroyed or when the state changed. -MT safe. - - the new stream status message. - - - - - The object originating the message. - - - - The stream status type. - - - - the owner element of @src. - - - - - - Create a new structure change message. This message is posted when the -structure of a pipeline is in the process of being changed, for example -when pads are linked or unlinked. -MT safe. - - the new structure change message. - - - - - The object originating the message. - - - - The change type. - - - - The owner element of @src. - - - - Whether the structure change is busy. - - - - - - Create a new tag message. The message will take ownership of the tag list. -The message is posted by elements that discovered a new taglist. -MT safe. - - the new tag message. - - - - - The object originating the message. - - - - the tag list for the message. - - - - - - Create a new tag message. The message will take ownership of the tag list. -The message is posted by elements that discovered a new taglist. -MT safe. - - the new tag message. - - - - - the object originating the message. - - - - the originating pad for the tag. - - - - the tag list for the message. - - - - - - Create a new warning message. The message will make copies of @error and -MT safe. - - The new warning message. - - - - - The object originating the message. - - - - The GError for this message. - - - - A debugging string. - - - - - - Get a printable name for the given message type. Do not modify or free. - - a reference to the static name of the message. - - - - - the message type - - - - - - Get the unique quark for the given message type. - - the quark associated with the message type - - - - - the message type - - - - - - Retrieve the sequence number of a message. -Messages have ever-incrementing sequence numbers, which may also be set -explicitly via gst_message_set_seqnum(). Sequence numbers are typically used -to indicate that a message corresponds to some other set of messages or -events, for example a SEGMENT_DONE message corresponding to a SEEK event. It -is considered good practice to make this correspondence when possible, though -it is not required. -Note that events and messages share the same sequence number incrementor; -two events or messages will never not have the same sequence number unless -that correspondence was made explicitly. -MT safe. - - The message's sequence number. - - - - - Extracts the object managing the streaming thread from @message. -This object is usually of type GstTask but other types can be added in the -future. The object remains valid as long as @message is valid. - - a GValue containing the object that manages the streaming thread. - - - - - Access the structure of the message. -still owned by the message, which means that you should not free it and -that the pointer becomes invalid when you free the message. -MT safe. - - The structure of the message. The structure is - - - - - Extract the new_base_time from the async_start message. -MT safe. - - - - - - Result location for the new_base_time or NULL - - - - - - Extracts the buffering percent from the GstMessage. see also -gst_message_new_buffering(). -MT safe. - - - - - - Return location for the percent. - - - - - - Extracts the buffering stats values from @message. - - - - - - a buffering mode, or NULL - - - - the average input rate, or NULL - - - - the average output rate, or NULL - - - - amount of buffering time left in milliseconds, or NULL - - - - - - Extracts the lost clock from the GstMessage. -The clock object returned remains valid until the message is freed. -MT safe. - - - - - - a pointer to hold the lost clock - - - - - - Extracts the clock and ready flag from the GstMessage. -The clock object returned remains valid until the message is freed. -MT safe. - - - - - - a pointer to hold a clock object, or NULL - - - - a pointer to hold the ready flag, or NULL - - - - - - Extracts the duration and format from the duration message. The duration -might be GST_CLOCK_TIME_NONE, which indicates that the duration has -changed. Applications should always use a query to retrieve the duration -of a pipeline. -MT safe. - - - - - - Result location for the format, or NULL - - - - Result location for the duration, or NULL - - - - - - Extracts the GError and debug string from the GstMessage. The values returned -in the output arguments are copies; the caller must free them when done. -Typical usage of this function might be: -|[ -... -switch (GST_MESSAGE_TYPE (msg)) { -GError *err = NULL; -gchar *dbg_info = NULL; -gst_message_parse_error (msg, &amp;err, &amp;dbg_info); -GST_OBJECT_NAME (msg->src), err->message); -g_error_free (err); -g_free (dbg_info); -break; -} -... -} -... -]| -MT safe. - - - - - - location for the GError - - - - location for the debug message, or NULL - - - - - - Extracts the GError and debug string from the GstMessage. The values returned -in the output arguments are copies; the caller must free them when done. -MT safe. - - - - - - location for the GError - - - - location for the debug message, or NULL - - - - - - Extracts the new clock from the GstMessage. -The clock object returned remains valid until the message is freed. -MT safe. - - - - - - a pointer to hold the selected new clock - - - - - - Extract the timestamps and live status from the QoS message. -The returned values give the running_time, stream_time, timestamp and -duration of the dropped buffer. Values of GST_CLOCK_TIME_NONE mean unknown -values. -MT safe. - - - - - - if the message was generated by a live element - - - - the running time of the buffer that generated the message - - - - the stream time of the buffer that generated the message - - - - the timestamps of the buffer that generated the message - - - - the duration of the buffer that generated the message - - - - - - Extract the QoS stats representing the history of the current continuous -pipeline playback period. -When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are -invalid. Values of -1 for either @processed or @dropped mean unknown values. -MT safe. - - - - - - Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples). - - - - Total number of units correctly processed since the last state change to READY or a flushing operation. - - - - Total number of units dropped since the last state change to READY or a flushing operation. - - - - - - Extract the QoS values that have been calculated/analysed from the QoS data -MT safe. - - - - - - The difference of the running-time against the deadline. - - - - Long term prediction of the ideal rate relative to normal rate to get optimal quality. - - - - An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. - - - - - - Extract the requested state from the request_state message. -MT safe. - - - - - - Result location for the requested state or NULL - - - - - - Extracts the position and format from the segment start message. -MT safe. - - - - - - Result location for the format, or NULL - - - - Result location for the position, or NULL - - - - - - Extracts the position and format from the segment start message. -MT safe. - - - - - - Result location for the format, or NULL - - - - Result location for the position, or NULL - - - - - - Extracts the old and new states from the GstMessage. -Typical usage of this function might be: -|[ -... -switch (GST_MESSAGE_TYPE (msg)) { -GstState old_state, new_state; -gst_message_parse_state_changed (msg, &amp;old_state, &amp;new_state, NULL); -g_print ("Element %s changed state from %s to %s.\n", -GST_OBJECT_NAME (msg->src), -gst_element_state_get_name (old_state), -gst_element_state_get_name (new_state)); -break; -} -... -} -... -]| -MT safe. - - - - - - the previous state, or NULL - - - - the new (current) state, or NULL - - - - the pending (target) state, or NULL - - - - - - Extract the values the step_done message. -MT safe. - - - - - - result location for the format - - - - result location for the amount - - - - result location for the rate - - - - result location for the flush flag - - - - result location for the intermediate flag - - - - result location for the duration - - - - result location for the EOS flag - - - - - - Extract the values from step_start message. -MT safe. - - - - - - result location for the active flag - - - - result location for the format - - - - result location for the amount - - - - result location for the rate - - - - result location for the flush flag - - - - result location for the intermediate flag - - - - - - Extracts the stream status type and owner the GstMessage. The returned -owner remains valid for as long as the reference to @message is valid and -should thus not be unreffed. -MT safe. - - - - - - A pointer to hold the status type - - - - The owner element of the message source - - - - - - Extracts the change type and completion status from the GstMessage. -MT safe. - - - - - - A pointer to hold the change type - - - - The owner element of the message source - - - - a pointer to hold whether the change is in progress or has been completed - - - - - - Extracts the tag list from the GstMessage. The tag list returned in the -output argument is a copy; the caller must free it when done. -Typical usage of this function might be: -|[ -... -switch (GST_MESSAGE_TYPE (msg)) { -GstTagList *tags = NULL; -gst_message_parse_tag (msg, &amp;tags); -g_print ("Got tags from element %s\n", GST_OBJECT_NAME (msg->src)); -handle_tags (tags); -gst_tag_list_free (tags); -break; -} -... -} -... -]| -MT safe. - - - - - - return location for the tag-list. - - - - - - Extracts the tag list from the GstMessage. The tag list returned in the -output argument is a copy; the caller must free it when done. -MT safe. - - - - - - location where the originating pad is stored, unref after usage - - - - return location for the tag-list. - - - - - - Extracts the GError and debug string from the GstMessage. The values returned -in the output arguments are copies; the caller must free them when done. -MT safe. - - - - - - location for the GError - - - - location for the debug message, or NULL - - - - - - Configures the buffering stats values in @message. - - - - - - a buffering mode - - - - the average input rate - - - - the average output rate - - - - amount of buffering time left in milliseconds - - - - - - Set the QoS stats representing the history of the current continuous pipeline -playback period. -When @format is @GST_FORMAT_UNDEFINED both @dropped and @processed are -invalid. Values of -1 for either @processed or @dropped mean unknown values. -MT safe. - - - - - - Units of the 'processed' and 'dropped' fields. Video sinks and video filters will use GST_FORMAT_BUFFERS (frames). Audio sinks and audio filters will likely use GST_FORMAT_DEFAULT (samples). - - - - Total number of units correctly processed since the last state change to READY or a flushing operation. - - - - Total number of units dropped since the last state change to READY or a flushing operation. - - - - - - Set the QoS values that have been calculated/analysed from the QoS data -MT safe. - - - - - - The difference of the running-time against the deadline. - - - - Long term prediction of the ideal rate relative to normal rate to get optimal quality. - - - - An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. - - - - - - Set the sequence number of a message. -This function might be called by the creator of a message to indicate that -the message relates to other messages or events. See gst_message_get_seqnum() -for more information. -MT safe. - - - - - - A sequence number. - - - - - - Configures the object handling the streaming thread. This is usually a -GstTask object but other objects might be added in the future. - - - - - - the object controlling the streaming - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The different message types that are available. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Base class for refcounted lightweight objects. - - Creates a new mini-object of the desired type. -MT safe - - the new mini-object. - - - - - the #GType of the mini-object to create - - - - - - Modifies a pointer to point to a new mini-object. The modification -is done atomically, and the reference counts are updated correctly. -Either @newdata and the value pointed to by @olddata may be NULL. - - - - - - pointer to a pointer to a mini-object to be replaced - - - - pointer to new mini-object - - - - - - Creates a copy of the mini-object. -MT safe - - the new mini-object. - - - - - Checks if a mini-object is writable. A mini-object is writable -if the reference count is one and the #GST_MINI_OBJECT_FLAG_READONLY -flag is not set. Modification of a mini-object should only be -done after verifying that it is writable. -MT safe - - TRUE if the object is writable. - - - - - Checks if a mini-object is writable. If not, a writable copy is made and -returned. This gives away the reference to the original mini object, -and returns a reference to the new object. -MT safe -is writable. - - a mini-object (possibly the same pointer) that - - - - - Increase the reference count of the mini-object. -Note that the refcount affects the writeability -of @mini-object, see gst_mini_object_is_writable(). It is -important to note that keeping additional references to -GstMiniObject instances can potentially increase the number -of memcpy operations in a pipeline, especially if the miniobject -is a #GstBuffer. - - the mini-object. - - - - - Decreases the reference count of the mini-object, possibly freeing -the mini-object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Virtual function prototype for methods to create copies of instances. - - reference to cloned instance. - - - - - MiniObject to copy - - - - - - Virtual function prototype for methods to free ressources used by -mini-objects. Subclasses of the mini object are allowed to revive the -passed object by doing a gst_mini_object_ref(). If the object is not -revived after the finalize function, the memory associated with the -object is freed. - - - - - - MiniObject to finalize - - - - - - Flags for the padtemplate - - - - - - - - GStreamer base object class. - - Checks to see if there is any object named @name in @list. This function -does not do any locking of any kind. You might want to protect the -provided list with the lock of the owner of the list. This function -will lock each #GstObject in the list to compare the name, so be -carefull when passing a list with a locked object. -FALSE if it does. -MT safe. Grabs and releases the LOCK of each object in the list. - - TRUE if a #GstObject named @name does not appear in @list, - - - - - a list of #GstObject to check through - - - - - - the name to search for - - - - - - A default deep_notify signal callback for an object. The user data -should contain a pointer to an array of strings that should be excluded -from the notify. The default handler will print the new value of the property -using g_print. -MT safe. This function grabs and releases @object's LOCK for getting its -path string. - - - - - - the #GObject that signalled the notify. - - - - a #GstObject that initiated the notify. - - - - a #GParamSpec of the property. - - - - (array zero-terminated=1) (element-type gchar*) (allow-none):a set of user-specified properties to exclude or NULL to show all changes. - - - - - - Increments the reference count on @object. This function -does not take the lock on @object because it relies on -atomic refcounting. -This object returns the input parameter to ease writing -constructs like : -result = gst_object_ref (object->parent); - - A pointer to @object - - - - - a #GstObject to reference - - - - - - Increase the reference count of @object, and possibly remove the floating -reference, if @object has a floating reference. -In other words, if the object is floating, then this call "assumes ownership" -of the floating reference, converting it to a normal reference by clearing -the floating flag while leaving the reference count unchanged. If the object -is not floating, then this call adds a new normal reference increasing the -reference count by one. -MT safe. This function grabs and releases @object lock. - - - - - - a #GstObject to sink - - - - - - Unrefs the #GstObject pointed to by @oldobj, refs @newobj and -puts @newobj in *@oldobj. Be carefull when calling this -function, it does not take any locks. You might want to lock -the object owning @oldobj pointer before calling this -function. -Make sure not to LOCK @oldobj because it might be unreffed -which could cause a deadlock when it is disposed. - - - - - - pointer to a place of a #GstObject to replace - - - - a new #GstObject - - - - - - If @object was floating, the #GST_OBJECT_FLOATING flag is removed -and @object is unreffed. When @object was not floating, -this function does nothing. -Any newly created object has a refcount of 1 and is floating. -This function should be used when creating a new object to -symbolically 'take ownership' of @object. This done by first doing a -gst_object_ref() to keep a reference to @object and then gst_object_sink() -to remove and unref any floating references to @object. -Use gst_object_set_parent() to have this done for you. -MT safe. This function grabs and releases @object lock. - - - - - - a #GstObject to sink - - - - - - Decrements the reference count on @object. If reference count hits -zero, destroy @object. This function does not take the lock -on @object as it relies on atomic refcounting. -The unref method should never be called with the LOCK held since -this might deadlock the dispose function. - - - - - - a #GstObject to unreference - - - - - - Restores @object with the data from the parent XML node. - - - - - - The XML node to load @object from - - - - - - Saves @object into the parent XML node. - - the new xmlNodePtr with the saved object - - - - - The parent XML node to save @object into - - - - - - A default error function. -The default handler will simply print the error string using g_print. - - - - - - the GError. - - - - an additional debug information string, or NULL - - - - - - Returns a copy of the name of @object. -Caller should g_free() the return value after usage. -For a nameless object, this returns NULL, which you can safely g_free() -as well. -MT safe. This function grabs and releases @object's LOCK. - - the name of @object. g_free() after usage. - - - - - Returns a copy of the name prefix of @object. -Caller should g_free() the return value after usage. -For a prefixless object, this returns NULL, which you can safely g_free() -as well. -MT safe. This function grabs and releases @object's LOCK. -for anything. - - the name prefix of @object. g_free() after usage. - - - - - Returns the parent of @object. This function increases the refcount -of the parent object so you should gst_object_unref() it after usage. -has no parent. unref after usage. -MT safe. Grabs and releases @object's LOCK. - - parent of @object, this can be NULL if @object - - - - - Generates a string describing the path of @object in -the object hierarchy. Only useful (or used) for debugging. -g_free() the string after usage. -MT safe. Grabs and releases the #GstObject's LOCK for all objects -in the hierarchy. - - a string describing the path of @object. You must - - - - - Check if @object has an ancestor @ancestor somewhere up in -the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline. -MT safe. Grabs and releases @object's locks. - - TRUE if @ancestor is an ancestor of @object. - - - - - a #GstObject to check as ancestor - - - - - - Restores @object with the data from the parent XML node. - - - - - - The XML node to load @object from - - - - - - Saves @object into the parent XML node. - - the new xmlNodePtr with the saved object - - - - - The parent XML node to save @object into - - - - - - Sets the name of @object, or gives @object a guaranteed unique -name (if @name is NULL). -This function makes a copy of the provided name, so the caller -retains ownership of the name it sent. -a parent cannot be renamed, this function returns FALSE in those -cases. -MT safe. This function grabs and releases @object's LOCK. - - TRUE if the name could be set. Since Objects that have - - - - - new name of object - - - - - - Sets the name prefix of @object to @name_prefix. -This function makes a copy of the provided name prefix, so the caller -retains ownership of the name prefix it sent. -MT safe. This function grabs and releases @object's LOCK. -for anything. - - - - - - new name prefix of @object - - - - - - Sets the parent of @object to @parent. The object's reference count will -be incremented, and any floating reference will be removed (see gst_object_sink()). -This function causes the parent-set signal to be emitted when the parent -was successfully set. -already had a parent or @object and @parent are the same. -MT safe. Grabs and releases @object's LOCK. - - TRUE if @parent could be set or FALSE when @object - - - - - new parent of object - - - - - - Clear the parent of @object, removing the associated reference. -This function decreases the refcount of @object. -MT safe. Grabs and releases @object's lock. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The deep notify signal is used to be notified of property changes. It is -typically attached to the toplevel bin to receive notifications from all -the elements contained in that bin. - - - - - - the object that originated the signal - - - - the property that changed - - - - - - Trigered whenever a new object is saved to XML. You can connect to this -signal to insert custom XML tags into the core XML. - - - - - - the xmlNodePtr of the parent node - - - - - - Emitted when the parent of an object is set. - - - - - - the new parent - - - - - - Emitted when the parent of an object is unset. - - - - - - the old parent - - - - - - - GStreamer base object class. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - the new xmlNodePtr with the saved object - - - - - - - - The parent XML node to save @object into - - - - - - - - - - - - - - - - The XML node to load @object from - - - - - - - - - - - - - The standard flags that an gstobject may have. - - - - - - - - - - - - - - - - - - - - - - - - The #GstPad structure. Use the functions to update the variables. - - Creates a new pad with the given name in the given direction. -If name is NULL, a guaranteed unique name (across all pads) -will be assigned. -This function makes a copy of the name so you can safely free the name. -MT safe. - - a new #GstPad, or NULL in case of an error. - - - - - the name of the new pad. - - - - the #GstPadDirection of the pad. - - - - - - Creates a new pad with the given name from the given static template. -If name is NULL, a guaranteed unique name (across all pads) -will be assigned. -This function makes a copy of the name so you can safely free the name. - - a new #GstPad, or NULL in case of an error. - - - - - the #GstStaticPadTemplate to use - - - - the name of the element - - - - - - Creates a new pad with the given name from the given template. -If name is NULL, a guaranteed unique name (across all pads) -will be assigned. -This function makes a copy of the name so you can safely free the name. - - a new #GstPad, or NULL in case of an error. - - - - - the pad template to use - - - - the name of the element - - - - - - Reads the pad definition from the XML node and links the given pad -in the element to a pad of an element up in the hierarchy. - - - - - - an #xmlNodePtr to read the description from. - - - - the #GstObject element that owns the pad. - - - - - - Check if the given pad accepts the caps. - - TRUE if the pad can accept the caps. - - - - - a #GstCaps to check on the pad - - - - - - Activates or deactivates the given pad in pull mode via dispatching to the -pad's activatepullfunc. For use from within pad activation functions only. -When called on sink pads, will first proxy the call to the peer pad, which -is expected to activate its internally linked pads from within its -activate_pull function. -If you don't know what this is, you probably don't want to call it. -MT safe. - - TRUE if the operation was successful. - - - - - whether or not the pad should be active. - - - - - - Activates or deactivates the given pad in push mode via dispatching to the -pad's activatepushfunc. For use from within pad activation functions only. -If you don't know what this is, you probably don't want to call it. -MT safe. - - %TRUE if the operation was successful. - - - - - whether the pad should be active or not. - - - - - - Adds a probe that will be called for all buffers passing through a pad. See -gst_pad_add_data_probe() for more information. - - The handler id - - - - - function to call when buffers are passed over pad - - - - data to pass along with the handler - - - - - - Adds a probe that will be called for all buffers passing through a pad. See -gst_pad_add_data_probe() for more information. -The @notify function is called when the probe is disconnected and usually -used to free @data. - - The handler id - - - - - function to call when buffer are passed over pad - - - - data to pass along with the handler - - - - function to call when the probe is disconnected, or NULL - - - - - - Adds a "data probe" to a pad. This function will be called whenever data -passes through a pad. In this case data means both events and buffers. The -probe will be called with the data as an argument, meaning @handler should -have the same callback signature as the #GstPad::have-data signal. -Note that the data will have a reference count greater than 1, so it will -be immutable -- you must not change it. -For source pads, the probe will be called after the blocking function, if any -(see gst_pad_set_blocked_async()), but before looking up the peer to chain -to. For sink pads, the probe function will be called before configuring the -sink with new caps, if any, and before calling the pad's chain function. -Your data probe should return TRUE to let the data continue to flow, or FALSE -to drop it. Dropping data is rarely useful, but occasionally comes in handy -with events. -Although probes are implemented internally by connecting @handler to the -have-data signal on the pad, if you want to remove a probe it is insufficient -to only call g_signal_handler_disconnect on the returned handler id. To -remove a probe, use the appropriate function, such as -gst_pad_remove_data_probe(). - - The handler id. - - - - - function to call when data is passed over pad - - - - data to pass along with the handler - - - - - - Adds a "data probe" to a pad. This function will be called whenever data -passes through a pad. In this case data means both events and buffers. The -probe will be called with the data as an argument, meaning @handler should -have the same callback signature as the #GstPad::have-data signal. -Note that the data will have a reference count greater than 1, so it will -be immutable -- you must not change it. -For source pads, the probe will be called after the blocking function, if any -(see gst_pad_set_blocked_async()), but before looking up the peer to chain -to. For sink pads, the probe function will be called before configuring the -sink with new caps, if any, and before calling the pad's chain function. -Your data probe should return TRUE to let the data continue to flow, or FALSE -to drop it. Dropping data is rarely useful, but occasionally comes in handy -with events. -Although probes are implemented internally by connecting @handler to the -have-data signal on the pad, if you want to remove a probe it is insufficient -to only call g_signal_handler_disconnect on the returned handler id. To -remove a probe, use the appropriate function, such as -gst_pad_remove_data_probe(). -The @notify function is called when the probe is disconnected and usually -used to free @data. - - The handler id. - - - - - function to call when data is passed over pad - - - - data to pass along with the handler - - - - function to call when the probe is disconnected, or NULL - - - - - - Adds a probe that will be called for all events passing through a pad. See -gst_pad_add_data_probe() for more information. - - The handler id - - - - - function to call when events are passed over pad - - - - data to pass along with the handler - - - - - - Adds a probe that will be called for all events passing through a pad. See -gst_pad_add_data_probe() for more information. -The @notify function is called when the probe is disconnected and usually -used to free @data. - - The handler id - - - - - function to call when events are passed over pad - - - - data to pass along with the handler, or NULL - - - - function to call when probe is disconnected, or NULL - - - - - - Allocates a new, empty buffer optimized to push to pad @pad. This -function only works if @pad is a source pad and has a peer. -A new, empty #GstBuffer will be put in the @buf argument. -You need to check the caps of the buffer after performing this -function and renegotiate to the format if needed. If the caps changed, it is -possible that the buffer returned in @buf is not of the right size for the -new format, @buf needs to be unreffed and reallocated if this is the case. -result code other than #GST_FLOW_OK is an error and @buf should -not be used. -An error can occur if the pad is not connected or when the downstream -peer elements cannot provide an acceptable buffer. -MT safe. - - a result code indicating success of the operation. Any - - - - - the offset of the new buffer in the stream - - - - the size of the new buffer - - - - the caps of the new buffer - - - - a newly allocated buffer - - - - - - In addition to the function gst_pad_alloc_buffer(), this function -automatically calls gst_pad_set_caps() when the caps of the -newly allocated buffer are different from the @pad caps. -After a renegotiation, the size of the new buffer returned in @buf could -be of the wrong size for the new format and must be unreffed an reallocated -in that case. -result code other than #GST_FLOW_OK is an error and @buf should -not be used. -An error can occur if the pad is not connected or when the downstream -peer elements cannot provide an acceptable buffer. -MT safe. - - a result code indicating success of the operation. Any - - - - - the offset of the new buffer in the stream - - - - the size of the new buffer - - - - the caps of the new buffer - - - - a newly allocated buffer - - - - - - Checks if the source pad and the sink pad are compatible so they can be -linked. - - TRUE if the pads can be linked. - - - - - the sink #GstPad. - - - - - - Chain a buffer to @pad. -The function returns #GST_FLOW_WRONG_STATE if the pad was flushing. -If the caps on @buffer are different from the current caps on @pad, this -function will call any setcaps function (see gst_pad_set_setcaps_function()) -installed on @pad. If the new caps are not acceptable for @pad, this -function returns #GST_FLOW_NOT_NEGOTIATED. -The function proceeds calling the chain function installed on @pad (see -gst_pad_set_chain_function()) and the return value of that function is -returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no -chain function. -In all cases, success or failure, the caller loses its reference to @buffer -after calling this function. -MT safe. - - a #GstFlowReturn from the pad. - - - - - the #GstBuffer to send, return GST_FLOW_ERROR if not. - - - - - - Chain a bufferlist to @pad. -The function returns #GST_FLOW_WRONG_STATE if the pad was flushing. -If the caps on the first buffer of @list are different from the current -caps on @pad, this function will call any setcaps function -(see gst_pad_set_setcaps_function()) installed on @pad. If the new caps -are not acceptable for @pad, this function returns #GST_FLOW_NOT_NEGOTIATED. -The function proceeds calling the chainlist function installed on @pad (see -gst_pad_set_chain_list_function()) and the return value of that function is -returned to the caller. #GST_FLOW_NOT_SUPPORTED is returned if @pad has no -chainlist function. -In all cases, success or failure, the caller loses its reference to @list -after calling this function. -MT safe. - - a #GstFlowReturn from the pad. - - - - - the #GstBufferList to send, return GST_FLOW_ERROR if not. - - - - - - Checks if a gst_pad_pull_range() can be performed on the peer -source pad. This function is used by plugins that want to check -if they can use random access on the peer source pad. -The peer sourcepad can implement a custom #GstPadCheckGetRangeFunction -if it needs to perform some logic to determine if pull_range is -possible. -MT safe. - - a gboolean with the result. - - - - - Invokes the given dispatcher function on each respective peer of -all pads that are internally linked to the given pad. -The GstPadDispatcherFunction should return TRUE when no further pads -need to be processed. - - TRUE if one of the dispatcher functions returned TRUE. - - - - - the #GstPadDispatcherFunction to call. - - - - gpointer user data passed to the dispatcher function. - - - - - - Invokes the default event handler for the given pad. End-of-stream and -discontinuity events are handled specially, and then the event is sent to all -pads internally linked to @pad. Note that if there are many possible sink -pads that are internally linked to @pad, only one will be sent an event. -Multi-sinkpad elements should implement custom event handlers. - - TRUE if the event was sent succesfully. - - - - - the #GstEvent to handle. - - - - - - Fixate a caps on the given pad. Modifies the caps in place, so you should -make sure that the caps are actually writable (see gst_caps_make_writable()). - - - - - - the #GstCaps to fixate - - - - - - Gets the capabilities of the allowed media types that can flow through -The allowed capabilities is calculated as the intersection of the results of -calling gst_pad_get_caps() on @pad and its peer. The caller owns a reference -on the resulting caps. -caps when you no longer need it. This function returns NULL when @pad -has no peer. -MT safe. - - the allowed #GstCaps of the pad link. Unref the - - - - - Gets the capabilities this pad can produce or consume. -Note that this method doesn't necessarily return the caps set by -gst_pad_set_caps() - use GST_PAD_CAPS() for that instead. -gst_pad_get_caps returns all possible caps a pad can operate with, using -the pad's get_caps function; -this returns the pad template caps if not explicitly set. -MT safe. - - a newly allocated copy of the #GstCaps of this pad - - - - - Gets the capabilities this pad can produce or consume. Preferred function if -one only wants to read or intersect the caps. - - the caps of the pad with incremented ref-count. - - - - - Gets the direction of the pad. The direction of the pad is -decided at construction time so this function does not take -the LOCK. -MT safe. - - the #GstPadDirection of the pad. - - - - - Gets the private data of a pad. -No locking is performed in this function. - - a #gpointer to the private data. - - - - - A helper function you can use as a GetCaps function that -will return the currently negotiated caps or the padtemplate -when NULL. - - the currently negotiated caps or the padtemplate. - - - - - Gets a list of pads to which the given pad is linked to -inside of the parent element. -The caller must free this list after use. -Not MT safe. -of pads, free with g_list_free(). -could become invalid by the time the application accesses them. It's also -possible that the list changes while handling the pads, which the caller of -this function is unable to know. Use the thread-safe -gst_pad_iterate_internal_links() instead. - - a newly allocated #GList - - - - - - - Gets a list of pads to which the given pad is linked to -inside of the parent element. -This is the default handler, and thus returns a list of all of the -pads inside the parent element with opposite direction. -The caller must free this list after use with g_list_free(). -of pads, or NULL if the pad has no parent. -Not MT safe. -could become invalid by the time the application accesses them. It's also -possible that the list changes while handling the pads, which the caller of -this function is unable to know. Use the thread-safe -gst_pad_iterate_internal_links_default() instead. - - a newly allocated #GList - - - - - - - Gets the capabilities of the media type that currently flows through @pad -and its peer. -This function can be used on both src and sinkpads. Note that srcpads are -always negotiated before sinkpads so it is possible that the negotiated caps -on the srcpad do not match the negotiated caps of the peer. -the caps when you no longer need it. This function returns NULL when -the @pad has no peer or is not negotiated yet. -MT safe. - - the negotiated #GstCaps of the pad link. Unref - - - - - Gets the template for @pad. -instantiated, or %NULL if this pad has no template. - - the #GstPadTemplate from which this pad was - - - - - Gets the capabilities for @pad's template. -to keep a reference on the caps, make a copy (see gst_caps_copy ()). - - the #GstCaps of this pad template. If you intend - - - - - Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or -its parent is not an element, return NULL. -reference on the parent, so unref when you're finished with it. -MT safe. - - the parent of the pad. The caller has a - - - - - Gets the peer of @pad. This function refs the peer pad so -you need to unref it after use. -MT safe. - - the peer #GstPad. Unref after usage. - - - - - Get an array of supported queries that can be performed -on this pad. -of #GstQueryType. - - a zero-terminated array - - - - - - - Invoke the default dispatcher for the query types on -the pad. -of #GstQueryType, or NULL if none of the internally-linked pads has a -query types function. - - a zero-terminated array - - - - - - - When @pad is flushing this function returns #GST_FLOW_WRONG_STATE -immediatly and @buffer is %NULL. -Calls the getrange function of @pad, see #GstPadGetRangeFunction for a -description of a getrange function. If @pad has no getrange function -installed (see gst_pad_set_getrange_function()) this function returns -#GST_FLOW_NOT_SUPPORTED. -This is a lowlevel function. Usualy gst_pad_pull_range() is used. -MT safe. - - a #GstFlowReturn from the pad. - - - - - The start offset of the buffer - - - - The length of the buffer - - - - a pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if %NULL. - - - - - - Query if a pad is active -MT safe. - - TRUE if the pad is active. - - - - - Checks if the pad is blocked or not. This function returns the -last requested state of the pad. It is not certain that the pad -is actually blocking at this point (see gst_pad_is_blocking()). -MT safe. - - TRUE if the pad is blocked. - - - - - Checks if the pad is blocking or not. This is a guaranteed state -of whether the pad is actually blocking on a #GstBuffer or a #GstEvent. -MT safe. - - TRUE if the pad is blocking. - - - - - Checks if a @pad is linked to another pad or not. -MT safe. - - TRUE if the pad is linked, FALSE otherwise. - - - - - Gets an iterator for the pads to which the given pad is linked to inside -of the parent element. -Each #GstPad element yielded by the iterator will have its refcount increased, -so unref after use. -pad does not have an iterator function configured. Use -gst_iterator_free() after usage. - - a new #GstIterator of #GstPad or %NULL when the - - - - - Iterate the list of pads to which the given pad is linked to inside of -the parent element. -This is the default handler, and thus returns an iterator of all of the -pads inside the parent element with opposite direction. -The caller must free this iterator after use with gst_iterator_free(). -returned pad with gst_object_unref(). - - a #GstIterator of #GstPad, or NULL if @pad has no parent. Unref each - - - - - Links the source pad and the sink pad. -what went wrong. -MT Safe. - - A result code indicating if the connection worked or - - - - - the sink #GstPad to link. - - - - - - Links the source pad and the sink pad. -This variant of #gst_pad_link provides a more granular control on the -checks being done when linking. While providing some considerable speedups -the caller of this method must be aware that wrong usage of those flags -can cause severe issues. Refer to the documentation of #GstPadLinkCheck -for more information. -MT Safe. -what went wrong. - - A result code indicating if the connection worked or - - - - - the sink #GstPad to link. - - - - the checks to validate when linking - - - - - - Pause the task of @pad. This function will also wait until the -function executed by the task is finished if this function is not -called from the task function. -has no task. - - a TRUE if the task could be paused or FALSE when the pad - - - - - Check if the peer of @pad accepts @caps. If @pad has no peer, this function -returns TRUE. - - TRUE if the peer of @pad can accept the caps or @pad has no peer. - - - - - a #GstCaps to check on the pad - - - - - - Gets the capabilities of the peer connected to this pad. Similar to -gst_pad_get_caps(). -peer pad. Use gst_caps_unref() to get rid of it. This function -returns %NULL if there is no peer pad. - - a newly allocated copy of the #GstCaps of the - - - - - Gets the capabilities of the peer connected to this pad. Preferred function -if one only wants to read or intersect the caps. - - the caps of the pad with incremented ref-count - - - - - Performs gst_pad_query() on the peer of @pad. -The caller is responsible for both the allocation and deallocation of -the query structure. -if @pad has no peer. - - TRUE if the query could be performed. This function returns %FALSE - - - - - the #GstQuery to perform. - - - - - - Calls gst_pad_get_allowed_caps() for every other pad belonging to the -same element as @pad, and returns the intersection of the results. -This function is useful as a default getcaps function for an element -that can handle any stream format, but requires all its pads to have -the same caps. Two such elements are tee and adder. - - the intersection of the other pads' allowed caps. - - - - - - - - - - - - - - - Pulls a @buffer from the peer pad. -This function will first trigger the pad block signal if it was -installed. -When @pad is not linked #GST_FLOW_NOT_LINKED is returned else this -function returns the result of gst_pad_get_range() on the peer pad. -See gst_pad_get_range() for a list of return values and for the -semantics of the arguments of this function. -configured on @pad. Renegotiation within a running pull-mode pipeline is not -supported. -When this function returns #GST_FLOW_OK, @buffer will contain a valid -#GstBuffer that should be freed with gst_buffer_unref() after usage. -#GST_FLOW_OK is returned. -MT safe. - - a #GstFlowReturn from the peer pad. - - - - - The start offset of the buffer - - - - The length of the buffer - - - - a pointer to hold the #GstBuffer, returns GST_FLOW_ERROR if %NULL. - - - - - - Pushes a buffer to the peer of @pad. -This function will call an installed pad block before triggering any -installed pad probes. -If the caps on @buffer are different from the currently configured caps on -gst_pad_set_setcaps_function()). In case of failure to renegotiate the new -format, this function returns #GST_FLOW_NOT_NEGOTIATED. -The function proceeds calling gst_pad_chain() on the peer pad and returns -the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will -be returned. -In all cases, success or failure, the caller loses its reference to @buffer -after calling this function. -MT safe. - - a #GstFlowReturn from the peer pad. - - - - - the #GstBuffer to push returns GST_FLOW_ERROR if not. - - - - - - Sends the event to the peer of the given pad. This function is -mainly used by elements to send events to their peer -elements. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. -MT safe. - - TRUE if the event was handled. - - - - - the #GstEvent to send to the pad. - - - - - - Pushes a buffer list to the peer of @pad. -This function will call an installed pad block before triggering any -installed pad probes. -If the caps on the first buffer in the first group of @list are different -from the currently configured caps on @pad, this function will call any -installed setcaps function on @pad (see gst_pad_set_setcaps_function()). In -case of failure to renegotiate the new format, this function returns -#GST_FLOW_NOT_NEGOTIATED. -If there are any probes installed on @pad every group of the buffer list -will be merged into a normal #GstBuffer and pushed via gst_pad_push and the -buffer list will be unreffed. -The function proceeds calling the chain function on the peer pad and returns -the value from that function. If @pad has no peer, #GST_FLOW_NOT_LINKED will -be returned. If the peer pad does not have any installed chainlist function -every group buffer of the list will be merged into a normal #GstBuffer and -chained via gst_pad_chain(). -In all cases, success or failure, the caller loses its reference to @list -after calling this function. -MT safe. - - a #GstFlowReturn from the peer pad. - - - - - the #GstBufferList to push returns GST_FLOW_ERROR if not. - - - - - - Dispatches a query to a pad. The query should have been allocated by the -caller via one of the type-specific allocation functions. The element that -the pad belongs to is responsible for filling the query with an appropriate -response, which should then be parsed with a type-specific query parsing -function. -Again, the caller is responsible for both the allocation and deallocation of -the query structure. -Please also note that some queries might need a running pipeline to work. - - TRUE if the query could be performed. - - - - - the #GstQuery to perform. - - - - - - Queries a pad to convert @src_val in @src_format to @dest_format. - - TRUE if the query could be performed. - - - - - a #GstFormat to convert from. - - - - a value to convert. - - - - a pointer to the #GstFormat to convert to. - - - - a pointer to the result. - - - - - - Invokes the default query handler for the given pad. -The query is sent to all pads internally linked to @pad. Note that -if there are many possible sink pads that are internally linked to -Multi-sinkpad elements should implement custom query handlers. - - TRUE if the query was performed succesfully. - - - - - the #GstQuery to handle. - - - - - - Queries a pad for the total stream duration. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the total duration, or NULL. - - - - - - Queries the peer pad of a given sink pad to convert @src_val in @src_format -to @dest_format. - - TRUE if the query could be performed. - - - - - a #GstFormat to convert from. - - - - a value to convert. - - - - a pointer to the #GstFormat to convert to. - - - - a pointer to the result. - - - - - - Queries the peer pad of a given sink pad for the total stream duration. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the total duration, or NULL. - - - - - - Queries the peer of a given sink pad for the stream position. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - a location in which to store the current position, or NULL. - - - - - - Queries a pad for the stream position. - - TRUE if the query could be performed. - - - - - a pointer to the #GstFormat asked for. On return contains the #GstFormat used. - - - - A location in which to store the current position, or NULL. - - - - - - Removes a buffer probe from @pad. - - - - - - handler id returned from gst_pad_add_buffer_probe - - - - - - Removes a data probe from @pad. - - - - - - handler id returned from gst_pad_add_data_probe - - - - - - Removes an event probe from @pad. - - - - - - handler id returned from gst_pad_add_event_probe - - - - - - Sends the event to the pad. This function can be used -by applications to send events in the pipeline. -If @pad is a source pad, @event should be an upstream event. If @pad is a -sink pad, @event should be a downstream event. For example, you would not -send a #GST_EVENT_EOS on a src pad; EOS events only propagate downstream. -Furthermore, some downstream events have to be serialized with data flow, -like EOS, while some can travel out-of-band, like #GST_EVENT_FLUSH_START. If -the event needs to be serialized with data flow, this function will take the -pad's stream lock while calling its event function. -To find out whether an event type is upstream, downstream, or downstream and -serialized, see #GstEventTypeFlags, gst_event_type_get_flags(), -#GST_EVENT_IS_UPSTREAM, #GST_EVENT_IS_DOWNSTREAM, and -#GST_EVENT_IS_SERIALIZED. Note that in practice that an application or -plugin doesn't need to bother itself with this information; the core handles -all necessary locks and checks. -This function takes owership of the provided event so you should -gst_event_ref() it if you want to reuse the event after this call. - - TRUE if the event was handled. - - - - - the #GstEvent to send to the pad. - - - - - - Sets the given acceptcaps function for the pad. The acceptcaps function -will be called to check if the pad can accept the given caps. Setting the -acceptcaps function to NULL restores the default behaviour of allowing -any caps that matches the caps from gst_pad_get_caps(). - - - - - - the #GstPadAcceptCapsFunction to set. - - - - - - Sets the given activate function for @pad. The activate function will -dispatch to gst_pad_activate_push() or gst_pad_activate_pull() to perform -the actual activation. Only makes sense to set on sink pads. -Call this function if your sink pad can start a pull-based task. - - - - - - the #GstPadActivateFunction to set. - - - - - - Sets the given activate_pull function for the pad. An activate_pull function -prepares the element and any upstream connections for pulling. See XXX -part-activation.txt for details. - - - - - - the #GstPadActivateModeFunction to set. - - - - - - Sets the given activate_push function for the pad. An activate_push function -prepares the element for pushing. See XXX part-activation.txt for details. - - - - - - the #GstPadActivateModeFunction to set. - - - - - - Activates or deactivates the given pad. -Normally called from within core state change functions. -If @active, makes sure the pad is active. If it is already active, either in -push or pull mode, just return. Otherwise dispatches to the pad's activate -function to perform the actual activation. -If not @active, checks the pad's current mode and calls -gst_pad_activate_push() or gst_pad_activate_pull(), as appropriate, with a -FALSE argument. -MT safe. - - #TRUE if the operation was successful. - - - - - whether or not the pad should be active. - - - - - - Blocks or unblocks the dataflow on a pad. This function is -a shortcut for gst_pad_set_blocked_async() with a NULL -callback. -wrong parameters were passed or the pad was already in the requested state. -MT safe. - - TRUE if the pad could be blocked. This function can fail if the - - - - - boolean indicating we should block or unblock - - - - - - Blocks or unblocks the dataflow on a pad. The provided callback -is called when the operation succeeds; this happens right before the next -attempt at pushing a buffer on the pad. -This can take a while as the pad can only become blocked when real dataflow -is happening. -When the pipeline is stalled, for example in PAUSED, this can -take an indeterminate amount of time. -You can pass NULL as the callback to make this call block. Be careful with -this blocking call as it might not return for reasons stated above. -wrong parameters were passed or the pad was already in the requested state. -MT safe. - - TRUE if the pad could be blocked. This function can fail if the - - - - - boolean indicating whether the pad should be blocked or unblocked - - - - #GstPadBlockCallback that will be called when the operation succeeds - - - - user data passed to the callback - - - - - - Blocks or unblocks the dataflow on a pad. The provided callback -is called when the operation succeeds; this happens right before the next -attempt at pushing a buffer on the pad. -This can take a while as the pad can only become blocked when real dataflow -is happening. -When the pipeline is stalled, for example in PAUSED, this can -take an indeterminate amount of time. -You can pass NULL as the callback to make this call block. Be careful with -this blocking call as it might not return for reasons stated above. -wrong parameters were passed or the pad was already in the requested state. -MT safe. - - TRUE if the pad could be blocked. This function can fail if the - - - - - boolean indicating whether the pad should be blocked or unblocked - - - - #GstPadBlockCallback that will be called when the operation succeeds - - - - user data passed to the callback - - - - #GDestroyNotify for user_data - - - - - - Sets the given bufferalloc function for the pad. Note that the -bufferalloc function can only be set on sinkpads. - - - - - - the #GstPadBufferAllocFunction to set. - - - - - - Sets the capabilities of this pad. The caps must be fixed. Any previous -caps on the pad will be unreffed. This function refs the caps so you should -unref if as soon as you don't need it anymore. -It is possible to set NULL caps, which will make the pad unnegotiated -again. -or bad parameters were provided to this function. -MT safe. - - TRUE if the caps could be set. FALSE if the caps were not fixed - - - - - a #GstCaps to set. - - - - - - Sets the given chain function for the pad. The chain function is called to -process a #GstBuffer input buffer. see #GstPadChainFunction for more details. - - - - - - the #GstPadChainFunction to set. - - - - - - Sets the given chain list function for the pad. The chainlist function is -called to process a #GstBufferList input buffer list. See -#GstPadChainListFunction for more details. - - - - - - the #GstPadChainListFunction to set. - - - - - - Sets the given checkgetrange function for the pad. Implement this function -on a pad if you dynamically support getrange based scheduling on the pad. - - - - - - the #GstPadCheckGetRangeFunction to set. - - - - - - Set the given private data gpointer on the pad. -This function can only be used by the element that owns the pad. -No locking is performed in this function. - - - - - - The private data to attach to the pad. - - - - - - Sets the given event handler for the pad. - - - - - - the #GstPadEventFunction to set. - - - - - - Sets the given fixatecaps function for the pad. The fixatecaps function -will be called whenever the default values for a GstCaps needs to be -filled in. - - - - - - the #GstPadFixateCapsFunction to set. - - - - - - Sets the given getcaps function for the pad. @getcaps should return the -allowable caps for a pad in the context of the element's state, its link to -other elements, and the devices or files it has opened. These caps must be a -subset of the pad template caps. In the NULL state with no links, @getcaps -should ideally return the same caps as the pad template. In rare -circumstances, an object property can affect the caps returned by @getcaps, -but this is discouraged. -You do not need to call this function if @pad's allowed caps are always the -same as the pad template caps. This can only be true if the padtemplate -has fixed simple caps. -For most filters, the caps returned by @getcaps is directly affected by the -allowed caps on other pads. For demuxers and decoders, the caps returned by -the srcpad's getcaps function is directly related to the stream data. Again, -helps with autoplugging. -Note that the return value from @getcaps is owned by the caller, so the -caller should unref the caps after usage. - - - - - - the #GstPadGetCapsFunction to set. - - - - - - Sets the given getrange function for the pad. The getrange function is -called to produce a new #GstBuffer to start the processing pipeline. see -#GstPadGetRangeFunction for a description of the getrange function. - - - - - - the #GstPadGetRangeFunction to set. - - - - - - Sets the given internal link function for the pad. - - - - - - the #GstPadIntLinkFunction to set. - - - - - - Sets the given internal link iterator function for the pad. - - - - - - the #GstPadIterIntLinkFunction to set. - - - - - - Sets the given link function for the pad. It will be called when -the pad is linked with another pad. -The return value #GST_PAD_LINK_OK should be used when the connection can be -made. -The return value #GST_PAD_LINK_REFUSED should be used when the connection -cannot be made for some reason. -If @link is installed on a source pad, it should call the #GstPadLinkFunction -of the peer sink pad, if present. - - - - - - the #GstPadLinkFunction to set. - - - - - - Set the given query function for the pad. - - - - - - the #GstPadQueryFunction to set. - - - - - - Set the given query type function for the pad. - - - - - - the #GstPadQueryTypeFunction to set. - - - - - - Sets the given setcaps function for the pad. The setcaps function -will be called whenever a buffer with a new media type is pushed or -pulled from the pad. The pad/element needs to update its internal -structures to process the new media type. If this new type is not -acceptable, the setcaps function should return FALSE. - - - - - - the #GstPadSetCapsFunction to set. - - - - - - Sets the given unlink function for the pad. It will be called -when the pad is unlinked. - - - - - - the #GstPadUnlinkFunction to set. - - - - - - Starts a task that repeatedly calls @func with @data. This function -is mostly used in pad activation functions to start the dataflow. -The #GST_PAD_STREAM_LOCK of @pad will automatically be acquired -before @func is called. - - a %TRUE if the task could be started. - - - - - the task function to call - - - - data passed to the task function - - - - - - Stop the task of @pad. This function will also make sure that the -function executed by the task will effectively stop if not called -from the GstTaskFunction. -This function will deadlock if called from the GstTaskFunction of -the task. Use gst_task_pause() instead. -Regardless of whether the pad has a task, the stream lock is acquired and -released so as to ensure that streaming through this pad has finished. - - a TRUE if the task could be stopped or FALSE on error. - - - - - Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked -signal on both pads. -the pads were not linked together. -MT safe. - - TRUE if the pads were unlinked. This function returns FALSE if - - - - - the sink #GstPad to unlink. - - - - - - A helper function you can use that sets the -pad. This way the function will always return the negotiated caps -or in case the pad is not negotiated, the padtemplate caps. -Use this function on a pad that, once gst_pad_set_caps() has been called -on it, cannot be renegotiated to something else. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Signals that new data is available on the pad. This signal is used -internally for implementing pad probes. -See gst_pad_add_*_probe functions. - - %TRUE to keep the data, %FALSE to drop it - - - - - new data - - - - - - Signals that a pad has been linked to the peer pad. - - - - - - the peer pad that has been connected - - - - - - Signals that a pad connection has been requested. - - - - - - Signals that a pad has been unlinked from the peer pad. - - - - - - the peer pad that has been disconnected - - - - - - - Check if @pad can accept @caps. By default this function will see if @caps -intersect with the result from gst_pad_get_caps() by can be overridden to -perform extra checks. - - TRUE if the caps can be accepted by the pad. - - - - - the #GstPad to check - - - - the #GstCaps to check - - - - - - This function is called when the pad is activated during the element -READY to PAUSED state change. By default this function will call the -activate function that puts the pad in push mode but elements can -override this function to activate the pad in pull mode if they wish. - - TRUE if the pad could be activated. - - - - - a #GstPad - - - - - - The prototype of the push and pull activate functions. - - TRUE if the pad could be activated or deactivated. - - - - - a #GstPad - - - - activate or deactivate the pad. - - - - - - Callback used by gst_pad_set_blocked_async(). Gets called when the blocking -operation succeeds. - - - - - - the #GstPad that is blockend or unblocked. - - - - blocking state for the pad - - - - the gpointer to optional user data. - - - - - - Ask the sinkpad @pad to allocate a buffer with @offset, @size and @caps. -The result will be stored in @buf. -The purpose of this function is to allocate a buffer that is optimal to -be processed by @pad. The function is mostly overridden by elements that can -provide a hardware buffer in order to avoid additional memcpy operations. -The function can return a buffer that has caps different from the requested -new caps. -If a format change was requested, the returned buffer will be one to hold -the data of said new caps, so its size might be different from the requested -When this function returns anything else than #GST_FLOW_OK, the buffer allocation -failed and @buf does not contain valid data. If the function returns #GST_FLOW_OK and -the @buf is NULL, a #GstBuffer will be created with @caps, @offset and @size. -By default this function returns a new buffer of @size and with @caps containing -purely malloced data. The buffer should be freed with gst_buffer_unref() -after usage. -value means @buf does not hold a valid buffer. - - #GST_FLOW_OK if @buf contains a valid buffer, any other return - - - - - a sink #GstPad - - - - the desired offset of the buffer - - - - the desired size of the buffer - - - - the desired caps of the buffer - - - - pointer to hold the allocated buffer. - - - - - - A function that will be called on sinkpads when chaining buffers. -The function typically processes the data contained in the buffer and -either consumes the data or passes it on to the internally linked pad(s). -The implementer of this function receives a refcount to @buffer and should -gst_buffer_unref() when the buffer is no longer needed. -When a chain function detects an error in the data stream, it must post an -error on the bus and return an appropriate #GstFlowReturn value. - - #GST_FLOW_OK for success - - - - - the sink #GstPad that performed the chain. - - - - the #GstBuffer that is chained, not %NULL. - - - - - - A function that will be called on sinkpads when chaining buffer lists. -The function typically processes the data contained in the buffer list and -either consumes the data or passes it on to the internally linked pad(s). -The implementer of this function receives a refcount to @list and -should gst_buffer_list_unref() when the list is no longer needed. -When a chainlist function detects an error in the data stream, it must -post an error on the bus and return an appropriate #GstFlowReturn value. - - #GST_FLOW_OK for success - - - - - the sink #GstPad that performed the chain. - - - - the #GstBufferList that is chained, not %NULL. - - - - - - Check if @pad can be activated in pull mode. -This function will be deprecated after 0.10; use the seeking query to check -if a pad can support random access. - - TRUE if the pad can operate in pull mode. - - - - - a #GstPad - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The direction of a pad. - - - - - - A dispatcher function is called for all internally linked pads, see -gst_pad_dispatcher(). - - TRUE if the dispatching procedure has to be stopped. - - - - - the #GstPad that is dispatched. - - - - the gpointer to optional user data. - - - - - - Function signature to handle an event for the pad. - - TRUE if the pad could handle the event. - - - - - the #GstPad to handle the event. - - - - the #GstEvent to handle. - - - - - - Given possibly unfixed caps @caps, let @pad use its default prefered -format to make a fixed caps. @caps should be writable. By default this -function will pick the first value of any ranges or lists in the caps but -elements can override this function to perform other behaviour. - - - - - - a #GstPad - - - - the #GstCaps to fixate - - - - - - Pad state flags - - - - - - - - - Returns a copy of the capabilities of the specified pad. By default this -function will return the pad template capabilities, but can optionally -be overridden by elements. - - a newly allocated copy #GstCaps of the pad. - - - - - the #GstPad to get the capabilities of. - - - - - - This function will be called on source pads when a peer element -request a buffer at the specified @offset and @length. If this function -returns #GST_FLOW_OK, the result buffer will be stored in @buffer. The -contents of @buffer is invalid for any other return value. -This function is installed on a source pad with -gst_pad_set_getrange_function() and can only be called on source pads after -they are successfully activated with gst_pad_activate_pull(). -between 0 and the length in bytes of the data available on @pad. The -length (duration in bytes) can be retrieved with a #GST_QUERY_DURATION or with a -#GST_QUERY_SEEKING. -Any @offset larger or equal than the length will make the function return -#GST_FLOW_UNEXPECTED, which corresponds to EOS. In this case @buffer does not -contain a valid buffer. -The buffer size of @buffer will only be smaller than @length when @offset is -near the end of the stream. In all other cases, the size of @buffer must be -exactly the requested size. -It is allowed to call this function with a 0 @length and valid @offset, in -which case @buffer will contain a 0-sized buffer and the function returns -#GST_FLOW_OK. -When this function is called with a -1 @offset, the sequentially next buffer -of length @length in the stream is returned. -When this function is called with a -1 @length, a buffer with a default -optimal length is returned in @buffer. The length might depend on the value -of @offset. -return value leaves @buffer undefined. - - #GST_FLOW_OK for success and a valid buffer in @buffer. Any other - - - - - the src #GstPad to perform the getrange on. - - - - the offset of the range - - - - the length of the range - - - - a memory location to hold the result buffer, cannot be NULL. - - - - - - The signature of the internal pad link function. -the inside of the parent element. -The caller must call g_list_free() on it after use. - - a newly allocated #GList of pads that are linked to the given pad on - - - - - - - The #GstPad to query. - - - - - - The signature of the internal pad link iterator function. -linked to the given pad on the inside of the parent element. -the caller must call gst_iterator_free() after usage. -Since 0.10.21 - - a new #GstIterator that will iterate over all pads that are - - - - - The #GstPad to query. - - - - - - The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS -and @GST_PAD_LINK_CHECK_TEMPLATE_CAPS are mutually exclusive. If both are -specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. -<warning><para> -Only disable some of the checks if you are 100% certain you know the link -will not fail because of hierarchy/caps compatibility failures. If uncertain, -use the default checks (%GST_PAD_LINK_CHECK_DEFAULT) or the regular methods -for linking the pads. -</para></warning> - - - - - - - - - - - - - - - - - - - - Result values from gst_pad_link and friends. - - - - - - - - - - Indicates when this pad will become available. - - - - - - - - The signature of the query function. - - TRUE if the query could be performed. - - - - - the #GstPad to query. - - - - the #GstQuery object to execute - - - - - - The signature of the query types function. - - a constant array of query types - - - - - a #GstPad to query - - - - - - Set @caps on @pad. By default this function updates the caps of the -pad but the function can be overriden by elements to perform extra -actions or verifications. - - TRUE if the caps could be set on the pad. - - - - - the #GstPad to set the capabilities of. - - - - the #GstCaps to set - - - - - - The padtemplate object. - - Creates a new pad template with a name according to the given template -and with the given arguments. This functions takes ownership of the provided -caps, so be sure to not use them afterwards. - - a new #GstPadTemplate. - - - - - the name template. - - - - the #GstPadDirection of the template. - - - - the #GstPadPresence of the pad. - - - - a #GstCaps set for the template. The caps are taken ownership of. - - - - - - Gets the capabilities of the pad template. -keep a reference to the caps, take a ref (see gst_caps_ref ()). - - the #GstCaps of the pad template. If you need to - - - - - Emit the pad-created signal for this template when created by this pad. - - - - - - the #GstPad that created it - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This signal is fired when an element creates a pad from this template. - - - - - - the pad that was created. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags for the padtemplate - - - - - - - - - - - - - - - - This function creates a fraction GParamSpec for use by objects/elements -that want to expose properties of fraction type. This function is typically -used in connection with g_object_class_install_property() in a GObjects's -instance_init function. - - a newly created parameter specification - - - - - canonical name of the property specified - - - - nick name for the property specified - - - - description of the property specified - - - - minimum value (fraction numerator) - - - - minimum value (fraction denominator) - - - - maximum value (fraction numerator) - - - - maximum value (fraction denominator) - - - - default value (fraction numerator) - - - - default value (fraction denominator) - - - - flags for the property specified - - - - - - - A GParamSpec derived structure that contains the meta data for fractional -properties. - - - - - - - - - - - - - - - - - - - - - - - - A %GParamSpec derived structure that contains the meta data -for %GstMiniObject properties. - - - - - - Opaque structure. - - Frees a parse context previously allocated with gst_parse_context_new(). - - - - - - Retrieve missing elements from a previous run of gst_parse_launch_full() -or gst_parse_launchv_full(). Will only return results if an error code -of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. -NULL-terminated array of element factory name strings of missing -elements. Free with g_strfreev() when no longer needed. - - a - - - - - - - - The different parsing errors that can occur. - - - - - - - - - - Parsing options. - - - - - The #GstPipeline structure. - - - Create a new pipeline with the given name. -MT safe. - - newly created GstPipeline - - - - - name of new pipeline - - - - - - Let @pipeline select a clock automatically. This is the default -behaviour. -Use this function if you previous forced a fixed clock with -gst_pipeline_use_clock() and want to restore the default -pipeline clock selection algorithm. -MT safe. - - - - - - Check if @pipeline will automatically flush messages when going to -the NULL state. -going from READY to NULL state or not. -MT safe. - - whether the pipeline will automatically flush its bus when - - - - - Gets the #GstBus of @pipeline. The bus allows applications to receive -#GstMessage packets. -MT safe. - - a #GstBus, unref after usage. - - - - - Gets the current clock used by @pipeline. - - a #GstClock, unref after usage. - - - - - Get the configured delay (see gst_pipeline_set_delay()). -MT safe. - - The configured delay. - - - - - Gets the last running time of @pipeline. If the pipeline is PLAYING, -the returned time is the running time used to configure the element's -base time in the PAUSED->PLAYING state. If the pipeline is PAUSED, the -returned time is the running time when the pipeline was paused. -This function returns #GST_CLOCK_TIME_NONE if the pipeline was -configured to not handle the management of the element's base time -(see gst_pipeline_set_new_stream_time()). -MT safe. -gst_element_get_start_time(). - - a #GstClockTime. - - - - - Usually, when a pipeline goes from READY to NULL state, it automatically -flushes all pending messages on the bus, which is done for refcounting -purposes, to break circular references. -This means that applications that update state using (async) bus messages -(e.g. do certain things when a pipeline goes from PAUSED to READY) might -not get to see messages when the pipeline is shut down, because they might -be flushed before they can be dispatched in the main thread. This behaviour -can be disabled using this function. -It is important that all messages on the bus are handled when the -automatic flushing is disabled else memory leaks will be introduced. -MT safe. - - - - - - whether or not to automatically flush the bus when the pipeline goes from READY to NULL state - - - - - - Set the clock for @pipeline. The clock will be distributed -to all the elements managed by the pipeline. -some element did not accept the clock. -MT safe. - - TRUE if the clock could be set on the pipeline. FALSE if - - - - - the clock to set - - - - - - Set the expected delay needed for all elements to perform the -PAUSED to PLAYING state change. @delay will be added to the -base time of the elements so that they wait an additional @delay -amount of time before starting to process buffers and cannot be -#GST_CLOCK_TIME_NONE. -This option is used for tuning purposes and should normally not be -used. -MT safe. - - - - - - the delay - - - - - - Set the new start time of @pipeline to @time. The start time is used to -set the base time on the elements (see gst_element_set_base_time()) -in the PAUSED->PLAYING state transition. -Setting @time to #GST_CLOCK_TIME_NONE will disable the pipeline's management -of element base time. The application will then be responsible for -performing base time distribution. This is sometimes useful if you want to -synchronize capture from multiple pipelines, and you can also ensure that the -pipelines have the same clock. -MT safe. -gst_element_set_start_time(). - - - - - - the new running time to set - - - - - - Force @pipeline to use the given @clock. The pipeline will -always use the given clock even if new clock providers are added -to this pipeline. -If @clock is NULL all clocking will be disabled which will make -the pipeline run as fast as possible. -MT safe. - - - - - - the clock to use - - - - - - Whether or not to automatically flush all messages on the -pipeline's bus when going from READY to NULL state. Please see -gst_pipeline_set_auto_flush_bus() for more information on this option. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pipeline flags - - - - - - - The plugin object - - Get the error quark. - - The error quark used in GError messages - - - - - Unrefs each member of @list, then frees the list. - - - - - - list of #GstPlugin - - - - - - - - Load the named plugin. Refs the plugin. - - a reference to a loaded plugin, or NULL on error. - - - - - name of plugin to load - - - - - - Loads the given plugin and refs it. Caller needs to unref after use. -reference to the newly-loaded GstPlugin, or NULL if an error occurred. - - a reference to the existing loaded GstPlugin, a - - - - - the plugin filename to load - - - - - - Registers a static plugin, ie. a plugin which is private to an application -or library and contained within the application or library (as opposed to -being shipped as a separate module file). -You must make sure that GStreamer has been initialised (with gst_init() or -via gst_init_get_option_group()) before calling this function. - - TRUE if the plugin was registered correctly, otherwise FALSE. - - - - - the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here - - - - the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here - - - - a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer) - - - - description of the plugin - - - - pointer to the init function of this plugin. - - - - version string of the plugin - - - - effective license of plugin. Must be one of the approved licenses (see #GstPluginDesc above) or the plugin will not be registered. - - - - source module plugin belongs to - - - - shipped package plugin belongs to - - - - URL to provider of plugin - - - - - - Registers a static plugin, ie. a plugin which is private to an application -or library and contained within the application or library (as opposed to -being shipped as a separate module file) with a #GstPluginInitFullFunc -which allows user data to be passed to the callback function (useful -for bindings). -You must make sure that GStreamer has been initialised (with gst_init() or -via gst_init_get_option_group()) before calling this function. - - TRUE if the plugin was registered correctly, otherwise FALSE. - - - - - the major version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MAJOR here - - - - the minor version number of the GStreamer core that the plugin was compiled for, you can just use GST_VERSION_MINOR here - - - - a unique name of the plugin (ideally prefixed with an application- or library-specific namespace prefix in order to avoid name conflicts in case a similar plugin with the same name ever gets added to GStreamer) - - - - description of the plugin - - - - pointer to the init function with user data of this plugin. - - - - version string of the plugin - - - - effective license of plugin. Must be one of the approved licenses (see #GstPluginDesc above) or the plugin will not be registered. - - - - source module plugin belongs to - - - - shipped package plugin belongs to - - - - URL to provider of plugin - - - - gpointer to user data - - - - - - Make GStreamer aware of external dependencies which affect the feature -set of this plugin (ie. the elements or typefinders associated with it). -GStreamer will re-inspect plugins with external dependencies whenever any -of the external dependencies change. This is useful for plugins which wrap -other plugin systems, e.g. a plugin which wraps a plugin-based visualisation -library and makes visualisations available as GStreamer elements, or a -codec loader which exposes elements and/or caps dependent on what external -codec libraries are currently installed. - - - - - - NULL-terminated array of environent variables affecting the feature set of the plugin (e.g. an environment variable containing paths where to look for additional modules/plugins of a library), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins". - - - - NULL-terminated array of directories/paths where dependent files may be. - - - - NULL-terminated array of file names (or file name suffixes, depending on @flags) to be used in combination with the paths from - - - - optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - - - - - - Make GStreamer aware of external dependencies which affect the feature -set of this plugin (ie. the elements or typefinders associated with it). -GStreamer will re-inspect plugins with external dependencies whenever any -of the external dependencies change. This is useful for plugins which wrap -other plugin systems, e.g. a plugin which wraps a plugin-based visualisation -library and makes visualisations available as GStreamer elements, or a -codec loader which exposes elements and/or caps dependent on what external -codec libraries are currently installed. -Convenience wrapper function for gst_plugin_add_dependency() which -takes simple strings as arguments instead of string arrays, with multiple -arguments separated by predefined delimiters (see above). - - - - - - one or more environent variables (separated by ':', ';' or ','), or NULL. Environment variable names may be followed by a path component which will be added to the content of the environment variable, e.g. "HOME/.mystuff/plugins:MYSTUFF_PLUGINS_PATH" - - - - one ore more directory paths (separated by ':' or ';' or ','), or NULL. Example: "/usr/lib/mystuff/plugins" - - - - one or more file names or file name suffixes (separated by commas), or NULL - - - - optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - - - - - - Gets the plugin specific data cache. If it is %NULL there is no cached data -stored. This is the case when the registry is getting rebuilt. - - The cached data as a #GstStructure or %NULL. - - - - - Get the long descriptive name of the plugin - - the long name of the plugin - - - - - get the filename of the plugin - - the filename of the plugin - - - - - get the license of the plugin - - the license of the plugin - - - - - Gets the #GModule of the plugin. If the plugin isn't loaded yet, NULL is -returned. -plugin isn't loaded yet. - - module belonging to the plugin or NULL if the - - - - - Get the short name of the plugin - - the name of the plugin - - - - - get the URL where the plugin comes from - - the origin of the plugin - - - - - get the package the plugin belongs to. - - the package of the plugin - - - - - get the source module the plugin belongs to. - - the source of the plugin - - - - - get the version of the plugin - - the version of the plugin - - - - - queries if the plugin is loaded into memory - - TRUE is loaded, FALSE otherwise - - - - - Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is -untouched. The normal use pattern of this function goes like this: -<programlisting> -GstPlugin *loaded_plugin; -loaded_plugin = gst_plugin_load (plugin); -// presumably, we're no longer interested in the potentially-unloaded plugin -gst_object_unref (plugin); -plugin = loaded_plugin; -</programlisting> - - a reference to a loaded plugin, or NULL on error. - - - - - A standard filter that returns TRUE when the plugin is of the -given name. - - TRUE if the plugin is of the given name. - - - - - the name of the plugin - - - - - - Adds plugin specific data to cache. Passes the ownership of the structure to -the @plugin. -The cache is flushed every time the registry is rebuilt. - - - - - - a structure containing the data to cache - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Flags used in connection with gst_plugin_add_dependency(). - - - - - - - A plugin should export a variable of this type called plugin_desc. The plugin -loader will use the data provided there to initialize the plugin. -BSD, MIT/X11, Proprietary, unknown. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The plugin loading errors - - - - - - Opaque #GstPluginFeature structure. - - Copies the list of features. Caller should call @gst_plugin_feature_list_free -when done with the list. -with each feature's reference count incremented. - - a copy of @list, - - - - - - - list of #GstPluginFeature - - - - - - - - Debug the plugin feature names in @list. - - - - - - a #GList of plugin features - - - - - - - - Unrefs each member of @list, then frees the list. - - - - - - list of #GstPluginFeature - - - - - - - - Compares the two given #GstPluginFeature instances. This function can be -used as a #GCompareFunc when sorting by rank and then by name. -equal but the name of p1 comes before the name of p2; zero if the rank -and names are equal; positive value if the rank of p1 < the rank of p2 or the -ranks are equal but the name of p2 comes after the name of p1 - - negative value if the rank of p1 > the rank of p2 or the ranks are - - - - - a #GstPluginFeature - - - - a #GstPluginFeature - - - - - - Checks whether the given plugin feature is at least -the required version -the required version, otherwise #FALSE. - - #TRUE if the plugin feature has at least - - - - - minimum required major version - - - - minimum required minor version - - - - minimum required micro version - - - - - - Gets the name of a plugin feature. - - the name - - - - - Gets the rank of a plugin feature. - - The rank of the feature - - - - - Loads the plugin containing @feature if it's not already loaded. @feature is -unaffected; use the return value instead. -Normally this function is used like this: -|[ -GstPluginFeature *loaded_feature; -loaded_feature = gst_plugin_feature_load (feature); -// presumably, we're no longer interested in the potentially-unloaded feature -gst_object_unref (feature); -feature = loaded_feature; -]| - - a reference to the loaded feature, or NULL on error - - - - - Sets the name of a plugin feature. The name uniquely identifies a feature -within all features of the same type. Renaming a plugin feature is not -allowed. A copy is made of the name so you should free the supplied @name -after calling this function. - - - - - - the name to set - - - - - - Specifies a rank for a plugin feature, so that autoplugging uses -the most appropriate feature. - - - - - - rank value - higher number means more priority rank - - - - - - Compares type and name of plugin feature. Can be used with gst_filter_run(). - - TRUE if equal. - - - - - the type and name to check against - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that can be used with e.g. gst_registry_feature_filter() -to get a list of pluginfeature that match certain criteria. - - %TRUE for a positive match, %FALSE otherwise - - - - - the pluginfeature to check - - - - the user_data that has been passed on e.g. gst_registry_feature_filter() - - - - - - A function that can be used with e.g. gst_registry_plugin_filter() -to get a list of plugins that match certain criteria. - - TRUE for a positive match, FALSE otherwise - - - - - the plugin to check - - - - the user_data that has been passed on e.g. gst_registry_plugin_filter() - - - - - - The plugin loading state - - - - - A plugin should provide a pointer to a function of either #GstPluginInitFunc -or this type in the plugin_desc struct. -The function will be called by the loader at startup. One would then -register each #GstPluginFeature. This version allows -user data to be passed to init function (useful for bindings). - - %TRUE if plugin initialised successfully - - - - - The plugin object - - - - extra data - - - - - - A plugin should provide a pointer to a function of this type in the -plugin_desc struct. -This function will be called by the loader at startup. One would then -register each #GstPluginFeature. - - %TRUE if plugin initialised successfully - - - - - The plugin object - - - - - - - - A set of file/network descriptors. - - Add a file descriptor to the file descriptor set. - - %TRUE if the file descriptor was successfully added to the set. - - - - - a file descriptor. - - - - - - Check if @fd in @set has data to be read. - - %TRUE if the descriptor has data to be read. - - - - - a file descriptor. - - - - - - Check if @fd in @set can be used for writing. - - %TRUE if the descriptor can be used for writing. - - - - - a file descriptor. - - - - - - Control whether the descriptor @fd in @set will be monitored for -readability. - - %TRUE if the descriptor was successfully updated. - - - - - a file descriptor. - - - - a new status. - - - - - - Control whether the descriptor @fd in @set will be monitored for -writability. - - %TRUE if the descriptor was successfully updated. - - - - - a file descriptor. - - - - a new status. - - - - - - Check if @fd in @set has closed the connection. - - %TRUE if the connection was closed. - - - - - a file descriptor. - - - - - - Check if @fd in @set has an error. - - %TRUE if the descriptor has an error. - - - - - a file descriptor. - - - - - - Mark @fd as ignored so that the next call to gst_poll_wait() will yield -the same result for @fd as last time. This function must be called if no -operation (read/write/recv/send/etc.) will be performed on @fd before -the next call to gst_poll_wait(). -The reason why this is needed is because the underlying implementation -might not allow querying the fd more than once between calls to one of -the re-enabling operations. - - - - - - a file descriptor. - - - - - - Free a file descriptor set. - - - - - - Get a GPollFD for the reading part of the control socket. This is useful when -integrating with a GSource and GMainLoop. - - - - - - a #GPollFD - - - - - - Read a byte from the control socket of the controllable @set. -This function is mostly useful for timer #GstPoll objects created with -gst_poll_new_timer(). -was no byte to read. - - %TRUE on success. %FALSE when @set is not controllable or when there - - - - - Remove a file descriptor from the file descriptor set. - - %TRUE if the file descriptor was successfully removed from the set. - - - - - a file descriptor. - - - - - - Restart any gst_poll_wait() that is in progress. This function is typically -used after adding or removing descriptors to @set. -If @set is not controllable, then this call will have no effect. - - - - - - When @controllable is %TRUE, this function ensures that future calls to -gst_poll_wait() will be affected by gst_poll_restart() and -gst_poll_set_flushing(). - - %TRUE if the controllability of @set could be updated. - - - - - new controllable state. - - - - - - When @flushing is %TRUE, this function ensures that current and future calls -to gst_poll_wait() will return -1, with errno set to EBUSY. -Unsetting the flushing state will restore normal operation of @set. - - - - - - new flushing state. - - - - - - Wait for activity on the file descriptors in @set. This function waits up to -the specified @timeout. A timeout of #GST_CLOCK_TIME_NONE waits forever. -For #GstPoll objects created with gst_poll_new(), this function can only be -called from a single thread at a time. If called from multiple threads, --1 will be returned with errno set to EPERM. -This is not true for timer #GstPoll objects created with -gst_poll_new_timer(), where it is allowed to have multiple threads waiting -simultaneously. -activity was detected after @timeout. If an error occurs, -1 is returned -and errno is set. - - The number of #GstPollFD in @set that have activity or 0 when no - - - - - a timeout in nanoseconds. - - - - - - Write a byte to the control socket of the controllable @set. -This function is mostly useful for timer #GstPoll objects created with -gst_poll_new_timer(). -It will make any current and future gst_poll_wait() function return with -1, meaning the control socket is set. After an equal amount of calls to -gst_poll_read_control() have been performed, calls to gst_poll_wait() will -block again until their timeout expired. -byte could not be written. - - %TRUE on success. %FALSE when @set is not controllable or when the - - - - - - A file descriptor object. - - - - - - - - Initializes @fd. Alternatively you can initialize it with -#GST_POLL_FD_INIT. - - - - - - - Opaque #GstPreset data structure. - - Delete the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to remove - - - - - - Gets the @value for an existing meta data @tag. Meta data @tag names can be -something like e.g. "comment". Returned values need to be released when done. -or no value for the given @tag - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - value - - - - - - Get a copy of preset names as a NULL terminated string array. -list with names, ue g_strfreev() after usage. - - - - - - - - Get a the names of the GObject properties that can be used for presets. -array of property names which should be freed with g_strfreev() after use. - - an - - - - - - - Load the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to load - - - - - - Renames a preset. If there is already a preset by the @new_name it will be -overwritten. - - %TRUE for success, %FALSE if e.g. there is no preset with @old_name - - - - - current preset name - - - - new preset name - - - - - - Save the current object settings as a preset under the given name. If there -is already a preset by this @name it will be overwritten. - - %TRUE for success, %FALSE - - - - - preset name to save - - - - - - Sets a new @value for an existing meta data item or adds a new item. Meta -data @tag names can be something like e.g. "comment". Supplying %NULL for the - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - new value - - - - - - Delete the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to remove - - - - - - Gets the @value for an existing meta data @tag. Meta data @tag names can be -something like e.g. "comment". Returned values need to be released when done. -or no value for the given @tag - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - value - - - - - - Get a copy of preset names as a NULL terminated string array. -list with names, ue g_strfreev() after usage. - - - - - - - - Get a the names of the GObject properties that can be used for presets. -array of property names which should be freed with g_strfreev() after use. - - an - - - - - - - Load the given preset. - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name to load - - - - - - Renames a preset. If there is already a preset by the @new_name it will be -overwritten. - - %TRUE for success, %FALSE if e.g. there is no preset with @old_name - - - - - current preset name - - - - new preset name - - - - - - Save the current object settings as a preset under the given name. If there -is already a preset by this @name it will be overwritten. - - %TRUE for success, %FALSE - - - - - preset name to save - - - - - - Sets a new @value for an existing meta data item or adds a new item. Meta -data @tag names can be something like e.g. "comment". Supplying %NULL for the - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - preset name - - - - meta data item name - - - - new value - - - - - - - #GstPreset interface. - - - - - - - - - - - - - - - - - - - - - an - - - - - - - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name to load - - - - - - - - - %TRUE for success, %FALSE - - - - - - - - preset name to save - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with @old_name - - - - - - - - current preset name - - - - new preset name - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name to remove - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name - - - - meta data item name - - - - new value - - - - - - - - - %TRUE for success, %FALSE if e.g. there is no preset with that @name - - - - - - - - preset name - - - - meta data item name - - - - value - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #GstQuery structure. - - Constructs a new custom application query object. Use gst_query_unref() -when done with it. - - a new #GstQuery - - - - - the query type - - - - a structure for the query - - - - - - - - - - - - - - - - Constructs a new convert query object. Use gst_query_unref() -when done with it. A convert query is used to ask for a conversion between -one format and another. - - a #GstQuery - - - - - the source #GstFormat for the new query - - - - the value to convert - - - - the target #GstFormat - - - - - - Constructs a new stream duration query object to query in the given format. -Use gst_query_unref() when done with it. A duration query will give the -total length of the stream. - - a new #GstQuery - - - - - the #GstFormat for this duration query - - - - - - Constructs a new query object for querying formats of -the stream. - - a new #GstQuery - - - - - Constructs a new latency query object. -Use gst_query_unref() when done with it. A latency query is usually performed -by sinks to compensate for additional latency introduced by elements in the -pipeline. - - a #GstQuery - - - - - Constructs a new query stream position query object. Use gst_query_unref() -when done with it. A position query is used to query the current position -of playback in the streams, in some format. - - a new #GstQuery - - - - - the default #GstFormat for the new query - - - - - - Constructs a new query object for querying seeking properties of -the stream. - - a new #GstQuery - - - - - the default #GstFormat for the new query - - - - - - Constructs a new segment query object. Use gst_query_unref() -when done with it. A segment query is used to discover information about the -currently configured segment for playback. - - a new #GstQuery - - - - - the #GstFormat for the new query - - - - - - Constructs a new query URI query object. Use gst_query_unref() -when done with it. An URI query is used to query the current URI -that is used by the source or sink. - - a new #GstQuery - - - - - Get the query type registered with @nick. -if the query was not registered. - - The query registered with @nick or #GST_QUERY_NONE - - - - - The nick of the query - - - - - - Get details about the given #GstQueryType. - - The #GstQueryTypeDefinition for @type or NULL on failure. - - - - - a #GstQueryType - - - - - - Get a printable name for the given query type. Do not modify or free. - - a reference to the static name of the query. - - - - - the query type - - - - - - Get a #GstIterator of all the registered query types. The definitions -iterated over are read only. - - a #GstIterator of #GstQueryTypeDefinition. - - - - - Create a new GstQueryType based on the nick or return an -already registered query with that nick -with the same nick. - - A new GstQueryType or an already registered query - - - - - The nick of the new query - - - - The description of the new query - - - - - - Get the unique quark for the given query type. - - the quark associated with the query type - - - - - the query type - - - - - - See if the given #GstQueryType is inside the @types query types array. - - TRUE if the type is found inside the array - - - - - The query array to search - - - - the #GstQueryType to find - - - - - - - - - - - - - - - - - - - - - - - - Get the structure of a query. -still owned by the query and will therefore be freed when the query -is unreffed. - - the #GstStructure of the query. The structure is - - - - - - - - - - - - - - - - - - Parse an available query, writing the format into @format, and -other results into the passed parameters, if the respective parameters -are non-NULL - - - - - - the format to set for the @segment_start and @segment_end values, or NULL - - - - the start to set, or NULL - - - - the stop to set, or NULL - - - - estimated total amount of download time, or NULL - - - - - - Extracts the buffering stats values from @query. - - - - - - a buffering mode, or NULL - - - - the average input rate, or NULL - - - - the average output rat, or NULLe - - - - amount of buffering time left, or NULL - - - - - - Parse a convert query answer. Any of @src_format, @src_value, @dest_format, -and @dest_value may be NULL, in which case that value is omitted. - - - - - - the storage for the #GstFormat of the source value, or NULL - - - - the storage for the source value, or NULL - - - - the storage for the #GstFormat of the destination value, or NULL - - - - the storage for the destination value, or NULL - - - - - - Parse a duration query answer. Write the format of the duration into @format, -and the value into @duration, if the respective variables are non-NULL. - - - - - - the storage for the #GstFormat of the duration value, or NULL. - - - - the storage for the total duration, or NULL. - - - - - - Parse the number of formats in the formats @query. - - - - - - the number of formats in this query. - - - - - - Parse the format query and retrieve the @nth format from it into -set to GST_FORMAT_UNDEFINED. - - - - - - the nth format to retrieve. - - - - a pointer to store the nth format - - - - - - Parse a latency query answer. - - - - - - storage for live or NULL - - - - the storage for the min latency or NULL - - - - the storage for the max latency or NULL - - - - - - - - - - - - - - - - - - - - - - Parse a position query, writing the format into @format, and the position -into @cur, if the respective parameters are non-NULL. - - - - - - the storage for the #GstFormat of the position values (may be NULL) - - - - the storage for the current position (may be NULL) - - - - - - Parse a seeking query, writing the format into @format, and -other results into the passed parameters, if the respective parameters -are non-NULL - - - - - - the format to set for the @segment_start and @segment_end values, or NULL - - - - the seekable flag to set, or NULL - - - - the segment_start to set, or NULL - - - - the segment_end to set, or NULL - - - - - - Parse a segment query answer. Any of @rate, @format, @start_value, and -See gst_query_set_segment() for an explanation of the function arguments. - - - - - - the storage for the rate of the segment, or NULL - - - - the storage for the #GstFormat of the values, or NULL - - - - the storage for the start value, or NULL - - - - the storage for the stop value, or NULL - - - - - - Parse an URI query, writing the URI into @uri as a newly -allocated string, if the respective parameters are non-NULL. -Free the string with g_free() after usage. - - - - - - the storage for the current URI (may be NULL) - - - - - - - - - - - - - - - - - - - Set the available query result fields in @query. - - - - - - the format to set for the @start and @stop values - - - - the start to set - - - - the stop to set - - - - estimated total amount of download time - - - - - - Configures the buffering stats values in @query. - - - - - - a buffering mode - - - - the average input rate - - - - the average output rate - - - - amount of buffering time left - - - - - - Answer a convert query by setting the requested values. - - - - - - the source #GstFormat - - - - the source value - - - - the destination #GstFormat - - - - the destination value - - - - - - Answer a duration query by setting the requested value in the given format. - - - - - - the #GstFormat for the duration - - - - the duration of the stream - - - - - - Set the formats query result fields in @query. The number of formats passed -must be equal to @n_formats. - - - - - - the number of formats to set. - - - - - - - - - - Set the formats query result fields in @query. The number of formats passed -in the @formats array must be equal to @n_formats. - - - - - - the number of formats to set. - - - - an array containing @n_formats - - - - - - - - Answer a latency query by setting the requested values in the given format. - - - - - - if there is a live element upstream - - - - the minimal latency of the live element - - - - the maximal latency of the live element - - - - - - Answer a position query by setting the requested value in the given format. - - - - - - the requested #GstFormat - - - - the position to set - - - - - - Set the seeking query result fields in @query. - - - - - - the format to set for the @segment_start and @segment_end values - - - - the seekable flag to set - - - - the segment_start to set - - - - the segment_end to set - - - - - - Answer a segment query by setting the requested values. The normal -playback segment of a pipeline is 0 to duration at the default rate of -1.0. If a seek was performed on the pipeline to play a different -segment, this query will return the range specified in the last seek. -playback range start and stop values expressed in @format. -The values are always between 0 and the duration of the media and -negative rates, playback will actually happen from @stop_value to - - - - - - the rate of the segment - - - - the #GstFormat of the segment values (@start_value and @stop_value) - - - - the start value - - - - the stop value - - - - - - Answer a URI query by setting the requested URI. - - - - - - the URI to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Standard predefined Query types - - - - - - - - - - - - - - - - A Query Type definition - - - - - - - - - - - - - - - Element priority ranks. Defines the order in which the autoplugger (or -similar rank-picking mechanisms, such as e.g. gst_element_make_from_uri()) -will choose this element over an alternative one with the same function. -These constants serve as a rough guidance for defining the rank of a -#GstPluginFeature. Any value is valid, including values bigger than - - - - - - - Opaque #GstRegistry structure. - - By default GStreamer will perform scanning and rebuilding of the -registry file using a helper child process. -Applications might want to disable this behaviour with the -gst_registry_fork_set_enabled() function, in which case new plugins -are scanned (and loaded) into the application process. -rebuilding the registry. - - %TRUE if GStreamer will use the child helper process when - - - - - Applications might want to disable/enable spawning of a child helper process -when rebuilding the registry. See gst_registry_fork_is_enabled() for more -information. - - - - - - whether rebuilding the registry can use a temporary child helper process. - - - - - - Retrieves the default registry. The caller does not own a reference on the -registry, as it is alive as long as GStreamer is initialized. - - The default #GstRegistry. - - - - - Add the feature to the registry. The feature-added signal will be emitted. -This function sinks @feature. -MT safe. - - TRUE on success. - - - - - the feature to add - - - - - - Add the given path to the registry. The syntax of the -path is specific to the registry. If the path has already been -added, do nothing. - - - - - - the path to add to the registry - - - - - - Add the plugin to the registry. The plugin-added signal will be emitted. -This function will sink @plugin. -MT safe. - - TRUE on success. - - - - - the plugin to add - - - - - - Runs a filter against all features of the plugins in the registry -and returns a GList with the results. -If the first flag is set, only the first match is -returned (as a list with a single object). -#GstPluginFeature. Use gst_plugin_feature_list_free() after usage. -MT safe. - - a #GList of - - - - - - - the filter to use - - - - only return first match - - - - user data passed to the filter function - - - - - - Find the pluginfeature with the given name and type in the registry. -or NULL if the plugin was not found. gst_object_unref() after usage. -MT safe. - - the pluginfeature with the given name and type - - - - - the pluginfeature name to find - - - - the pluginfeature type to find - - - - - - Find the plugin with the given name in the registry. -The plugin will be reffed; caller is responsible for unreffing. -plugin was not found. gst_object_unref() after usage. -MT safe. - - the plugin with the given name or NULL if the - - - - - the plugin name to find - - - - - - Retrieves a #GList of #GstPluginFeature of @type. -#GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use -MT safe. - - a #GList of - - - - - - - a #GType. - - - - - - Retrieves a #GList of features of the plugin with name @name. -#GstPluginFeature. Use gst_plugin_feature_list_free() after usage. - - a #GList of - - - - - - - a plugin name. - - - - - - Returns the registrys feature list cookie. This changes -every time a feature is added or removed from the registry. - - the feature list cookie. - - - - - Get the list of paths for the given registry. -strings. g_list_free after use. -MT safe. - - A #GList of paths as - - - - - - - Get a copy of all plugins registered in the given registry. The refcount -of each element in the list in incremented. -Use gst_plugin_list_free() after usage. -MT safe. - - a #GList of #GstPlugin. - - - - - - - Look up a plugin in the given registry with the given filename. -If found, plugin is reffed. -gst_object_unref() after usage. - - the #GstPlugin if found, or NULL if not. - - - - - the name of the file to look up - - - - - - Find a #GstPluginFeature with @name in @registry. -use gst_object_unref() after usage. -MT safe. - - a #GstPluginFeature with its refcount incremented, - - - - - a #GstPluginFeature name - - - - - - Runs a filter against all plugins in the registry and returns a #GList with -the results. If the first flag is set, only the first match is -returned (as a list with a single object). -Every plugin is reffed; use gst_plugin_list_free() after use, which -will unref again. -Use gst_plugin_list_free() after usage. -MT safe. - - a #GList of #GstPlugin. - - - - - - - the filter to use - - - - only return first match - - - - user data passed to the filter function - - - - - - Remove the feature from the registry. -MT safe. - - - - - - the feature to remove - - - - - - Remove the plugin from the registry. -MT safe. - - - - - - the plugin to remove - - - - - - Scan the given path for plugins to add to the registry. The syntax of the -path is specific to the registry. - - %TRUE if registry changed - - - - - the path to scan - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Signals that a feature has been added to the registry (possibly -replacing a previously-added one by the same name) - - - - - - the feature that has been added - - - - - - Signals that a plugin has been added to the registry (possibly -replacing a previously-added one by the same name) - - - - - - the plugin that has been added - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Resource errors are for any resource used by an element: -memory, files, network connections, process space, ... -They're typically used by source and sink elements. - - - - - - - - - - - - - - - - - - - - - The different search modes. - - - - - - Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags -can be used together. -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. -no EOS will be emmited by the element that performed the seek, but a -#GST_MESSAGE_SEGMENT_DONE message will be posted on the bus by the element. -When this message is posted, it is possible to send a new seek event to -continue playback. With this seek method it is possible to perform seemless -looping or simple linear editing. -When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode -playback, the @GST_SEEK_FLAG_SKIP flag can be used to instruct decoders -and demuxers to adjust the playback rate by skipping frames. This can improve -performance and decrease CPU usage because not all frames need to be decoded. - - - - - - - - - The different types of seek events. When constructing a seek event with -gst_event_new_seek(), 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(). - - - - - - - A helper structure that holds the configured region of -interest in a media file. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Allocate a new #GstSegment structure and initialize it using -gst_segment_init(). - - a new #GstSegment, free with gst_segment_free(). - - - - - Clip the given @start and @stop values to the segment boundaries given -in @segment. @start and @stop are compared and clipped to @segment -start and stop values. -If the function returns FALSE, @start and @stop are known to fall -outside of @segment and @clip_start and @clip_stop are not updated. -When the function returns TRUE, @clip_start and @clip_stop will be -updated. If @clip_start or @clip_stop are different from @start or @stop -respectively, the region fell partially in the segment. -Note that when @stop is -1, @clip_stop will be set to the end of the -segment. Depending on the use case, this may or may not be what you want. -completely in @segment, FALSE if the values are completely outside -of the segment. - - TRUE if the given @start and @stop times fall partially or - - - - - the format of the segment. - - - - the start position in the segment - - - - the stop position in the segment - - - - the clipped start position in the segment - - - - the clipped stop position in the segment - - - - - - Create a copy of given @segment. - - a new #GstSegment, free with gst_segment_free(). - - - - - Free the allocated segment @segment. - - - - - - The start/last_stop positions are set to 0 and the stop/duration -fields are set to -1 (unknown). The default rate of 1.0 and no -flags are set. -Initialize @segment to its default values. - - - - - - the format of the segment. - - - - - - Set the duration of the segment to @duration. This function is mainly -used by elements that perform seeking and know the total duration of the -segment. -This field should be set to allow seeking requests relative to the -duration. - - - - - - the format of the segment. - - - - the duration of the segment info or -1 if unknown. - - - - - - Set the last observed stop position in the segment to @position. -This field should be set to allow seeking requests relative to the -current playing position. - - - - - - the format of the segment. - - - - the position - - - - - - Update the segment structure with the field values of a new segment event and -with a default applied_rate of 1.0. - - - - - - flag indicating a new segment is started or updated - - - - the rate of the segment. - - - - the format of the segment. - - - - the new start value - - - - the new stop value - - - - the new stream time - - - - - - Update the segment structure with the field values of a new segment event. - - - - - - flag indicating a new segment is started or updated - - - - the rate of the segment. - - - - the applied rate of the segment. - - - - the format of the segment. - - - - the new start value - - - - the new stop value - - - - the new stream time - - - - - - Adjust the start/stop and accum values of @segment such that the next valid -buffer will be one with @running_time. -returned, @running_time is -1 or not in @segment. - - %TRUE if the segment could be updated successfully. If %FALSE is - - - - - the format of the segment. - - - - the running_time in the segment - - - - - - Update the segment structure with the field values of a seek event (see -gst_event_new_seek()). -After calling this method, the segment field last_stop and time will -contain the requested new position in the segment. The new requested -position in the segment depends on @rate and @start_type and @stop_type. -For positive @rate, the new position in the segment is the new @segment -start field when it was updated with a @start_type different from -#GST_SEEK_TYPE_NONE. If no update was performed on @segment start position -(#GST_SEEK_TYPE_NONE), @start is ignored and @segment last_stop is -unmodified. -For negative @rate, the new position in the segment is the new @segment -stop field when it was updated with a @stop_type different from -#GST_SEEK_TYPE_NONE. If no stop was previously configured in the segment, the -duration of the segment will be used to update the stop position. -If no update was performed on @segment stop position (#GST_SEEK_TYPE_NONE), -The applied rate of the segment will be set to 1.0 by default. -If the caller can apply a rate change, it should update @segment -rate and applied_rate after calling this function. -last_stop field. This field can be FALSE if, for example, only the @rate -has been changed but not the playback position. - - - - - - the rate of the segment. - - - - the format of the segment. - - - - the seek flags for the segment - - - - the seek method - - - - the seek start value - - - - the seek method - - - - the seek stop value - - - - boolean holding whether last_stop was updated. - - - - - - Convert @running_time into a position in the segment so that -gst_segment_to_running_time() with that position returns @running_time. --1 when @running_time is -1 or when it is not inside @segment. - - the position in the segment for @running_time. This function returns - - - - - the format of the segment. - - - - the running_time in the segment - - - - - - Translate @position to the total running time using the currently configured -and previously accumulated segments. Position is a value between @segment -start and stop time. -This function is typically used by elements that need to synchronize to the -global clock in a pipeline. The runnning time is a constantly increasing value -starting from 0. When gst_segment_init() is called, this value will reset to -0. -This function returns -1 if the position is outside of @segment start and stop. -was given. - - the position as the total running time or -1 when an invalid position - - - - - the format of the segment. - - - - the position in the segment - - - - - - Translate @position to stream time using the currently configured -segment. The @position value must be between @segment start and -stop value. -This function is typically used by elements that need to operate on -the stream time of the buffers it receives, such as effect plugins. -In those use cases, @position is typically the buffer timestamp or -clock time that one wants to convert to the stream time. -The stream time is always between 0 and the total duration of the -media stream. -was given. - - the position in stream_time or -1 when an invalid position - - - - - the format of the segment. - - - - the position in the segment - - - - - - - The possible states an element can be in. States can be changed using -gst_element_set_state() and checked using gst_element_get_state(). - - - - - - - - These are the different state changes an element goes through. -%GST_STATE_NULL &rArr; %GST_STATE_PLAYING is called an upwards state change -and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - - - - - - - - - The possible return values from a state change function. Only - - - - - - - Datastructure to initialize #GstCaps from a string description usually -used in conjunction with GST_STATIC_CAPS() and gst_static_caps_get() to -instantiate a #GstCaps. - - - - - - - - - - - - - Converts a #GstStaticCaps to a #GstCaps. -Since the core holds an additional ref to the returned caps, -use gst_caps_make_writable() on the returned caps to modify it. - - a pointer to the #GstCaps. Unref after usage. - - - - - - - - - - - - - - - - - - - Converts a #GstStaticPadTemplate into a #GstPadTemplate. - - a new #GstPadTemplate. - - - - - Gets the capabilities of the static pad template. -Unref after usage. Since the core holds an additional -ref to the returned caps, use gst_caps_make_writable() -on the returned caps to modify it. - - the #GstCaps of the static pad template. - - - - - - Stream errors are for anything related to the stream being processed: -format errors, media type errors, ... -They're typically used by decoders, demuxers, converters, ... - - - - - - - - - - - - - - - - - The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the -application of new streaming threads and their status. - - - - - - - - - - The GstStructure object. Most fields are private. - - - - - - - - - - - - - - - - - - - Creates a new, empty #GstStructure with the given @name. -See gst_structure_set_name() for constraints on the @name parameter. - - a new, empty #GstStructure - - - - - name of new structure - - - - - - Creates a new, empty #GstStructure with the given name as a GQuark. - - a new, empty #GstStructure - - - - - name of new structure - - - - - - Creates a new #GstStructure with the given name as a GQuark, followed by -fieldname quark, GType, argument(s) "triplets" in the same format as -gst_structure_id_set(). Basically a convenience wrapper around -gst_structure_id_empty_new() and gst_structure_id_set(). -The last variable argument must be NULL (or 0). - - a new #GstStructure - - - - - name of new structure - - - - the GQuark for the name of the field to set - - - - - - - - - - Creates a new #GstStructure with the given name. Parses the -list of variable arguments and sets fields to the values listed. -Variable arguments should be passed as field name, field type, -and value. Last variable argument should be NULL. - - a new #GstStructure - - - - - name of new structure - - - - name of first field to set - - - - - - - - - - Creates a new #GstStructure with the given @name. Structure fields -are set according to the varargs in a manner similar to -gst_structure_new(). -See gst_structure_set_name() for constraints on the @name parameter. - - a new #GstStructure - - - - - name of new structure - - - - name of first field to set - - - - variable argument list - - - - - - Duplicates a #GstStructure and all its fields and values. - - a new #GstStructure. - - - - - Fixates a #GstStructure by changing the given @field_name field to the given - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given field to the nearest -double to @target that is a subset of the existing field. - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given field to the nearest -fraction to @target_numerator/@target_denominator that is a subset -of the existing field. - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - The numerator of the target value of the fixation - - - - The denominator of the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given field to the nearest -integer to @target that is a subset of the existing field. - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Fixates a #GstStructure by changing the given @field_name field to the given - - TRUE if the structure could be fixated - - - - - a field in @structure - - - - the target value of the fixation - - - - - - Calls the provided function once for each field in the #GstStructure. The -function must not modify the fields. Also see gst_structure_map_in_place(). -FALSE otherwise. - - TRUE if the supplied function returns TRUE For each of the fields, - - - - - a function to call for each field - - - - private data - - - - - - Frees a #GstStructure and all its fields and values. The structure must not -have a parent when this function is called. - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -Variable arguments should be in the form field name, field type -(as a GType), pointer(s) to a variable(s) to hold the return value(s). -The last variable argument should be NULL. -For refcounted (mini)objects you will acquire your own reference which -you must release with a suitable _unref() when no longer needed. For -strings and boxed types you will acquire a copy which you will need to -release with either g_free() or the suiteable function for the boxed type. -because the field requested did not exist, or was of a type other -than the type specified), otherwise TRUE. - - FALSE if there was a problem reading any of the fields (e.g. - - - - - the name of the first field to read - - - - - - - - - - Sets the boolean pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a boolean, this -function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #gboolean to set - - - - - - Sets the clock time pointed to by @value corresponding to the clock time -of the given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a #GstClockTime, this -function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #GstClockTime to set - - - - - - Sets the date pointed to by @value corresponding to the date of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -On success @value will point to a newly-allocated copy of the date which -inconsistent with e.g. gst_structure_get_string() which doesn't return a -copy of the string). -with @fieldname or the existing field did not contain a data, this function -returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #GDate to set - - - - - - Sets the datetime pointed to by @value corresponding to the datetime of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -On success @value will point to a reference of the datetime which -should be unreffed with gst_date_time_unref() when no longer needed -(note: this is inconsistent with e.g. gst_structure_get_string() -which doesn't return a copy of the string). -with @fieldname or the existing field did not contain a data, this function -returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a #GstDateTime to set - - - - - - Sets the double pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a double, this -function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a gdouble to set - - - - - - Sets the int pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists, -has the correct type and that the enumtype is correct. -with @fieldname or the existing field did not contain an enum of the given -type, this function returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - the enum type of a field - - - - a pointer to an int to set - - - - - - Finds the field with the given name, and returns the type of the -value it contains. If the field is not found, G_TYPE_INVALID is -returned. - - the #GValue of the field - - - - - the name of the field - - - - - - Sets the Fourcc pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a fourcc, this function -returns FALSE. - - TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a 32bit unsigned int to set - - - - - - Sets the integers pointed to by @value_numerator and @value_denominator -corresponding to the value of the given field. Caller is responsible -for making sure the field exists and has the correct type. -with @fieldname or the existing field did not contain a GstFraction, this -function returns FALSE. - - TRUE if the values could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to an int to set - - - - a pointer to an int to set - - - - - - Sets the int pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain an int, this function -returns %FALSE. - - %TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to an int to set - - - - - - Get the name of @structure as a string. - - the name of the structure. - - - - - Get the name of @structure as a GQuark. - - the quark representing the name of the structure. - - - - - Finds the field corresponding to @fieldname, and returns the string -contained in the field's value. Caller is responsible for making -sure the field exists and has the correct type. -The string should not be modified, and remains valid until the next -call to a gst_structure_*() function with the given structure. -or did not contain a string. - - a pointer to the string or NULL when the field did not exist - - - - - the name of a field - - - - - - Sets the uint pointed to by @value corresponding to the value of the -given field. Caller is responsible for making sure the field exists -and has the correct type. -with @fieldname or the existing field did not contain a uint, this function -returns %FALSE. - - %TRUE if the value could be set correctly. If there was no field - - - - - the name of a field - - - - a pointer to a uint to set - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -valist-variant of gst_structure_get(). Look at the documentation of -gst_structure_get() for more details. - - TRUE, or FALSE if there was a problem reading any of the fields - - - - - the name of the first field to read - - - - variable arguments - - - - - - Get the value of the field with name @fieldname. - - the #GValue corresponding to the field with the given name. - - - - - the name of the field to get - - - - - - Check if @structure contains a field named @fieldname. - - TRUE if the structure contains a field with the given name - - - - - the name of a field - - - - - - Check if @structure contains a field named @fieldname and with GType @type. - - TRUE if the structure contains a field with the given name and type - - - - - the name of a field - - - - the type of a value - - - - - - Checks if the structure has the given name - - TRUE if @name matches the name of the structure. - - - - - structure name to check for - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -Variable arguments should be in the form field id quark, field type -(as a GType), pointer(s) to a variable(s) to hold the return value(s). -The last variable argument should be NULL (technically it should be a -0 quark, but we require NULL so compilers that support it can check for -the NULL terminator and warn if it's not there). -This function is just like gst_structure_get() only that it is slightly -more efficient since it saves the string-to-quark lookup in the global -quark hashtable. -For refcounted (mini)objects you will acquire your own reference which -you must release with a suitable _unref() when no longer needed. For -strings and boxed types you will acquire a copy which you will need to -release with either g_free() or the suiteable function for the boxed type. -because the field requested did not exist, or was of a type other -than the type specified), otherwise TRUE. - - FALSE if there was a problem reading any of the fields (e.g. - - - - - the quark of the first field to read - - - - - - - - - - Parses the variable arguments and reads fields from @structure accordingly. -valist-variant of gst_structure_id_get(). Look at the documentation of -gst_structure_id_get() for more details. - - TRUE, or FALSE if there was a problem reading any of the fields - - - - - the quark of the first field to read - - - - variable arguments - - - - - - Get the value of the field with GQuark @field. -identifier. - - the #GValue corresponding to the field with the given name - - - - - the #GQuark of the field to get - - - - - - Check if @structure contains a field named @field. - - TRUE if the structure contains a field with the given name - - - - - #GQuark of the field name - - - - - - Check if @structure contains a field named @field and with GType @type. - - TRUE if the structure contains a field with the given name and type - - - - - #GQuark of the field name - - - - the type of a value - - - - - - Identical to gst_structure_set, except that field names are -passed using the GQuark for the field name. This allows more efficient -setting of the structure if the caller already knows the associated -quark values. -The last variable argument must be NULL. - - - - - - the GQuark for the name of the field to set - - - - - - - - - - va_list form of gst_structure_id_set(). - - - - - - the name of the field to set - - - - variable arguments - - - - - - Sets the field with the given GQuark @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. - - - - - - a #GQuark representing a field - - - - the new value of the field - - - - - - Sets the field with the given GQuark @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. - - - - - - a #GQuark representing a field - - - - the new value of the field - - - - - - Calls the provided function once for each field in the #GstStructure. In -contrast to gst_structure_foreach(), the function may modify but not delete the -fields. The structure must be mutable. -FALSE otherwise. - - TRUE if the supplied function returns TRUE For each of the fields, - - - - - a function to call for each field - - - - private data - - - - - - Get the number of fields in the structure. - - the number of fields in the structure - - - - - Get the name of the given field number, counting from 0 onwards. - - the name of the given field number - - - - - the index to get the name of - - - - - - Removes all fields in a GstStructure. - - - - - - Removes the field with the given name. If the field with the given -name does not exist, the structure is unchanged. - - - - - - the name of the field to remove - - - - - - Removes the fields with the given names. If a field does not exist, the -argument is ignored. - - - - - - the name of the field to remove - - - - - - - - - - va_list form of gst_structure_remove_fields(). - - - - - - the name of the field to remove - - - - NULL-terminated list of more fieldnames to remove - - - - - - Parses the variable arguments and sets fields accordingly. -Variable arguments should be in the form field name, field type -(as a GType), value(s). The last variable argument should be NULL. - - - - - - the name of the field to set - - - - - - - - - - Sets the name of the structure to the given @name. The string -provided is copied before being used. It must not be empty, start with a -letter and can be followed by letters, numbers and any of "/-_.:". - - - - - - the new name of the structure - - - - - - Sets the parent_refcount field of #GstStructure. This field is used to -determine whether a structure is mutable or not. This function should only be -called by code implementing parent objects of #GstStructure, as described in -the MT Refcounting section of the design documents. - - - - - - a pointer to the parent's refcount - - - - - - va_list form of gst_structure_set(). - - - - - - the name of the field to set - - - - variable arguments - - - - - - Sets the field with the given name @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. - - - - - - the name of the field to set - - - - the new value of the field - - - - - - Sets the field with the given name @field to @value. If the field -does not exist, it is created. If the field exists, the previous -value is replaced and freed. The function will take ownership of @value. - - - - - - the name of the field to set - - - - the new value of the field - - - - - - Converts @structure to a human-readable string representation. -For debugging purposes its easier to do something like this: -|[ -GST_LOG ("structure is %" GST_PTR_FORMAT, structure); -]| -This prints the structure in human readble form. -g_free() after usage. - - (transfer full)L a pointer to string allocated by g_malloc(). - - - - - - The type of a %GST_MESSAGE_STRUCTURE_CHANGE. - - - - - A function that will be called in gst_structure_foreach(). The function may -not modify @value. -the foreach operation should stop with FALSE. - - TRUE if the foreach operation should continue, FALSE if - - - - - the #GQuark of the field name - - - - the #GValue of the field - - - - user data - - - - - - A function that will be called in gst_structure_map_in_place(). The function -may modify @value. -the map operation should stop with FALSE. - - TRUE if the map operation should continue, FALSE if - - - - - the #GQuark of the field name - - - - the #GValue of the field - - - - user data - - - - - - The default implementation of a #GstClock that uses the system time. - - Get a handle to the default system clock. The refcount of the -clock will be increased so you need to unref the clock after -usage. -MT safe. - - the default clock. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Extra tag flags used when registering tags. - - - - - - - - A function that will be called in gst_tag_list_foreach(). The function may -not modify the tag list. - - - - - - the #GstTagList - - - - a name of a tag in @list - - - - user data - - - - - - Opaque #GstTagList data structure. - - Creates a new empty GstTagList. - - An empty tag list - - - - - Creates a new taglist and appends the values for the given tags. It expects -tag-value pairs like gst_tag_list_add(), and a NULL terminator after the -last pair. The type of the values is implicit and is documented in the API -reference, but can also be queried at runtime with gst_tag_get_type(). It -is an error to pass a value of a type not matching the tag type into this -function. The tag list will make copies of any arguments passed -(e.g. strings, buffers). -when no longer needed. - - a new #GstTagList. Free with gst_tag_list_free() - - - - - tag - - - - - - - - - - Just like gst_tag_list_new_full(), only that it takes a va_list argument. -Useful mostly for language bindings. -when no longer needed. - - a new #GstTagList. Free with gst_tag_list_free() - - - - - tag / value pairs to set - - - - - - Sets the values for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - - - - - - - Sets the values for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - tag / value pairs to set - - - - - - Sets the GValues for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - tag / GValue pairs to set - - - - - - Sets the GValue for a given tag using the specified mode. - - - - - - the mode to use - - - - tag - - - - GValue for this tag - - - - - - Sets the GValues for the given tags using the specified mode. - - - - - - the mode to use - - - - tag - - - - - - - - - - Copies a given #GstTagList. - - copy of the given list - - - - - Calls the given function for each tag inside the tag list. Note that if there -is no tag, the function won't be called at all. - - - - - - function to be called for each tag - - - - user specified data - - - - - - Frees the given list and all associated values. - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the first buffer for the given tag in the taglist into the variable -pointed to by @value. Free the buffer with gst_buffer_unref() when it is -no longer needed. -given list or if it was #NULL. - - TRUE, if a buffer was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - address of a GstBuffer pointer variable to store the result into - - - - - - Gets the buffer that is at the given index for the given tag in the given -list and copies it into the variable pointed to by @value. Free the buffer -with gst_buffer_unref() when it is no longer needed. -given list or if it was #NULL. - - TRUE, if a buffer was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - address of a GstBuffer pointer variable to store the result into - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the first date for the given tag in the taglist into the variable -pointed to by @value. Free the date with g_date_free() when it is no longer -needed. -given list or if it was #NULL. - - TRUE, if a date was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - address of a GDate pointer variable to store the result into - - - - - - Gets the date that is at the given index for the given tag in the given -list and copies it into the variable pointed to by @value. Free the date -with g_date_free() when it is no longer needed. -given list or if it was #NULL. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the first datetime for the given tag in the taglist into the variable -pointed to by @value. Unref the date with gst_date_time_unref() when -it is no longer needed. -thegiven list or if it was #NULL. - - TRUE, if a datetime was copied, FALSE if the tag didn't exist in - - - - - tag to read out - - - - address of a #GstDateTime pointer variable to store the result into - - - - - - Gets the datetime that is at the given index for the given tag in the given -list and copies it into the variable pointed to by @value. Unref the datetime -with gst_date_time_unref() when it is no longer needed. -given list or if it was #NULL. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, possibly merging -multiple values into one if multiple values are associated with the tag. -Use gst_tag_list_get_string_index (list, tag, 0, value) if you want -to retrieve the first string associated with this tag unmodified. -The resulting string in @value will be in UTF-8 encoding and should be -freed by the caller using g_free when no longer needed. Since 0.10.24 the -returned string is also guaranteed to be non-NULL and non-empty. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -The resulting string in @value will be in UTF-8 encoding and should be -freed by the caller using g_free when no longer needed. Since 0.10.24 the -returned string is also guaranteed to be non-NULL and non-empty. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Checks how many value are stored in this tag list for the given tag. - - The number of tags stored - - - - - the tag to query - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Copies the contents for the given tag into the value, merging multiple values -into one if multiple values are associated with the tag. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Gets the value that is at the given index for the given tag in the given -list. -tag wasn't available or the tag doesn't have as many entries - - The GValue for the specified entry or NULL if the - - - - - tag to read out - - - - number of entry to read out - - - - - - Inserts the tags of the @from list into the first list using the given mode. - - - - - - list to merge from - - - - the mode to use - - - - - - Checks if the given taglist is empty. - - TRUE if the taglist is empty, otherwise FALSE. - - - - - Merges the two given lists into a new list. If one of the lists is NULL, a -copy of the other is returned. If both lists are NULL, NULL is returned. - - the new list - - - - - second list to merge - - - - the mode to use - - - - - - Peeks at the value that is at the given index for the given tag in the given -list. -The resulting string in @value will be in UTF-8 encoding and doesn't need -to be freed by the caller. The returned string is also guaranteed to -be non-NULL and non-empty. -given list. - - TRUE, if a value was set, FALSE if the tag didn't exist in the - - - - - tag to read out - - - - number of entry to read out - - - - location for the result - - - - - - Removes the given tag from the taglist. - - - - - - tag to remove - - - - - - - A function for merging multiple values of a tag used when registering -tags. - - - - - - the destination #GValue - - - - the source #GValue - - - - - - The different tag merging modes are basically replace, overwrite and append, -already in the element and (B) the ones that are supplied to the element ( -e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a -%GST_EVENT_TAG), how are these tags merged? -In the table below this is shown for the cases that a tag exists in the list -(A) or does not exists (!A) and combinations thereof. -<table frame="all" colsep="1" rowsep="1"> -<title>merge mode</title> -<tgroup cols='5' align='left'> -<thead> -<row> -<entry>merge mode</entry> -<entry>A + B</entry> -<entry>A + !B</entry> -<entry>!A + B</entry> -<entry>!A + !B</entry> -</row> -</thead> -<tbody> -<row> -<entry>REPLACE_ALL</entry> -<entry>B</entry> -<entry>-</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>REPLACE</entry> -<entry>B</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>APPEND</entry> -<entry>A, B</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>PREPEND</entry> -<entry>B, A</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>KEEP</entry> -<entry>A</entry> -<entry>A</entry> -<entry>B</entry> -<entry>-</entry> -</row> -<row> -<entry>KEEP_ALL</entry> -<entry>A</entry> -<entry>A</entry> -<entry>-</entry> -<entry>-</entry> -</row> -</tbody> -</tgroup> -</table> - - - - - - - - - - - Opaque #GstTagSetter data structure. - - - Adds the given tag / value pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - tag / value pairs to set - - - - - - Adds the given tag / GValue pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - tag / GValue pairs to set - - - - - - Adds the given tag / GValue pair on the setter using the given merge mode. - - - - - - the mode to use - - - - tag to set - - - - GValue to set for the tag - - - - - - Adds the given tag / GValue pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - - - - - - - Adds the given tag / value pairs on the setter using the given merge mode. -The list must be terminated with NULL. - - - - - - the mode to use - - - - tag to set - - - - - - - - - - Returns the current list of tags the setter uses. The list should not be -modified or freed. -This function is not thread-safe. -setter or NULL if none is used. - - a current snapshot of the taglist used in the - - - - - Queries the mode by which tags inside the setter are overwritten by tags -from events - - the merge mode used inside the element. - - - - - Merges the given list into the setter's list using the given mode. - - - - - - a tag list to merge from - - - - the mode to merge with - - - - - - Reset the internal taglist. Elements should call this from within the -state-change handler. - - - - - - Sets the given merge mode that is used for adding tags from events to tags -specified by this interface. The default is #GST_TAG_MERGE_KEEP, which keeps -the tags set with this interface and discards tags from events. - - - - - - The mode with which tags are added - - - - - - - #GstTagSetterIFace interface. - - - - - - The #GstTask object. - - Wait for all tasks to be stopped. This is mainly used internally -to ensure proper cleanup of internal data structures in test suites. -MT safe. - - - - - - Create a new Task that will repeatedly call the provided @func -with @data as a parameter. Typically the task will run in -a new thread. -The function cannot be changed after the task has been created. You -must create a new #GstTask to change the function. -This function will not yet create and start a thread. Use gst_task_start() or -gst_task_pause() to create and start the GThread. -Before the task can be used, a #GStaticRecMutex must be configured using the -gst_task_set_lock() function. This lock will always be acquired while -MT safe. - - A new #GstTask. - - - - - The #GstTaskFunction to use - - - - User data to pass to @func - - - - - - Get the #GstTaskPool that this task will use for its streaming -threads. -MT safe. -after usage. - - the #GstTaskPool used by @task. gst_object_unref() - - - - - Get the current state of the task. -MT safe. - - The #GstTaskState of the task - - - - - Joins @task. After this call, it is safe to unref the task -and clean up the lock set with gst_task_set_lock(). -The task will automatically be stopped with this call. -This function cannot be called from within a task function as this -would cause a deadlock. The function will detect this and print a -g_warning. -MT safe. - - %TRUE if the task could be joined. - - - - - Pauses @task. This method can also be called on a task in the -stopped state, in which case a thread will be started and will remain -in the paused state. This function does not wait for the task to complete -the paused state. -MT safe. - - %TRUE if the task could be paused. - - - - - Set the mutex used by the task. The mutex will be acquired before -calling the #GstTaskFunction. -This function has to be called before calling gst_task_pause() or -gst_task_start(). -MT safe. - - - - - - The #GMutex to use - - - - - - Set @pool as the new GstTaskPool for @task. Any new streaming threads that -will be created by @task will now use @pool. -MT safe. - - - - - - a #GstTaskPool - - - - - - Changes the priority of @task to @priority. -MT safe. - - - - - - a new priority for @task - - - - - - Sets the state of @task to @state. -The @task must have a lock associated with it using -gst_task_set_lock() when going to GST_TASK_STARTED or GST_TASK_PAUSED or -this function will return %FALSE. -MT safe. - - %TRUE if the state could be changed. - - - - - the new task state - - - - - - Set callbacks which will be executed when a new thread is needed, the thread -function is entered and left and when the thread is joined. -By default a thread for @task will be created from a default thread pool. -Objects can use custom GThreads or can perform additional configuration of -the threads (such as changing the thread priority) by installing callbacks. -MT safe. - - - - - - a #GstTaskThreadCallbacks pointer - - - - user data passed to the callbacks - - - - called when @user_data is no longer referenced - - - - - - Starts @task. The @task must have a lock associated with it using -gst_task_set_lock() or this function will return %FALSE. -MT safe. - - %TRUE if the task could be started. - - - - - Stops @task. This method merely schedules the task to stop and -will not wait for the task to have completely stopped. Use -gst_task_join() to stop and wait for completion. -MT safe. - - %TRUE if the task could be stopped. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will repeatedly be called in the thread created by -a #GstTask. - - - - - - user data passed to the function - - - - - - The #GstTaskPool object. - - Create a new default task pool. The default task pool will use a regular -GThreadPool for threads. - - a new #GstTaskPool. gst_object_unref() after usage. - - - - - Wait for all tasks to be stopped. This is mainly used internally -to ensure proper cleanup of internal data structures in test suites. -MT safe. - - - - - - Join a task and/or return it to the pool. @id is the id obtained from -gst_task_pool_push(). - - - - - - the id - - - - - - Prepare the taskpool for accepting gst_task_pool_push() operations. -MT safe. - - - - - - Start the execution of a new thread from @pool. -function. This pointer can be NULL, you must check @error to detect -errors. - - a pointer that should be used for the gst_task_pool_join - - - - - the function to call - - - - data to pass to @func - - - - - - Wait for all tasks to be stopped. This is mainly used internally -to ensure proper cleanup of internal data structures in test suites. -MT safe. - - - - - - Join a task and/or return it to the pool. @id is the id obtained from -gst_task_pool_push(). - - - - - - the id - - - - - - Prepare the taskpool for accepting gst_task_pool_push() operations. -MT safe. - - - - - - Start the execution of a new thread from @pool. -function. This pointer can be NULL, you must check @error to detect -errors. - - a pointer that should be used for the gst_task_pool_join - - - - - the function to call - - - - data to pass to @func - - - - - - - - - - - - - - - - - - The #GstTaskPoolClass object. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - a pointer that should be used for the gst_task_pool_join - - - - - - - - the function to call - - - - data to pass to @func - - - - - - - - - - - - - - - - the id - - - - - - - - - - - - - Task function, see gst_task_pool_push(). - - - - - - user data for the task function - - - - - - - - The different states a task can be in - - - - - - Custom GstTask thread callback functions that can be installed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Opaque #GstTrace structure. - - - - - - - - - - - - - - - - - Flush an close the previously allocated @trace. - - - - - - Flush any pending trace entries in @trace to the trace file. -flushed. - - - - - - Set the default #GstTrace to @trace. - - - - - - Flush any pending trace entries in @trace to the trace file, -formatted as a text line with timestamp and sequence numbers. -flushed. - - - - - - - - - - - - - - - - - - - - - - - Object that stores typefind callbacks. To use with #GstTypeFindFactory. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get the length of the data stream. - - The length of the data stream, or 0 if it is not available. - - - - - Returns the @size bytes of the stream to identify beginning at offset. If -offset is a positive number, the offset is relative to the beginning of the -stream, if offset is a negative number the offset is relative to the end of -the stream. The returned memory is valid until the typefinding function -returns and must not be freed. -if that data is not available. - - the requested data, or NULL - - - - - - - The offset - - - - The number of bytes to return - - - - - - If a #GstTypeFindFunction calls this function it suggests the caps with the -given probability. A #GstTypeFindFunction may supply different suggestions -in one call. -It is up to the caller of the #GstTypeFindFunction to interpret these values. - - - - - - The probability in percent that the suggestion is right - - - - The fixed #GstCaps to suggest - - - - - - If a #GstTypeFindFunction calls this function it suggests the caps with the -given probability. A #GstTypeFindFunction may supply different suggestions -in one call. It is up to the caller of the #GstTypeFindFunction to interpret -these values. -This function is similar to gst_type_find_suggest(), only that instead of -passing a #GstCaps argument you can create the caps on the fly in the same -way as you can with gst_caps_new_simple(). -Make sure you terminate the list of arguments with a NULL argument and that -the values passed have the correct type (in terms of width in bytes when -passed to the vararg function - this applies particularly to gdouble and -guint64 arguments). - - - - - - The probability in percent that the suggestion is right - - - - the media type of the suggested caps - - - - first field of the suggested caps, or NULL - - - - - - - - - - - Object that stores information about a typefind function. - - Gets the list of all registered typefind factories. You must free the -list using gst_plugin_feature_list_free(). -The returned factories are sorted by highest rank first, and then by -factory name. (behaviour change since 0.10.26) -registered #GstTypeFindFactory. - - the list of all - - - - - - - Calls the #GstTypeFindFunction associated with this factory. - - - - - - a properly setup #GstTypeFind entry. The get_data and suggest_type members must be set. - - - - - - Gets the #GstCaps associated with a typefind factory. - - the #GstCaps associated with this factory - - - - - Gets the extensions associated with a #GstTypeFindFactory. The returned -array should not be changed. If you need to change stuff in it, you should -copy it using g_strdupv(). This function may return NULL to indicate -a 0-length list. -NULL-terminated array of extensions associated with this factory - - a - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will be called by typefinding. - - - - - - A #GstTypeFind structure - - - - optionnal data to pass to the function - - - - - - The probability of the typefind function. Higher values have more certainty -in doing a reliable typefind. - - - - - - - - Structure used for filtering based on @name and @type. - - - - - - - - - Opaque #GstURIHandler structure. - - Gets the currently handled URI. -Returns NULL if there are no URI currently handled. The -returned string must not be modified or freed. - - the URI currently handled by the @handler. - - - - - Tries to set the URI of the given handler. - - TRUE if the URI was set successfully, else FALSE. - - - - - URI to set - - - - - - Gets the list of protocols supported by @handler. This list may not be -modified. -supported protocols. Returns NULL if the @handler isn't implemented -properly, or the @handler doesn't support any protocols. - - the - - - - - - - Gets the currently handled URI. -Returns NULL if there are no URI currently handled. The -returned string must not be modified or freed. - - the URI currently handled by the @handler. - - - - - Gets the type of the given URI handler -Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - - the #GstURIType of the URI handler. - - - - - Emits the new-uri signal for a given handler, when that handler has a new URI. -This function should only be called by URI handlers themselves. - - - - - - new URI or NULL if it was unset - - - - - - Tries to set the URI of the given handler. - - TRUE if the URI was set successfully, else FALSE. - - - - - URI to set - - - - - - The URI of the given @handler has changed. - - - - - - The new URI, or NULL if the URI was removed - - - - - - - Any #GstElement using this interface should implement these methods. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - the URI currently handled by the @handler. - - - - - - - - - - - - - TRUE if the URI was set successfully, else FALSE. - - - - - - - - URI to set - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The different types of URI direction. - - - - - - - - - - - - - - - - - - Used together with gst_value_compare() to compare #GValue items. -or GST_VALUE_UNORDERED - - one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN - - - - - first value for comparison - - - - second value for comparison - - - - - - Used by gst_value_deserialize() to parse a non-binary form into the #GValue. - - %TRUE for success - - - - - a #GValue - - - - a string - - - - - - Used by gst_value_intersect() to perform intersection for a specific #GValue -type. If the intersection is non-empty, the result is -placed in @dest and TRUE is returned. If the intersection is -empty, @dest is unmodified and FALSE is returned. -Register a new implementation with gst_value_register_intersect_func(). - - %TRUE if the values can intersect - - - - - a #GValue for the result - - - - a #GValue operand - - - - a #GValue operand - - - - - - Used by gst_value_serialize() to obtain a non-binary form of the #GValue. - - the string representation of the value - - - - - a #GValue - - - - - - Used by gst_value_subtract() to perform subtraction for a specific #GValue -type. Register a new implementation with gst_value_register_subtract_func(). - - %TRUE if the subtraction is not empty - - - - - a #GValue for the result - - - - a #GValue operand - - - - a #GValue operand - - - - - - VTable for the #GValue @type. - - - - - - - - - - - - - - - - - - - - Used by gst_value_union() to perform unification for a specific #GValue -type. Register a new implementation with gst_value_register_union_func(). - - %TRUE if a union was successful - - - - - a #GValue for the result - - - - a #GValue operand - - - - a #GValue operand - - - - - - XML parser object - - Create a new GstXML parser object. - - a pointer to a new GstXML object. - - - - - Load the element from the XML description - - the new element - - - - - the xml node - - - - the parent of this object when it's loaded - - - - - - Converts the given element into an XML presentation. - - a pointer to an XML document - - - - - The element to write out - - - - - - Converts the given element into XML and writes the formatted XML to an open -file. - - number of bytes written on success, -1 otherwise. - - - - - The element to write out - - - - an open file, like stdout - - - - - - - - - - - - - - - - - - - This function is used to get a pointer to the GstElement corresponding -to name in the pipeline description. You would use this if you have -to do anything to the element after loading. - - a pointer to a new GstElement, caller owns returned reference. - - - - - The name of element to retrieve - - - - - - Retrieve a list of toplevel elements. -of the list and must not free or modify the list. The caller also does not -own a reference to any of the elements in the list and should obtain its own -reference using gst_object_ref() if necessary. - - a GList of top-level elements. The caller does not own a copy - - - - - - - Fills the GstXML object with the elements from the -xmlDocPtr. - - TRUE on success, FALSE otherwise - - - - - a pointer to an xml document to parse - - - - The name of the root object to build - - - - - - Fills the GstXML object with the corresponding elements from -the XML file fname. Optionally it will only build the element from -the element node root (if it is not NULL). This feature is useful -if you only want to build a specific element from an XML file -but not the pipeline it is embedded in. -Pass "-" as fname to read from stdin. You can also pass a URI -of any format that libxml supports, including http. - - TRUE on success, FALSE otherwise - - - - - The filename with the xml description - - - - The name of the root object to build - - - - - - Fills the GstXML object with the corresponding elements from -an in memory XML buffer. - - TRUE on success - - - - - a pointer to the in memory XML buffer - - - - the size of the buffer - - - - the name of the root objects to build - - - - - - - - - - - - - - - - - - - - - - Signals that a new object has been deserialized. - - - - - - the object that has been loaded - - - - the related xml_node pointer to the document tree - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Check if alloc tracing was compiled into the core -tracing enabled. - - TRUE if the core was compiled with alloc - - - - - Get the named alloc trace object. -no alloc tracer was registered with that name. - - a GstAllocTrace with the given name or NULL when - - - - - the name of the alloc trace object - - - - - - Get a list of all registered alloc trace objects. - - a GList of GstAllocTrace objects. - - - - - - - Get the total number of live registered alloc trace objects. - - the total number of live registered alloc trace objects. - - - - - Print the status of all registered alloc trace objects. - - - - - - Print the status of all registered alloc trace objects, ignoring those -without live objects. - - - - - - Enable the specified options on all registered alloc trace -objects. - - - - - - the options to enable - - - - - - Unconditionally sets the atomic integer to @value. - - - - - - pointer to an atomic integer - - - - value to set - - - - - - Converts @caps from a string representation. - - a newly allocated #GstCaps - - - - - a string to convert to #GstCaps - - - - - - Creates a #GstCaps from its XML serialization. - - a new #GstCaps structure - - - - - a XML node - - - - - - Replaces *caps with @newcaps. Unrefs the #GstCaps in the location -pointed to by @caps, if applicable, then modifies @caps to point to -This function does not take any locks so you might want to lock -the object owning @caps pointer. - - - - - - a pointer to #GstCaps - - - - a #GstCaps to replace *caps - - - - - - Emits the "child-added" signal. - - - - - - the parent object - - - - the newly added child - - - - - - Emits the "child-removed" signal. - - - - - - the parent object - - - - the removed child - - - - - - Gets properties of the parent object and its children. - - - - - - the parent object - - - - name of the first property to get - - - - - - - - - - Gets a single property using the GstChildProxy mechanism. -You are responsible for for freeing it by calling g_value_unset() - - - - - - object to query - - - - name of the property - - - - a #GValue that should take the result. - - - - - - Gets properties of the parent object and its children. - - - - - - the object to query - - - - name of the first property to get - - - - return location for the first property, followed optionally by more name/return location pairs, followed by NULL - - - - - - Looks up which object and #GParamSpec would be effected by the given @name. -case the values for @pspec and @target are not modified. Unref @target after -usage. -MT safe. - - TRUE if @target and @pspec could be found. FALSE otherwise. In that - - - - - object to lookup the property in - - - - name of the property to look up - - - - pointer to a #GstObject that takes the real object to set property on - - - - pointer to take the #GParamSpec describing the property - - - - - - Sets properties of the parent object and its children. - - - - - - the parent object - - - - name of the first property to set - - - - - - - - - - Sets a single property using the GstChildProxy mechanism. - - - - - - the parent object - - - - name of the property to set - - - - new #GValue for the property - - - - - - Sets properties of the parent object and its children. - - - - - - the parent object - - - - name of the first property to set - - - - value for the first property, followed optionally by more name/value pairs, followed by NULL - - - - - - - - - - - - - - - - - - - - - - - - - emits the named class signal. - - - - - - a #GstObject that emits the signal - - - - the name of the signal to emit - - - - data for the signal - - - - - - - - - - - Adds the logging function to the list of logging functions. -Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. - - - - - - the function to use - - - - user data - - - - - - Constructs a string that can be used for getting the desired color in color -terminals. -You need to free the string after use. -definition - - a string containing the color - - - - - the color info - - - - - - Constructs an integer that can be used for getting the desired color in -windows' terminals (cmd.exe). As there is no mean to underline, we simply -ignore this attribute. -This function returns 0 on non-windows machines. - - an integer containing the color definition - - - - - the color info - - - - - - Returns a snapshot of a all categories that are currently in use . This list -may change anytime. -The caller has to free the list after use. -debug categories - - the list of - - - - - - - Returns the default threshold that is used for new categories. - - the default threshold level - - - - - Checks if debugging output is activated. - - TRUE, if debugging is activated - - - - - Checks if the debugging output should be colored. - - TRUE, if the debug output should be colored. - - - - - Get the string representation of a debugging level - - the name - - - - - the level to get the name for - - - - - - Logs the given message using the currently registered debugging handlers. - - - - - - category to log - - - - level of the message is in - - - - the file that emitted the message, usually the __FILE__ identifier - - - - the function that emitted the message - - - - the line from that the message was emitted, usually __LINE__ - - - - the object this message relates to, or NULL if none - - - - a printf style format string - - - - - - - - - - The default logging handler used by GStreamer. Logging functions get called -whenever a macro like GST_DEBUG or similar is used. This function outputs the -message and additional info to stderr (or the log file specified via the -GST_DEBUG_FILE environment variable). -You can add other handlers by using gst_debug_add_log_function(). -And you can remove this handler by calling -gst_debug_remove_log_function(gst_debug_log_default); - - - - - - category to log - - - - level of the message - - - - the file that emitted the message, usually the __FILE__ identifier - - - - the function that emitted the message - - - - the line from that the message was emitted, usually __LINE__ - - - - the object this message relates to, or NULL if none - - - - the actual message - - - - an unused variable, reserved for some user_data. - - - - - - Logs the given message using the currently registered debugging handlers. - - - - - - category to log - - - - level of the message is in - - - - the file that emitted the message, usually the __FILE__ identifier - - - - the function that emitted the message - - - - the line from that the message was emitted, usually __LINE__ - - - - the object this message relates to, or NULL if none - - - - a printf style format string - - - - optional arguments for the format - - - - - - If GST_ENABLE_FUNC_INSTRUMENTATION is defined a stacktrace is available for -gstreamer code, which can be printed with this function. - - - - - - Removes all registered instances of the given logging functions. - - How many instances of the function were removed - - - - - the log function to remove - - - - - - Removes all registered instances of log functions with the given user data. - - How many instances of the function were removed - - - - - user data of the log function to remove - - - - - - If activated, debugging messages are sent to the debugging -handlers. -It makes sense to deactivate it for speed issues. -<note><para>This function is not threadsafe. It makes sense to only call it -during initialization.</para></note> - - - - - - Whether to use debugging output or not - - - - - - Sets or unsets the use of coloured debugging output. -This function may be called before gst_init(). - - - - - - Whether to use colored output or not - - - - - - Sets the default threshold to the given level and updates all categories to -use this threshold. -This function may be called before gst_init(). - - - - - - level to set - - - - - - Sets all categories which match the given glob style pattern to the given -level. - - - - - - name of the categories to set - - - - level to set them to - - - - - - Resets all categories with the given name back to the default level. - - - - - - name of the categories to set - - - - - - Checks whether a plugin feature by the given name exists in the -default registry and whether its version is at least the -version required. -the same as the required version or newer, and #FALSE otherwise. - - #TRUE if the feature could be found and the version is - - - - - the name of the feature (e.g. "oggdemux") - - - - the minimum major version number - - - - the minimum minor version number - - - - the minimum micro version number - - - - - - Clean up any resources created by GStreamer in gst_init(). -It is normally not needed to call this function in a normal application -as the resources will automatically be freed when the program terminates. -This function is therefore mostly used by testsuites and other memory -profiling tools. -After this call GStreamer (including this method) should not be used anymore. - - - - - - - - - - - Get a string describing the error message in the current locale. -the error message (in UTF-8 encoding) - - a newly allocated string describing - - - - - the GStreamer error domain this error belongs to. - - - - the error code belonging to the domain. - - - - - - Iterates over the elements in @list, calling @func with the -list item data for each item. If @func returns TRUE, @data is -prepended to the list of results returned. If @first is true, -the search is halted after the first result is found. -Since gst_filter_run() knows nothing about the type of @data, no -reference will be taken (if @data refers to an object) and no copy of -results. -when no longer needed (the data contained in the list is a flat copy -and does need to be unreferenced or freed). - - the list of results. Free with g_list_free() - - - - - - - a linked list - - - - - - the function to execute for each item - - - - flag to stop execution after a successful item - - - - user data - - - - - - Gets a string representing the given flow return. - - a static string with the name of the flow return. - - - - - a #GstFlowReturn to get the name of. - - - - - - Get the unique quark for the given GstFlowReturn. -invalid return was specified. - - the quark associated with the flow return or 0 if an - - - - - a #GstFlowReturn to get the quark of. - - - - - - Return the format registered with the given nick. -if the format was not registered. - - The format with @nick or GST_FORMAT_UNDEFINED - - - - - The nick of the format - - - - - - Get details about the given format. -MT safe. - - The #GstFormatDefinition for @format or NULL on failure. - - - - - The format to get details of - - - - - - Get a printable name for the given format. Do not modify or free. -the format is unknown. - - a reference to the static name of the format or NULL if - - - - - a #GstFormat - - - - - - Iterate all the registered formats. The format definition is read -only. - - a GstIterator of #GstFormatDefinition. - - - - - Create a new GstFormat based on the nick or return an -already registered format with that nick. -with the same nick. -MT safe. - - A new GstFormat or an already registered format - - - - - The nick of the new format - - - - The description of the new format - - - - - - Get the unique quark for the given format. -is unknown. - - the quark associated with the format or 0 if the format - - - - - a #GstFormat - - - - - - See if the given format is inside the format array. - - TRUE if the format is found inside the array - - - - - The format array to search - - - - the format to find - - - - - - - - - - - - - - - - - - - - - cast a given object to an interface type, and check whether this -interface is supported for this specific instance. - - a gpointer to the interface type - - - - - the object (any sort) from which to cast to the interface - - - - the interface type to cast to - - - - - - check a given object for an interface implementation, and check -whether this interface is supported for this specific instance. - - whether or not the object implements the given interface - - - - - the object (any sort) from which to check from for the interface - - - - the interface type to check for - - - - - - Initializes the GStreamer library, setting up internal path lists, -registering built-in elements, and loading standard plugins. -Unless the plugin registry is disabled at compile time, the registry will be -loaded. By default this will also check if the registry cache needs to be -updated and rescan all plugins if needed. See gst_update_registry() for -details and section -<link linkend="gst-running">Running GStreamer Applications</link> -for how to disable automatic registry updates. -This function should be called before calling any other GLib functions. If -this is not an option, your program must initialise the GLib thread system -using g_thread_init() before any other GLib functions are called. -<note><para> -This function will terminate your program if it was unable to initialize -GStreamer for some reason. If you want your program to fall back, -use gst_init_check() instead. -</para></note> -functions in other glib-style libraries, such as gtk_init(). In -particular, unknown command line options cause this function to -abort program execution. - - - - - - pointer to application's argc - - - - pointer to application's argv - - - - - - - - Initializes the GStreamer library, setting up internal path lists, -registering built-in elements, and loading standard plugins. -This function will return %FALSE if GStreamer could not be initialized -for some reason. If you want your program to fail fatally, -use gst_init() instead. -This function should be called before calling any other GLib functions. If -this is not an option, your program must initialise the GLib thread system -using g_thread_init() before any other GLib functions are called. - - %TRUE if GStreamer could be initialized. - - - - - pointer to application's argc - - - - pointer to application's argv - - - - - - - - Returns a #GOptionGroup with GStreamer's argument specifications. The -group is set up to use standard GOption callbacks, so when using this -group in combination with GOption parsing methods, all argument parsing -and initialization is automated. -This function is useful if you want to integrate GStreamer with other -libraries that use GOption (see g_option_context_add_group() ). -If you use this function, you should make sure you initialise the GLib -threading system as one of the very first things in your program -(see the example at the beginning of this section). - - a pointer to GStreamer's option group. - - - - - - - - - - - - - - - Use this function to check if GStreamer has been initialized with gst_init() -or gst_init_check(). - - TRUE if initialization has been done, FALSE otherwise. - - - - - Checks if the given pointer is a taglist. - - TRUE, if the given pointer is a taglist - - - - - Object that might be a taglist - - - - - - Create a new iterator. This function is mainly used for objects -implementing the next/resync/free function to iterate a data structure. -For each item retrieved, the @item function is called with the lock -held. The @free function is called when the iterator is freed. -MT safe. - - the new #GstIterator. - - - - - the size of the iterator structure - - - - #GType of children - - - - pointer to a #GMutex. - - - - pointer to a guint32 that is changed when the items in the iterator changed. - - - - function to get next item - - - - function to call on each item retrieved - - - - function to resync the iterator - - - - function to free the iterator - - - - - - Create a new iterator designed for iterating @list. -The list you iterate is usually part of a data structure @owner and is -protected with @lock. -The iterator will use @lock to retrieve the next item of the list and it -will then call the @item function before releasing @lock again. -The @item function usualy makes sure that the item remains alive while -responsible for freeing/unreffing the item after usage as explained in -gst_iterator_next(). -When a concurrent update to the list is performed, usually by @owner while -holding @lock, @master_cookie will be updated. The iterator implementation -will notice the update of the cookie and will return %GST_ITERATOR_RESYNC to -the user of the iterator in the next call to gst_iterator_next(). -MT safe. - - the new #GstIterator for @list. - - - - - #GType of elements - - - - pointer to a #GMutex protecting the list. - - - - pointer to a guint32 that is incremented when the list is changed. - - - - pointer to the list - - - - - - object owning the list - - - - function to call for each item - - - - function to call when the iterator is freed - - - - - - This #GstIterator is a convenient iterator for the common -case where a #GstIterator needs to be returned but only -a single object has to be considered. This happens often -for the #GstPadIterIntLinkFunction. - - the new #GstIterator for @object. - - - - - #GType of the passed object - - - - object that this iterator should return - - - - Function that returns a copy of @object or increases its refcount - - - - Function to be called for freeing @object - - - - - - - - - - - Creates a new #GParamSpec instance that hold #GstMiniObject references. - - a newly allocated #GParamSpec instance - - - - - the canonical name of the property - - - - the nickname of the property - - - - a short description of the property - - - - the #GstMiniObject #GType for the property - - - - a combination of #GParamFlags - - - - - - - - - - - This is a convenience wrapper around gst_parse_launch() to create a -#GstBin from a gst-launch-style pipeline description. See -gst_parse_launch() and the gst-launch man page for details about the -syntax. Ghost pads on the bin for unlinked source or sink pads -within the bin can automatically be created (but only a maximum of -one ghost pad for each direction will be created; if you expect -multiple unlinked source pads or multiple unlinked sink pads -and want them all ghosted, you will have to create the ghost pads -yourself). - - a newly-created bin, or NULL if an error occurred. - - - - - command line describing the bin - - - - whether to automatically create ghost pads for unlinked source or sink pads within the bin - - - - - - This is a convenience wrapper around gst_parse_launch() to create a -#GstBin from a gst-launch-style pipeline description. See -gst_parse_launch() and the gst-launch man page for details about the -syntax. Ghost pads on the bin for unlinked source or sink pads -within the bin can automatically be created (but only a maximum of -one ghost pad for each direction will be created; if you expect -multiple unlinked source pads or multiple unlinked sink pads -and want them all ghosted, you will have to create the ghost pads -yourself). - - a newly-created bin, or NULL if an error occurred. - - - - - command line describing the bin - - - - whether to automatically create ghost pads for unlinked source or sink pads within the bin - - - - a parse context allocated with gst_parse_context_new(), or %NULL - - - - parsing options, or #GST_PARSE_FLAG_NONE - - - - - - Allocates a parse context for use with gst_parse_launch_full() or -gst_parse_launchv_full(). -gst_parse_context_free() when no longer needed. - - a newly-allocated parse context. Free with - - - - - Get the error quark used by the parsing subsystem. - - the quark of the parse errors. - - - - - Create a new pipeline based on command line syntax. -Please note that you might get a return value that is not %NULL even though -the @error is set. In this case there was a recoverable parsing error and you -can try to play the pipeline. -more than one toplevel element is specified by the @pipeline_description, -all elements are put into a #GstPipeline, which than is returned. - - a new element on success, %NULL on failure. If - - - - - the command line describing the pipeline - - - - - - Create a new pipeline based on command line syntax. -Please note that you might get a return value that is not %NULL even though -the @error is set. In this case there was a recoverable parsing error and you -can try to play the pipeline. -more than one toplevel element is specified by the @pipeline_description, -all elements are put into a #GstPipeline, which then is returned. - - a new element on success, %NULL on failure. If - - - - - the command line describing the pipeline - - - - a parse context allocated with gst_parse_context_new(), or %NULL - - - - parsing options, or #GST_PARSE_FLAG_NONE - - - - - - Create a new element based on command line syntax. -An error does not mean that the pipeline could not be constructed. - - a new element on success and %NULL on failure. - - - - - null-terminated array of arguments - - - - - - - - Create a new element based on command line syntax. -An error does not mean that the pipeline could not be constructed. -or a partially-constructed bin or element will be returned and @error will -be set (unless you passed #GST_PARSE_FLAG_FATAL_ERRORS in @flags, then -%NULL will always be returned on failure) - - a new element on success; on failure, either %NULL - - - - - null-terminated array of arguments - - - - - - a parse context allocated with gst_parse_context_new(), or %NULL - - - - parsing options, or #GST_PARSE_FLAG_NONE - - - - - - Create a new file descriptor set. If @controllable, it -is possible to restart or flush a call to gst_poll_wait() with -gst_poll_restart() and gst_poll_set_flushing() respectively. -Free with gst_poll_free(). - - a new #GstPoll, or %NULL in case of an error. - - - - - whether it should be possible to control a wait. - - - - - - Create a new poll object that can be used for scheduling cancellable -timeouts. -A timeout is performed with gst_poll_wait(). Multiple timeouts can be -performed from different threads. -Free with gst_poll_free(). - - a new #GstPoll, or %NULL in case of an error. - - - - - Print the element argument in a human readable format in the given -GString. - - - - - - the buffer to print the args in - - - - initial indentation - - - - the element to print the args of - - - - - - Write the pad capabilities in a human readable format into -the given GString. - - - - - - the buffer to print the caps in - - - - initial indentation - - - - the pad to print the caps from - - - - - - - - - - - Some functions in the GStreamer core might install a custom SIGSEGV handler -to better catch and report errors to the application. Currently this feature -is enabled by default when loading plugins. -Applications might want to disable this behaviour with the -gst_segtrap_set_enabled() function. This is typically done if the application -wants to install its own handler without GStreamer interfering. - - %TRUE if GStreamer is allowed to install a custom SIGSEGV handler. - - - - - Applications might want to disable/enable the SIGSEGV handling of -the GStreamer core. See gst_segtrap_is_enabled() for more information. - - - - - - whether a custom SIGSEGV handler should be installed. - - - - - - - - - - - - - - - - - - - - - Creates a #GstStructure from a string representation. -If end is not NULL, a pointer to the place inside the given string -where parsing ended will be returned. -not be parsed. Free with gst_structure_free() after use. - - a new #GstStructure or NULL when the string could - - - - - a string representation of a #GstStructure. - - - - pointer to store the end of the string in. - - - - - - Checks if the given type is already registered. - - TRUE if the type is already registered - - - - - name of the tag - - - - - - Returns the human-readable description of this tag, You must not change or -free this string. - - the human-readable description of this tag - - - - - the tag - - - - - - Gets the flag of @tag. - - the flag of this tag. - - - - - the tag - - - - - - - - - - - - - - - - Gets the #GType used for this tag. - - the #GType of this tag - - - - - the tag - - - - - - Checks if the given tag is fixed. A fixed tag can only contain one value. -Unfixed tags can contain lists of values. - - TRUE, if the given tag is fixed. - - - - - tag to check - - - - - - Copies the contents for the given tag into the value, -merging multiple values into one if multiple values are associated -with the tag. -You must g_value_unset() the value after use. -given list. - - TRUE, if a value was copied, FALSE if the tag didn't exist in the - - - - - uninitialized #GValue to copy into - - - - list to get the tag from - - - - tag to read out - - - - - - This is a convenience function for the func argument of gst_tag_register(). -It concatenates all given strings using a comma. The tag must be registered -as a G_TYPE_STRING or this function will fail. - - - - - - uninitialized GValue to store result in - - - - GValue to copy from - - - - - - This is a convenience function for the func argument of gst_tag_register(). -It creates a copy of the first value from the list. - - - - - - uninitialized GValue to store result in - - - - GValue to copy from - - - - - - Registers a new tag type for the use with GStreamer's type system. If a type -with that name is already registered, that one is used. -The old registration may have used a different type however. So don't rely -on your supplied values. -that there can only be one single value for this tag in a tag list and -any additional values will silenty be discarded when being added (unless -#GST_TAG_MERGE_REPLACE, #GST_TAG_MERGE_REPLACE_ALL, or -#GST_TAG_MERGE_PREPEND is used as merge mode, in which case the new -value will replace the old one in the list). -The merge function will be called from gst_tag_list_copy_value() when -it is required that one or more values for a tag be condensed into -one single value. This may happen from gst_tag_list_get_string(), -gst_tag_list_get_int(), gst_tag_list_get_double() etc. What will happen -exactly in that case depends on how the tag was registered and if a -merge function was supplied and if so which one. -gst_tag_merge_strings_with_comma(). - - - - - - the name or identifier string - - - - a flag describing the type of tag info - - - - the type this data is in - - - - human-readable name - - - - a human-readable description about this tag - - - - function for merging multiple values of this tag, or NULL - - - - - - Create a ringbuffer of @size in the file with @filename to -store trace results in. - - a new #GstTrace. - - - - - a filename - - - - the max size of the file - - - - - - Read a platform independent timer value that can be used in -benchmarks. - - - - - - (out) pointer to hold the result. - - - - - - - - - - - Registers a new typefind function to be used for typefinding. After -registering this function will be available for typefinding. -This function is typically called during an element's plugin initialization. - - TRUE on success, FALSE otherwise - - - - - A #GstPlugin, or NULL for a static typefind function (note that passing NULL only works in GStreamer 0.10.16 and later) - - - - The name for registering - - - - The rank (or importance) of this typefind function - - - - The #GstTypeFindFunction to use - - - - Optional extensions that could belong to this type - - - - - - Optionally the caps that could be returned when typefinding succeeds - - - - Optional user data. This user data must be available until the plugin is unloaded. - - - - a #GDestroyNotify that will be called on @data when the plugin is unloaded. - - - - - - Helper function which constructs a #GTypeInfo structure and registers a -GType, but which generates less linker overhead than a static const -#GTypeInfo structure. For further details of the parameters, please see -#GTypeInfo in the GLib documentation. -Registers type_name as the name of a new static type derived from -parent_type. The value of flags determines the nature (e.g. abstract or -not) of the type. It works by filling a GTypeInfo struct and calling -g_type_register_static(). - - A #GType for the newly-registered type. - - - - - The GType of the parent type the newly registered type will derive from - - - - NULL-terminated string used as the name of the new type - - - - Size of the class structure. - - - - Location of the base initialization function (optional). - - - - Location of the base finalization function (optional). - - - - Location of the class initialization function for class types Location of the default vtable inititalization function for interface types. (optional) - - - - Location of the class finalization function for class types. Location of the default vtable finalization function for interface types. (optional) - - - - User-supplied data passed to the class init/finalize functions. - - - - Size of the instance (object) structure (required for instantiatable types only). - - - - The number of pre-allocated (cached) instances to reserve memory for (0 indicates no caching). Ignored on recent GLib's. - - - - Location of the instance initialization function (optional, for instantiatable types only). - - - - A GTypeValueTable function table for generic handling of GValues of this type (usually only useful for fundamental types). - - - - #GTypeFlags for this GType. E.g: G_TYPE_FLAG_ABSTRACT - - - - - - Forces GStreamer to re-scan its plugin paths and update the default -plugin registry. -Applications will almost never need to call this function, it is only -useful if the application knows new plugins have been installed (or old -ones removed) since the start of the application (or, to be precise, the -first call to gst_init()) and the application wants to make use of any -newly-installed plugins without restarting the application. -Applications should assume that the registry update is neither atomic nor -thread-safe and should therefore not have any dynamic pipelines running -(including the playbin and decodebin elements) and should also not create -any elements or access the GStreamer registry while the update is in -progress. -Note that this function may block for a significant amount of time. -imply that there were changes), otherwise %FALSE. - - %TRUE if the registry has been updated successfully (does not - - - - - Constructs a URI for a given valid protocol and location. -URI. Returns NULL if the given URI protocol is not valid, or the given -location is NULL. - - a new string for this - - - - - - - Protocol for URI - - - - Location for URI - - - - - - - - Extracts the location out of a given valid URI, ie. the protocol and "://" -are stripped from the URI, which means that the location returned includes -the hostname if one is specified. The returned string must be freed using -g_free(). -URI. Returns NULL if the URI isn't valid. If the URI does not contain -a location, an empty string is returned. - - the location for this - - - - - - - A URI string - - - - - - Extracts the protocol out of a given valid URI. The returned string must be -freed using g_free(). - - The protocol for this URI. - - - - - A URI string - - - - - - Checks if the protocol of a given valid URI matches @protocol. - - %TRUE if the protocol matches. - - - - - a URI string - - - - a protocol string (e.g. "http") - - - - - - Tests if the given string is a valid URI identifier. URIs start with a valid -scheme followed by ":" and maybe a string identifying the location. - - TRUE if the string is a valid URI - - - - - A URI string - - - - - - Checks if an element exists that supports the given URI protocol. Note -that a positive return value does not imply that a subsequent call to -gst_element_make_from_uri() is guaranteed to work. - - TRUE - - - - - Whether to check for a source or a sink - - - - Protocol that should be checked for (e.g. "http" or "smb") - - - - - - Tests if the given string is a valid protocol identifier. Protocols -must consist of alphanumeric characters, '+', '-' and '.' and must -start with a alphabetic character. See RFC 3986 Section 3.1. - - TRUE if the string is a valid protocol identifier, FALSE otherwise. - - - - - A string - - - - - - Searches inside @array for @search_data by using the comparison function -As @search_data is always passed as second argument to @search_func it's -not required that @search_data has the same type as the array elements. -The complexity of this search function is O(log (num_elements)). - - The address of the found element or %NULL if nothing was found - - - - - the sorted input array - - - - number of elements in the array - - - - size of every element in bytes - - - - function to compare two elements, @search_data will always be passed as second argument - - - - search mode that should be used - - - - element that should be found - - - - data to pass to @search_func - - - - - - Transforms a #gdouble to a fraction and simplifies -the result. - - - - - - #gdouble to transform - - - - pointer to a #gint to hold the result numerator - - - - pointer to a #gint to hold the result denominator - - - - - - Dumps the memory block into a hex representation. Useful for debugging. - - - - - - a pointer to the memory to dump - - - - the size of the memory block to dump - - - - - - Adds the fractions @a_n/@a_d and @b_n/@b_d and stores -the result in @res_n and @res_d. - - %FALSE on overflow, %TRUE otherwise. - - - - - Numerator of first value - - - - Denominator of first value - - - - Numerator of second value - - - - Denominator of second value - - - - Pointer to #gint to hold the result numerator - - - - Pointer to #gint to hold the result denominator - - - - - - Compares the fractions @a_n/@a_d and @b_n/@b_d and returns --1 if a < b, 0 if a = b and 1 if a > b. - - -1 if a < b; 0 if a = b; 1 if a > b. - - - - - Numerator of first value - - - - Denominator of first value - - - - Numerator of second value - - - - Denominator of second value - - - - - - Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores -the result in @res_n and @res_d. - - %FALSE on overflow, %TRUE otherwise. - - - - - Numerator of first value - - - - Denominator of first value - - - - Numerator of second value - - - - Denominator of second value - - - - Pointer to #gint to hold the result numerator - - - - Pointer to #gint to hold the result denominator - - - - - - Transforms a #gdouble to a fraction and simplifies the result. - - - - - - Fraction numerator as #gint - - - - Fraction denominator #gint - - - - pointer to a #gdouble for the result - - - - - - - - - - - - - - - - Get a timestamp as GstClockTime to be used for interval meassurements. -The timestamp should not be interpreted in any other way. - - the timestamp - - - - - Calculates the greatest common divisor of @a -and @b. - - Greatest common divisor of @a and @b - - - - - First value as #gint - - - - Second value as #gint - - - - - - - - - - - - - - - - Compare two sequence numbers, handling wraparound. -The current implementation just returns (gint32)(@s1 - @s2). -positive number if @s1 is after @s2. - - A negative number if @s1 is before @s2, 0 if they are equal, or a - - - - - A sequence number. - - - - Another sequence number. - - - - - - Return a constantly incrementing sequence number. -This function is used internally to GStreamer to be able to determine which -events and messages are "the same". For example, elements may set the seqnum -on a segment-done message to be the same as that of the last seek event, to -indicate that event and the message correspond to the same segment. -overflow back to 0 at some point. Use gst_util_seqnum_compare() to make sure -you handle wraparound correctly. - - A constantly incrementing 32-bit unsigned integer, which might - - - - - Convertes the string value to the type of the objects argument and -sets the argument with it. -Note that this function silently returns if @object has no property named - - - - - - the object to set the argument of - - - - the name of the argument to set - - - - the string value to set - - - - - - Converts the string to the type of the value and -sets the value with it. -Note that this function is dangerous as it does not return any indication -if the conversion worked or not. - - - - - - the value to set - - - - the string to get the value from - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. -This function can potentially be very slow if val and num are both -greater than G_MAXUINT32. -function returns G_MAXUINT64. If the result is not exactly -representable as an integer it is truncated. See also -gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(), -gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), -gst_util_uint64_scale_int_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - the number to scale - - - - the numerator of the scale ratio - - - - the denominator of the scale ratio - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. -This function can potentially be very slow if val and num are both -greater than G_MAXUINT32. -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded up. See also -gst_util_uint64_scale(), gst_util_uint64_scale_round(), -gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), -gst_util_uint64_scale_int_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - the number to scale - - - - the numerator of the scale ratio - - - - the denominator of the scale ratio - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. @num must be non-negative and -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is truncated. See also -gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(), -gst_util_uint64_scale(), gst_util_uint64_scale_round(), -gst_util_uint64_scale_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - guint64 (such as a #GstClockTime) to scale. - - - - numerator of the scale factor. - - - - denominator of the scale factor. - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. @num must be non-negative and -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded up. See also -gst_util_uint64_scale_int(), gst_util_uint64_scale_int_round(), -gst_util_uint64_scale(), gst_util_uint64_scale_round(), -gst_util_uint64_scale_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - guint64 (such as a #GstClockTime) to scale. - - - - numerator of the scale factor. - - - - denominator of the scale factor. - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. @num must be non-negative and -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded to the nearest integer -(half-way cases are rounded up). See also gst_util_uint64_scale_int(), -gst_util_uint64_scale_int_ceil(), gst_util_uint64_scale(), -gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - guint64 (such as a #GstClockTime) to scale. - - - - numerator of the scale factor. - - - - denominator of the scale factor. - - - - - - Scale @val by the rational number @num / @denom, avoiding overflows and -underflows and without loss of precision. -This function can potentially be very slow if val and num are both -greater than G_MAXUINT32. -function returns G_MAXUINT64. If the result is not exactly -representable as an integer, it is rounded to the nearest integer -(half-way cases are rounded up). See also gst_util_uint64_scale(), -gst_util_uint64_scale_ceil(), gst_util_uint64_scale_int(), -gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(). - - @val * @num / @denom. In the case of an overflow, this - - - - - the number to scale - - - - the numerator of the scale ratio - - - - the denominator of the scale ratio - - - - - - Appends @append_value to the GstValueArray in @value. - - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - the value to append - - - - - - Gets the number of values contained in @value. - - the number of values - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - - - - - - - - Gets the value that is a member of the array contained in @value and -has the index @index. - - the value at the given index - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - index of value to get from the array - - - - - - Prepends @prepend_value to the GstValueArray in @value. - - - - - - a #GValue of type #GST_TYPE_ARRAY - - - - the value to prepend - - - - - - Determines if @value1 and @value2 can be compared. - - TRUE if the values can be compared - - - - - a value to compare - - - - another value to compare - - - - - - Determines if intersecting two values will produce a valid result. -Two values will produce a valid intersection if they have the same -type, or if there is a method (registered by -gst_value_register_intersect_func()) to calculate the intersection. - - TRUE if the values can intersect - - - - - a value to intersect - - - - another value to intersect - - - - - - Checks if it's possible to subtract @subtrahend from @minuend. - - TRUE if a subtraction is possible - - - - - the value to subtract from - - - - the value to subtract - - - - - - Determines if @value1 and @value2 can be non-trivially unioned. -Any two values can be trivially unioned by adding both of them -to a GstValueList. However, certain types have the possibility -to be unioned in a simpler way. For example, an integer range -and an integer can be unioned if the integer is a subset of the -integer range. If there is the possibility that two values can -be unioned, this function returns TRUE. -be unioned. - - TRUE if there is a function allowing the two values to - - - - - a value to union - - - - another value to union - - - - - - Compares @value1 and @value2. If @value1 and @value2 cannot be -compared, the function returns GST_VALUE_UNORDERED. Otherwise, -if @value1 is greater than @value2, GST_VALUE_GREATER_THAN is returned. -If @value1 is less than @value2, GST_VALUE_LESS_THAN is returned. -If the values are equal, GST_VALUE_EQUAL is returned. - - comparison result - - - - - a value to compare - - - - another value to compare - - - - - - Tries to deserialize a string into the type specified by the given GValue. -If the operation succeeds, TRUE is returned, FALSE otherwise. - - TRUE on success - - - - - #GValue to fill with contents of deserialization - - - - string to deserialize - - - - - - Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue, -increasing its reference count. - - mini object contents of @value - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - - - Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets - - FALSE in case of an error (like integer overflow), TRUE otherwise. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Subtracts the @subtrahend from the @minuend and sets @dest to the result. - - FALSE in case of an error (like integer overflow), TRUE otherwise. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Gets the contents of @value. The reference count of the returned -#GstCaps will not be modified, therefore the caller must take one -before getting rid of the @value. - - the contents of @value - - - - - a GValue initialized to GST_TYPE_CAPS - - - - - - Gets the contents of @value. - - the contents of @value - - - - - a GValue initialized to GST_TYPE_DATE - - - - - - Gets the maximum of the range specified by @value. - - the maxumum of the range - - - - - a GValue initialized to GST_TYPE_DOUBLE_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_DOUBLE_RANGE - - - - - - Gets the #guint32 fourcc contained in @value. - - the #guint32 fourcc contained in @value. - - - - - a GValue initialized to #GST_TYPE_FOURCC - - - - - - Gets the denominator of the fraction specified by @value. - - the denominator of the fraction. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Gets the numerator of the fraction specified by @value. - - the numerator of the fraction. - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - - - Gets the maximum of the range specified by @value. - - the maximum of the range - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - - - Gets the maximum of the range specified by @value. - - the maxumum of the range - - - - - a GValue initialized to GST_TYPE_INT64_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_INT64_RANGE - - - - - - Gets the maximum of the range specified by @value. - - the maxumum of the range - - - - - a GValue initialized to GST_TYPE_INT_RANGE - - - - - - Gets the minimum of the range specified by @value. - - the minimum of the range - - - - - a GValue initialized to GST_TYPE_INT_RANGE - - - - - - Get the contents of a %GST_TYPE_MINI_OBJECT derived #GValue. -Does not increase the refcount of the returned object. - - mini object contents of @value - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - - - Gets the contents of @value. - - the contents of @value - - - - - a GValue initialized to GST_TYPE_STRUCTURE - - - - - - Initialises the target value to be of the same type as source and then copies -the contents from source to target. - - - - - - the target value - - - - the source value - - - - - - Calculates the intersection of two values. If the values have -a non-empty intersection, the value representing the intersection -is placed in @dest. If the intersection is non-empty, @dest is -not modified. - - TRUE if the intersection is non-empty - - - - - a uninitialized #GValue that will hold the calculated intersection value - - - - a value to intersect - - - - another value to intersect - - - - - - Tests if the given GValue, if available in a GstStructure (or any other -(which means: multiple possible values, such as data lists or data -ranges) value. - - true if the value is "fixed". - - - - - the #GValue to check - - - - - - Appends @append_value to the GstValueList in @value. - - - - - - a #GValue of type #GST_TYPE_LIST - - - - the value to append - - - - - - Concatenates copies of @value1 and @value2 into a list. Values that are not -of type #GST_TYPE_LIST are treated as if they were lists of length 1. - - - - - - an uninitialized #GValue to take the result - - - - a #GValue - - - - a #GValue - - - - - - Gets the number of values contained in @value. - - the number of values - - - - - a #GValue of type #GST_TYPE_LIST - - - - - - - - - - - Gets the value that is a member of the list contained in @value and -has the index @index. - - the value at the given index - - - - - a #GValue of type #GST_TYPE_LIST - - - - index of value to get from the list - - - - - - Merges copies of @value1 and @value2. Values that are not -of type #GST_TYPE_LIST are treated as if they were lists of length 1. -The result will be put into @dest and will either be a list that will not -contain any duplicates, or a non-list type (if @value1 and @value2 -were equal). - - - - - - an uninitialized #GValue to take the result - - - - a #GValue - - - - a #GValue - - - - - - Prepends @prepend_value to the GstValueList in @value. - - - - - - a #GValue of type #GST_TYPE_LIST - - - - the value to prepend - - - - - - Registers functions to perform calculations on #GValue items of a given -type. Each type can only be added once. - - - - - - structure containing functions to register - - - - - - Registers a function that is called to calculate the intersection -of the values having the types @type1 and @type2. -Intersect functions should be registered at startup before any pipelines are -started, as gst_value_register_intersect_func() is not thread-safe and -cannot be used at the same time as gst_value_intersect() or -gst_value_can_intersect(). - - - - - - the first type to intersect - - - - the second type to intersect - - - - the intersection function - - - - - - Registers @func as a function capable of subtracting the values of -Subtract functions should be registered at startup before any pipelines are -started, as gst_value_register_subtract_func() is not thread-safe and -cannot be used at the same time as gst_value_subtract(). - - - - - - type of the minuend - - - - type of the subtrahend - - - - function to use - - - - - - Registers a union function that can create a union between #GValue items -of the type @type1 and @type2. -Union functions should be registered at startup before any pipelines are -started, as gst_value_register_union_func() is not thread-safe and cannot -be used at the same time as gst_value_union() or gst_value_can_union(). - - - - - - a type to union - - - - another type to union - - - - a function that implments creating a union between the two types - - - - - - tries to transform the given @value into a string representation that allows -getting back this string later on using gst_value_deserialize(). - - the serialization for @value or NULL if none exists - - - - - a #GValue to serialize - - - - - - Sets the contents of @value to @caps. A reference to the -provided @caps will be taken by the @value. - - - - - - a GValue initialized to GST_TYPE_CAPS - - - - the caps to set the value to - - - - - - Sets the contents of @value to coorespond to @date. The actual -#GDate structure is copied before it is used. - - - - - - a GValue initialized to GST_TYPE_DATE - - - - the date to set the value to - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_DOUBLE_RANGE - - - - the start of the range - - - - the end of the range - - - - - - Sets @value to @fourcc. - - - - - - a GValue initialized to #GST_TYPE_FOURCC - - - - the #guint32 fourcc to set - - - - - - Sets @value to the fraction specified by @numerator over @denominator. -The fraction gets reduced to the smallest numerator and denominator, -and if necessary the sign is moved to the numerator. - - - - - - a GValue initialized to #GST_TYPE_FRACTION - - - - the numerator of the fraction - - - - the denominator of the fraction - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - the start of the range (a GST_TYPE_FRACTION GValue) - - - - the end of the range (a GST_TYPE_FRACTION GValue) - - - - - - Sets @value to the range specified by @numerator_start/@denominator_start -and @numerator_end/@denominator_end. - - - - - - a GValue initialized to GST_TYPE_FRACTION_RANGE - - - - the numerator start of the range - - - - the denominator start of the range - - - - the numerator end of the range - - - - the denominator end of the range - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_INT64_RANGE - - - - the start of the range - - - - the end of the range - - - - - - Sets @value to the range specified by @start and @end. - - - - - - a GValue initialized to GST_TYPE_INT_RANGE - - - - the start of the range - - - - the end of the range - - - - - - Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to -The caller retains ownership of the reference. - - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - mini object value to set - - - - - - Sets the contents of @value to @structure. The actual - - - - - - a GValue initialized to GST_TYPE_STRUCTURE - - - - the structure to set the value to - - - - - - Subtracts @subtrahend from @minuend and stores the result in @dest. -Note that this means subtraction as in sets, not as in mathematics. - - %TRUE if the subtraction is not empty - - - - - the destination value for the result if the subtraction is not empty - - - - the value to subtract from - - - - the value to subtract - - - - - - Set the contents of a %GST_TYPE_MINI_OBJECT derived #GValue to -Takes over the ownership of the caller's reference to @mini_object; -the caller doesn't have to unref it any more. - - - - - - a valid #GValue of %GST_TYPE_MINI_OBJECT derived type - - - - mini object value to take - - - - - - Creates a GValue corresponding to the union of @value1 and @value2. - - always returns %TRUE - - - - - the destination value - - - - a value to union - - - - another value to union - - - - - - Gets the version number of the GStreamer library. - - - - - - pointer to a guint to store the major version number - - - - pointer to a guint to store the minor version number - - - - pointer to a guint to store the micro version number - - - - pointer to a guint to store the nano version number - - - - - - This function returns a string that is useful for describing this version -of GStreamer. - - a newly allocated string describing this version - - - - - diff --git a/extra/gstreamer/base/GstBase-0.10.gir b/extra/gstreamer/base/GstBase-0.10.gir deleted file mode 100644 index db5e2bfe3d..0000000000 --- a/extra/gstreamer/base/GstBase-0.10.gir +++ /dev/null @@ -1,5989 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - The opaque #GstAdapter data structure. - - Creates a new #GstAdapter. Free with g_object_unref(). - - a new #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 -returning NULL. - - number of bytes available in @adapter - - - - - Gets the maximum number of bytes that are immediately available without -requiring any expensive operations (like copying the data into a -temporary buffer). -operations - - number of bytes that are available in @adapter without expensive - - - - - Removes all buffers from @adapter. - - - - - - Copies @size bytes of data starting at @offset out of the buffers -contained in @GstAdapter into an array @dest provided by the caller. -The array @dest should be large enough to contain @size bytes. -The user should check that the adapter has (@offset + @size) bytes -available before calling this function. - - - - - - the memory to copy into - - - - - - the bytes offset in the adapter to start from - - - - the number of bytes to copy - - - - - - Flushes the first @flush bytes in the @adapter. The caller must ensure that -at least this many bytes are available. - - - - - - the number of bytes to flush - - - - - - Scan for pattern @pattern with applied mask @mask in the adapter data, -starting from offset @offset. -The bytes in @pattern and @mask are interpreted left-to-right, regardless -of endianness. All four bytes of the pattern must be present in the -adapter for it to match, even if the first or last bytes are masked out. -It is an error to call this function without making sure that there is -enough data (offset+size bytes) in the adapter. -This function calls gst_adapter_masked_scan_uint32_peek() passing NULL -for value. -Example: -<programlisting> -// Assume the adapter contains 0x00 0x01 0x02 ... 0xfe 0xff -gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 0, 256); -// -> returns 0 -gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x00010203, 1, 255); -// -> returns -1 -gst_adapter_masked_scan_uint32 (adapter, 0xffffffff, 0x01020304, 1, 255); -// -> returns 1 -gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0001, 0, 256); -// -> returns -1 -gst_adapter_masked_scan_uint32 (adapter, 0xffff, 0x0203, 0, 256); -// -> returns 0 -gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 256); -// -> returns 2 -gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4); -// -> returns -1 -</programlisting> - - offset of the first match, or -1 if no match was found. - - - - - mask to apply to data before matching against @pattern - - - - pattern to match (after mask is applied) - - - - offset into the adapter data from which to start scanning, returns the last scanned position. - - - - number of bytes to scan from offset - - - - - - Scan for pattern @pattern with applied mask @mask in the adapter data, -starting from offset @offset. If a match is found, the value that matched -is returned through @value, otherwise @value is left untouched. -The bytes in @pattern and @mask are interpreted left-to-right, regardless -of endianness. All four bytes of the pattern must be present in the -adapter for it to match, even if the first or last bytes are masked out. -It is an error to call this function without making sure that there is -enough data (offset+size bytes) in the adapter. - - offset of the first match, or -1 if no match was found. - - - - - mask to apply to data before matching against @pattern - - - - pattern to match (after mask is applied) - - - - offset into the adapter data from which to start scanning, returns the last scanned position. - - - - number of bytes to scan from offset - - - - pointer to uint32 to return matching data - - - - - - Gets the first @size bytes stored in the @adapter. The returned pointer is -valid until the next function is called on the adapter. -Note that setting the returned pointer as the data of a #GstBuffer is -incorrect for general-purpose plugins. The reason is that if a downstream -element stores the buffer so that it has access to it outside of the bounds -of its chain function, the buffer will have an invalid data pointer after -your element flushes the bytes. In that case you should use -gst_adapter_take(), which returns a freshly-allocated buffer that you can set -as #GstBuffer malloc_data or the potentially more performant -gst_adapter_take_buffer(). -Returns #NULL if @size bytes are not available. - - a pointer to the first - - - - - - - the number of bytes to peek - - - - - - Get the timestamp that was before the current byte in the adapter. When -position is returned. -The timestamp is reset to GST_CLOCK_TIME_NONE and the distance is set to 0 when -the adapter is first created or when it is cleared. This also means that before -the first byte with a timestamp is removed from the adapter, the timestamp -and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - - The previously seen timestamp. - - - - - pointer to location for distance, or NULL - - - - - - Adds the data from @buf to the data stored inside @adapter and takes -ownership of the buffer. - - - - - - a #GstBuffer to add to queue in the adapter - - - - - - Returns a freshly allocated buffer containing the first @nbytes bytes of the -Caller owns returned value. g_free after usage. -#NULL if @nbytes bytes are not available - - oven-fresh hot data, or - - - - - - - the number of bytes to take - - - - - - Returns a #GstBuffer containing the first @nbytes bytes of the -This function is potentially more performant than gst_adapter_take() -since it can reuse the memory in pushed buffers by subbuffering -or merging. -Caller owns returned value. gst_buffer_unref() after usage. -the adapter, or #NULL if @nbytes bytes are not available - - a #GstBuffer containing the first @nbytes of - - - - - the number of bytes to take - - - - - - Returns a #GList of buffers containing the first @nbytes bytes of the -When the caller can deal with individual buffers, this function is more -performant because no memory should be copied. -Caller owns returned list and contained buffers. gst_buffer_unref() each -buffer in the list before freeing the list after usage. -containing the first @nbytes of the adapter, or #NULL if @nbytes bytes -are not available - - a #GList of buffers - - - - - - - the number of bytes to take - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The opaque #GstBaseSink data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - If the @sink spawns its own thread for pulling buffers from upstream it -should call this method after it has pulled a buffer. If the element needed -to preroll, this function will perform the preroll and will then block -until the element state is changed. -This function should be called with the PREROLL_LOCK held. -continue. Any other return value should be returned from the render vmethod. - - #GST_FLOW_OK if the preroll completed and processing can - - - - - the mini object that caused the preroll - - - - - - Get the number of bytes that the sink will pull when it is operating in pull -mode. - - the number of bytes @sink will pull in pull mode. - - - - - Get the last buffer that arrived in the sink and was used for preroll or for -rendering. This property can be used to generate thumbnails. -The #GstCaps on the buffer can be used to determine the type of the buffer. -This function returns NULL when no buffer has arrived in the sink yet -or when the sink is not in PAUSED or PLAYING. - - a #GstBuffer. gst_buffer_unref() after usage. - - - - - Get the currently configured latency. - - The configured latency. - - - - - Gets the max lateness value. See gst_base_sink_set_max_lateness for -more details. -before it is dropped and not rendered. A value of -1 means an -unlimited time. - - The maximum time in nanoseconds that a buffer can be late - - - - - Get the render delay of @sink. see gst_base_sink_set_render_delay() for more -information about the render delay. - - the render delay of @sink. - - - - - Checks if @sink is currently configured to synchronize against the -clock. - - TRUE if the sink is configured to synchronize against the clock. - - - - - Get the synchronisation offset of @sink. - - The synchronisation offset. - - - - - Checks if @sink is currently configured to perform asynchronous state -changes to PAUSED. -changes. - - TRUE if the sink is configured to perform asynchronous state - - - - - Checks if @sink is currently configured to store the last received buffer in -the last-buffer property. - - TRUE if the sink is configured to store the last received buffer. - - - - - Checks if @sink is currently configured to send Quality-of-Service events -upstream. - - TRUE if the sink is configured to perform Quality-of-Service. - - - - - Query the sink for the latency parameters. The latency will be queried from -the upstream elements. @live will be TRUE if @sink is configured to -synchronize against the clock. @upstream_live will be TRUE if an upstream -element is live. -If both @live and @upstream_live are TRUE, the sink will want to compensate -for the latency introduced by the upstream elements by setting the -This function is mostly used by subclasses. - - TRUE if the query succeeded. - - - - - if the sink is live - - - - if an upstream element is live - - - - the min latency of the upstream elements - - - - the max latency of the upstream elements - - - - - - Configures @sink to perform all state changes asynchronusly. When async is -disabled, the sink will immediatly go to PAUSED instead of waiting for a -preroll buffer. This feature is usefull if the sink does not synchronize -against the clock or when it is dealing with sparse streams. - - - - - - the new async value. - - - - - - Set the number of bytes that the sink will pull when it is operating in pull -mode. - - - - - - the blocksize in bytes - - - - - - Configures @sink to store the last received buffer in the last-buffer -property. - - - - - - the new enable-last-buffer value. - - - - - - Sets the new max lateness value to @max_lateness. This value is -used to decide if a buffer should be dropped or not based on the -buffer timestamp and the current clock time. A value of -1 means -an unlimited time. - - - - - - the new max lateness value. - - - - - - Configures @sink to send Quality-of-Service events upstream. - - - - - - the new qos value. - - - - - - Set the render delay in @sink to @delay. The render delay is the time -between actual rendering of a buffer and its synchronisation time. Some -devices might delay media rendering which can be compensated for with this -function. -After calling this function, this sink will report additional latency and -other sinks will adjust their latency to delay the rendering of their media. -This function is usually called by subclasses. - - - - - - the new delay - - - - - - Configures @sink to synchronize on the clock or not. When -possible. If @sync is TRUE, the timestamps of the incomming -buffers will be used to schedule the exact render time of its -contents. - - - - - - the new sync value. - - - - - - Adjust the synchronisation of @sink with @offset. A negative value will -render buffers earlier than their timestamp. A positive value will delay -rendering. This function can be used to fix playback of badly timestamped -buffers. - - - - - - the new offset - - - - - - This function will block until @time is reached. It is usually called by -subclasses that use their own internal synchronisation. -If @time is not valid, no sycnhronisation is done and #GST_CLOCK_BADTIME is -returned. Likewise, if synchronisation is disabled in the element or there -is no clock, no synchronisation is done and #GST_CLOCK_BADTIME is returned. -This function should only be called with the PREROLL_LOCK held, like when -receiving an EOS event in the #GstBaseSinkClass.event() vmethod or when -receiving a buffer in -the #GstBaseSinkClass.render() vmethod. -The @time argument should be the running_time of when this method should -return and is not adjusted with any latency or offset configured in the -sink. - - #GstClockReturn - - - - - the running_time to be reached - - - - the jitter to be filled with time diff, or NULL - - - - - - This function will block until @time is reached. It is usually called by -subclasses that use their own internal synchronisation but want to let the -EOS be handled by the base class. -This function should only be called with the PREROLL_LOCK held, like when -receiving an EOS event in the ::event vmethod. -The @time argument should be the running_time of when the EOS should happen -and will be adjusted with any latency and offset configured in the sink. - - #GstFlowReturn - - - - - the running_time to be reached - - - - the jitter to be filled with time diff, or NULL - - - - - - If the #GstBaseSinkClass.render() method performs its own synchronisation -against the clock it must unblock when going from PLAYING to the PAUSED state -and call this method before continuing to render the remaining data. -This function will block until a state change to PLAYING happens (in which -case this function returns #GST_FLOW_OK) or the processing must be stopped due -to a state change to READY or a FLUSH event (in which case this function -returns #GST_FLOW_WRONG_STATE). -This function should only be called with the PREROLL_LOCK held, like in the -render function. -continue. Any other return value should be returned from the render vmethod. - - #GST_FLOW_OK if the preroll completed and processing can - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subclasses can override any of the available virtual methods or not, as -needed. At the minimum, the @render method should be overridden to -output/present buffers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The opaque #GstBaseSrc data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Get the number of bytes that @src will push out with each buffer. - - the number of bytes pushed with each buffer. - - - - - Query if @src timestamps outgoing buffers based on the current running_time. - - %TRUE if the base class will automatically timestamp outgoing buffers. - - - - - Check if an element is in live mode. - - %TRUE if element is in live mode. - - - - - Prepare a new seamless segment for emission downstream. This function must -only be called by derived sub-classes, and only from the create() function, -as the stream-lock needs to be held. -The format for the new segment will be the current format of the source, as -configured with gst_base_src_set_format() - - %TRUE if preparation of the seamless segment succeeded. - - - - - The new start value for the segment - - - - Stop value for the new segment - - - - The position value for the new segent - - - - - - Query the source for the latency parameters. @live will be TRUE when @src is -configured as a live source. @min_latency will be set to the difference -between the running time and the timestamp of the first buffer. -This function is mostly used by subclasses. - - TRUE if the query succeeded. - - - - - if the source is live - - - - the min latency of the source - - - - the max latency of the source - - - - - - Set the number of bytes that @src will push out with each buffer. When - - - - - - the new blocksize in bytes - - - - - - Configure @src to automatically timestamp outgoing buffers based on the -current running_time of the pipeline. This property is mostly useful for live -sources. - - - - - - enable or disable timestamping - - - - - - Sets the default format of the source. This will be the format used -for sending NEW_SEGMENT events and for performing seeks. -If a format of GST_FORMAT_BYTES is set, the element will be able to -operate in pull mode if the #GstBaseSrc.is_seekable() returns TRUE. -This function must only be called in states < %GST_STATE_PAUSED. - - - - - - the format to use - - - - - - If the element listens to a live source, @live should -be set to %TRUE. -A live source will not produce data in the PAUSED state and -will therefore not be able to participate in the PREROLL phase -of a pipeline. To signal this fact to the application and the -pipeline, the state change return value of the live source will -be GST_STATE_CHANGE_NO_PREROLL. - - - - - - new live-mode - - - - - - If the #GstBaseSrcClass.create() method performs its own synchronisation -against the clock it must unblock when going from PLAYING to the PAUSED state -and call this method before continuing to produce the remaining data. -This function will block until a state change to PLAYING happens (in which -case this function returns #GST_FLOW_OK) or the processing must be stopped due -to a state change to READY or a FLUSH event (in which case this function -returns #GST_FLOW_WRONG_STATE). -continue. Any other return value should be returned from the create vmethod. - - #GST_FLOW_OK if @src is PLAYING and processing can - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subclasses can override any of the available virtual methods or not, as -needed. At the minimum, the @create method should be overridden to produce -buffers. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The #GstElement flags that a basesrc element may have. - - - - - - - The opaque #GstBaseTransform data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - See if @trans is configured as a in_place transform. -MT safe. - - TRUE is the transform is configured in in_place mode. - - - - - See if @trans is configured as a passthrough transform. -MT safe. - - TRUE is the transform is configured in passthrough mode. - - - - - Queries if the transform will handle QoS. -MT safe. - - TRUE if QoS is enabled. - - - - - Instructs @trans to renegotiate a new downstream transform on the next -buffer. This function is typically called after properties on the transform -were set that influence the output format. - - - - - - If @gap_aware is %FALSE (the default), output buffers will have the -%GST_BUFFER_FLAG_GAP flag unset. -If set to %TRUE, the element must handle output buffers with this flag set -correctly, i.e. it can assume that the buffer contains neutral data but must -unset the flag if the output is no neutral data. -MT safe. - - - - - - New state - - - - - - Determines whether a non-writable buffer will be copied before passing -to the transform_ip function. -<itemizedlist> -<listitem>Always TRUE if no transform function is implemented.</listitem> -<listitem>Always FALSE if ONLY transform function is implemented.</listitem> -</itemizedlist> -MT safe. - - - - - - Boolean value indicating that we would like to operate on in_place buffers. - - - - - - Set passthrough mode for this filter by default. This is mostly -useful for filters that do not care about negotiation. -Always TRUE for filters which don't implement either a transform -or transform_ip method. -MT safe. - - - - - - boolean indicating passthrough mode. - - - - - - Enable or disable QoS handling in the transform. -MT safe. - - - - - - new state - - - - - - Instructs @trans to suggest new @caps upstream. A copy of @caps will be -taken. - - - - - - caps to suggest - - - - buffer size to suggest - - - - - - Set the QoS parameters in the transform. This function is called internally -when a QOS event is received but subclasses can provide custom information -when needed. -MT safe. - - - - - - the proportion - - - - the diff against the clock - - - - the timestamp of the buffer generating the QoS expressed in running_time. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Subclasses can override any of the available virtual methods or not, as -needed. At minimum either @transform or @transform_ip need to be overridden. -If the element can overwrite the input data with the results (data is of the -same type and quantity) it should provide @transform_ip. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A bit reader instance. - - - - - - - - - - - - - - Frees a #GstBitReader instance, which was previously allocated by -gst_bit_reader_new() or gst_bit_reader_new_from_buffer(). - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - number of bits to read - - - - - - Returns the current position of a #GstBitReader instance in bits. - - The current position of @reader in bits. - - - - - Returns the remaining number of bits of a #GstBitReader instance. - - The remaining number of bits of @reader instance. - - - - - Returns the total number of bits of a #GstBitReader instance. - - The total number of bits of @reader instance. - - - - - Initializes a #GstBitReader instance to read from @data. This function -can be called on already initialized instances. - - - - - - data from which the bit reader should read - - - - - - Size of @data in bytes - - - - - - Initializes a #GstBitReader instance to read from @buffer. This function -can be called on already initialized instances. - - - - - - Buffer from which the #GstBitReader should read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - number of bits to read - - - - - - Read @nbits bits into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - number of bits to read - - - - - - Sets the new position of a #GstBitReader instance to @pos in bits. -otherwise. - - %TRUE if the position could be set successfully, %FALSE - - - - - The new position in bits - - - - - - Skips @nbits bits of the #GstBitReader instance. - - %TRUE if @nbits bits could be skipped, %FALSE otherwise. - - - - - the number of bits to skip - - - - - - Skips until the next byte. - - %TRUE if successful, %FALSE otherwise. - - - - - - A byte reader instance. - - - - - - - - - - - Returns a newly-allocated copy of the current data -position if at least @size bytes are left and -updates the current position. Free with g_free() when no longer needed. - - %TRUE if successful, %FALSE otherwise. - - - - - Size in bytes - - - - address of a #guint8 pointer variable in which to store the result - - - - - - - - Returns a newly-allocated copy of the current data position if there is -a NUL-terminated UTF-16 string in the data (this could be an empty string -as well), and advances the current position. -No input checking for valid UTF-16 is done. This function is endianness -agnostic - you should not assume the UTF-16 characters are in host -endianness. -This function will fail if no NUL-terminator was found in in the data. -byte alignment of the UTF-16 string. -string put into @str must be freed with g_free() when no longer needed. - - %TRUE if a string could be read, %FALSE otherwise. The - - - - - address of a #guint16 pointer varieble in which to store the result - - - - - - - - Returns a newly-allocated copy of the current data position if there is -a NUL-terminated UTF-32 string in the data (this could be an empty string -as well), and advances the current position. -No input checking for valid UTF-32 is done. This function is endianness -agnostic - you should not assume the UTF-32 characters are in host -endianness. -This function will fail if no NUL-terminator was found in in the data. -byte alignment of the UTF-32 string. -string put into @str must be freed with g_free() when no longer needed. - - %TRUE if a string could be read, %FALSE otherwise. The - - - - - address of a #guint32 pointer varieble in which to store the result - - - - - - - - FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance, -advancing the current position to the byte after the string. This will work -for any NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. -string put into @str must be freed with g_free() when no longer needed. - - %TRUE if a string could be read into @str, %FALSE otherwise. The - - - - - address of a #gchar pointer varieble in which to store the result - - - - - - - - Frees a #GstByteReader instance, which was previously allocated by -gst_byte_reader_new() or gst_byte_reader_new_from_buffer(). - - - - - - Returns a constant pointer to the current data -position if at least @size bytes are left and -updates the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Size in bytes - - - - address of a #guint8 pointer variable in which to store the result - - - - - - - - Read a 32 bit big endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 32 bit little endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 64 bit big endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a 64 bit little endian floating point value into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a signed 16 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 16 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 24 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 24 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 64 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 64 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 8 bit integer into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint8 to store the result - - - - - - Returns the current position of a #GstByteReader instance in bytes. - - The current position of @reader in bytes. - - - - - Returns the remaining number of bytes of a #GstByteReader instance. - - The remaining number of bytes of @reader instance. - - - - - Returns the total number of bytes of a #GstByteReader instance. - - The total number of bytes of @reader instance. - - - - - Returns a constant pointer to the current data position if there is -a NUL-terminated string in the data (this could be just a NUL terminator), -advancing the current position to the byte after the string. This will work -for any NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. -No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be found, %FALSE otherwise. - - - - - address of a #gchar pointer varieble in which to store the result - - - - - - - - Read an unsigned 16 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 16 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 24 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 24 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 64 bit big endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 64 bit little endian integer into @val -and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 8 bit integer into @val and update the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - - - Initializes a #GstByteReader instance to read from @data. This function -can be called on already initialized instances. - - - - - - data from which the #GstByteReader should read - - - - - - Size of @data in bytes - - - - - - Initializes a #GstByteReader instance to read from @buffer. This function -can be called on already initialized instances. - - - - - - Buffer from which the #GstByteReader should read - - - - - - Scan for pattern @pattern with applied mask @mask in the byte reader data, -starting from offset @offset relative to the current position. -The bytes in @pattern and @mask are interpreted left-to-right, regardless -of endianness. All four bytes of the pattern must be present in the -byte reader data for it to match, even if the first or last bytes are masked -out. -It is an error to call this function without making sure that there is -enough data (offset+size bytes) in the byte reader. -Example: -<programlisting> -// Assume the reader contains 0x00 0x01 0x02 ... 0xfe 0xff -gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 0, 256); -// -> returns 0 -gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x00010203, 1, 255); -// -> returns -1 -gst_byte_reader_masked_scan_uint32 (reader, 0xffffffff, 0x01020304, 1, 255); -// -> returns 1 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0001, 0, 256); -// -> returns -1 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff, 0x0203, 0, 256); -// -> returns 0 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 256); -// -> returns 2 -gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); -// -> returns -1 -</programlisting> - - offset of the first match, or -1 if no match was found. - - - - - mask to apply to data before matching against @pattern - - - - pattern to match (after mask is applied) - - - - offset from which to start scanning, relative to the current position - - - - number of bytes to scan from offset - - - - - - Returns a constant pointer to the current data -position if at least @size bytes are left and -keeps the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Size in bytes - - - - address of a #guint8 pointer variable in which to store the result - - - - - - - - Read a 32 bit big endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 32 bit little endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gfloat to store the result - - - - - - Read a 64 bit big endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a 64 bit little endian floating point value into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gdouble to store the result - - - - - - Read a signed 16 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 16 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint16 to store the result - - - - - - Read a signed 24 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 24 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 32 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint32 to store the result - - - - - - Read a signed 64 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 64 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint64 to store the result - - - - - - Read a signed 8 bit integer into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #gint8 to store the result - - - - - - Returns a constant pointer to the current data position if there is -a NUL-terminated string in the data (this could be just a NUL terminator). -The current position will be maintained. This will work for any -NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. -No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - address of a #gchar pointer varieble in which to store the result - - - - - - - - Read an unsigned 16 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 16 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint16 to store the result - - - - - - Read an unsigned 24 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 24 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 32 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint32 to store the result - - - - - - Read an unsigned 64 bit big endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 64 bit little endian integer into @val -but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint64 to store the result - - - - - - Read an unsigned 8 bit integer into @val but keep the current position. - - %TRUE if successful, %FALSE otherwise. - - - - - Pointer to a #guint8 to store the result - - - - - - Sets the new position of a #GstByteReader instance to @pos in bytes. -otherwise. - - %TRUE if the position could be set successfully, %FALSE - - - - - The new position in bytes - - - - - - Skips @nbytes bytes of the #GstByteReader instance. - - %TRUE if @nbytes bytes could be skipped, %FALSE otherwise. - - - - - the number of bytes to skip - - - - - - Skips a NUL-terminated UTF-16 string in the #GstByteReader instance, -advancing the current position to the byte after the string. -No input checking for valid UTF-16 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - Skips a NUL-terminated UTF-32 string in the #GstByteReader instance, -advancing the current position to the byte after the string. -No input checking for valid UTF-32 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - Skips a NUL-terminated string in the #GstByteReader instance, advancing -the current position to the byte after the string. This will work for -any NUL-terminated string with a character width of 8 bits, so ASCII, -UTF-8, ISO-8859-N etc. No input checking for valid UTF-8 is done. -This function will fail if no NUL-terminator was found in in the data. - - %TRUE if a string could be skipped, %FALSE otherwise. - - - - - - A byte writer instance. - - - - - - - - - - - - - - Checks if enough free space from the current write cursor is -available and reallocates if necessary. - - %TRUE if at least @size bytes are still available - - - - - Number of bytes that should be available - - - - - - Writes @size bytes containing @value to @writer. - - %TRUE if the value could be written - - - - - Value to be writen - - - - Number of bytes to be writen - - - - - - Frees @writer and all memory allocated by it. - - - - - - Frees @writer and all memory allocated by it except -the current data, which is returned as #GstBuffer. -after usage. - - the current data as buffer. gst_buffer_unref() - - - - - Frees @writer and all memory allocated by it except -the current data, which is returned. - - the current data. g_free() after usage. - - - - - Returns the remaining size of data that can still be written. If --1 is returned the remaining size is only limited by system resources. - - the remaining size of data that can still be written - - - - - Initializes @writer to an empty instance - - - - - - Initializes @writer with the given -buffer. If @initialized is %TRUE it is possible to -read the complete buffer from the #GstByteWriter from the beginning. -<note>@buffer must be writable</note> - - - - - - Buffer used for writing - - - - If %TRUE the complete data can be read from the beginning - - - - - - Initializes @writer with the given -memory area. If @initialized is %TRUE it is possible to -read @size bytes from the #GstByteWriter from the beginning. - - - - - - Memory area for writing - - - - - - Size of @data in bytes - - - - If %TRUE the complete data can be read from the beginning - - - - - - Initializes @writer with the given initial data size. - - - - - - Initial size of data - - - - If %TRUE the data can't be reallocated - - - - - - Writes @size bytes of @data to @writer. - - %TRUE if the value could be written - - - - - Data to write - - - - - - Size of @data in bytes - - - - - - Writes a big endian 32 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a little endian 32 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a big endian 64 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a little endian 64 bit float to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed big endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed little endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a signed 8 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a NUL-terminated UTF16 string to @writer (including the terminator). - - %TRUE if the value could be written - - - - - UTF16 string to write - - - - - - - - Writes a NUL-terminated UTF32 string to @writer (including the terminator). - - %TRUE if the value could be written - - - - - UTF32 string to write - - - - - - - - Writes a NUL-terminated UTF8 string to @writer (including the terminator). - - %TRUE if the value could be written - - - - - UTF8 string to write - - - - - - - - Writes a unsigned big endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 16 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned big endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 24 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned big endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 32 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned big endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned little endian 64 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Writes a unsigned 8 bit integer to @writer. - - %TRUE if the value could be written - - - - - Value to write - - - - - - Resets @writer and frees the data if it's -owned by @writer. - - - - - - Resets @writer and returns the current data as buffer. -after usage. - - the current data as buffer. gst_buffer_unref() - - - - - Resets @writer and returns the current data. - - the current data. g_free() after usage. - - - - - - Structure used by the collect_pads. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will be called when the #GstCollectData will be freed. -It is passed the pointer to the structure and should free any custom -memory and resources allocated for it. - - - - - - the #GstCollectData that will be freed - - - - - - Collectpads object. -Note that @data is only reliable for iterating the list of #GstCollectData -when inside the #GstCollectPadsFunction callback. - - Create a new instance of #GstCollectPads. -MT safe. - - a new #GstCollectPads, or NULL in case of an error. - - - - - Add a pad to the collection of collect pads. The pad has to be -a sinkpad. The refcount of the pad is incremented. Use -gst_collect_pads_remove_pad() to remove the pad from the collection -again. -This function will override the chain and event functions of the pad -along with the element_private data, which is used to store private -information for the collectpads. -You specify a size for the returned #GstCollectData structure -so that you can use it to store additional information. -The pad will be automatically activated in push mode when @pads is -started. -This function calls gst_collect_pads_add_pad_full() passing a value of NULL -for destroy_notify. -if wrong parameters are supplied. -MT safe. - - a new #GstCollectData to identify the new pad. Or NULL - - - - - the pad to add - - - - the size of the returned #GstCollectData structure - - - - - - Add a pad to the collection of collect pads. The pad has to be -a sinkpad. The refcount of the pad is incremented. Use -gst_collect_pads_remove_pad() to remove the pad from the collection -again. -You specify a size for the returned #GstCollectData structure -so that you can use it to store additional information. -You can also specify a #GstCollectDataDestroyNotify that will be called -just before the #GstCollectData structure is freed. It is passed the -pointer to the structure and should free any custom memory and resources -allocated for it. -The pad will be automatically activated in push mode when @pads is -started. -if wrong parameters are supplied. -MT safe. - - a new #GstCollectData to identify the new pad. Or NULL - - - - - the pad to add - - - - the size of the returned #GstCollectData structure - - - - function to be called before the returned #GstCollectData structure is freed - - - - - - Query how much bytes can be read from each queued buffer. This means -that the result of this call is the maximum number of bytes that can -be read from each of the pads. -This function should be called with @pads LOCK held, such as -in the callback. -returns 0 if a pad has no queued buffer. -MT safe. - - The maximum number of bytes queued on all pads. This function - - - - - Collect data on all pads. This function is usually called -from a #GstTask function in an element. -This function is currently not implemented. -MT safe. - - #GstFlowReturn of the operation. - - - - - Collect data with @offset and @length on all pads. This function -is typically called in the getrange function of an element. -This function is currently not implemented. -MT safe. - - #GstFlowReturn of the operation. - - - - - the offset to collect - - - - the length to collect - - - - - - Flush @size bytes from the pad @data. -This function should be called with @pads LOCK held, such as -in the callback. -is 0 if the pad was end-of-stream. -MT safe. - - The number of bytes flushed. This can be less than @size and - - - - - the data to use - - - - the number of bytes to flush - - - - - - Check if a pad is active. -This function is currently not implemented. -MT safe. - - %TRUE if the pad is active. - - - - - the pad to check - - - - - - Peek at the buffer currently queued in @data. This function -should be called with the @pads LOCK held, such as in the callback -handler. -should unref the buffer after usage. -MT safe. - - The buffer in @data or NULL if no buffer is queued. - - - - - the data to use - - - - - - Pop the buffer currently queued in @data. This function -should be called with the @pads LOCK held, such as in the callback -handler. -queued. You should unref the buffer after usage. -MT safe. - - The buffer in @data or NULL if no buffer was - - - - - the data to use - - - - - - Get a pointer in @bytes where @size bytes can be read from the -given pad @data. -This function should be called with @pads LOCK held, such as -in the callback. -memory pointed to by @bytes. This can be less than @size and -is 0 if the pad is end-of-stream. -MT safe. - - The number of bytes available for consumption in the - - - - - the data to use - - - - a pointer to a byte array - - - - - - the number of bytes to read - - - - - - Get a buffer of @size bytes from the given pad @data. -This function should be called with @pads LOCK held, such as in the callback. -that requested. A return of NULL signals that the pad is end-of-stream. -Unref the buffer with gst_buffer_unref() after use. -MT safe. - - a #GstBuffer. The size of the buffer can be less - - - - - the data to use - - - - the number of bytes to read - - - - - - Remove a pad from the collection of collect pads. This function will also -free the #GstCollectData and all the resources that were allocated with -gst_collect_pads_add_pad(). -The pad will be deactivated automatically when @pads is stopped. -MT safe. - - %TRUE if the pad could be removed. - - - - - the pad to remove - - - - - - Install a clipping function that is called right after a buffer is received -on a pad managed by @pads. See #GstCollectDataClipFunction for more info. - - - - - - clip function to install - - - - user data to pass to @clip_func - - - - - - Change the flushing state of all the pads in the collection. No pad -is able to accept anymore data when @flushing is %TRUE. Calling this -function with @flushing %FALSE makes @pads accept data again. -MT safe. - - - - - - desired state of the pads - - - - - - Set the callback function and user data that will be called when -all the pads added to the collection have buffers queued. -MT safe. - - - - - - the function to set - - - - user data passed to the function - - - - - - Starts the processing of data in the collect_pads. -MT safe. - - - - - - Stops the processing of data in the collect_pads. this function -will also unblock any blocking operations. -MT safe. - - - - - - Get a buffer of @size bytes from the given pad @data. Flushes the amount -of read bytes. -This function should be called with @pads LOCK held, such as in the callback. -that requested. A return of NULL signals that the pad is end-of-stream. -Unref the buffer after use. -MT safe. - - a #GstBuffer. The size of the buffer can be less - - - - - the data to use - - - - the number of bytes to read - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - A function that will be called when @buffer is received on the pad managed -by @data in the collecpad object @pads. -The function should use the segment of @data and the negotiated media type on -the pad to perform clipping of @buffer. -This function takes ownership of @buffer. -the buffer has been clipped completely. - - a #GstBuffer that contains the clipped data of @buffer or NULL when - - - - - a #GstCollectPads - - - - a #GstCollectData - - - - a #GstBuffer - - - - user data - - - - - - A function that will be called when all pads have received data. - - #GST_FLOW_OK for success - - - - - the #GstCollectPads that triggered the callback - - - - user data passed to gst_collect_pads_set_function() - - - - - - - - Opaque #GstDataQueue structure. - - - a new #GstDataQueue. - - - - - the callback used to tell if the element considers the queue full or not. - - - - a #gpointer that will be given in the @checkfull callback. - - - - - - Creates a new #GstDataQueue. The difference with @gst_data_queue_new is that it will -not emit the 'full' and 'empty' signals, but instead calling directly @fullcallback -or @emptycallback. - - a new #GstDataQueue. - - - - - the callback used to tell if the element considers the queue full or not. - - - - the callback which will be called when the queue is considered full. - - - - the callback which will be called when the queue is considered empty. - - - - a #gpointer that will be given in the @checkfull callback. - - - - - - Pop and unref the head-most #GstMiniObject with the given #GType. - - TRUE if an element was removed. - - - - - The #GType of the item to drop. - - - - - - Flushes all the contents of the @queue. Any call to #gst_data_queue_push and -#gst_data_queue_pop will be released. -MT safe. - - - - - - Get the current level of the queue. - - - - - - the location to store the result - - - - - - Queries if there are any items in the @queue. -MT safe. - - #TRUE if @queue is empty. - - - - - Queries if @queue is full. This check will be done using the -#GstDataQueueCheckFullFunction registered with @queue. -MT safe. - - #TRUE if @queue is full. - - - - - Inform the queue that the limits for the fullness check have changed and that -any blocking gst_data_queue_push() should be unblocked to recheck the limts. - - - - - - Retrieves the first @item available on the @queue. If the queue is currently -empty, the call will block until at least one item is available, OR the -MT safe. - - #TRUE if an @item was successfully retrieved from the @queue. - - - - - pointer to store the returned #GstDataQueueItem. - - - - - - Pushes a #GstDataQueueItem (or a structure that begins with the same fields) -on the @queue. If the @queue is full, the call will block until space is -available, OR the @queue is set to flushing state. -MT safe. -Note that this function has slightly different semantics than gst_pad_push() -the #GstMiniObject contained in @item if the push was successful. If FALSE -is returned, the caller is responsible for freeing @item and its contents. - - #TRUE if the @item was successfully pushed on the @queue. - - - - - a #GstDataQueueItem. - - - - - - Sets the queue to flushing state if @flushing is #TRUE. If set to flushing -state, any incoming data on the @queue will be discarded. Any call currently -blocking on #gst_data_queue_push or #gst_data_queue_pop will return straight -away with a return value of #FALSE. While the @queue is in flushing state, -all calls to those two functions will return #FALSE. -MT Safe. - - - - - - a #gboolean stating if the queue will be flushing or not. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Reports that the queue became empty (empty). -A queue is empty if the total amount of visible items inside it (num-visible, time, -size) is lower than the boundary values which can be set through the GObject -properties. - - - - - - Reports that the queue became full (full). -A queue is full if the total amount of data inside it (num-visible, time, -size) is higher than the boundary values which can be set through the GObject -properties. - - - - - - - The prototype of the function used to inform the queue that it should be -considered as full. - - #TRUE if the queue should be considered full. - - - - - a #GstDataQueue. - - - - The number of visible items currently in the queue. - - - - The amount of bytes currently in the queue. - - - - The accumulated duration of the items currently in the queue. - - - - The #gpointer registered when the #GstDataQueue was created. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Structure used by #GstDataQueue. You can supply a different structure, as -long as the top of the structure is identical to this structure. - - - - - - - - - - - - - - - - - - Structure describing the size of a queue. - - - - - - - - - - - - The opaque #GstPushSrc data structure. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - This function will be called by gst_type_find_helper_get_range() when -typefinding functions request to peek at the data of a stream at certain -offsets. If this function returns GST_FLOW_OK, the result buffer will be -stored in @buffer. The contents of @buffer is invalid for any other -return value. -This function is supposed to behave exactly like a #GstPadGetRangeFunction. - - GST_FLOW_OK for success - - - - - a #GstObject that will handle the getrange request - - - - the offset of the range - - - - the length of the range - - - - a memory location to hold the result buffer - - - - - - Create a new #GstBitReader instance, which will read from @data. - - a new #GstBitReader instance - - - - - Data from which the #GstBitReader should read - - - - Size of @data in bytes - - - - - - Create a new #GstBitReader instance, which will read from the -#GstBuffer @buffer. - - a new #GstBitReader instance - - - - - Buffer from which the #GstBitReader should read - - - - - - Create a new #GstByteReader instance, which will read from @data. - - a new #GstByteReader instance - - - - - data from which the #GstByteReader should read - - - - - - Size of @data in bytes - - - - - - Create a new #GstByteReader instance, which will read from the -#GstBuffer @buffer. - - a new #GstByteReader instance - - - - - Buffer from which the #GstByteReader should read - - - - - - Creates a new, empty #GstByteWriter instance - - a new, empty #GstByteWriter instance - - - - - Creates a new #GstByteWriter instance with the given -buffer. If @initialized is %TRUE it is possible to -read the complete buffer from the #GstByteWriter from the beginning. -<note>@buffer must be writable</note> - - a new #GstByteWriter instance - - - - - Buffer used for writing - - - - If %TRUE the complete data can be read from the beginning - - - - - - Creates a new #GstByteWriter instance with the given -memory area. If @initialized is %TRUE it is possible to -read @size bytes from the #GstByteWriter from the beginning. - - a new #GstByteWriter instance - - - - - Memory area for writing - - - - Size of @data in bytes - - - - If %TRUE the complete data can be read from the beginning - - - - - - Creates a new #GstByteWriter instance with the given -initial data size. - - a new #GstByteWriter instance - - - - - Initial size of data - - - - If %TRUE the data can't be reallocated - - - - - - Tries to find what type of data is flowing from the given source #GstPad. -Returns #NULL if no #GstCaps matches the data stream. - - the #GstCaps corresponding to the data stream. - - - - - A source #GstPad - - - - The length in bytes - - - - - - Tries to find what type of data is contained in the given #GstBuffer, the -assumption being that the buffer represents the beginning of the stream or -file. -All available typefinders will be called on the data in order of rank. If -a typefinding function returns a probability of #GST_TYPE_FIND_MAXIMUM, -typefinding is stopped immediately and the found caps will be returned -right away. Otherwise, all available typefind functions will the tried, -and the caps with the highest probability will be returned, or #NULL if -the content of the buffer could not be identified. -if no type could be found. The caller should free the caps returned -with gst_caps_unref(). - - the #GstCaps corresponding to the data, or #NULL - - - - - object doing the typefinding, or NULL (used for logging) - - - - a #GstBuffer with data to typefind - - - - location to store the probability of the found caps, or #NULL - - - - - - Tries to find the best #GstCaps associated with @extension. -All available typefinders will be checked against the extension in order -of rank. The caps of the first typefinder that can handle @extension will be -returned. -#NULL if no type could be found. The caller should free the caps -returned with gst_caps_unref(). - - the #GstCaps corresponding to @extension, or - - - - - object doing the typefinding, or NULL (used for logging) - - - - an extension - - - - - - Utility function to do pull-based typefinding. Unlike gst_type_find_helper() -however, this function will use the specified function @func to obtain the -data needed by the typefind functions, rather than operating on a given -source pad. This is useful mostly for elements like tag demuxers which -strip off data at the beginning and/or end of a file and want to typefind -the stripped data stream before adding their own source pad (the specified -callback can then call the upstream peer pad with offsets adjusted for the -tag size, for example). -Returns #NULL if no #GstCaps matches the data stream. - - the #GstCaps corresponding to the data stream. - - - - - A #GstObject that will be passed as first argument to @func - - - - A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding - - - - The length in bytes - - - - location to store the probability of the found caps, or #NULL - - - - - - Utility function to do pull-based typefinding. Unlike gst_type_find_helper() -however, this function will use the specified function @func to obtain the -data needed by the typefind functions, rather than operating on a given -source pad. This is useful mostly for elements like tag demuxers which -strip off data at the beginning and/or end of a file and want to typefind -the stripped data stream before adding their own source pad (the specified -callback can then call the upstream peer pad with offsets adjusted for the -tag size, for example). -When @extension is not NULL, this function will first try the typefind -functions for the given extension, which might speed up the typefinding -in many cases. -Returns #NULL if no #GstCaps matches the data stream. - - the #GstCaps corresponding to the data stream. - - - - - A #GstObject that will be passed as first argument to @func - - - - A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding - - - - The length in bytes - - - - extension of the media - - - - location to store the probability of the found caps, or #NULL - - - - - - diff --git a/extra/gstreamer/base/ffi/ffi.factor b/extra/gstreamer/base/ffi/ffi.factor index 3508186d1e..227c9c98e1 100644 --- a/extra/gstreamer/base/ffi/ffi.factor +++ b/extra/gstreamer/base/ffi/ffi.factor @@ -18,5 +18,5 @@ LIBRARY: gstreamer.base } cond >> -GIR: vocab:gstreamer/base/GstBase-0.10.gir +GIR: GstBase-0.10.gir diff --git a/extra/gstreamer/controller/GstController-0.10.gir b/extra/gstreamer/controller/GstController-0.10.gir deleted file mode 100644 index d7174f1f5d..0000000000 --- a/extra/gstreamer/controller/GstController-0.10.gir +++ /dev/null @@ -1,1160 +0,0 @@ - - - - - - - - - - - - - - - - The instance structure of #GstControlSource. - - Binds a #GstControlSource to a specific property. This must be called only once for a -#GstControlSource. - - %TRUE if the #GstControlSource was bound correctly, %FALSE otherwise. - - - - - #GParamSpec for the property for which this #GstControlSource should generate values. - - - - - - Gets the value for this #GstControlSource at a given timestamp. - - FALSE if the value couldn't be returned, TRUE otherwise. - - - - - the time for which the value should be returned - - - - the value - - - - - - Gets an array of values for one element property. -All fields of @value_array must be filled correctly. Especially the -of values. -The type of the values in the array is the same as the property's type. - - %TRUE if the given array could be filled, %FALSE otherwise - - - - - the time that should be processed - - - - array to put control-values in - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The class structure of #GstControlSource. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The instance structure of GstController - - Creates a new GstController for the given object's properties - - the new controller. - - - - - the object of which some properties should be controlled - - - - - - - - - - Creates a new GstController for the given object's properties - - the new controller. - - - - - the object of which some properties should be controlled - - - - list of property names that should be controlled - - - - - - - - Creates a new GstController for the given object's properties - - the new controller. - - - - - the object of which some properties should be controlled - - - - %NULL terminated list of property names that should be controlled - - - - - - Initializes the use of the controller library. Suggested to be called right -after gst_init(). - - the %TRUE for success. - - - - - pointer to the commandline argument count - - - - pointer to the commandline argument values - - - - - - Gets the value for the given controller-handled property at the requested -time. -property isn't handled by the controller - - the GValue of the property at the given time, or %NULL if the - - - - - the name of the property to get - - - - the time the control-change should be read from - - - - - - Returns a read-only copy of the list of #GstTimedValue for the given property. -Free the list after done with it. -<note><para>This doesn't modify the controlled GObject property!</para></note> -directly. - - a copy of the list, or %NULL if the property isn't handled by the controller - - - - - - - the name of the property to get the list for - - - - - - Gets the corresponding #GstControlSource for the property. This should be unreferenced -again after use. -controlled by this controller or no #GstControlSource was assigned yet. - - the #GstControlSource for @property_name or NULL if the property is not - - - - - name of the property for which the #GstControlSource should be get - - - - - - Function to be able to get an array of values for one element property. -All fields of @value_array must be filled correctly. Especially the -of values. -The type of the values in the array is the same as the property's type. -<note><para>This doesn't modify the controlled GObject property!</para></note> - - %TRUE if the given array could be filled, %FALSE otherwise - - - - - the time that should be processed - - - - array to put control-values in - - - - - - Function to be able to get an array of values for one or more given element -properties. -All fields of the %GstValueArray in the list must be filled correctly. -Especially the GstValueArray->values arrays must be big enough to keep -the requested amount of values. -The types of the values in the array are the same as the property's type. -<note><para>This doesn't modify the controlled GObject properties!</para></note> - - %TRUE if the given array(s) could be filled, %FALSE otherwise - - - - - the time that should be processed - - - - list to return the control-values in - - - - - - - - Removes the given object properties from the controller - - %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise - - - - - - - - - - - Removes the given object properties from the controller - - %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise - - - - - #GList of property names that should be removed - - - - - - - - Removes the given object properties from the controller - - %FALSE if one of the given property isn't handled by the controller, %TRUE otherwise - - - - - %NULL terminated list of property names that should be removed - - - - - - Set the value of given controller-handled property at a certain time. -directly. - - FALSE if the values couldn't be set (ex : properties not handled by controller), TRUE otherwise - - - - - the name of the property to set - - - - the time the control-change is schedules for - - - - the control-value - - - - - - Sets the #GstControlSource for @property_name. If there already was a #GstControlSource -for this property it will be unreferenced. -couldn't be bound to the property, %TRUE if everything worked as expected. - - %FALSE if the given property isn't handled by the controller or the new #GstControlSource - - - - - name of the property for which the #GstControlSource should be set - - - - the #GstControlSource that should be used for the property - - - - - - This function is used to disable all properties of the #GstController -for some time, i.e. gst_controller_sync_values() will do nothing. - - - - - - boolean that specifies whether to disable the controller or not. - - - - - - Sets multiple timed values at once. -directly. - - %FALSE if the values couldn't be set (ex : properties not handled by controller), %TRUE otherwise - - - - - the name of the property to set - - - - a list with #GstTimedValue items - - - - - - - - Sets the given interpolation mode on the given property. -<note><para>User interpolation is not yet available and quadratic interpolation -is deprecated and maps to cubic interpolation.</para></note> -directly. - - %TRUE if the property is handled by the controller, %FALSE otherwise - - - - - the name of the property for which to change the interpolation - - - - interpolation mode - - - - - - This function is used to disable the #GstController on a property for -some time, i.e. gst_controller_sync_values() will do nothing for the -property. - - - - - - property to disable - - - - boolean that specifies whether to disable the controller or not. - - - - - - Returns a suggestion for timestamps where buffers should be split -to get best controller results. -if no control-rate was set. - - Returns the suggested timestamp or %GST_CLOCK_TIME_NONE - - - - - Sets the properties of the element, according to the controller that (maybe) -handles them and for the given timestamp. -If this function fails, it is most likely the application developers fault. -Most probably the control sources are not setup correctly. -properties, %FALSE otherwise - - %TRUE if the controller values could be applied to the object - - - - - the time that should be processed - - - - - - Used to remove the value of given controller-handled property at a certain -time. -directly. - - %FALSE if the values couldn't be unset (ex : properties not handled by controller), %TRUE otherwise - - - - - the name of the property to unset - - - - the time the control-change should be removed from - - - - - - Used to remove all time-stamped values of given controller-handled property -directly. -by controller), %TRUE otherwise - - %FALSE if the values couldn't be unset (ex : properties not handled - - - - - the name of the property to unset - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The various interpolation modes available. - - - - - - - - - The instance structure of #GstControlSource. - - This returns a new, unbound #GstInterpolationControlSource. - - a new, unbound #GstInterpolationControlSource. - - - - - Returns a read-only copy of the list of #GstTimedValue for the given property. -Free the list after done with it. - - a copy of the list, or %NULL if the property isn't handled by the controller - - - - - - - Returns the number of control points that are set. - - the number of control points that are set. - - - - - Set the value of given controller-handled property at a certain time. - - FALSE if the values couldn't be set, TRUE otherwise. - - - - - the time the control-change is scheduled for - - - - the control-value - - - - - - Sets multiple timed values at once. - - FALSE if the values couldn't be set, TRUE otherwise. - - - - - a list with #GstTimedValue items - - - - - - - - Sets the given interpolation mode. -<note><para>User interpolation is not yet available and quadratic interpolation -is deprecated and maps to cubic interpolation.</para></note> - - %TRUE if the interpolation mode could be set, %FALSE otherwise - - - - - interpolation mode - - - - - - Used to remove the value of given controller-handled property at a certain -time. - - FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise. - - - - - the time the control-change should be removed from - - - - - - Used to remove all time-stamped values of given controller-handled property - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The instance structure of #GstControlSource. - - This returns a new, unbound #GstLFOControlSource. - - a new, unbound #GstLFOControlSource. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - The various waveform modes available. - - - - - - - - Structure for saving a timestamp and a value. - - - - - - - - - Structure to receive multiple values at once. - - - - - - - - - - - - - - - Convenience function for GObject -Creates a GstController that allows you to dynamically control one, or more, GObject properties. -If the given GObject already has a GstController, it adds the given properties to the existing -controller and returns that controller. -one or more of the given properties aren't available, or cannot be controlled, for the given element. - - The GstController with which the user can control the given properties dynamically or NULL if - - - - - the object of which some properties should be controlled - - - - - - - - - - Obtain the control-rate for this @object. Audio processing #GstElement -objects will use this rate to sub-divide their processing loop and call -gst_object_sync_values() inbetween. The length of the processing segment -should be up to @control-rate nanoseconds. -If the @object is not under property control, this will return -%GST_CLOCK_TIME_NONE. This allows the element to avoid the sub-dividing. -The control-rate is not expected to change if the element is in -%GST_STATE_PAUSED or %GST_STATE_PLAYING. - - the control rate in nanoseconds - - - - - the object that has controlled properties - - - - - - Gets the corresponding #GstControlSource for the property. This should be unreferenced -again after use. -controlled by this controller or no #GstControlSource was assigned yet. - - the #GstControlSource for @property_name or NULL if the property is not - - - - - the object - - - - name of the property for which the #GstControlSource should be get - - - - - - Gets the controller for the given GObject - - the controller handling some of the given element's properties, %NULL if no controller - - - - - the object that has controlled properties - - - - - - Function to be able to get an array of values for one element properties -If the GstValueArray->values array is NULL, it will be created by the function. -The type of the values in the array are the same as the property's type. -The g_object_* functions are just convenience functions for GObject - - %TRUE if the given array(s) could be filled, %FALSE otherwise - - - - - the object that has controlled properties - - - - the time that should be processed - - - - array to put control-values in - - - - - - Function to be able to get an array of values for one or more given element -properties. -If the GstValueArray->values array in list nodes is NULL, it will be created -by the function. -The type of the values in the array are the same as the property's type. -The g_object_* functions are just convenience functions for GObject - - %TRUE if the given array(s) could be filled, %FALSE otherwise - - - - - the object that has controlled properties - - - - the time that should be processed - - - - list to return the control-values in - - - - - - - - Change the control-rate for this @object. Audio processing #GstElement -objects will use this rate to sub-divide their processing loop and call -gst_object_sync_values() inbetween. The length of the processing segment -should be up to @control-rate nanoseconds. -The control-rate should not change if the element is in %GST_STATE_PAUSED or -%GST_STATE_PLAYING. - - - - - - the object that has controlled properties - - - - the new control-rate in nanoseconds. - - - - - - Sets the #GstControlSource for @property_name. If there already was a #GstControlSource -for this property it will be unreferenced. -couldn't be bound to the property, %TRUE if everything worked as expected. - - %FALSE if the given property isn't handled by the controller or the new #GstControlSource - - - - - the controller object - - - - name of the property for which the #GstControlSource should be set - - - - the #GstControlSource that should be used for the property - - - - - - Sets the controller on the given GObject - - %FALSE if the GObject already has an controller, %TRUE otherwise - - - - - the object that should get the controller - - - - the controller object to plug in - - - - - - Convenience function for GObject - - same thing as gst_controller_suggest_next_sync() - - - - - the object that has controlled properties - - - - - - Convenience function for GObject - - same thing as gst_controller_sync_values() - - - - - the object that has controlled properties - - - - the time that should be processed - - - - - - Convenience function for GObject -Removes the given element's properties from it's controller -controller, %TRUE otherwise - - %FALSE if one of the given property names isn't handled by the - - - - - the object of which some properties should not be controlled anymore - - - - - - - - - - diff --git a/extra/gstreamer/controller/ffi/ffi.factor b/extra/gstreamer/controller/ffi/ffi.factor index 9ecb291786..b0eb87be0b 100644 --- a/extra/gstreamer/controller/ffi/ffi.factor +++ b/extra/gstreamer/controller/ffi/ffi.factor @@ -18,5 +18,5 @@ LIBRARY: gstreamer.controller } cond >> -GIR: vocab:gstreamer/controller/GstController-0.10.gir +GIR: GstController-0.10.gir diff --git a/extra/gstreamer/ffi/ffi.factor b/extra/gstreamer/ffi/ffi.factor index 57c6a169c8..c6fd4c6c9c 100644 --- a/extra/gstreamer/ffi/ffi.factor +++ b/extra/gstreamer/ffi/ffi.factor @@ -34,5 +34,5 @@ FOREIGN-ATOMIC-TYPE: libxml2.NsPtr xmlNsPtr PRIVATE> -GIR: vocab:gstreamer/Gst-0.10.gir +GIR: Gst-0.10.gir diff --git a/extra/gstreamer/net/GstNet-0.10.gir b/extra/gstreamer/net/GstNet-0.10.gir deleted file mode 100644 index dde8261b33..0000000000 --- a/extra/gstreamer/net/GstNet-0.10.gir +++ /dev/null @@ -1,299 +0,0 @@ - - - - - - - - - - - - - - - - Opaque #GstNetClientClock structure. - - Create a new #GstNetClientClock that will report the time -provided by the #GstNetTimeProvider on @remote_address and -clock. - - a new #GstClock that receives a time from the remote - - - - - a name for the clock - - - - the address of the remote clock provider - - - - the port of the remote clock provider - - - - initial time of the clock - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Content of a #GstNetTimePacket. - - - - - - - - Sends a #GstNetTimePacket over a socket. Essentially a thin wrapper around -sendto(2) and gst_net_time_packet_serialize(). -MT safe. - - The return value of sendto(2). - - - - - a file descriptor created by socket(2) - - - - a pointer to a sockaddr to hold the address of the sender - - - - the size of the data pointed to by @addr - - - - - - Serialized a #GstNetTimePacket into a newly-allocated sequence of -#GST_NET_TIME_PACKET_SIZE bytes, in network byte order. The value returned is -suitable for passing to write(2) or sendto(2) for communication over the -network. -MT safe. Caller owns return value (g_free to free). - - A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes. - - - - - - Opaque #GstNetTimeProvider structure. - - Allows network clients to get the current time of @clock. - - the new #GstNetTimeProvider, or NULL on error - - - - - a #GstClock to export over the network - - - - an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), or NULL to bind to all addresses - - - - a port to bind on, or 0 to let the kernel choose - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Creates a new #GstNetTimePacket from a buffer received over the network. The -caller is responsible for ensuring that @buffer is at least -#GST_NET_TIME_PACKET_SIZE bytes long. -If @buffer is #NULL, the local and remote times will be set to -#GST_CLOCK_TIME_NONE. -MT safe. Caller owns return value (g_free to free). - - The new #GstNetTimePacket. - - - - - a buffer from which to construct the packet, or NULL - - - - - - Receives a #GstNetTimePacket over a socket. Handles interrupted system calls, -but otherwise returns NULL on error. See recvfrom(2) for more information on -how to interpret @sockaddr. -MT safe. Caller owns return value (g_free to free). - - The new #GstNetTimePacket. - - - - - a file descriptor created by socket(2) - - - - a pointer to a sockaddr to hold the address of the sender - - - - a pointer to the size of the data pointed to by @addr - - - - - - diff --git a/extra/gstreamer/net/ffi/ffi.factor b/extra/gstreamer/net/ffi/ffi.factor index d1a0a14a59..859c6c2656 100644 --- a/extra/gstreamer/net/ffi/ffi.factor +++ b/extra/gstreamer/net/ffi/ffi.factor @@ -18,5 +18,5 @@ LIBRARY: gstreamer.net } cond >> -GIR: vocab:gstreamer/net/GstNet-0.10.gir +GIR: GstNet-0.10.gir