diff --git a/girs/Gst-1.0.gir b/girs/Gst-1.0.gir index c58eaa5368..41b2d8c732 100644 --- a/girs/Gst-1.0.gir +++ b/girs/Gst-1.0.gir @@ -17,24 +17,76 @@ and/or use gtk-doc annotations. --> c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> - A datatype to hold the handle to an outstanding sync or async clock callback. + 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, measured in nanoseconds. + - A datatype to hold a time difference, measured in nanoseconds. + A datatype to hold a time difference, measured in nanoseconds. + + A type defining the type of an element factory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - The allocator name for the default system memory allocator + The allocator name for the default system memory allocator + glib:type-name="GstAllocationParams" glib:get-type="gst_allocation_params_get_type" c:symbol-prefix="allocation_params"> - Parameters to control the allocation of memory + Parameters to control the allocation of memory + - flags to control allocation + flags to control allocation - the desired alignment of the memory + the desired alignment of the memory - the desired prefix + the desired prefix - the desired padding + the desired padding - + - Create a copy of @params. + Create a copy of @params. Free-function: gst_allocation_params_free + - a new ##GstAllocationParams, free with + a new ##GstAllocationParams, free with gst_allocation_params_free(). @@ -78,31 +146,43 @@ gst_allocation_params_free(). transfer-ownership="none" nullable="1" allow-none="1"> - a #GstAllocationParams + a #GstAllocationParams - Free @params + Free @params + - a #GstAllocationParams + a #GstAllocationParams - Initialize @params to its default values + Initialize @params to its default values + - a #GstAllocationParams + a #GstAllocationParams @@ -116,7 +196,9 @@ gst_allocation_params_free(). glib:type-name="GstAllocator" glib:get-type="gst_allocator_get_type" glib:type-struct="AllocatorClass"> - Memory is usually created by allocators with a gst_allocator_alloc() + Memory is usually created by allocators with a gst_allocator_alloc() method call. When %NULL is used as the allocator, the default allocator will be used. @@ -127,11 +209,17 @@ default allocator. New memory can be created with gst_memory_new_wrapped() that wraps the memory allocated elsewhere. + - Find a previously registered allocator with @name. When @name is %NULL, the + Find a previously registered allocator with @name. When @name is %NULL, the default allocator will be returned. + - a #GstAllocator or %NULL when + a #GstAllocator or %NULL when the allocator with @name was not registered. Use gst_object_unref() to release the allocator after usage. @@ -141,30 +229,41 @@ to release the allocator after usage. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the allocator + the name of the allocator - Registers the memory @allocator with @name. This function takes ownership of + Registers the memory @allocator with @name. This function takes ownership of @allocator. + - the name of the allocator + the name of the allocator - #GstAllocator + #GstAllocator - Use @allocator to allocate a new memory block with memory that is at least + Use @allocator to allocate a new memory block with memory that is at least @size big. The optional @params can specify the prefix and padding for the memory. If @@ -179,8 +278,11 @@ When @allocator is %NULL, the default allocator will be used. The alignment in @params is given as a bitmask so that @align + 1 equals the amount of bytes to align to. For example, to align to 8 bytes, use an alignment of 7. + - a new #GstMemory. + a new #GstMemory. @@ -188,40 +290,55 @@ use an alignment of 7. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstAllocator to use + a #GstAllocator to use - size of the visible memory area + size of the visible memory area - optional parameters + optional parameters - Free @memory that was previously allocated with gst_allocator_alloc(). + Free @memory that was previously allocated with gst_allocator_alloc(). + - a #GstAllocator to use + a #GstAllocator to use - the memory to free + the memory to free - Use @allocator to allocate a new memory block with memory that is at least + Use @allocator to allocate a new memory block with memory that is at least @size big. The optional @params can specify the prefix and padding for the memory. If @@ -236,8 +353,11 @@ When @allocator is %NULL, the default allocator will be used. The alignment in @params is given as a bitmask so that @align + 1 equals the amount of bytes to align to. For example, to align to 8 bytes, use an alignment of 7. + - a new #GstMemory. + a new #GstMemory. @@ -245,46 +365,64 @@ use an alignment of 7. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstAllocator to use + a #GstAllocator to use - size of the visible memory area + size of the visible memory area - optional parameters + optional parameters - Free @memory that was previously allocated with gst_allocator_alloc(). + Free @memory that was previously allocated with gst_allocator_alloc(). + - a #GstAllocator to use + a #GstAllocator to use - the memory to free + the memory to free - Set the default allocator. This function takes ownership of @allocator. + Set the default allocator. This function takes ownership of @allocator. + - a #GstAllocator + a #GstAllocator @@ -296,38 +434,52 @@ use an alignment of 7. - the implementation of the GstMemoryMapFunction + the implementation of the GstMemoryMapFunction - the implementation of the GstMemoryUnmapFunction + the implementation of the GstMemoryUnmapFunction - the implementation of the GstMemoryCopyFunction + the implementation of the GstMemoryCopyFunction - the implementation of the GstMemoryShareFunction + the implementation of the GstMemoryShareFunction - the implementation of the GstMemoryIsSpanFunction + the implementation of the GstMemoryIsSpanFunction - the implementation of the GstMemoryMapFullFunction. - Will be used instead of @mem_map if present. (Since 1.6) + the implementation of the GstMemoryMapFullFunction. + Will be used instead of @mem_map if present. (Since: 1.6) - the implementation of the GstMemoryUnmapFullFunction. - Will be used instead of @mem_unmap if present. (Since 1.6) + the implementation of the GstMemoryUnmapFullFunction. + Will be used instead of @mem_unmap if present. (Since: 1.6) - + @@ -338,15 +490,23 @@ use an alignment of 7. - The #GstAllocator is used to create new memory. + The #GstAllocator is used to create new memory. + - Object parent class + Object parent class + - a new #GstMemory. + a new #GstMemory. @@ -354,18 +514,24 @@ use an alignment of 7. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstAllocator to use + a #GstAllocator to use - size of the visible memory area + size of the visible memory area - optional parameters + optional parameters @@ -373,23 +539,28 @@ use an alignment of 7. + - a #GstAllocator to use + a #GstAllocator to use - the memory to free + the memory to free - + @@ -398,146 +569,690 @@ use an alignment of 7. glib:type-name="GstAllocatorFlags" glib:get-type="gst_allocator_flags_get_type" c:type="GstAllocatorFlags"> - Flags for allocators. + Flags for allocators. - The allocator has a custom alloc function. + The allocator has a custom alloc function. - first flag that can be used for custom purposes + first flag that can be used for custom purposes + - The #GstAtomicQueue object implements a queue that can be used from multiple + The #GstAtomicQueue object implements a queue that can be used from multiple threads without performing any blocking operations. + - Create a new atomic queue instance. @initial_size will be rounded up to the + Create a new atomic queue instance. @initial_size will be rounded up to the nearest power of 2 and used as the initial size of the queue. + - a new #GstAtomicQueue + a new #GstAtomicQueue - initial queue size + initial queue size - Get the amount of items in the queue. + Get the amount of items in the queue. + - the number of elements in the queue. + the number of elements in the queue. - a #GstAtomicQueue + a #GstAtomicQueue - Peek the head element of the queue without removing it from the queue. + Peek the head element of the queue without removing it from the queue. + - the head element of @queue or + the head element of @queue or %NULL when the queue is empty. - a #GstAtomicQueue + a #GstAtomicQueue - Get the head element of the queue. + Get the head element of the queue. + - the head element of @queue or %NULL when + the head element of @queue or %NULL when the queue is empty. - a #GstAtomicQueue + a #GstAtomicQueue - Append @data to the tail of the queue. + Append @data to the tail of the queue. + - a #GstAtomicQueue + a #GstAtomicQueue - the data + the data - Increase the refcount of @queue. + Increase the refcount of @queue. + - a #GstAtomicQueue + a #GstAtomicQueue - Unref @queue and free the memory when the refcount reaches 0. + Unref @queue and free the memory when the refcount reaches 0. + - a #GstAtomicQueue + a #GstAtomicQueue + + + + + + + + + + + + + + + + Gets the list with children in a bin. + + + + a #GstBin + + + + + Gets the children cookie that watches the children list. + + + + a #GstBin + + + + + + + + + + + + + + + + + + + Check if @bin will resync its state change when elements are added and +removed. + + + + A #GstBin + + + + + Gets the number of children in a bin. + + + + a #GstBin + + + + + + + + + + + + + + + + + - Combination of all possible fields that can be copied with + Combination of all possible fields that can be copied with gst_buffer_copy_into(). + - Combination of all possible metadata fields that can be copied with + Combination of all possible metadata fields that can be copied with gst_buffer_copy_into(). + + + The decoding timestamp (dts) in nanoseconds (as a #GstClockTime) +of the data in the buffer. This is the timestamp when the media should be +decoded or processed otherwise. +Value will be %GST_CLOCK_TIME_NONE if the dts is unknown. + + + + a #GstBuffer.: + + + + + Tests if the dts is known. + + + + a #GstBuffer + + + + + Returns the buffer decoding timestamp (dts) if valid, else the buffer +presentation time (pts) + + + + a #GstBuffer.: + + + + + The duration in nanoseconds (as a #GstClockTime) of the data in the buffer. +Value will be %GST_CLOCK_TIME_NONE if the duration is unknown. + + + + a #GstBuffer. + + + + + Tests if the duration is known. + + + + a #GstBuffer + + + + + A flags word containing #GstBufferFlags flags set on this buffer. + + + + a #GstBuffer. + + + + + Gives the status of a specific flag on a buffer. + + + + a #GstBuffer. + + + the #GstBufferFlags flag to check. + + + + + Sets a buffer flag on a buffer. + + + + a #GstBuffer. + + + the #GstBufferFlags flag to set. + + + + + Clears a buffer flag. + + + + a #GstBuffer. + + + the #GstBufferFlags flag to clear. + + + + + Tests if the buffer marks a discontinuity in the stream. + + + + a #GstBuffer + + + + + + + + + + + + + + + + + + + The offset in the source file of the beginning of this buffer. + + + + a #GstBuffer. + + + + + The offset in the source file of the end of this buffer. + + + + a #GstBuffer. + + + + + Tests if the end offset is known. + + + + a #GstBuffer + + + + + Tests if the start offset is known. + + + + a #GstBuffer + + + - Constant for no-offset return results. + Constant for no-offset return results. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check if the bufferpool is flushing. Subclasses might want to check the +state of the pool in the acquire function. + + + + a GstBufferPool + + + + + The presentation timestamp (pts) in nanoseconds (as a #GstClockTime) +of the data in the buffer. This is the timestamp when the media should be +presented to the user. +Value will be %GST_CLOCK_TIME_NONE if the pts is unknown. + + + + a #GstBuffer.: + + + + + Tests if the pts is known. + + + + a #GstBuffer + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstBin" glib:get-type="gst_bin_get_type" glib:type-struct="BinClass"> - #GstBin is an element that can contain other #GstElement, allowing them to be + #GstBin is an element that can contain other #GstElement, allowing them to be managed as a group. Pads from the child elements can be ghosted to the bin, see #GstGhostPad. This makes the bin look like any other elements and enables creation of @@ -590,12 +1307,15 @@ of their segment. a SEGMENT_START have posted a SEGMENT_DONE. * GST_MESSAGE_DURATION_CHANGED: Is posted by an element that detected a change -in the stream duration. The default bin behaviour is to clear any -cached duration values so that the next duration query will perform -a full duration recalculation. The duration change is posted to the +in the stream duration. The duration change is posted to the application so that it can refetch the new duration with a duration query. Note that these messages can be posted before the bin is -prerolled, in which case the duration query might fail. +prerolled, in which case the duration query might fail. Note also that +there might be a discrepancy (due to internal buffering/queueing) between the +stream being currently displayed and the returned duration query. +Applications might want to also query for duration (and changes) by +listening to the GST_MESSAGE_STREAM_START message, signaling the active start +of a (new) stream. * GST_MESSAGE_CLOCK_LOST: This message is posted by an element when it can no longer provide a clock. The default bin behaviour is to @@ -620,11 +1340,8 @@ the parent of the bin. A #GstBin implements the following default behaviour for answering to a #GstQuery: -* GST_QUERY_DURATION:If the query has been asked before with the same format -and the bin is a toplevel bin (ie. has no parent), -use the cached previous value. If no previous value was cached, the -query is sent to all sink elements in the bin and the MAXIMUM of all -values is returned. If the bin is a toplevel bin the value is cached. +* GST_QUERY_DURATION: The bin will forward the query to all sink +elements contained within and will return the maximum value. If no sinks are available in the bin, the query fails. * GST_QUERY_POSITION:The query is sent to all sink elements in the bin and the @@ -641,11 +1358,17 @@ depending on the event type. If all the elements return %TRUE, the bin will also return %TRUE, else %FALSE is returned. If no elements of the required type are in the bin, the event handler will return %TRUE. + - Creates a new bin with the given name. + Creates a new bin with the given name. + - a new #GstBin + a new #GstBin @@ -653,12 +1376,15 @@ handler will return %TRUE. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the new bin + the name of the new bin + @@ -672,6 +1398,7 @@ handler will return %TRUE. + @@ -688,6 +1415,7 @@ handler will return %TRUE. + @@ -704,6 +1432,7 @@ handler will return %TRUE. + @@ -714,6 +1443,7 @@ handler will return %TRUE. + @@ -727,6 +1457,7 @@ handler will return %TRUE. + @@ -740,6 +1471,7 @@ handler will return %TRUE. + @@ -753,6 +1485,7 @@ handler will return %TRUE. + @@ -766,7 +1499,9 @@ handler will return %TRUE. - Adds the given element to the bin. Sets the element's parent, and thus + 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 @@ -779,18 +1514,25 @@ before the element is added to the bin. > The bin or pipeline will not take care of this for you. MT safe. + - %TRUE if the element could be added, %FALSE if + %TRUE if the element could be added, %FALSE if the bin does not want to accept the element. - a #GstBin + a #GstBin - the #GstElement to add + the #GstElement to add @@ -798,118 +1540,163 @@ the bin does not want to accept the element. - Adds a %NULL-terminated list of elements to a bin. This function is + 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. + - a #GstBin + a #GstBin - the #GstElement element to add to the bin + the #GstElement element to add to the bin - additional elements to add to the bin + additional elements to add to the bin - Recursively looks for elements with an unlinked pad of the given + 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 + unlinked pad of the given direction, %NULL. - bin in which to look for elements with unlinked pads + bin in which to look for elements with unlinked pads - whether to look for an unlinked source or sink pad + whether to look for an unlinked source or sink pad - Looks for an element inside the bin that implements the given + 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 + A #GstElement inside the bin implementing the interface - a #GstBin + a #GstBin - the #GType of an interface + the #GType of an interface - Gets the element with the given name from a bin. This + 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 + the #GstElement with the given name, or %NULL - a #GstBin + a #GstBin - the element name to search for + the element name to search for - Gets the element with the given name from this bin. If the + 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 + the #GstElement with the given name, or %NULL - a #GstBin + a #GstBin - the element name to search for + the element name to search for @@ -917,97 +1704,170 @@ name, or %NULL - Return the suppressed flags of the bin. + Return the suppressed flags of the bin. MT safe. + - the bin's suppressed #GstElementFlags. + the bin's suppressed #GstElementFlags. - a #GstBin + a #GstBin + + Looks for all elements inside the bin with the given element factory name. +The function recurses inside child bins. The iterator will yield a series of +#GstElement that should be unreffed after use. + +MT safe. Caller owns returned value. + + + a #GstIterator of #GstElement + for all elements in the bin with the given element factory name, + or %NULL. + + + + + a #GstBin + + + + the name of the #GstElementFactory + + + + - Looks for all elements inside the bin that implements the given + 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. MT safe. Caller owns returned value. + - a #GstIterator of #GstElement + a #GstIterator of #GstElement for all elements in the bin implementing the given interface, or %NULL - a #GstBin + a #GstBin - the #GType of an interface + the #GType of an interface - Gets an iterator for the elements in this bin. + Gets an iterator for the elements in this bin. MT safe. Caller owns returned value. + - a #GstIterator of #GstElement, + a #GstIterator of #GstElement, or %NULL - a #GstBin + a #GstBin - Gets an iterator for the elements in this bin. + Gets an iterator for the elements in this bin. This iterator recurses into GstBin children. MT safe. Caller owns returned value. + - a #GstIterator of #GstElement, + a #GstIterator of #GstElement, or %NULL - a #GstBin + a #GstBin - Gets an iterator for all elements in the bin that have the + Gets an iterator for all elements in the bin that have the #GST_ELEMENT_FLAG_SINK flag set. MT safe. Caller owns returned value. + - a #GstIterator of #GstElement, + a #GstIterator of #GstElement, or %NULL - a #GstBin + a #GstBin - Gets an iterator for the elements in this bin in topologically + 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. @@ -1015,38 +1875,52 @@ This function is used internally to perform the state changes of the bin elements and for clock selection. MT safe. Caller owns returned value. + - a #GstIterator of #GstElement, + a #GstIterator of #GstElement, or %NULL - a #GstBin + a #GstBin - Gets an iterator for all elements in the bin that have the + Gets an iterator for all elements in the bin that have the #GST_ELEMENT_FLAG_SOURCE flag set. MT safe. Caller owns returned value. + - a #GstIterator of #GstElement, + a #GstIterator of #GstElement, or %NULL - a #GstBin + a #GstBin - Query @bin for the current latency using and reconfigures this latency to all the + 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 @@ -1054,19 +1928,26 @@ 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. + %TRUE if the latency could be queried and reconfigured. - a #GstBin + a #GstBin - Removes the element from the bin, unparenting it as well. + 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 @@ -1077,18 +1958,25 @@ 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. + - %TRUE if the element could be removed, %FALSE if + %TRUE if the element could be removed, %FALSE if the bin does not want to remove the element. - a #GstBin + a #GstBin - the #GstElement to remove + the #GstElement to remove @@ -1096,22 +1984,31 @@ the bin does not want to remove the element. - Remove a list of elements from a bin. This function is equivalent + Remove a list of elements from a bin. This function is equivalent to calling gst_bin_remove() with each member of the list. + - a #GstBin + a #GstBin - the first #GstElement to remove from the bin + the first #GstElement to remove from the bin - %NULL-terminated list of elements to remove from the bin + %NULL-terminated list of elements to remove from the bin @@ -1119,22 +2016,29 @@ to calling gst_bin_remove() with each member of the list. - Suppress the given flags on the bin. #GstElementFlags of a + Suppress the given flags on the bin. #GstElementFlags of a child element are propagated when it is added to the bin. When suppressed flags are set, those specified flags will not be propagated to the bin. MT safe. + - a #GstBin + a #GstBin - the #GstElementFlags to suppress + the #GstElementFlags to suppress @@ -1142,28 +2046,39 @@ MT safe. - Synchronizes the state of every child of @bin with the state + Synchronizes the state of every child of @bin with the state of @bin. See also gst_element_sync_state_with_parent(). + - %TRUE if syncing the state was successful for all children, + %TRUE if syncing the state was successful for all children, otherwise %FALSE. - a #GstBin + a #GstBin - If set to %TRUE, the bin will handle asynchronous state changes. + If set to %TRUE, the bin will handle asynchronous state changes. This should be used only if the bin subclass is modifying the state of its children on its own. - Forward all children messages, even those that would normally be filtered by + Forward all children messages, even those that would normally be filtered by the bin. This can be interesting when one wants to be notified of the EOS state of individual elements, for example. @@ -1177,91 +2092,125 @@ forwarded message. - the number of children in this bin + the number of children in this bin - the list of children in this bin + the list of children in this bin - updated whenever @children changes + updated whenever @children changes - internal bus for handling child messages + internal bus for handling child messages - queued and cached messages + queued and cached messages - the bin is currently calculating its state + the bin is currently calculating its state - the bin needs to recalculate its state (deprecated) + the bin needs to recalculate its state (deprecated) - the bin needs to select a new clock + the bin needs to select a new clock - the last clock selected + the last clock selected - the element that provided @provided_clock + the element that provided @provided_clock - + - Will be emitted after the element was added to sub_bin. + Will be emitted after the element was added to sub_bin. - the #GstBin the element was added to + the #GstBin the element was added to - the #GstElement that was added to @sub_bin + the #GstElement that was added to @sub_bin - Will be emitted after the element was removed from sub_bin. + Will be emitted after the element was removed from sub_bin. - the #GstBin the element was removed from + the #GstBin the element was removed from - the #GstElement that was removed from @sub_bin + the #GstElement that was removed from @sub_bin - Will be emitted when the bin needs to perform latency calculations. This + Will be emitted when the bin needs to perform latency calculations. This signal is only emitted for toplevel bins or when async-handling is enabled. @@ -1277,25 +2226,33 @@ the same pipeline. - Will be emitted after the element was added to the bin. + Will be emitted after the element was added to the bin. - the #GstElement that was added to the bin + the #GstElement that was added to the bin - Will be emitted after the element was removed from the bin. + Will be emitted after the element was removed from the bin. - the #GstElement that was removed from the bin + the #GstElement that was removed from the bin @@ -1304,7 +2261,9 @@ the same pipeline. - Subclasses can override the @add_element and @remove_element to + 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 @@ -1316,8 +2275,11 @@ added to any bin inside this bin, so it will also be called if a new child was added to a sub-bin of this bin. #GstBin implementations that override this message should chain up to the parent class implementation so the element-added-deep signal is emitted on all parents. + - bin parent class + bin parent class @@ -1325,6 +2287,7 @@ element-added-deep signal is emitted on all parents. + @@ -1340,6 +2303,7 @@ element-added-deep signal is emitted on all parents. + @@ -1355,6 +2319,7 @@ element-added-deep signal is emitted on all parents. + @@ -1370,6 +2335,7 @@ element-added-deep signal is emitted on all parents. + @@ -1385,6 +2351,7 @@ element-added-deep signal is emitted on all parents. + @@ -1400,6 +2367,7 @@ element-added-deep signal is emitted on all parents. + @@ -1412,6 +2380,7 @@ element-added-deep signal is emitted on all parents. + @@ -1430,6 +2399,7 @@ element-added-deep signal is emitted on all parents. + @@ -1447,7 +2417,7 @@ element-added-deep signal is emitted on all parents. - + @@ -1456,46 +2426,60 @@ element-added-deep signal is emitted on all parents. glib:type-name="GstBinFlags" glib:get-type="gst_bin_flags_get_type" c:type="GstBinFlags"> - GstBinFlags are a set of flags specific to bins. Most are set/used + 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 (). - don't resync a state change when elements are - added or linked in the bin (Since 1.0.5) + don't resync a state change when elements are + added or linked in the bin (Since: 1.0.5) - Indicates whether the bin can handle elements + Indicates whether the bin can handle elements that add/remove source pads at any point in time without - first posting a no-more-pads signal (Since 1.10) + first posting a no-more-pads signal (Since: 1.10) - the last enum in the series of flags for bins. + the last enum in the series of flags for bins. Derived classes can use this as first value in a list of flags. + + A fundamental type that describes a 64-bit bitmask - Buffers are the basic unit of data transfer in GStreamer. They contain the + Buffers are the basic unit of data transfer in GStreamer. They contain the timing and offset along with other arbitrary metadata that is associated with the #GstMemory blocks that the buffer contains. @@ -1582,34 +2566,47 @@ to hold a reference to another buffer that is only released when the child Typically, #GstParentBufferMeta is used when the child buffer is directly using the #GstMemory of the parent buffer, and wants to prevent the parent buffer from being returned to a buffer pool until the #GstMemory is available -for re-use. (Since 1.6) +for re-use. (Since: 1.6) + - the parent structure + the parent structure - pointer to the pool owner of the buffer + pointer to the pool owner of the buffer - presentation timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the + presentation timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the pts is not known or relevant. The pts contains the timestamp when the media should be presented to the user. - decoding timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the + decoding timestamp of the buffer, can be #GST_CLOCK_TIME_NONE when the dts is not known or relevant. The dts contains the timestamp when the media should be processed. - duration in time of the buffer data, can be #GST_CLOCK_TIME_NONE + duration in time of the buffer data, can be #GST_CLOCK_TIME_NONE when the duration is not known or relevant. - a media specific offset for the buffer data. + a media specific offset for the buffer data. For video frames, this is the frame number of this buffer. For audio samples, this is the offset of the first sample in this buffer. For file data or compressed data this is the byte offset of the first @@ -1617,21 +2614,30 @@ for re-use. (Since 1.6) - the last offset contained in this buffer. It has the same + the last offset contained in this buffer. It has the same format as @offset. - Creates a newly allocated buffer without any data. + Creates a newly allocated buffer without any data. MT safe. + - the new #GstBuffer. + the new #GstBuffer. - Tries to create a newly allocated buffer with data of the given size and + Tries to create a newly allocated buffer with data of the given size and extra parameters from @allocator. If the requested amount of memory can't be allocated, %NULL will be returned. The allocated buffer memory is not cleared. @@ -1640,8 +2646,11 @@ When @allocator is %NULL, the default memory allocator will be used. Note that when @size == 0, the buffer will not have memory associated with it. MT safe. + - a new #GstBuffer, or %NULL if + a new #GstBuffer, or %NULL if the memory couldn't be allocated. @@ -1650,41 +2659,56 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - the #GstAllocator to use, or %NULL to use the + the #GstAllocator to use, or %NULL to use the default allocator - the size in bytes of the new buffer's data. + the size in bytes of the new buffer's data. - optional parameters + optional parameters - Creates a new buffer that wraps the given @data. The memory will be freed + Creates a new buffer that wraps the given @data. The memory will be freed with g_free and will be marked writable. MT safe. + - a new #GstBuffer + a new #GstBuffer - data to wrap + data to wrap - allocated size of @data + allocated size of @data @@ -1692,24 +2716,33 @@ MT safe. - Creates a new #GstBuffer that wraps the given @bytes. The data inside + Creates a new #GstBuffer that wraps the given @bytes. The data inside @bytes cannot be %NULL and the resulting buffer will be marked as read only. MT safe. + - a new #GstBuffer wrapping @bytes + a new #GstBuffer wrapping @bytes - a #GBytes to wrap + a #GBytes to wrap - Allocate a new buffer that wraps the given memory. @data must point to + Allocate a new buffer that wraps the given memory. @data must point to @maxsize of memory, the wrapped buffer will have the region from @offset and @size visible. @@ -1717,38 +2750,53 @@ When the buffer is destroyed, @notify will be called with @user_data. The prefix/padding must be filled with 0 if @flags contains #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively. + - a new #GstBuffer + a new #GstBuffer - #GstMemoryFlags + #GstMemoryFlags - data to wrap + data to wrap - allocated size of @data + allocated size of @data - offset in @data + offset in @data - size of valid data + size of valid data - user_data + user_data - called with @user_data when the memory is freed + called with @user_data when the memory is freed - Add metadata for @info to @buffer using the parameters in @params. + Add metadata for @info to @buffer using the parameters in @params. + - the metadata for the api in @info on @buffer. + the metadata for the api in @info on @buffer. - a #GstBuffer + a #GstBuffer - a #GstMetaInfo + a #GstMetaInfo - params for @info + params for @info @@ -1789,19 +2850,28 @@ The prefix/padding must be filled with 0 if @flags contains - Add a #GstParentBufferMeta to @buffer that holds a reference on + Add a #GstParentBufferMeta to @buffer that holds a reference on @ref until the buffer is freed. + - The #GstParentBufferMeta that was added to the buffer + The #GstParentBufferMeta that was added to the buffer - a #GstBuffer + a #GstBuffer - a #GstBuffer to ref + a #GstBuffer to ref @@ -1809,20 +2879,29 @@ The prefix/padding must be filled with 0 if @flags contains - Attaches protection metadata to a #GstBuffer. + Attaches protection metadata to a #GstBuffer. + - a pointer to the added #GstProtectionMeta if successful; %NULL if + a pointer to the added #GstProtectionMeta if successful; %NULL if unsuccessful. - #GstBuffer holding an encrypted sample, to which protection + #GstBuffer holding an encrypted sample, to which protection metadata should be added. - a #GstStructure holding cryptographic + a #GstStructure holding cryptographic information relating to the sample contained in @buffer. This function takes ownership of @info. @@ -1832,152 +2911,242 @@ unsuccessful. - Add a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and + Add a #GstReferenceTimestampMeta to @buffer that holds a @timestamp and optionally @duration based on a specific timestamp @reference. See the documentation of #GstReferenceTimestampMeta for details. + - The #GstReferenceTimestampMeta that was added to the buffer + The #GstReferenceTimestampMeta that was added to the buffer - a #GstBuffer + a #GstBuffer - identifier for the timestamp reference. + identifier for the timestamp reference. - timestamp + timestamp - duration, or %GST_CLOCK_TIME_NONE + duration, or %GST_CLOCK_TIME_NONE - Append all the memory from @buf2 to @buf1. The result buffer will contain a + Append all the memory from @buf2 to @buf1. The result buffer will contain a concatenation of the memory of @buf1 and @buf2. + - the new #GstBuffer that contains the memory + the new #GstBuffer that contains the memory of the two source buffers. - the first source #GstBuffer to append. + the first source #GstBuffer to append. - the second source #GstBuffer to append. + the second source #GstBuffer to append. - Append the memory block @mem to @buffer. This function takes + Append the memory block @mem to @buffer. This function takes ownership of @mem and thus doesn't increase its refcount. This function is identical to gst_buffer_insert_memory() with an index of -1. See gst_buffer_insert_memory() for more details. + - a #GstBuffer. + a #GstBuffer. - a #GstMemory. + a #GstMemory. - Append @size bytes at @offset from @buf2 to @buf1. The result buffer will + Append @size bytes at @offset from @buf2 to @buf1. The result buffer will contain a concatenation of the memory of @buf1 and the requested region of @buf2. + - the new #GstBuffer that contains the memory + the new #GstBuffer that contains the memory of the two source buffers. - the first source #GstBuffer to append. + the first source #GstBuffer to append. - the second source #GstBuffer to append. + the second source #GstBuffer to append. - the offset in @buf2 + the offset in @buf2 - the size or -1 of @buf2 + the size or -1 of @buf2 + + Create a copy of the given buffer. This will only copy the buffer's +data to a newly allocated memory if needed (if the type of memory +requires it), otherwise the underlying data is just referenced. +Check gst_buffer_copy_deep() if you want to force the data +to be copied to newly allocated memory. + + + a new copy of @buf. + + + + + a #GstBuffer. + + + + - Create a copy of the given buffer. This will make a newly allocated + Create a copy of the given buffer. This will make a newly allocated copy of the data the source buffer contains. + - a new copy of @buf. + a new copy of @buf. - a #GstBuffer. + a #GstBuffer. - Copies the information from @src into @dest. + Copies the information from @src into @dest. If @dest already contains memory and @flags contains GST_BUFFER_COPY_MEMORY, the memory from @src will be appended to @dest. @flags indicate which fields will be copied. + - %TRUE if the copying succeeded, %FALSE otherwise. + %TRUE if the copying succeeded, %FALSE otherwise. - a destination #GstBuffer + a destination #GstBuffer - a source #GstBuffer + a source #GstBuffer - flags indicating what metadata fields should be copied. + flags indicating what metadata fields should be copied. - offset to copy from + offset to copy from - total size to copy. If -1, all data is copied. + total size to copy. If -1, all data is copied. - Creates a sub-buffer from @parent at @offset and @size. + 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 @@ -1987,53 +3156,75 @@ 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. + - the new #GstBuffer or %NULL if the arguments were + the new #GstBuffer or %NULL if the arguments were invalid. - a #GstBuffer. + a #GstBuffer. - the #GstBufferCopyFlags + the #GstBufferCopyFlags - the offset into parent #GstBuffer at which the new sub-buffer + the offset into parent #GstBuffer at which the new sub-buffer begins. - the size of the new #GstBuffer sub-buffer, in bytes. If -1, all + the size of the new #GstBuffer sub-buffer, in bytes. If -1, all data is copied. - Copy @size bytes starting from @offset in @buffer to @dest. + Copy @size bytes starting from @offset in @buffer to @dest. + - The amount of bytes extracted. This value can be lower than @size + The amount of bytes extracted. This value can be lower than @size when @buffer did not contain enough data. - a #GstBuffer. + a #GstBuffer. - the offset to extract + the offset to extract - + the destination address @@ -2043,7 +3234,9 @@ MT safe. direction="out" caller-allocates="0" transfer-ownership="full"> - the size to extract + the size to extract @@ -2051,29 +3244,40 @@ MT safe. - Extracts a copy of at most @size bytes the data at @offset into + Extracts a copy of at most @size bytes the data at @offset into newly-allocated memory. @dest must be freed using g_free() when done. + - a #GstBuffer + a #GstBuffer - the offset to extract + the offset to extract - the size to extract + the size to extract - A pointer where + A pointer where the destination array will be written. Might be %NULL if the size is 0. @@ -2083,41 +3287,58 @@ newly-allocated memory. @dest must be freed using g_free() when done. direction="out" caller-allocates="0" transfer-ownership="full"> - A location where the size of @dest can be written + A location where the size of @dest can be written - Copy @size bytes from @src to @buffer at @offset. + Copy @size bytes from @src to @buffer at @offset. + - The amount of bytes copied. This value can be lower than @size + The amount of bytes copied. This value can be lower than @size when @buffer did not contain enough data. - a #GstBuffer. + a #GstBuffer. - the offset to fill + the offset to fill - the source address + the source address - the size to fill + the size to fill - Find the memory blocks that span @size bytes starting from @offset + Find the memory blocks that span @size bytes starting from @offset in @buffer. When this function returns %TRUE, @idx will contain the index of the first @@ -2127,67 +3348,91 @@ the number of bytes to skip in the memory block at @idx to get to the byte for @offset. @size can be -1 to get all the memory blocks after @idx. + - %TRUE when @size bytes starting from @offset could be found in + %TRUE when @size bytes starting from @offset could be found in @buffer and @idx, @length and @skip will be filled. - a #GstBuffer. + a #GstBuffer. - an offset + an offset - a size + a size - pointer to index + pointer to index - pointer to length + pointer to length - pointer to skip + pointer to skip - Call @func with @user_data for each meta in @buffer. + Call @func with @user_data for each meta in @buffer. @func can modify the passed meta pointer or its contents. The return value of @func define if this function returns or if the remaining metadata items in the buffer should be skipped. + - %FALSE when @func returned %FALSE for one of the metadata. + %FALSE when @func returned %FALSE for one of the metadata. - a #GstBuffer + a #GstBuffer - a #GstBufferForeachMetaFunc to call + a #GstBufferForeachMetaFunc to call @@ -2195,22 +3440,31 @@ in the buffer should be skipped. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to @func + user data passed to @func - Get all the memory block in @buffer. The memory blocks will be merged + Get all the memory block in @buffer. The memory blocks will be merged into one large #GstMemory. + - a #GstMemory that contains the merged memory. + a #GstMemory that contains the merged memory. Use gst_memory_unref () after usage. - a #GstBuffer. + a #GstBuffer. @@ -2218,80 +3472,116 @@ Use gst_memory_unref () after usage. - Get the #GstBufferFlags flags set on this buffer. + Get the #GstBufferFlags flags set on this buffer. + - the flags set on this buffer. + the flags set on this buffer. - a #GstBuffer + a #GstBuffer - Get the memory block at index @idx in @buffer. + Get the memory block at index @idx in @buffer. + - a #GstMemory that contains the data of the + a #GstMemory that contains the data of the memory block at @idx. Use gst_memory_unref () after usage. - a #GstBuffer. + a #GstBuffer. - an index + an index - Get @length memory blocks in @buffer starting at @idx. The memory blocks will + Get @length memory blocks in @buffer starting at @idx. The memory blocks will be merged into one large #GstMemory. If @length is -1, all memory starting from @idx is merged. + - a #GstMemory that contains the merged data of @length + a #GstMemory that contains the merged data of @length blocks starting at @idx. Use gst_memory_unref () after usage. - a #GstBuffer. + a #GstBuffer. - an index + an index - a length + a length - Get the metadata for @api on buffer. When there is no such metadata, %NULL is + Get the metadata for @api on buffer. When there is no such metadata, %NULL is returned. If multiple metadata with the given @api are attached to this buffer only the first one is returned. To handle multiple metadata with a given API use gst_buffer_iterate_meta() or gst_buffer_foreach_meta() instead and check the meta->info.api member for the API type. + - the metadata for @api on + the metadata for @api on @buffer. - a #GstBuffer + a #GstBuffer - the #GType of an API + the #GType of an API @@ -2299,17 +3589,24 @@ and check the meta->info.api member for the API type. + - number of metas of type @api_type on @buffer. + number of metas of type @api_type on @buffer. - a #GstBuffer + a #GstBuffer - the #GType of an API + the #GType of an API @@ -2317,59 +3614,82 @@ and check the meta->info.api member for the API type. - Find the first #GstReferenceTimestampMeta on @buffer that conforms to + Find the first #GstReferenceTimestampMeta on @buffer that conforms to @reference. Conformance is tested by checking if the meta's reference is a subset of @reference. Buffers can contain multiple #GstReferenceTimestampMeta metadata items. + - the #GstReferenceTimestampMeta or %NULL when there + the #GstReferenceTimestampMeta or %NULL when there is no such metadata on @buffer. - a #GstBuffer + a #GstBuffer - a reference #GstCaps + a reference #GstCaps - Get the total size of the memory blocks in @buffer. + Get the total size of the memory blocks in @buffer. + - total size of the memory blocks in @buffer. + total size of the memory blocks in @buffer. - a #GstBuffer. + a #GstBuffer. - Get the total size of the memory blocks in @b. + Get the total size of the memory blocks in @b. When not %NULL, @offset will contain the offset of the data in the first memory block in @buffer and @maxsize will contain the sum of the size and @offset and the amount of extra padding on the last memory block. @offset and @maxsize can be used to resize the buffer memory blocks with gst_buffer_resize(). + - total size of the memory blocks in @buffer. + total size of the memory blocks in @buffer. - a #GstBuffer. + a #GstBuffer. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to the offset + a pointer to the offset transfer-ownership="full" optional="1" allow-none="1"> - a pointer to the maxsize + a pointer to the maxsize - Get the total size of @length memory blocks stating from @idx in @buffer. + Get the total size of @length memory blocks stating from @idx in @buffer. When not %NULL, @offset will contain the offset of the data in the memory block in @buffer at @idx and @maxsize will contain the sum of the size @@ -2401,21 +3727,30 @@ and @offset and the amount of extra padding on the memory block at @idx + @length -1. @offset and @maxsize can be used to resize the buffer memory blocks with gst_buffer_resize_range(). + - total size of @length memory blocks starting at @idx in @buffer. + total size of @length memory blocks starting at @idx in @buffer. - a #GstBuffer. + a #GstBuffer. - an index + an index - a length + a length transfer-ownership="full" optional="1" allow-none="1"> - a pointer to the offset + a pointer to the offset transfer-ownership="full" optional="1" allow-none="1"> - a pointer to the maxsize + a pointer to the maxsize + @@ -2452,26 +3792,35 @@ gst_buffer_resize_range(). - Insert the memory block @mem to @buffer at @idx. This function takes ownership + Insert the memory block @mem to @buffer at @idx. This function takes ownership of @mem and thus doesn't increase its refcount. Only gst_buffer_get_max_memory() can be added to a buffer. If more memory is added, existing memory blocks will automatically be merged to make room for the new memory. + - a #GstBuffer. + a #GstBuffer. - the index to add the memory at, or -1 to append it to the end + the index to add the memory at, or -1 to append it to the end - a #GstMemory. + a #GstMemory. @@ -2479,17 +3828,24 @@ the new memory. - Check if all memory blocks in @buffer are writable. + Check if all memory blocks in @buffer are writable. Note that this function does not check if @buffer is writable, use gst_buffer_is_writable() to check that if needed. + - %TRUE if all memory blocks in @buffer are writable + %TRUE if all memory blocks in @buffer are writable - a #GstBuffer. + a #GstBuffer. @@ -2497,27 +3853,38 @@ gst_buffer_is_writable() to check that if needed. - Check if @length memory blocks in @buffer starting from @idx are writable. + Check if @length memory blocks in @buffer starting from @idx are writable. @length can be -1 to check all the memory blocks after @idx. Note that this function does not check if @buffer is writable, use gst_buffer_is_writable() to check that if needed. + - %TRUE if the memory range is writable + %TRUE if the memory range is writable - a #GstBuffer. + a #GstBuffer. - an index + an index - a length should not be 0 + a length should not be 0 @@ -2525,18 +3892,25 @@ gst_buffer_is_writable() to check that if needed. - Retrieve the next #GstMeta after @current. If @state points + Retrieve the next #GstMeta after @current. If @state points to %NULL, the first metadata is returned. @state will be updated with an opaque state pointer + - The next #GstMeta or %NULL + The next #GstMeta or %NULL when there are no more items. - a #GstBuffer + a #GstBuffer caller-allocates="1" transfer-ownership="none" nullable="1"> - an opaque state pointer + an opaque state pointer @@ -2553,19 +3929,26 @@ when there are no more items. c:identifier="gst_buffer_iterate_meta_filtered" version="1.12" introspectable="0"> - Retrieve the next #GstMeta of type @meta_api_type after the current one + Retrieve the next #GstMeta of type @meta_api_type after the current one according to @state. If @state points to %NULL, the first metadata of type @meta_api_type is returned. @state will be updated with an opaque state pointer + - The next #GstMeta of type + The next #GstMeta of type @meta_api_type or %NULL when there are no more items. - a #GstBuffer + a #GstBuffer - an opaque state pointer + an opaque state pointer - only return #GstMeta of this type + only return #GstMeta of this type - This function fills @info with the #GstMapInfo of all merged memory + This function fills @info with the #GstMapInfo of all merged memory blocks in @buffer. @flags describe the desired access of the memory. When @flags is @@ -2596,30 +3985,41 @@ buffer memory will then also be replaced with this writable copy. The memory in @info should be unmapped with gst_buffer_unmap() after usage. + - %TRUE if the map succeeded and @info contains valid data. + %TRUE if the map succeeded and @info contains valid data. - a #GstBuffer. + a #GstBuffer. - info about the mapping + info about the mapping - flags for the mapping + flags for the mapping - This function fills @info with the #GstMapInfo of @length merged memory blocks + This function fills @info with the #GstMapInfo of @length merged memory blocks starting at @idx in @buffer. When @length is -1, all memory blocks starting from @idx are merged and mapped. @@ -2632,326 +4032,495 @@ automatically be created and returned. The readonly copy of the buffer memory will then also be replaced with this writable copy. The memory in @info should be unmapped with gst_buffer_unmap() after usage. + - %TRUE if the map succeeded and @info contains valid + %TRUE if the map succeeded and @info contains valid data. - a #GstBuffer. + a #GstBuffer. - an index + an index - a length + a length - info about the mapping + info about the mapping - flags for the mapping + flags for the mapping - Compare @size bytes starting from @offset in @buffer with the memory in @mem. + Compare @size bytes starting from @offset in @buffer with the memory in @mem. + - 0 if the memory is equal. + 0 if the memory is equal. - a #GstBuffer. + a #GstBuffer. - the offset in @buffer + the offset in @buffer - the memory to compare + the memory to compare - the size to compare + the size to compare - Fill @buf with @size bytes with @val starting from @offset. + Fill @buf with @size bytes with @val starting from @offset. + - The amount of bytes filled. This value can be lower than @size + The amount of bytes filled. This value can be lower than @size when @buffer did not contain enough data. - a #GstBuffer. + a #GstBuffer. - the offset in @buffer + the offset in @buffer - the value to set + the value to set - the size to set + the size to set - Get the amount of memory blocks that this buffer has. This amount is never + Get the amount of memory blocks that this buffer has. This amount is never larger than what gst_buffer_get_max_memory() returns. + - the number of memory blocks this buffer is made of. + the number of memory blocks this buffer is made of. - a #GstBuffer. + a #GstBuffer. - Get the memory block at @idx in @buffer. The memory block stays valid until + Get the memory block at @idx in @buffer. The memory block stays valid until the memory block in @buffer is removed, replaced or merged, typically with any call that modifies the memory in @buffer. + - the #GstMemory at @idx. + the #GstMemory at @idx. - a #GstBuffer. + a #GstBuffer. - an index + an index - Prepend the memory block @mem to @buffer. This function takes + Prepend the memory block @mem to @buffer. This function takes ownership of @mem and thus doesn't increase its refcount. This function is identical to gst_buffer_insert_memory() with an index of 0. See gst_buffer_insert_memory() for more details. + - a #GstBuffer. + a #GstBuffer. - a #GstMemory. + a #GstMemory. + + Increases the refcount of the given buffer by one. + +Note that the refcount affects the writability +of @buf and its metadata, see gst_buffer_is_writable(). +It is important to note that keeping additional references to +GstBuffer instances can potentially increase the number +of memcpy operations in a pipeline. + + + @buf + + + + + a #GstBuffer. + + + + - Remove all the memory blocks in @buffer. + Remove all the memory blocks in @buffer. + - a #GstBuffer. + a #GstBuffer. - Remove the memory block in @b at index @i. + Remove the memory block in @b at index @i. + - a #GstBuffer. + a #GstBuffer. - an index + an index - Remove @length memory blocks in @buffer starting from @idx. + Remove @length memory blocks in @buffer starting from @idx. @length can be -1, in which case all memory starting from @idx is removed. + - a #GstBuffer. + a #GstBuffer. - an index + an index - a length + a length - Remove the metadata for @meta on @buffer. + Remove the metadata for @meta on @buffer. + - %TRUE if the metadata existed and was removed, %FALSE if no such + %TRUE if the metadata existed and was removed, %FALSE if no such metadata was on @buffer. - a #GstBuffer + a #GstBuffer - a #GstMeta + a #GstMeta - Replaces all memory in @buffer with @mem. + Replaces all memory in @buffer with @mem. + - a #GstBuffer. + a #GstBuffer. - a #GstMemory + a #GstMemory - Replaces the memory block at index @idx in @buffer with @mem. + Replaces the memory block at index @idx in @buffer with @mem. + - a #GstBuffer. + a #GstBuffer. - an index + an index - a #GstMemory + a #GstMemory - Replaces @length memory blocks in @buffer starting at @idx with @mem. + Replaces @length memory blocks in @buffer starting at @idx with @mem. If @length is -1, all memory starting from @idx will be removed and replaced with @mem. @buffer should be writable. + - a #GstBuffer. + a #GstBuffer. - an index + an index - a length should not be 0 + a length should not be 0 - a #GstMemory + a #GstMemory - Set the offset and total size of the memory blocks in @buffer. + Set the offset and total size of the memory blocks in @buffer. + - a #GstBuffer. + a #GstBuffer. - the offset adjustment + the offset adjustment - the new size or -1 to just adjust the offset + the new size or -1 to just adjust the offset - Set the total size of the @length memory blocks starting at @idx in + Set the total size of the @length memory blocks starting at @idx in @buffer + - %TRUE if resizing succeeded, %FALSE otherwise. + %TRUE if resizing succeeded, %FALSE otherwise. - a #GstBuffer. + a #GstBuffer. - an index + an index - a length + a length - the offset adjustment + the offset adjustment - the new size or -1 to just adjust the offset + the new size or -1 to just adjust the offset @@ -2959,69 +4528,119 @@ replaced with @mem. - Sets one or more buffer flags on a buffer. + Sets one or more buffer flags on a buffer. + - %TRUE if @flags were successfully set on buffer. + %TRUE if @flags were successfully set on buffer. - a #GstBuffer + a #GstBuffer - the #GstBufferFlags to set. + the #GstBufferFlags to set. - Set the total size of the memory blocks in @buffer. + Set the total size of the memory blocks in @buffer. + - a #GstBuffer. + a #GstBuffer. - the new size + the new size - Release the memory previously mapped with gst_buffer_map(). + Release the memory previously mapped with gst_buffer_map(). + - a #GstBuffer. + a #GstBuffer. - a #GstMapInfo + a #GstMapInfo + + Decreases the refcount of the buffer. If the refcount reaches 0, the buffer +with the associated metadata and memory will be freed. + + + + + + + a #GstBuffer. + + + + - Clears one or more buffer flags. + Clears one or more buffer flags. + - true if @flags is successfully cleared from buffer. + true if @flags is successfully cleared from buffer. - a #GstBuffer + a #GstBuffer - the #GstBufferFlags to clear + the #GstBufferFlags to clear @@ -3029,54 +4648,114 @@ replaced with @mem. - Get the maximum amount of memory blocks that a buffer can hold. This is a + Get the maximum amount of memory blocks that a buffer can hold. This is a compile time constant that can be queried with the function. When more memory blocks are added, existing memory blocks will be merged together to make room for the new block. + - the maximum amount of memory blocks that a buffer can hold. + the maximum amount of memory blocks that a buffer can hold. + + Modifies a pointer to a #GstBuffer to point to a different #GstBuffer. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +buffer is unreffed, the new is reffed). + +Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL. + + + %TRUE when @obuf was different from @nbuf. + + + + + pointer to a pointer to + a #GstBuffer to be replaced. + + + + pointer to a #GstBuffer that will + replace the buffer pointed to by @obuf. + + + + - A set of flags that can be provided to the gst_buffer_copy_into() + A set of flags that can be provided to the gst_buffer_copy_into() function to specify which items should be copied. - copy nothing + copy nothing - flag indicating that buffer flags should be copied + flag indicating that buffer flags should be copied - flag indicating that buffer pts, dts, + flag indicating that buffer pts, dts, duration, offset and offset_end should be copied - flag indicating that buffer meta should be + flag indicating that buffer meta should be copied - flag indicating that buffer memory should be reffed + flag indicating that buffer memory should be reffed and appended to already existing memory. Unless the memory is marked as NO_SHARE, no actual copy of the memory is made but it is simply reffed. Add @GST_BUFFER_COPY_DEEP to force a real copy. @@ -3085,34 +4764,44 @@ function to specify which items should be copied. value="16" c:identifier="GST_BUFFER_COPY_MERGE" glib:nick="merge"> - flag indicating that buffer memory should be + flag indicating that buffer memory should be merged - flag indicating that memory should always be - copied instead of reffed (Since 1.2) + flag indicating that memory should always be + copied instead of reffed (Since: 1.2) - A set of buffer flags used to describe properties of a #GstBuffer. + A set of buffer flags used to describe properties of a #GstBuffer. - the buffer is live data and should be discarded in + the buffer is live data and should be discarded in the PAUSED state. - the buffer contains data that should be dropped + the buffer contains data that should be dropped because it will be clipped against the segment boundaries or because it does not contain data that should be shown to the user. @@ -3121,7 +4810,9 @@ function to specify which items should be copied. value="64" c:identifier="GST_BUFFER_FLAG_DISCONT" glib:nick="discont"> - the buffer marks a data discontinuity in the stream. + the buffer marks a data discontinuity in the stream. This typically occurs after a seek or a dropped buffer from a live or network source. @@ -3129,35 +4820,45 @@ function to specify which items should be copied. value="128" c:identifier="GST_BUFFER_FLAG_RESYNC" glib:nick="resync"> - the buffer timestamps might have a discontinuity + the buffer timestamps might have a discontinuity and this buffer is a good point to resynchronize. - the buffer data is corrupted. + the buffer data is corrupted. - the buffer contains a media specific marker. for - video this is typically the end of a frame boundary, for audio - this is usually the start of a talkspurt. + the buffer contains a media specific marker. for + video this is the end of a frame boundary, for audio + this is the start of a talkspurt. - the buffer contains header information that is + the buffer contains header information that is needed to decode the following data. - the buffer has been created to fill a gap in the + the buffer has been created to fill a gap in the stream and contains media neutral data (elements can switch to optimized code path that ignores the buffer content). @@ -3166,50 +4867,64 @@ function to specify which items should be copied. value="4096" c:identifier="GST_BUFFER_FLAG_DROPPABLE" glib:nick="droppable"> - the buffer can be dropped without breaking the + the buffer can be dropped without breaking the stream, for example to reduce bandwidth. - this unit cannot be decoded independently. + this unit cannot be decoded independently. - this flag is set when memory of the buffer + this flag is set when memory of the buffer is added/removed - Elements which write to disk or permanent - storage should ensure the data is synced after - writing the contents of this buffer. (Since 1.6) + Elements which write to disk or permanent + storage should ensure the data is synced after + writing the contents of this buffer. (Since: 1.6) - This buffer is important and should not be dropped. + This buffer is important and should not be dropped. This can be used to mark important buffers, e.g. to flag RTP packets carrying keyframes or codec setup data for RTP Forward Error Correction purposes, or to prevent still video - frames from being dropped by elements due to QoS. (Since 1.14) + frames from being dropped by elements due to QoS. (Since: 1.14) - additional media specific flags can be added starting from + additional media specific flags can be added starting from this flag. - A function that will be called from gst_buffer_foreach_meta(). The @meta + A function that will be called from gst_buffer_foreach_meta(). The @meta field will point to a the reference of the meta. @buffer should not be modified from this callback. @@ -3218,13 +4933,18 @@ When this function returns %TRUE, the next meta will be returned. When %FALSE is returned, gst_buffer_foreach_meta() will return. When @meta is set to %NULL, the item will be removed from the buffer. + - %FALSE when gst_buffer_foreach_meta() should stop + %FALSE when gst_buffer_foreach_meta() should stop - a #GstBuffer + a #GstBuffer caller-allocates="0" transfer-ownership="full" nullable="1"> - a pointer to a #GstMeta + a pointer to a #GstMeta nullable="1" allow-none="1" closure="2"> - user data passed to gst_buffer_foreach_meta() + user data passed to gst_buffer_foreach_meta() @@ -3250,7 +4974,9 @@ When @meta is set to %NULL, the item will be removed from the buffer. glib:type-name="GstBufferList" glib:get-type="gst_buffer_list_get_type" c:symbol-prefix="buffer_list"> - Buffer lists are an object containing a list of buffers. + Buffer lists are an object containing a list of buffers. Buffer lists are created with gst_buffer_list_new() and filled with data using a gst_buffer_list_insert(). @@ -3258,31 +4984,44 @@ using a gst_buffer_list_insert(). Buffer lists can be pushed on a srcpad with gst_pad_push_list(). This is interesting when multiple buffers need to be pushed in one go because it can reduce the amount of overhead for pushing each buffer individually. + - Creates a new, empty #GstBufferList. The caller is responsible for unreffing + Creates a new, empty #GstBufferList. The caller is responsible for unreffing the returned #GstBufferList. Free-function: gst_buffer_list_unref + - the new #GstBufferList. gst_buffer_list_unref() + the new #GstBufferList. gst_buffer_list_unref() after usage. - Creates a new, empty #GstBufferList. The caller is responsible for unreffing + Creates a new, empty #GstBufferList. The caller is responsible for unreffing the returned #GstBufferList. The list will have @size space preallocated so that memory reallocations can be avoided. Free-function: gst_buffer_list_unref + - the new #GstBufferList. gst_buffer_list_unref() + the new #GstBufferList. gst_buffer_list_unref() after usage. - an initial reserved size + an initial reserved size @@ -3290,85 +5029,143 @@ Free-function: gst_buffer_list_unref - Calculates the size of the data contained in buffer list by adding the + Calculates the size of the data contained in buffer list by adding the size of all buffers. + - the size of the data contained in buffer list in bytes. + the size of the data contained in buffer list in bytes. - a #GstBufferList + a #GstBufferList + + Create a shallow copy of the given buffer list. This will make a newly +allocated copy of the source list with copies of buffer pointers. The +refcount of buffers pointed to will be increased by one. + + + a new copy of @list. + + + + + a #GstBufferList + + + + - Create a copy of the given buffer list. This will make a newly allocated + Create a copy of the given buffer list. This will make a newly allocated copy of the buffer that the source buffer list contains. + - a new copy of @list. + a new copy of @list. - a #GstBufferList + a #GstBufferList - Call @func with @data for each buffer in @list. + Call @func with @data for each buffer in @list. @func can modify the passed buffer pointer or its contents. The return value of @func define if this function returns or if the remaining buffers in the list should be skipped. + - %TRUE when @func returned %TRUE for each buffer in @list or when + %TRUE when @func returned %TRUE for each buffer in @list or when @list is empty. - a #GstBufferList + a #GstBufferList - a #GstBufferListFunc to call + a #GstBufferListFunc to call - user data passed to @func + user data passed to @func - Get the buffer at @idx. + Get the buffer at @idx. You must make sure that @idx does not exceed the number of buffers available. + - the buffer at @idx in @group + the buffer at @idx in @group or %NULL when there is no buffer. The buffer remains valid as long as @list is valid and buffer is not removed from the list. - a #GstBufferList + a #GstBufferList - the index + the index @@ -3376,87 +5173,168 @@ buffers available. - Gets the buffer at @idx, ensuring it is a writable buffer. + Gets the buffer at @idx, ensuring it is a writable buffer. You must make sure that @idx does not exceed the number of buffers available. + - the buffer at @idx in @group. + the buffer at @idx in @group. The returned buffer remains valid as long as @list is valid and the buffer is not removed from the list. - a (writable) #GstBufferList + a (writable) #GstBufferList - the index + the index - Insert @buffer at @idx in @list. Other buffers are moved to make room for + Insert @buffer at @idx in @list. Other buffers are moved to make room for this new buffer. A -1 value for @idx will append the buffer at the end. + - a #GstBufferList + a #GstBufferList - the index + the index - a #GstBuffer + a #GstBuffer - Returns the number of buffers in @list. + Returns the number of buffers in @list. + - the number of buffers in the buffer list + the number of buffers in the buffer list - a #GstBufferList + a #GstBufferList + + + + + + Increases the refcount of the given buffer list by one. + +Note that the refcount affects the writability of @list and its data, see +gst_buffer_list_make_writable(). It is important to note that keeping +additional references to GstBufferList instances can potentially increase +the number of memcpy operations in a pipeline. + + + @list + + + + + a #GstBufferList - Remove @length buffers starting from @idx in @list. The following buffers + Remove @length buffers starting from @idx in @list. The following buffers are moved to close the gap. + - a #GstBufferList + a #GstBufferList - the index + the index - the amount to remove + the amount to remove + + Decreases the refcount of the buffer list. If the refcount reaches 0, the +buffer list will be freed. + + + + + + + a #GstBufferList + + + + - A function that will be called from gst_buffer_list_foreach(). The @buffer + 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. When this function returns %TRUE, the next buffer will be @@ -3466,8 +5344,11 @@ 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. + - %FALSE when gst_buffer_list_foreach() should stop + %FALSE when gst_buffer_list_foreach() should stop @@ -3476,11 +5357,15 @@ removing or modifying. caller-allocates="0" transfer-ownership="full" nullable="1"> - pointer the buffer + pointer the buffer - the index of @buffer + the index of @buffer nullable="1" allow-none="1" closure="2"> - user data passed to gst_buffer_list_foreach() + user data passed to gst_buffer_list_foreach() @@ -3500,7 +5387,9 @@ removing or modifying. glib:type-name="GstBufferPool" glib:get-type="gst_buffer_pool_get_type" glib:type-struct="BufferPoolClass"> - A #GstBufferPool is an object that can be used to pre-allocate and recycle + A #GstBufferPool is an object that can be used to pre-allocate and recycle buffers of the same size and with the same properties. A #GstBufferPool is created with gst_buffer_pool_new(). @@ -3537,43 +5426,63 @@ all buffers are returned to the pool they will be freed. Use gst_object_unref() to release the reference to a bufferpool. If the refcount of the pool reaches 0, the pool will be freed. + - Creates a new #GstBufferPool instance. + Creates a new #GstBufferPool instance. + - a new #GstBufferPool instance + a new #GstBufferPool instance - Enabled the option in @config. This will instruct the @bufferpool to enable + Enabled the option in @config. This will instruct the @bufferpool to enable the specified option on the buffers that it allocates. The supported options by @pool can be retrieved with gst_buffer_pool_get_options(). + - a #GstBufferPool configuration + a #GstBufferPool configuration - an option to add + an option to add - Get the @allocator and @params from @config. + Get the @allocator and @params from @config. + - %TRUE, if the values are set. + %TRUE, if the values are set. - a #GstBufferPool configuration + a #GstBufferPool configuration - a #GstAllocator, or %NULL + a #GstAllocator, or %NULL - #GstAllocationParams, or %NULL + #GstAllocationParams, or %NULL - Parse an available @config and get the option at @index of the options API + Parse an available @config and get the option at @index of the options API array. + - a #gchar of the option at @index. + a #gchar of the option at @index. - a #GstBufferPool configuration + a #GstBufferPool configuration - position in the option array to read + position in the option array to read - Get the configuration values from @config. + Get the configuration values from @config. + - %TRUE if all parameters could be fetched. + %TRUE if all parameters could be fetched. - a #GstBufferPool configuration + a #GstBufferPool configuration transfer-ownership="none" optional="1" allow-none="1"> - the caps of buffers + the caps of buffers transfer-ownership="full" optional="1" allow-none="1"> - the size of each buffer, not including prefix and padding + the size of each buffer, not including prefix and padding transfer-ownership="full" optional="1" allow-none="1"> - the minimum amount of buffers to allocate. + the minimum amount of buffers to allocate. transfer-ownership="full" optional="1" allow-none="1"> - the maximum amount of buffers to allocate or 0 for unlimited. + the maximum amount of buffers to allocate or 0 for unlimited. - Check if @config contains @option. + Check if @config contains @option. + - %TRUE if the options array contains @option. + %TRUE if the options array contains @option. - a #GstBufferPool configuration + a #GstBufferPool configuration - an option + an option - Retrieve the number of values currently stored in the options array of the + Retrieve the number of values currently stored in the options array of the @config structure. + - the options array size as a #guint. + the options array size as a #guint. - a #GstBufferPool configuration + a #GstBufferPool configuration - Set the @allocator and @params on @config. + Set the @allocator and @params on @config. One of @allocator and @params can be %NULL, but not both. When @allocator is %NULL, the default allocator of the pool will use the values in @param @@ -3712,55 +5667,75 @@ with the values that it is able to do. Some pools are, for example, not able to operate with different allocators or cannot allocate with the values specified in @params. Use gst_buffer_pool_get_config() to get the currently used values. + - a #GstBufferPool configuration + a #GstBufferPool configuration - a #GstAllocator + a #GstAllocator - #GstAllocationParams + #GstAllocationParams - Configure @config with the given parameters. + Configure @config with the given parameters. + - a #GstBufferPool configuration + a #GstBufferPool configuration - caps for the buffers + caps for the buffers - the size of each buffer, not including prefix and padding + the size of each buffer, not including prefix and padding - the minimum amount of buffers to allocate. + the minimum amount of buffers to allocate. - the maximum amount of buffers to allocate or 0 for unlimited. + the maximum amount of buffers to allocate or 0 for unlimited. @@ -3768,7 +5743,9 @@ used values. - Validate that changes made to @config are still valid in the context of the + Validate that changes made to @config are still valid in the context of the expected parameters. This function is a helper that can be used to validate changes made by a pool to a config when gst_buffer_pool_set_config() returns %FALSE. This expects that @caps haven't changed and that @@ -3776,67 +5753,92 @@ returns %FALSE. This expects that @caps haven't changed and that This does not check if options or allocator parameters are still valid, won't check if size have changed, since changing the size is valid to adapt padding. + - %TRUE, if the parameters are valid in this context. + %TRUE, if the parameters are valid in this context. - a #GstBufferPool configuration + a #GstBufferPool configuration - the excepted caps of buffers + the excepted caps of buffers - the expected size of each buffer, not including prefix and padding + the expected size of each buffer, not including prefix and padding - the expected minimum amount of buffers to allocate. + the expected minimum amount of buffers to allocate. - the expect maximum amount of buffers to allocate or 0 for unlimited. + the expect maximum amount of buffers to allocate or 0 for unlimited. - Acquire a buffer from @pool. @buffer should point to a memory location that + Acquire a buffer from @pool. @buffer should point to a memory location that can hold a pointer to the new buffer. @params can be %NULL or contain optional parameters to influence the allocation. + - a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is + a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is inactive. - a #GstBufferPool + a #GstBufferPool - a location for a #GstBuffer + a location for a #GstBuffer - parameters. + parameters. + @@ -3854,6 +5856,7 @@ inactive. + @@ -3864,6 +5867,7 @@ inactive. + @@ -3874,6 +5878,7 @@ inactive. + @@ -3887,11 +5892,16 @@ inactive. - Get a %NULL terminated array of string with supported bufferpool options for + Get a %NULL terminated array of string with supported bufferpool options for @pool. An option would typically be enabled with gst_buffer_pool_config_add_option(). + - a %NULL terminated array + a %NULL terminated array of strings. @@ -3899,32 +5909,42 @@ gst_buffer_pool_config_add_option(). - a #GstBufferPool + a #GstBufferPool - Release @buffer to @pool. @buffer should have previously been allocated from + Release @buffer to @pool. @buffer should have previously been allocated from @pool with gst_buffer_pool_acquire_buffer(). This function is usually called automatically when the last ref on @buffer disappears. + - a #GstBufferPool + a #GstBufferPool - a #GstBuffer + a #GstBuffer + @@ -3938,7 +5958,9 @@ disappears. - Set the configuration of the pool. If the pool is already configured, and + Set the configuration of the pool. If the pool is already configured, and the configuration haven't change, this function will return %TRUE. If the pool is active, this method will return %FALSE and active configuration will remain. Buffers allocated form this pool must be returned or else this @@ -3954,22 +5976,30 @@ If the parameters in @config can not be set exactly, this function returns then be retrieved and refined with gst_buffer_pool_get_config(). This function takes ownership of @config. + - %TRUE when the configuration could be set. + %TRUE when the configuration could be set. - a #GstBufferPool + a #GstBufferPool - a #GstStructure + a #GstStructure + @@ -3980,6 +6010,7 @@ This function takes ownership of @config. + @@ -3991,60 +6022,83 @@ This function takes ownership of @config. - Acquire a buffer from @pool. @buffer should point to a memory location that + Acquire a buffer from @pool. @buffer should point to a memory location that can hold a pointer to the new buffer. @params can be %NULL or contain optional parameters to influence the allocation. + - a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is + a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is inactive. - a #GstBufferPool + a #GstBufferPool - a location for a #GstBuffer + a location for a #GstBuffer - parameters. + parameters. - Get a copy of the current configuration of the pool. This configuration + Get a copy of the current configuration of the pool. This configuration can either be modified and used for the gst_buffer_pool_set_config() call or it must be freed after usage. + - a copy of the current configuration of @pool. use + a copy of the current configuration of @pool. use gst_structure_free() after usage or gst_buffer_pool_set_config(). - a #GstBufferPool + a #GstBufferPool - Get a %NULL terminated array of string with supported bufferpool options for + Get a %NULL terminated array of string with supported bufferpool options for @pool. An option would typically be enabled with gst_buffer_pool_config_add_option(). + - a %NULL terminated array + a %NULL terminated array of strings. @@ -4052,65 +6106,92 @@ gst_buffer_pool_config_add_option(). - a #GstBufferPool + a #GstBufferPool - Check if the bufferpool supports @option. + Check if the bufferpool supports @option. + - %TRUE if the buffer pool contains @option. + %TRUE if the buffer pool contains @option. - a #GstBufferPool + a #GstBufferPool - an option + an option - Check if @pool is active. A pool can be activated with the + Check if @pool is active. A pool can be activated with the gst_buffer_pool_set_active() call. + - %TRUE when the pool is active. + %TRUE when the pool is active. - a #GstBufferPool + a #GstBufferPool - Release @buffer to @pool. @buffer should have previously been allocated from + Release @buffer to @pool. @buffer should have previously been allocated from @pool with gst_buffer_pool_acquire_buffer(). This function is usually called automatically when the last ref on @buffer disappears. + - a #GstBufferPool + a #GstBufferPool - a #GstBuffer + a #GstBuffer - Control the active state of @pool. When the pool is inactive, new calls to + Control the active state of @pool. When the pool is inactive, new calls to gst_buffer_pool_acquire_buffer() will return with %GST_FLOW_FLUSHING. Activating the bufferpool will preallocate all resources in the pool based on @@ -4119,24 +6200,33 @@ the configuration of the pool. Deactivating will free the resources again when there are no outstanding buffers. When there are outstanding buffers, they will be freed as soon as they are all returned to the pool. + - %FALSE when the pool was not configured or when preallocation of the + %FALSE when the pool was not configured or when preallocation of the buffers failed. - a #GstBufferPool + a #GstBufferPool - the new active state + the new active state - Set the configuration of the pool. If the pool is already configured, and + Set the configuration of the pool. If the pool is already configured, and the configuration haven't change, this function will return %TRUE. If the pool is active, this method will return %FALSE and active configuration will remain. Buffers allocated form this pool must be returned or else this @@ -4152,17 +6242,24 @@ If the parameters in @config can not be set exactly, this function returns then be retrieved and refined with gst_buffer_pool_get_config(). This function takes ownership of @config. + - %TRUE when the configuration could be set. + %TRUE when the configuration could be set. - a #GstBufferPool + a #GstBufferPool - a #GstStructure + a #GstStructure @@ -4170,18 +6267,25 @@ This function takes ownership of @config. - Enable or disable the flushing state of a @pool without freeing or + Enable or disable the flushing state of a @pool without freeing or allocating buffers. + - a #GstBufferPool + a #GstBufferPool - whether to start or stop flushing + whether to start or stop flushing @@ -4196,7 +6300,7 @@ allocating buffers. - + @@ -4205,24 +6309,32 @@ allocating buffers. glib:type-name="GstBufferPoolAcquireFlags" glib:get-type="gst_buffer_pool_acquire_flags_get_type" c:type="GstBufferPoolAcquireFlags"> - Additional flags to control the allocation of a buffer + Additional flags to control the allocation of a buffer - no flags + no flags - buffer is keyframe + buffer is keyframe - when the bufferpool is empty, acquire_buffer + when the bufferpool is empty, acquire_buffer will by default block until a buffer is released into the pool again. Setting this flag makes acquire_buffer return #GST_FLOW_EOS instead of blocking. @@ -4230,42 +6342,57 @@ this flag makes acquire_buffer return #GST_FLOW_EOS instead of blocking. value="4" c:identifier="GST_BUFFER_POOL_ACQUIRE_FLAG_DISCONT" glib:nick="discont"> - buffer is discont + buffer is discont - last flag, subclasses can use private flags + last flag, subclasses can use private flags starting from this value. - Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the + Parameters passed to the gst_buffer_pool_acquire_buffer() function to control the allocation of the buffer. The default implementation ignores the @start and @stop members but other implementations can use this extra information to decide what buffer to return. + - the format of @start and @stop + the format of @start and @stop - the start position + the start position - the stop position + the stop position - additional flags + additional flags - + @@ -4273,15 +6400,23 @@ return. - The GstBufferPool class. + The GstBufferPool class. + - Object parent class + Object parent class + - a %NULL terminated array + a %NULL terminated array of strings. @@ -4289,7 +6424,9 @@ return. - a #GstBufferPool + a #GstBufferPool @@ -4297,17 +6434,24 @@ return. + - %TRUE when the configuration could be set. + %TRUE when the configuration could be set. - a #GstBufferPool + a #GstBufferPool - a #GstStructure + a #GstStructure @@ -4315,6 +6459,7 @@ return. + @@ -4327,6 +6472,7 @@ return. + @@ -4339,28 +6485,37 @@ return. + - a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is + a #GstFlowReturn such as %GST_FLOW_FLUSHING when the pool is inactive. - a #GstBufferPool + a #GstBufferPool - a location for a #GstBuffer + a location for a #GstBuffer - parameters. + parameters. @@ -4369,6 +6524,7 @@ inactive. + @@ -4388,6 +6544,7 @@ inactive. + @@ -4403,16 +6560,21 @@ inactive. + - a #GstBufferPool + a #GstBufferPool - a #GstBuffer + a #GstBuffer @@ -4420,6 +6582,7 @@ inactive. + @@ -4435,6 +6598,7 @@ inactive. + @@ -4447,6 +6611,7 @@ inactive. + @@ -4458,7 +6623,7 @@ inactive. - + @@ -4466,35 +6631,46 @@ inactive. + - The different types of buffering methods. + The different types of buffering methods. - a small amount of data is buffered + a small amount of data is buffered - the stream is being downloaded + the stream is being downloaded - the stream is being downloaded in a ringbuffer + the stream is being downloaded in a ringbuffer - the stream is a live stream + the stream is a live stream glib:type-name="GstBus" glib:get-type="gst_bus_get_type" glib:type-struct="BusClass"> - The #GstBus is an object responsible for delivering #GstMessage packets in + The #GstBus is an object responsible for delivering #GstMessage packets in a first-in first-out way from the streaming threads (see #GstTask) to the application. @@ -4543,14 +6721,21 @@ Every #GstPipeline has one bus. Note that a #GstPipeline will set its bus into flushing state when changing from READY to NULL state. + - Creates a new #GstBus instance. + Creates a new #GstBus instance. + - a new #GstBus instance + a new #GstBus instance + @@ -4564,6 +6749,7 @@ from READY to NULL state. + @@ -4577,7 +6763,9 @@ from READY to NULL state. - Adds a bus signal watch to the default main context with the default priority + Adds a bus signal watch to the default main context with the default priority (%G_PRIORITY_DEFAULT). It is also possible to use a non-default main context set up using g_main_context_push_thread_default() (before one had to create a bus watch source and attach it to the desired main @@ -4591,19 +6779,24 @@ responsible for calling gst_bus_remove_signal_watch() as many times as this function is called. MT safe. + - a #GstBus on which you want to receive the "message" signal + a #GstBus on which you want to receive the "message" signal - Adds a bus signal watch to the default main context with the given @priority + Adds a bus signal watch to the default main context with the given @priority (e.g. %G_PRIORITY_DEFAULT). It is also possible to use a non-default main context set up using g_main_context_push_thread_default() (before one had to create a bus watch source and attach it to the desired @@ -4620,16 +6813,21 @@ There can only be a single bus watch per bus, you must remove any signal watch before you can set another type of watch. MT safe. + - a #GstBus on which you want to receive the "message" signal + a #GstBus on which you want to receive the "message" signal - The priority of the watch. + The priority of the watch. @@ -4638,7 +6836,9 @@ MT safe. c:identifier="gst_bus_add_watch" shadowed-by="add_watch_full" introspectable="0"> - Adds a bus watch to the default main context with the default priority + Adds a bus watch to the default main context with the default priority (%G_PRIORITY_DEFAULT). It is also possible to use a non-default main context set up using g_main_context_push_thread_default() (before one had to create a bus watch source and attach it to the desired main @@ -4658,24 +6858,33 @@ The bus watch will take its own reference to the @bus, so it is safe to unref @bus using gst_object_unref() after setting the bus watch. MT safe. + - The event source id or 0 if @bus already got an event source. + The event source id or 0 if @bus already got an event source. - a #GstBus to create the watch for + a #GstBus to create the watch for - A function to call when a message is received. + A function to call when a message is received. - user data passed to @func. + user data passed to @func. @@ -4683,7 +6892,9 @@ MT safe. - Adds a bus watch to the default main context with the given @priority (e.g. + Adds a bus watch to the default main context with the given @priority (e.g. %G_PRIORITY_DEFAULT). It is also possible to use a non-default main context set up using g_main_context_push_thread_default() (before one had to create a bus watch source and attach it to the desired main @@ -4706,17 +6917,24 @@ The bus watch will take its own reference to the @bus, so it is safe to unref @bus using gst_object_unref() after setting the bus watch. MT safe. + - The event source id or 0 if @bus already got an event source. + The event source id or 0 if @bus already got an event source. - a #GstBus to create the watch for. + a #GstBus to create the watch for. - The priority of the watch. + The priority of the watch. scope="notified" closure="2" destroy="3"> - A function to call when a message is received. + A function to call when a message is received. - user data passed to @func. + user data passed to @func. - the function to call when the source is removed. + the function to call when the source is removed. - A helper #GstBusFunc that can be used to convert all asynchronous messages + A helper #GstBusFunc that can be used to convert all asynchronous messages into signals. + - %TRUE + %TRUE - a #GstBus + a #GstBus - the #GstMessage received + the #GstMessage received - user data + user data - Create watch for this bus. The GSource will be dispatched whenever + 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. + a #GSource that can be added to a mainloop. - a #GstBus to create the watch for + a #GstBus to create the watch for - Instructs GStreamer to stop emitting the "sync-message" signal for this bus. + 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 @@ -4794,12 +7038,15 @@ the same as gst_object_ref() that which calls enable should also call disable. MT safe. + - a #GstBus on which you previously called + a #GstBus on which you previously called gst_bus_enable_sync_message_emission() @@ -4807,7 +7054,9 @@ gst_bus_enable_sync_message_emission() - Instructs GStreamer to emit the "sync-message" signal after running the bus's + 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. @@ -4817,19 +7066,22 @@ 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 +exactly the same -- this function enables *synchronous* 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 +to pop messages off the bus *asynchronously*. 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. + - a #GstBus on which you want to receive the "sync-message" signal + a #GstBus on which you want to receive the "sync-message" signal @@ -4837,7 +7089,9 @@ MT safe. - Gets the file descriptor from the bus which can be used to get notified about + Gets the file descriptor from the bus which can be used to get notified about messages being available with functions like g_poll(), and allows integration into other event loops based on file descriptors. Whenever a message is available, the POLLIN / %G_IO_IN event is set. @@ -4845,28 +7099,38 @@ Whenever a message is available, the POLLIN / %G_IO_IN event is set. Warning: NEVER read or write anything to the returned fd but only use it for getting notifications via g_poll() or similar and then use the normal GstBus API, e.g. gst_bus_pop(). + - A #GstBus + A #GstBus - A GPollFD to fill + A GPollFD to fill - Check if there are pending messages on the bus that + Check if there are pending messages on the bus that should be handled. + - %TRUE if there are messages on the bus to be handled, %FALSE + %TRUE if there are messages on the bus to be handled, %FALSE otherwise. MT safe. @@ -4874,17 +7138,24 @@ MT safe. - a #GstBus to check + a #GstBus to check - Peek the message on the top of the bus' queue. The message will remain + 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. + - the #GstMessage that is on the + the #GstMessage that is on the bus, or %NULL if the bus is empty. MT safe. @@ -4892,13 +7163,17 @@ MT safe. - a #GstBus + a #GstBus - Poll the bus for messages. Will block while waiting for messages to come. + 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 @timeout is negative, this function will block indefinitely. @@ -4931,8 +7206,11 @@ 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. + - the message that was received, + the message that was received, or %NULL if the poll timed out. The message is taken from the bus and needs to be unreffed with gst_message_unref() after usage. @@ -4940,25 +7218,36 @@ from there. - a #GstBus + a #GstBus - a mask of #GstMessageType, representing the set of message types to + a mask of #GstMessageType, representing the set of message types to poll for (note special handling of extended message types below) - the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll + the poll timeout, as a #GstClockTime, or #GST_CLOCK_TIME_NONE to poll indefinitely. - Get a message from the bus. + Get a message from the bus. + - the #GstMessage that is on the + the #GstMessage that is on the bus, or %NULL if the bus is empty. The message is taken from the bus and needs to be unreffed with gst_message_unref() after usage. @@ -4968,19 +7257,26 @@ MT safe. - a #GstBus to pop + a #GstBus to pop - Get a message matching @type from the bus. Will discard all messages on + 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. It is not possible to use message enums beyond #GST_MESSAGE_EXTENDED in the @events mask. + - the next #GstMessage matching + the next #GstMessage matching @type that is on the bus, or %NULL if the bus is empty or there is no message matching @type. The message is taken from the bus and needs to be unreffed with gst_message_unref() after usage. @@ -4990,46 +7286,64 @@ MT safe. - a #GstBus to pop + a #GstBus to pop - message types to take into account + message types to take into account - Post a message on the given bus. Ownership of the message + Post a message on the given bus. Ownership of the message is taken by the bus. + - %TRUE if the message could be posted, %FALSE if the bus is flushing. + %TRUE if the message could be posted, %FALSE if the bus is flushing. MT safe. - a #GstBus to post on + a #GstBus to post on - the #GstMessage to post + the #GstMessage to post - Removes a signal watch previously added with gst_bus_add_signal_watch(). + Removes a signal watch previously added with gst_bus_add_signal_watch(). MT safe. + - a #GstBus you previously added a signal watch to + a #GstBus you previously added a signal watch to @@ -5037,54 +7351,73 @@ MT safe. - Removes an installed bus watch from @bus. + Removes an installed bus watch from @bus. + - %TRUE on success or %FALSE if @bus has no event source. + %TRUE on success or %FALSE if @bus has no event source. - a #GstBus to remove the watch from. + a #GstBus to remove the watch from. - If @flushing, flush out and unref any messages queued in the bus. Releases + 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. + - a #GstBus + a #GstBus - whether or not to flush the bus + whether or not to flush the bus - Sets the synchronous handler on the bus. The function will be called + 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. +Before 1.16.3 it was not possible to replace an existing handler and +clearing an existing handler with %NULL was not thread-safe. + - a #GstBus to install the handler on + a #GstBus to install the handler on scope="notified" closure="1" destroy="2"> - The handler function to install + The handler function to install - User data that will be sent to the handler function. + User data that will be sent to the handler function. - called when @user_data becomes unused + called when @user_data becomes unused - A helper GstBusSyncHandler that can be used to convert all synchronous + A helper GstBusSyncHandler that can be used to convert all synchronous messages into signals. + - GST_BUS_PASS + GST_BUS_PASS - a #GstBus + a #GstBus - the #GstMessage received + the #GstMessage received - user data + user data - Get a message from the bus, waiting up to the specified timeout. + 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. + - the #GstMessage that is on the + the #GstMessage that is on the bus after the 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. @@ -5153,26 +7508,35 @@ MT safe. - a #GstBus to pop + a #GstBus to pop - a timeout + a timeout - Get a message from the bus whose type matches the message type mask @types, + 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 @timeout is #GST_CLOCK_TIME_NONE, this function will block forever until a matching message was posted on the bus. + - a #GstMessage matching the + a #GstMessage matching the filter in @types, 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 @@ -5183,15 +7547,21 @@ MT safe. - a #GstBus to pop from + a #GstBus to pop from - a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever + a timeout in nanoseconds, or GST_CLOCK_TIME_NONE to wait forever - message types to take into account, GST_MESSAGE_ANY for any type + message types to take into account, GST_MESSAGE_ANY for any type @@ -5210,12 +7580,14 @@ MT safe. - + - A message has been posted on the bus. This signal is emitted from a + 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. @@ -5223,13 +7595,17 @@ there is a mainloop running. - the message that has been posted asynchronously + the message that has been posted asynchronously - A message has been posted on the bus. This signal is emitted from the + 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 call @@ -5239,7 +7615,9 @@ gst_bus_enable_sync_message_emission() before. - the message that has been posted synchronously + the message that has been posted synchronously @@ -5248,11 +7626,13 @@ gst_bus_enable_sync_message_emission() before. + + @@ -5268,6 +7648,7 @@ gst_bus_enable_sync_message_emission() before. + @@ -5282,7 +7663,7 @@ gst_bus_enable_sync_message_emission() before. - + @@ -5291,22 +7672,30 @@ gst_bus_enable_sync_message_emission() before. glib:type-name="GstBusFlags" glib:get-type="gst_bus_flags_get_type" c:type="GstBusFlags"> - The standard flags that a bus may have. + The standard flags that a bus may have. - The bus is currently dropping all messages + The bus is currently dropping all messages - offset to define more flags + offset to define more flags - Specifies the type of function passed to gst_bus_add_watch() or + 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. @@ -5315,17 +7704,24 @@ 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. + %FALSE if the event source should be removed. - the #GstBus that sent the message + the #GstBus that sent the message - the #GstMessage + the #GstMessage - user data that has been given, when registering the handler + user data that has been given, when registering the handler + - Handler will be invoked synchronously, when a new message has been injected + 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 + #GstBusSyncReply stating what to do with the message - the #GstBus that sent the message + the #GstBus that sent the message - the #GstMessage + the #GstMessage nullable="1" allow-none="1" closure="2"> - user data that has been given, when registering the handler + user data that has been given, when registering the handler @@ -5374,46 +7784,665 @@ message should not be unreffed by the sync handler. glib:type-name="GstBusSyncReply" glib:get-type="gst_bus_sync_reply_get_type" c:type="GstBusSyncReply"> - The result values for a GstBusSyncHandler. + The result values for a GstBusSyncHandler. - drop the message + drop the message - pass the message to the async queue + pass the message to the async queue - pass message to async queue, continue if message is handled + pass message to async queue, continue if message is handled + + Just call the parent handler. This assumes that there is a variable +named parent_class that points to the (duh!) parent class. Note that +this macro is not to be used with things that return something, use +the _WITH_DEFAULT version for that + + + + the name of the class cast macro for the parent type + + + name of the function to call + + + arguments enclosed in '( )' + + + + + Same as GST_CALL_PARENT(), but in case there is no implementation, it +evaluates to @def_return. + + + + the name of the class cast macro for the parent type + + + name of the function to call + + + arguments enclosed in '( )' + + + default result + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A flags word containing #GstCapsFlags flags set on this caps. + + + + a #GstCaps. + + + + + Gives the status of a specific flag on a caps. + + + + a #GstCaps. + + + the #GstCapsFlags to check. + + + + + Sets a caps flag on a caps. + + + + a #GstCaps. + + + the #GstCapsFlags to set. + + + + + Clears a caps flag. + + + + a #GstCaps. + + + the #GstCapsFlags to clear. + + + + + Convenience macro that checks if the number of structures in the given caps +is exactly one. + + + + the #GstCaps instance to check + + + + + Get access to the reference count field of the caps + + + + a #GstCaps + + + + + Get the reference count value of the caps. + + + + a #GstCaps + + + + + Output a hexdump of @data in the given category. + +There is no need to finish the end of the message string with a newline +character, a newline character will be added automatically. + + + + category to use + + + message string to log with the data + + + pointer to the data to output + + + length of the data to output + + + + + Output a hexdump of @data relating to the given object in the given +category. + +There is no need to finish the end of the message string with a newline +character, a newline character will be added automatically. + + + + category to use + + + the #GObject the message belongs to + + + message string to log with the data + + + pointer to the data to output + + + length of the data to output + + + + + Check whether a GStreamer version equal to or greater than +major.minor.micro is present. + + + + a number indicating the major version + + + a number indicating the minor version + + + a number indicating the micro version + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Calculate a difference between two clock times as a #GstClockTimeDiff. +The difference is calculated as @e - @s. + + + + the first time + + + the second time + + + + + Cast to a clock entry + + + + the entry to cast + + + + + Get the owner clock of the entry + Use gst_clock_id_get_clock() instead. + + + + the entry to query + + + + + Get the interval of this periodic entry + + + + the entry to query + + + + + The status of the entry + + + + the entry to query + + + + + Get the requested time of this entry + + + + the entry to query + + + + + Get the type of the clock entry + + + + the entry to query + + + + + Gets the #GstClockFlags clock flags. + + + + the clock to query + + + + + + + + + + + + Tests if a given #GstClockTimeDiff of #gint64 represents a valid defined time. + + + + signed clock time to validate + + + + + Tests if a given #GstClockTime represents a valid defined time. + + + + clock time to validate + + + - Constant to define an undefined clock time. + Constant to define an undefined clock time. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Caps (capabilities) are lightweight refcounted objects describing media types. + Caps (capabilities) are lightweight refcounted objects describing media types. They are composed of an array of #GstStructure. Caps are exposed on #GstPadTemplate to describe all possible types a @@ -5447,40 +8476,60 @@ has limited support for nested #GstCaps / #GstStructure fields. It can only support one level of nesting. Using more levels will lead to unexpected behavior when using serialization features, such as gst_caps_to_string() or gst_value_serialize() and their counterparts. + - the parent type + the parent type - Creates a new #GstCaps that indicates that it is compatible with + Creates a new #GstCaps that indicates that it is compatible with any media format. + - the new #GstCaps + the new #GstCaps - Creates a new #GstCaps that is empty. That is, the returned + Creates a new #GstCaps that is empty. That is, the returned #GstCaps contains no media formats. The #GstCaps is guaranteed to be writable. Caller is responsible for unreffing the returned caps. + - the new #GstCaps + the new #GstCaps - Creates a new #GstCaps that contains one #GstStructure with name + Creates a new #GstCaps that contains one #GstStructure with name @media_type. Caller is responsible for unreffing the returned caps. + - the new #GstCaps + the new #GstCaps - the media type of the structure + the media type of the structure @@ -5488,20 +8537,29 @@ Caller is responsible for unreffing the returned caps. - Creates a new #GstCaps and adds all the structures listed as + 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 new #GstCaps - the first structure to add + the first structure to add - additional structures to add + additional structures to add @@ -5509,20 +8567,29 @@ are not copied; the returned #GstCaps owns the structures. - Creates a new #GstCaps and adds all the structures listed as + 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 new #GstCaps - the first structure to add + the first structure to add - additional structures to add + additional structures to add @@ -5530,60 +8597,85 @@ are not copied; the returned #GstCaps owns the structures. - Creates a new #GstCaps that contains one #GstStructure. The + 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 new #GstCaps - the media type of the structure + the media type of the structure - first field to set + first field to set - additional arguments + additional arguments - Appends the structures contained in @caps2 to @caps1. The structures in + Appends the structures contained in @caps2 to @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 that will be appended to + the #GstCaps that will be appended to - the #GstCaps to append + the #GstCaps to append - Appends @structure to @caps. The structure is not copied; @caps + Appends @structure to @caps. The structure is not copied; @caps becomes the owner of @structure. + - the #GstCaps that will be appended to + the #GstCaps that will be appended to - the #GstStructure to append + the #GstStructure to append @@ -5591,49 +8683,69 @@ becomes the owner of @structure. - Appends @structure with @features to @caps. The structure is not copied; @caps + Appends @structure with @features to @caps. The structure is not copied; @caps becomes the owner of @structure. + - the #GstCaps that will be appended to + the #GstCaps that will be appended to - the #GstStructure to append + the #GstStructure to append - the #GstCapsFeatures to append + the #GstCapsFeatures to append - Tries intersecting @caps1 and @caps2 and reports whether the result would not + Tries intersecting @caps1 and @caps2 and reports whether the result would not be empty + - %TRUE if intersection would be not empty + %TRUE if intersection would be not empty - a #GstCaps to intersect + a #GstCaps to intersect - a #GstCaps to intersect + a #GstCaps to intersect - Creates a new #GstCaps as a copy of the old @caps. The new caps will have a + 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() @@ -5641,31 +8753,45 @@ 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 + the new #GstCaps - a #GstCaps. + a #GstCaps. - - Creates a new #GstCaps and appends a copy of the nth structure + + Creates a new #GstCaps and appends a copy of the nth structure contained in @caps. + - the new #GstCaps + the new #GstCaps - the #GstCaps to copy + the #GstCaps to copy - the nth structure to copy + the nth structure to copy @@ -5673,81 +8799,114 @@ contained in @caps. - Calls the provided function once for each structure and caps feature in the + Calls the provided function once for each structure and caps feature in the #GstCaps. In contrast to gst_caps_foreach(), the function may modify the structure and features. In contrast to gst_caps_filter_and_map_in_place(), the structure and features are removed from the caps if %FALSE is returned from the function. The caps must be mutable. + - a #GstCaps + a #GstCaps - a function to call for each field + a function to call for each field - private data + private data - Modifies the given @caps into a representation with only fixed + Modifies the given @caps into a representation with only fixed values. First the caps will be truncated and then the first structure will be fixated with gst_structure_fixate(). This function takes ownership of @caps and will call gst_caps_make_writable() on it so you must not use @caps afterwards unless you keep an additional -reference to it with gst_caps_ref(). +reference to it with gst_caps_ref(). + +Note that it is not guaranteed that the returned caps have exactly one +structure. If @caps are empty caps then then returned caps will be +the empty too and contain no structure at all. + +Calling this function with any caps is not allowed. + - the fixated caps + the fixated caps - a #GstCaps to fixate + a #GstCaps to fixate - Calls the provided function once for each structure and caps feature in the + Calls the provided function once for each structure and caps feature in the #GstCaps. The function must not modify the fields. Also see gst_caps_map_in_place() and gst_caps_filter_and_map_in_place(). + - %TRUE if the supplied function returns %TRUE for each call, + %TRUE if the supplied function returns %TRUE for each call, %FALSE otherwise. - a #GstCaps + a #GstCaps - a function to call for each field + a function to call for each field - private data + private data @@ -5755,7 +8914,9 @@ Also see gst_caps_map_in_place() and gst_caps_filter_and_map_in_place(). - Finds the features in @caps that has the index @index, and + Finds the features in @caps that has the index @index, and returns it. WARNING: This function takes a const GstCaps *, but returns a @@ -5769,37 +8930,53 @@ gst_caps_features_add(). You do not need to free or unref the structure returned, it belongs to the #GstCaps. + - a pointer to the #GstCapsFeatures + a pointer to the #GstCapsFeatures corresponding to @index - a #GstCaps + a #GstCaps - the index of the structure + the index of the structure - Gets the number of structures contained in @caps. + Gets the number of structures contained in @caps. + - the number of structures that @caps contains + the number of structures that @caps contains - a #GstCaps + a #GstCaps - Finds the structure in @caps that has the index @index, and + Finds the structure in @caps that has the index @index, and returns it. WARNING: This function takes a const GstCaps *, but returns a @@ -5813,209 +8990,311 @@ gst_structure_set(). You do not need to free or unref the structure returned, it belongs to the #GstCaps. + - a pointer to the #GstStructure corresponding + a pointer to the #GstStructure corresponding to @index - a #GstCaps + a #GstCaps - the index of the structure + the index of the structure - Creates a new #GstCaps that contains all the formats that are common + Creates a new #GstCaps that contains all the formats that are common to both @caps1 and @caps2. Defaults to %GST_CAPS_INTERSECT_ZIG_ZAG mode. + - the new #GstCaps + the new #GstCaps - a #GstCaps to intersect + a #GstCaps to intersect - a #GstCaps to intersect + a #GstCaps to intersect - Creates a new #GstCaps that contains all the formats that are common + Creates a new #GstCaps that contains all the formats that are common to both @caps1 and @caps2, the order is defined by the #GstCapsIntersectMode used. + - the new #GstCaps + the new #GstCaps - a #GstCaps to intersect + a #GstCaps to intersect - a #GstCaps to intersect + a #GstCaps to intersect - The intersection algorithm/mode to use + The intersection algorithm/mode to use - A given #GstCaps structure is always compatible with another if + 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. + %TRUE if @caps1 is a subset of @caps2. - the #GstCaps to test + the #GstCaps to test - the #GstCaps to test + the #GstCaps to test - Determines if @caps represents any media format. + Determines if @caps represents any media format. + - %TRUE if @caps represents any format. + %TRUE if @caps represents any format. - the #GstCaps to test + the #GstCaps to test - Determines if @caps represents no media formats. + Determines if @caps represents no media formats. + - %TRUE if @caps represents no formats. + %TRUE if @caps represents no formats. - the #GstCaps to test + the #GstCaps to test - Checks if the given caps represent the same set of caps. + Checks if the given caps represent the same set of caps. + - %TRUE if both caps are equal. + %TRUE if both caps are equal. - a #GstCaps + a #GstCaps - another #GstCaps + another #GstCaps - Tests if two #GstCaps are equal. This function only works on fixed + Tests if two #GstCaps are equal. This function only works on fixed #GstCaps. + - %TRUE if the arguments represent the same format + %TRUE if the arguments represent the same format - the #GstCaps to test + the #GstCaps to test - the #GstCaps to test + the #GstCaps to test - Fixed #GstCaps describe exactly one format, that is, they have exactly + 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 + %TRUE if @caps is fixed - the #GstCaps to test + the #GstCaps to test - Checks if the given caps are exactly the same set of caps. + Checks if the given caps are exactly the same set of caps. + - %TRUE if both caps are strictly equal. + %TRUE if both caps are strictly equal. - a #GstCaps + a #GstCaps - another #GstCaps + another #GstCaps - Checks if all caps represented by @subset are also represented by @superset. + Checks if all caps represented by @subset are also represented by @superset. + - %TRUE if @subset is a subset of @superset + %TRUE if @subset is a subset of @superset - a #GstCaps + a #GstCaps - a potentially greater #GstCaps + a potentially greater #GstCaps - Checks if @structure is a subset of @caps. See gst_caps_is_subset() + Checks if @structure is a subset of @caps. See gst_caps_is_subset() for more information. + - %TRUE if @structure is a subset of @caps + %TRUE if @structure is a subset of @caps - a #GstCaps + a #GstCaps - a potential #GstStructure subset of @caps + a potential #GstStructure subset of @caps @@ -6023,26 +9302,37 @@ for more information. - Checks if @structure is a subset of @caps. See gst_caps_is_subset() + Checks if @structure is a subset of @caps. See gst_caps_is_subset() for more information. + - %TRUE if @structure is a subset of @caps + %TRUE if @structure is a subset of @caps - a #GstCaps + a #GstCaps - a potential #GstStructure subset of @caps + a potential #GstStructure subset of @caps - a #GstCapsFeatures for @structure + a #GstCapsFeatures for @structure @@ -6050,68 +9340,97 @@ for more information. - Calls the provided function once for each structure and caps feature in the + Calls the provided function once for each structure and caps feature in the #GstCaps. In contrast to gst_caps_foreach(), the function may modify but not delete the structures and features. The caps must be mutable. + - %TRUE if the supplied function returns %TRUE for each call, + %TRUE if the supplied function returns %TRUE for each call, %FALSE otherwise. - a #GstCaps + a #GstCaps - a function to call for each field + a function to call for each field - private data + private data - Appends the structures contained in @caps2 to @caps1 if they are not yet + 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 a writable copy of @caps1, and then @caps2 is freed. If either caps is ANY, the resulting caps will be ANY. + - the merged caps. + the merged caps. - the #GstCaps that will take the new entries + the #GstCaps that will take the new entries - the #GstCaps to merge in + the #GstCaps to merge in - Appends @structure to @caps if its not already expressed by @caps. + Appends @structure to @caps if its not already expressed by @caps. + - the merged caps. + the merged caps. - the #GstCaps to merge into + the #GstCaps to merge into - the #GstStructure to merge + the #GstStructure to merge @@ -6119,61 +9438,113 @@ If either caps is ANY, the resulting caps will be ANY. - Appends @structure with @features to @caps if its not already expressed by @caps. + Appends @structure with @features to @caps if its not already expressed by @caps. + - the merged caps. + the merged caps. - the #GstCaps to merge into + the #GstCaps to merge into - the #GstStructure to merge + the #GstStructure to merge - the #GstCapsFeatures to merge + the #GstCapsFeatures to merge - Returns a #GstCaps that represents the same set of formats as + Returns a #GstCaps that represents the same set of formats as @caps, but contains no lists. Each list is expanded into separate @GstStructures. This function takes ownership of @caps and will call gst_caps_make_writable() on it so you must not use @caps afterwards unless you keep an additional reference to it with gst_caps_ref(). + - the normalized #GstCaps + the normalized #GstCaps - a #GstCaps to normalize + a #GstCaps to normalize + + + + + + 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. + + + + + the #GstCaps to reference - removes the structure with the given index from the list of structures + removes the structure with the given index from the list of structures contained in @caps. + - the #GstCaps to remove from + the #GstCaps to remove from - Index of the structure to remove + Index of the structure to remove @@ -6181,24 +9552,33 @@ contained in @caps. - Sets the #GstCapsFeatures @features for the structure at @index. + Sets the #GstCapsFeatures @features for the structure at @index. + - a #GstCaps + a #GstCaps - the index of the structure + the index of the structure - the #GstCapsFeatures to set + the #GstCapsFeatures to set @@ -6206,20 +9586,27 @@ contained in @caps. - Sets the #GstCapsFeatures @features for all the structures of @caps. + Sets the #GstCapsFeatures @features for all the structures of @caps. + - a #GstCaps + a #GstCaps - the #GstCapsFeatures to set + the #GstCapsFeatures to set @@ -6227,22 +9614,31 @@ contained in @caps. - Sets fields in a #GstCaps. The arguments must be passed in the same + Sets fields in a #GstCaps. The arguments must be passed in the same manner as gst_structure_set(), and be %NULL-terminated. + - the #GstCaps to set + the #GstCaps to set - first field to set + first field to set - additional parameters + additional parameters @@ -6250,50 +9646,70 @@ manner as gst_structure_set(), and be %NULL-terminated. - Sets fields in a #GstCaps. The arguments must be passed in the same + Sets fields in a #GstCaps. The arguments must be passed in the same manner as gst_structure_set(), and be %NULL-terminated. + - the #GstCaps to set + the #GstCaps to set - first field to set + first field to set - additional parameters + additional parameters - Sets the given @field on all structures of @caps to the given @value. + 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. + - a writable caps + a writable caps - name of the field to set + name of the field to set - value to set the field to + value to set the field to - Converts the given @caps into a representation that represents the + Converts the given @caps 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. @@ -6303,57 +9719,82 @@ on it if necessary, so you must not use @caps afterwards unless you keep an additional reference to it with gst_caps_ref(). This method does not preserve the original order of @caps. + - The simplified caps. + The simplified caps. - a #GstCaps to simplify + a #GstCaps to simplify - Retrieves the structure with the given index from the list of structures + Retrieves the structure with the given index from the list of structures contained in @caps. The caller becomes the owner of the returned structure. + - a pointer to the #GstStructure + a pointer to the #GstStructure corresponding to @index. - the #GstCaps to retrieve from + the #GstCaps to retrieve from - Index of the structure to retrieve + Index of the structure to retrieve - Subtracts the @subtrahend from the @minuend. + Subtracts the @subtrahend from the @minuend. > This function does not work reliably if optional properties for caps > are included on one caps and omitted on the other. + - the resulting caps + the resulting caps - #GstCaps to subtract from + #GstCaps to subtract from - #GstCaps to subtract + #GstCaps to subtract - Converts @caps to a string representation. This string representation + 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: @@ -6364,58 +9805,181 @@ This prints the caps in human readable form. The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. + - a newly allocated string representing @caps. + a newly allocated string representing @caps. - a #GstCaps + a #GstCaps - Discard all but the first structure from @caps. Useful when + Discard all but the first structure from @caps. Useful when fixating. This function takes ownership of @caps and will call gst_caps_make_writable() on it if necessary, so you must not use @caps afterwards unless you keep an -additional reference to it with gst_caps_ref(). +additional reference to it with gst_caps_ref(). + +Note that it is not guaranteed that the returned caps have exactly one +structure. If @caps is any or empty caps then then returned caps will be +the same and contain no structure at all. + - truncated caps + truncated caps - the #GstCaps to truncate + the #GstCaps to truncate + + + + + + Unref a #GstCaps and and free all its structures and the +structures' values when the refcount reaches 0. + + + + + + + a #GstCaps. - Converts @caps from a string representation. + Converts @caps from a string representation. The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. + - a newly allocated #GstCaps + a newly allocated #GstCaps - a string to convert to #GstCaps + a string to convert to #GstCaps + + Modifies a pointer to a #GstCaps to point to a different #GstCaps. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +caps is unreffed, the new is reffed). + +Either @new_caps or the #GstCaps pointed to by @old_caps may be %NULL. + + + %TRUE if @new_caps was different from @old_caps + + + + + pointer to a pointer + to a #GstCaps to be replaced. + + + + pointer to a #GstCaps that will + replace the caps pointed to by @old_caps. + + + + + + Modifies a pointer to a #GstCaps to point to a different #GstCaps. This +function is similar to gst_caps_replace() except that it takes ownership +of @new_caps. + + + %TRUE if @new_caps was different from @old_caps + + + + + pointer to a pointer to a #GstCaps to be + replaced. + + + + pointer to a #GstCaps that will + replace the caps pointed to by @old_caps. + + + + - #GstCapsFeatures can optionally be set on a #GstCaps to add requirements + #GstCapsFeatures can optionally be set on a #GstCaps to add requirements for additional features for a specific #GstStructure. Caps structures with the same name but with a non-equal set of caps features are not compatible. If a pad supports multiple sets of features it has to add multiple equal @@ -6433,25 +9997,35 @@ Examples for caps features would be the requirement of a specific #GstMemory types or the requirement of having a specific #GstMeta on the buffer. Features are given as a string of the format "memory:GstMemoryTypeName" or "meta:GstMetaAPIName". + - Creates a new #GstCapsFeatures with the given features. + Creates a new #GstCapsFeatures with the given features. The last argument must be %NULL. Free-function: gst_caps_features_free + - a new, empty #GstCapsFeatures + a new, empty #GstCapsFeatures - name of first feature to set + name of first feature to set - additional features + additional features @@ -6459,24 +10033,34 @@ Free-function: gst_caps_features_free - Creates a new, ANY #GstCapsFeatures. This will be equal + Creates a new, ANY #GstCapsFeatures. This will be equal to any other #GstCapsFeatures but caps with these are unfixed. Free-function: gst_caps_features_free + - a new, ANY #GstCapsFeatures + a new, ANY #GstCapsFeatures - Creates a new, empty #GstCapsFeatures. + Creates a new, empty #GstCapsFeatures. Free-function: gst_caps_features_free + - a new, empty #GstCapsFeatures + a new, empty #GstCapsFeatures @@ -6484,21 +10068,30 @@ Free-function: gst_caps_features_free c:identifier="gst_caps_features_new_id" version="1.2" introspectable="0"> - Creates a new #GstCapsFeatures with the given features. + Creates a new #GstCapsFeatures with the given features. The last argument must be 0. Free-function: gst_caps_features_free + - a new, empty #GstCapsFeatures + a new, empty #GstCapsFeatures - name of first feature to set + name of first feature to set - additional features + additional features @@ -6507,20 +10100,29 @@ Free-function: gst_caps_features_free c:identifier="gst_caps_features_new_id_valist" version="1.2" introspectable="0"> - Creates a new #GstCapsFeatures with the given features. + Creates a new #GstCapsFeatures with the given features. Free-function: gst_caps_features_free + - a new, empty #GstCapsFeatures + a new, empty #GstCapsFeatures - name of first feature to set + name of first feature to set - variable argument list + variable argument list @@ -6529,36 +10131,52 @@ Free-function: gst_caps_features_free c:identifier="gst_caps_features_new_valist" version="1.2" introspectable="0"> - Creates a new #GstCapsFeatures with the given features. + Creates a new #GstCapsFeatures with the given features. Free-function: gst_caps_features_free + - a new, empty #GstCapsFeatures + a new, empty #GstCapsFeatures - name of first feature to set + name of first feature to set - variable argument list + variable argument list - Adds @feature to @features. + Adds @feature to @features. + - a #GstCapsFeatures. + a #GstCapsFeatures. - a feature. + a feature. @@ -6566,17 +10184,24 @@ Free-function: gst_caps_features_free - Adds @feature to @features. + Adds @feature to @features. + - a #GstCapsFeatures. + a #GstCapsFeatures. - a feature. + a feature. @@ -6584,18 +10209,27 @@ Free-function: gst_caps_features_free - Check if @features contains @feature. + Check if @features contains @feature. + - %TRUE if @features contains @feature. + %TRUE if @features contains @feature. - a #GstCapsFeatures. + a #GstCapsFeatures. - a feature + a feature @@ -6603,46 +10237,67 @@ Free-function: gst_caps_features_free - Check if @features contains @feature. + Check if @features contains @feature. + - %TRUE if @features contains @feature. + %TRUE if @features contains @feature. - a #GstCapsFeatures. + a #GstCapsFeatures. - a feature + a feature - Duplicates a #GstCapsFeatures and all its values. + Duplicates a #GstCapsFeatures and all its values. Free-function: gst_caps_features_free + - a new #GstCapsFeatures. + a new #GstCapsFeatures. - a #GstCapsFeatures to duplicate + a #GstCapsFeatures to duplicate - Frees a #GstCapsFeatures and all its values. The caps features must not + Frees a #GstCapsFeatures and all its values. The caps features must not have a parent when this function is called. + - the #GstCapsFeatures to free + the #GstCapsFeatures to free @@ -6650,18 +10305,27 @@ have a parent when this function is called. - Returns the @i-th feature of @features. + Returns the @i-th feature of @features. + - The @i-th feature of @features. + The @i-th feature of @features. - a #GstCapsFeatures. + a #GstCapsFeatures. - index of the feature + index of the feature @@ -6669,18 +10333,27 @@ have a parent when this function is called. - Returns the @i-th feature of @features. + Returns the @i-th feature of @features. + - The @i-th feature of @features. + The @i-th feature of @features. - a #GstCapsFeatures. + a #GstCapsFeatures. - index of the feature + index of the feature @@ -6688,14 +10361,21 @@ have a parent when this function is called. - Returns the number of features in @features. + Returns the number of features in @features. + - The number of features in @features. + The number of features in @features. - a #GstCapsFeatures. + a #GstCapsFeatures. @@ -6703,14 +10383,21 @@ have a parent when this function is called. - Check if @features is %GST_CAPS_FEATURES_ANY. + Check if @features is %GST_CAPS_FEATURES_ANY. + - %TRUE if @features is %GST_CAPS_FEATURES_ANY. + %TRUE if @features is %GST_CAPS_FEATURES_ANY. - a #GstCapsFeatures. + a #GstCapsFeatures. @@ -6718,18 +10405,27 @@ have a parent when this function is called. - Check if @features1 and @features2 are equal. + Check if @features1 and @features2 are equal. + - %TRUE if @features1 and @features2 are equal. + %TRUE if @features1 and @features2 are equal. - a #GstCapsFeatures. + a #GstCapsFeatures. - a #GstCapsFeatures. + a #GstCapsFeatures. @@ -6737,17 +10433,24 @@ have a parent when this function is called. - Removes @feature from @features. + Removes @feature from @features. + - a #GstCapsFeatures. + a #GstCapsFeatures. - a feature. + a feature. @@ -6755,17 +10458,24 @@ have a parent when this function is called. - Removes @feature from @features. + Removes @feature from @features. + - a #GstCapsFeatures. + a #GstCapsFeatures. - a feature. + a feature. @@ -6773,21 +10483,30 @@ have a parent when this function is called. - Sets the parent_refcount field of #GstCapsFeatures. This field is used to + Sets the parent_refcount field of #GstCapsFeatures. This field is used to determine whether a caps features is mutable or not. This function should only be called by code implementing parent objects of #GstCapsFeatures, as described in the MT Refcounting section of the design documents. + - %TRUE if the parent refcount could be set. + %TRUE if the parent refcount could be set. - a #GstCapsFeatures + a #GstCapsFeatures - a pointer to the parent's refcount + a pointer to the parent's refcount @@ -6795,7 +10514,9 @@ the MT Refcounting section of the design documents. - Converts @features to a human-readable string representation. + Converts @features to a human-readable string representation. For debugging purposes its easier to do something like this: |[<!-- language="C" --> @@ -6804,14 +10525,19 @@ GST_LOG ("features is %" GST_PTR_FORMAT, features); This prints the features in human readable form. Free-function: g_free + - a pointer to string allocated by g_malloc(). + a pointer to string allocated by g_malloc(). g_free() after usage. - a #GstCapsFeatures + a #GstCapsFeatures @@ -6819,39 +10545,55 @@ Free-function: g_free - Creates a #GstCapsFeatures from a string representation. + Creates a #GstCapsFeatures from a string representation. Free-function: gst_caps_features_free + - a new #GstCapsFeatures or + a new #GstCapsFeatures or %NULL when the string could not be parsed. Free with gst_caps_features_free() after use. - a string representation of a #GstCapsFeatures. + a string representation of a #GstCapsFeatures. - A function that will be called in gst_caps_filter_and_map_in_place(). + A function that will be called in gst_caps_filter_and_map_in_place(). The function may modify @features and @structure, and both will be removed from the caps if %FALSE is returned. + - %TRUE if the features and structure should be preserved, + %TRUE if the features and structure should be preserved, %FALSE if it should be removed. - the #GstCapsFeatures + the #GstCapsFeatures - the #GstStructure + the #GstStructure nullable="1" allow-none="1" closure="2"> - user data + user data @@ -6868,30 +10612,43 @@ removed from the caps if %FALSE is returned. glib:type-name="GstCapsFlags" glib:get-type="gst_caps_flags_get_type" c:type="GstCapsFlags"> - Extra flags for a caps. + Extra flags for a caps. - Caps has no specific content, but can contain + Caps has no specific content, but can contain anything. - A function that will be called in gst_caps_foreach(). The function may + A function that will be called in gst_caps_foreach(). The function may not modify @features or @structure. + - %TRUE if the foreach operation should continue, %FALSE if + %TRUE if the foreach operation should continue, %FALSE if the foreach operation should stop with %FALSE. - the #GstCapsFeatures + the #GstCapsFeatures - the #GstStructure + the #GstStructure nullable="1" allow-none="1" closure="2"> - user data + user data @@ -6908,7 +10667,9 @@ the foreach operation should stop with %FALSE. glib:type-name="GstCapsIntersectMode" glib:get-type="gst_caps_intersect_mode_get_type" c:type="GstCapsIntersectMode"> - Modes of caps intersection + Modes of caps intersection @GST_CAPS_INTERSECT_ZIG_ZAG tries to preserve overall order of both caps by iterating on the caps' structures as the following matrix shows: @@ -6931,30 +10692,43 @@ would be [A, B], maintaining the first caps priority on the intersection. value="0" c:identifier="GST_CAPS_INTERSECT_ZIG_ZAG" glib:nick="zig-zag"> - Zig-zags over both caps. + Zig-zags over both caps. - Keeps the first caps order. + Keeps the first caps order. - A function that will be called in gst_caps_map_in_place(). The function + A function that will be called in gst_caps_map_in_place(). The function may modify @features and @structure. + - %TRUE if the map operation should continue, %FALSE if + %TRUE if the map operation should continue, %FALSE if the map operation should stop with %FALSE. - the #GstCapsFeatures + the #GstCapsFeatures - the #GstStructure + the #GstStructure nullable="1" allow-none="1" closure="2"> - user data + user data @@ -6973,7 +10749,9 @@ the map operation should stop with %FALSE. glib:type-name="GstChildProxy" glib:get-type="gst_child_proxy_get_type" glib:type-struct="ChildProxyInterface"> - This interface abstracts handling of property sets for elements with + This interface abstracts handling of property sets for elements with children. Imagine elements such as mixers or polyphonic generators. They all have multiple #GstPad or some kind of voice objects. Another use case are container elements like #GstBin. @@ -6986,50 +10764,74 @@ parent element by using gst_child_proxy_get() and gst_child_proxy_set(). Property names are written as "child-name::property-name". The whole naming scheme is recursive. Thus "child1::child2::property" is valid too, if "child1" and "child2" implement the #GstChildProxy interface. + - Emits the "child-added" signal. + Emits the "child-added" signal. + - the parent object + the parent object - the newly added child + the newly added child - the name of the new child + the name of the new child - Emits the "child-removed" signal. + Emits the "child-removed" signal. + - the parent object + the parent object - the removed child + the removed child - the name of the old child + the name of the old child - Fetches a child by its number. + Fetches a child by its number. + - the child object or %NULL if + the child object or %NULL if not found (index too high). Unref after usage. MT safe. @@ -7037,23 +10839,32 @@ MT safe. - the parent object to get the child from + the parent object to get the child from - the child's position in the child list + the child's position in the child list - Looks up a child element by the given name. + Looks up a child element by the given name. This virtual method has a default implementation that uses #GstObject together with gst_object_get_name(). If the interface is to be used with #GObjects, this methods needs to be overridden. + - the child object or %NULL if + the child object or %NULL if not found. Unref after usage. MT safe. @@ -7061,96 +10872,139 @@ MT safe. - the parent object to get the child from + the parent object to get the child from - the child's name + the child's name - Gets the number of child objects this parent contains. + Gets the number of child objects this parent contains. + - the number of child objects + the number of child objects MT safe. - the parent object + the parent object - Emits the "child-added" signal. + Emits the "child-added" signal. + - the parent object + the parent object - the newly added child + the newly added child - the name of the new child + the name of the new child - Emits the "child-removed" signal. + Emits the "child-removed" signal. + - the parent object + the parent object - the removed child + the removed child - the name of the old child + the name of the old child - Gets properties of the parent object and its children. + Gets properties of the parent object and its children. + - the parent object + the parent object - name of the first property to get + name of the first property to get - return location for the first property, followed optionally by more name/return location pairs, followed by %NULL + return location for the first property, followed optionally by more name/return location pairs, followed by %NULL - Fetches a child by its number. + Fetches a child by its number. + - the child object or %NULL if + the child object or %NULL if not found (index too high). Unref after usage. MT safe. @@ -7158,24 +11012,33 @@ MT safe. - the parent object to get the child from + the parent object to get the child from - the child's position in the child list + the child's position in the child list - Looks up a child element by the given name. + Looks up a child element by the given name. This virtual method has a default implementation that uses #GstObject together with gst_object_get_name(). If the interface is to be used with #GObjects, this methods needs to be overridden. + - the child object or %NULL if + the child object or %NULL if not found. Unref after usage. MT safe. @@ -7183,51 +11046,71 @@ MT safe. - the parent object to get the child from + the parent object to get the child from - the child's name + the child's name - Gets the number of child objects this parent contains. + Gets the number of child objects this parent contains. + - the number of child objects + the number of child objects MT safe. - the parent object + the parent object - Gets a single property using the GstChildProxy mechanism. + Gets a single property using the GstChildProxy mechanism. You are responsible for freeing it by calling g_value_unset() + - object to query + object to query - name of the property + name of the property - a #GValue that should take the result. + a #GValue that should take the result. @@ -7235,42 +11118,60 @@ You are responsible for freeing it by calling g_value_unset() - Gets properties of the parent object and its children. + Gets properties of the parent object and its children. + - the object to query + the object to query - name of the first property to get + name of the first property to get - return location for the first property, followed optionally by more name/return location pairs, followed by %NULL + 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. + Looks up which object and #GParamSpec would be effected by the given @name. MT safe. + - %TRUE if @target and @pspec could be found. %FALSE otherwise. In that + %TRUE if @target and @pspec could be found. %FALSE otherwise. In that case the values for @pspec and @target are not modified. Unref @target after usage. For plain GObjects @target is the same as @object. - child proxy object to lookup the property in + child proxy object to lookup the property in - name of the property to look up + name of the property to look up transfer-ownership="full" optional="1" allow-none="1"> - pointer to a #GObject that + pointer to a #GObject that takes the real object to set property on @@ -7289,48 +11192,68 @@ usage. For plain GObjects @target is the same as @object. transfer-ownership="none" optional="1" allow-none="1"> - pointer to take the #GParamSpec + pointer to take the #GParamSpec describing the property - Sets properties of the parent object and its children. + Sets properties of the parent object and its children. + - the parent object + the parent object - name of the first property to set + name of the first property to set - value for the first property, followed optionally by more name/value pairs, followed by %NULL + value for the first property, followed optionally by more name/value pairs, followed by %NULL - Sets a single property using the GstChildProxy mechanism. + Sets a single property using the GstChildProxy mechanism. + - the parent object + the parent object - name of the property to set + name of the property to set - new #GValue for the property + new #GValue for the property @@ -7338,53 +11261,74 @@ usage. For plain GObjects @target is the same as @object. - Sets properties of the parent object and its children. + Sets properties of the parent object and its children. + - the parent object + the parent object - name of the first property to set + name of the first property to set - value for the first property, followed optionally by more name/value pairs, followed by %NULL + value for the first property, followed optionally by more name/value pairs, followed by %NULL - Will be emitted after the @object was added to the @child_proxy. + Will be emitted after the @object was added to the @child_proxy. - the #GObject that was added + the #GObject that was added - the name of the new child + the name of the new child - Will be emitted after the @object was removed from the @child_proxy. + Will be emitted after the @object was removed from the @child_proxy. - the #GObject that was removed + the #GObject that was removed - the name of the old child + the name of the old child @@ -7393,15 +11337,23 @@ usage. For plain GObjects @target is the same as @object. - #GstChildProxy interface. + #GstChildProxy interface. + - parent interface type. + parent interface type. + - the child object or %NULL if + the child object or %NULL if not found. Unref after usage. MT safe. @@ -7409,11 +11361,15 @@ MT safe. - the parent object to get the child from + the parent object to get the child from - the child's name + the child's name @@ -7421,8 +11377,11 @@ MT safe. + - the child object or %NULL if + the child object or %NULL if not found (index too high). Unref after usage. MT safe. @@ -7430,11 +11389,15 @@ MT safe. - the parent object to get the child from + the parent object to get the child from - the child's position in the child list + the child's position in the child list @@ -7442,15 +11405,20 @@ MT safe. + - the number of child objects + the number of child objects MT safe. - the parent object + the parent object @@ -7458,20 +11426,27 @@ MT safe. + - the parent object + the parent object - the newly added child + the newly added child - the name of the new child + the name of the new child @@ -7479,27 +11454,34 @@ MT safe. + - the parent object + the parent object - the removed child + the removed child - the name of the old child + the name of the old child - + @@ -7512,7 +11494,9 @@ MT safe. glib:type-name="GstClock" glib:get-type="gst_clock_get_type" glib:type-struct="ClockClass"> - GStreamer uses a global clock to synchronize the plugins in a pipeline. + GStreamer uses a global clock to synchronize the plugins in a pipeline. Different clock implementations are possible by implementing this abstract base class or, more conveniently, by subclassing #GstSystemClock. @@ -7584,12 +11568,18 @@ The #GstClock:timeout property defines the interval to sample the master clock and run the calibration functions. #GstClock:window-size defines the number of samples to use when calibrating and #GstClock:window-threshold defines the minimum number of samples before the calibration is performed. + - Compares the two #GstClockID instances. This function can be used + Compares the two #GstClockID instances. This function can be used as a GCompareFunc when sorting ids. + - negative value if a < b; zero if a = b; positive value if a > b + negative value if a < b; zero if a = b; positive value if a > b MT safe. @@ -7599,14 +11589,18 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - A #GstClockID + A #GstClockID - A #GstClockID to compare with + A #GstClockID to compare with @@ -7614,9 +11608,14 @@ MT safe. - This function returns the underlying clock. + This function returns the underlying clock. + - a #GstClock or %NULL when the + a #GstClock or %NULL when the underlying clock has been freed. Unref after usage. MT safe. @@ -7624,69 +11623,95 @@ MT safe. - a #GstClockID + a #GstClockID - Get the time of the clock ID + Get the time of the clock ID + - the time of the given clock id. + the time of the given clock id. MT safe. - The #GstClockID to query + The #GstClockID to query - Increase the refcount of given @id. + Increase the refcount of given @id. + - The same #GstClockID with increased refcount. + The same #GstClockID with increased refcount. MT safe. - The #GstClockID to ref + The #GstClockID to ref - Unref given @id. When the refcount reaches 0 the + Unref given @id. When the refcount reaches 0 the #GstClockID will be freed. MT safe. + - The #GstClockID to unref + The #GstClockID to unref - Cancel an outstanding request with @id. This can either + 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 + The id to unschedule @@ -7694,29 +11719,40 @@ MT safe. - This function returns whether @id uses @clock as the underlying clock. + This function returns whether @id uses @clock as the underlying clock. @clock can be NULL, in which case the return value indicates whether the underlying clock has been freed. If this is the case, the @id is no longer usable and should be freed. + - whether the clock @id uses the same underlying #GstClock @clock. + whether the clock @id uses the same underlying #GstClock @clock. MT safe. - a #GstClockID to check + a #GstClockID to check - a #GstClock to compare against + a #GstClock to compare against - Perform a blocking wait on @id. + Perform a blocking wait on @id. @id should have been created with gst_clock_new_single_shot_id() or gst_clock_new_periodic_id() and should not have been unscheduled with a call to gst_clock_id_unschedule(). @@ -7729,8 +11765,11 @@ Positive values indicate how late @id was relative to the clock (in which case this function will return #GST_CLOCK_EARLY). Negative values indicate how much time was spent waiting on the clock before this function returned. + - the result of the blocking wait. #GST_CLOCK_EARLY will be returned + the result of the blocking wait. #GST_CLOCK_EARLY will be returned if the current clock time is past the time of @id, #GST_CLOCK_OK if @id was scheduled in time. #GST_CLOCK_UNSCHEDULED if @id was unscheduled with gst_clock_id_unschedule(). @@ -7740,7 +11779,9 @@ MT safe. - The #GstClockID to wait on + The #GstClockID to wait on transfer-ownership="full" optional="1" allow-none="1"> - a pointer that will contain the jitter, + a pointer that will contain the jitter, can be %NULL. - Register a callback on the given #GstClockID @id with the given + 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 @@ -7764,15 +11809,20 @@ 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. + - the result of the non blocking wait. + the result of the non blocking wait. MT safe. - a #GstClockID to wait on + a #GstClockID to wait on scope="notified" closure="2" destroy="3"> - The callback function + The callback function - User data passed in the callback + User data passed in the callback - #GDestroyNotify for user_data + #GDestroyNotify for user_data + @@ -7815,10 +11872,15 @@ MT safe. - Gets the current internal time of the given clock. The time is returned + Gets the current internal time of the given clock. The time is returned unadjusted for the offset and the rate. + - the internal time of the clock. Or GST_CLOCK_TIME_NONE when + the internal time of the clock. Or GST_CLOCK_TIME_NONE when given invalid input. MT safe. @@ -7826,28 +11888,38 @@ MT safe. - a #GstClock to query + a #GstClock to query - Get the accuracy of the clock. The accuracy of the clock is the granularity + Get the accuracy of the clock. The accuracy of the clock is the granularity of the values returned by gst_clock_get_time(). + - the resolution of the clock in units of #GstClockTime. + the resolution of the clock in units of #GstClockTime. MT safe. - a #GstClock + a #GstClock + @@ -7861,6 +11933,7 @@ MT safe. + @@ -7877,6 +11950,7 @@ MT safe. + @@ -7890,7 +11964,9 @@ MT safe. - The time @master of the master clock and the time @slave of the slave + The time @master of the master clock and the time @slave of the slave clock are added to the list of observations. If enough observations are available, a linear regression algorithm is run on the observations and @clock is recalibrated. @@ -7900,8 +11976,11 @@ correlation coefficient of the interpolation. A value of 1.0 means a perfect regression was performed. This value can be used to control the sampling frequency of the master and slave clocks. + - %TRUE if enough observations were added to run the + %TRUE if enough observations were added to run the regression algorithm. MT safe. @@ -7909,22 +11988,30 @@ MT safe. - a #GstClock + a #GstClock - a time on the slave + a time on the slave - a time on the master + a time on the master - a pointer to hold the result + a pointer to hold the result @@ -7932,33 +12019,44 @@ MT safe. - Add a clock observation to the internal slaving algorithm the same as + Add a clock observation to the internal slaving algorithm the same as gst_clock_add_observation(), and return the result of the master clock estimation, without updating the internal calibration. The caller can then take the results and call gst_clock_set_calibration() with the values, or some modified version of them. + - a #GstClock + a #GstClock - a time on the slave + a time on the slave - a time on the master + a time on the master - a pointer to hold the result + a pointer to hold the result transfer-ownership="full" optional="1" allow-none="1"> - a location to store the internal time + a location to store the internal time transfer-ownership="full" optional="1" allow-none="1"> - a location to store the external time + a location to store the external time transfer-ownership="full" optional="1" allow-none="1"> - a location to store the rate numerator + a location to store the rate numerator transfer-ownership="full" optional="1" allow-none="1"> - a location to store the rate denominator + a location to store the rate denominator - Converts the given @internal clock time to the external time, adjusting for the + Converts the given @internal clock time to the external time, adjusting for the rate and reference time set with gst_clock_set_calibration() and making sure that the returned time is increasing. This function should be called with the clock's OBJECT_LOCK held and is mainly used by clock subclasses. This function is the reverse of gst_clock_unadjust_unlocked(). + - the converted time of the clock. + the converted time of the clock. - a #GstClock to use + a #GstClock to use - a clock time + a clock time @@ -8024,15 +12139,20 @@ This function is the reverse of gst_clock_unadjust_unlocked(). - Converts the given @internal_target clock time to the external time, + Converts the given @internal_target clock time to the external time, using the passed calibration parameters. This function performs the same calculation as gst_clock_adjust_unlocked() when called using the current calibration parameters, but doesn't ensure a monotonically increasing result as gst_clock_adjust_unlocked() does. Note: The @clock parameter is unused and can be NULL + - the converted time of the clock. + the converted time of the clock. @@ -8040,46 +12160,63 @@ Note: The @clock parameter is unused and can be NULL transfer-ownership="none" nullable="1" allow-none="1"> - a #GstClock to use + a #GstClock to use - a clock time + a clock time - a reference internal time + a reference internal time - a reference external time + a reference external time - the numerator of the rate of the clock relative to its + the numerator of the rate of the clock relative to its internal time - the denominator of the rate of the clock + the denominator of the rate of the clock - Gets the internal rate and reference time of @clock. See + Gets the internal rate and reference time of @clock. See gst_clock_set_calibration() for more information. @internal, @external, @rate_num, and @rate_denom can be left %NULL if the caller is not interested in the values. MT safe. + - a #GstClock + a #GstClock transfer-ownership="full" optional="1" allow-none="1"> - a location to store the internal time + a location to store the internal time transfer-ownership="full" optional="1" allow-none="1"> - a location to store the external time + a location to store the external time transfer-ownership="full" optional="1" allow-none="1"> - a location to store the rate numerator + a location to store the rate numerator transfer-ownership="full" optional="1" allow-none="1"> - a location to store the rate denominator + a location to store the rate denominator - Gets the current internal time of the given clock. The time is returned + Gets the current internal time of the given clock. The time is returned unadjusted for the offset and the rate. + - the internal time of the clock. Or GST_CLOCK_TIME_NONE when + the internal time of the clock. Or GST_CLOCK_TIME_NONE when given invalid input. MT safe. @@ -8133,16 +12283,23 @@ MT safe. - a #GstClock to query + a #GstClock to query - Get the master clock that @clock is slaved to or %NULL when the clock is + Get the master clock that @clock is slaved to or %NULL when the clock is not slaved to any master clock. + - a master #GstClock or %NULL + a master #GstClock or %NULL when this clock is not slaved to a master clock. Unref after usage. @@ -8151,33 +12308,47 @@ MT safe. - a #GstClock + a #GstClock - Get the accuracy of the clock. The accuracy of the clock is the granularity + Get the accuracy of the clock. The accuracy of the clock is the granularity of the values returned by gst_clock_get_time(). + - the resolution of the clock in units of #GstClockTime. + the resolution of the clock in units of #GstClockTime. MT safe. - a #GstClock + a #GstClock - Gets the current time of the given clock. The time is always + Gets the current time of the given clock. The time is always monotonically increasing and adjusted according to the current offset and rate. + - the time of the clock. Or GST_CLOCK_TIME_NONE when + the time of the clock. Or GST_CLOCK_TIME_NONE when given invalid input. MT safe. @@ -8185,20 +12356,29 @@ MT safe. - a #GstClock to query + a #GstClock to query - Get the amount of time that master and slave clocks are sampled. + Get the amount of time that master and slave clocks are sampled. + - the interval between samples. + the interval between samples. - a #GstClock + a #GstClock @@ -8206,29 +12386,41 @@ MT safe. - Checks if the clock is currently synced. + Checks if the clock is currently synced. This returns if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock. + - %TRUE if the clock is currently synced + %TRUE if the clock is currently synced - a GstClock + a GstClock - Get an ID from @clock to trigger a periodic notification. + 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. Free-function: gst_clock_id_unref + - a #GstClockID that can be used to request the + a #GstClockID that can be used to request the time notification. MT safe. @@ -8236,28 +12428,39 @@ MT safe. - The #GstClockID to get a periodic notification id from + The #GstClockID to get a periodic notification id from - the requested start time + the requested start time - the requested interval + the requested interval - Get a #GstClockID from @clock to trigger a single shot + Get a #GstClockID from @clock to trigger a single shot notification at the requested time. The single shot id should be unreffed after usage. Free-function: gst_clock_id_unref + - a #GstClockID that can be used to request the + a #GstClockID that can be used to request the time notification. MT safe. @@ -8265,45 +12468,64 @@ MT safe. - The #GstClockID to get a single shot notification from + The #GstClockID to get a single shot notification from - the requested time + the requested time - Reinitializes the provided periodic @id to the provided start time and + Reinitializes the provided periodic @id to the provided start time and interval. Does not modify the reference count. + - %TRUE if the GstClockID could be reinitialized to the provided + %TRUE if the GstClockID could be reinitialized to the provided @time, else %FALSE. - a #GstClock + a #GstClock - a #GstClockID + a #GstClockID - the requested start time + the requested start time - the requested interval + the requested interval - Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of + Adjusts the rate and time of @clock. A rate of 1/1 is the normal speed of the clock. Values bigger than 1/1 make the clock go faster. @internal and @external are calibration parameters that arrange that @@ -8326,35 +12548,48 @@ move the clock backwards, gst_clock_get_time() will report the previous value until the clock catches up. MT safe. + - a #GstClock to calibrate + a #GstClock to calibrate - a reference internal time + a reference internal time - a reference external time + a reference external time - the numerator of the rate of the clock relative to its + the numerator of the rate of the clock relative to its internal time - the denominator of the rate of the clock + the denominator of the rate of the clock - Set @master as the master clock for @clock. @clock will be automatically + Set @master as the master clock for @clock. @clock will be automatically calibrated so that gst_clock_get_time() reports the same time as the master clock. @@ -8364,8 +12599,11 @@ calibration values with gst_clock_get_calibration(). @master can be %NULL in which case @clock will not be slaved anymore. It will however keep reporting its time adjusted with the last configured rate and time offsets. + - %TRUE if the clock is capable of being slaved to a master clock. + %TRUE if the clock is capable of being slaved to a master clock. Trying to set a master on a clock without the #GST_CLOCK_FLAG_CAN_SET_MASTER flag will make this function return %FALSE. @@ -8374,35 +12612,48 @@ MT safe. - a #GstClock + a #GstClock - a master #GstClock + a master #GstClock - Set the accuracy of the clock. Some clocks have the possibility to operate + Set the accuracy of the clock. Some clocks have the possibility to operate with different accuracy at the expense of more resource usage. There is normally no need to change the default resolution of a clock. The resolution of a clock can only be changed if the clock has the #GST_CLOCK_FLAG_CAN_SET_RESOLUTION flag set. + - the new resolution of the clock. + the new resolution of the clock. - a #GstClock + a #GstClock - The resolution to set + The resolution to set @@ -8410,85 +12661,119 @@ of a clock can only be changed if the clock has the - Sets @clock to synced and emits the GstClock::synced signal, and wakes up any + Sets @clock to synced and emits the GstClock::synced signal, and wakes up any thread waiting in gst_clock_wait_for_sync(). This function must only be called if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is set on the clock, and is intended to be called by subclasses only. + - a GstClock + a GstClock - if the clock is synced + if the clock is synced - Set the amount of time, in nanoseconds, to sample master and slave + Set the amount of time, in nanoseconds, to sample master and slave clocks + - a #GstClock + a #GstClock - a timeout + a timeout - Reinitializes the provided single shot @id to the provided time. Does not + 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 + %TRUE if the GstClockID could be reinitialized to the provided @time, else %FALSE. - a #GstClock + a #GstClock - a #GstClockID + a #GstClockID - The requested time. + The requested time. - Converts the given @external clock time to the internal time of @clock, + Converts the given @external clock time to the internal time of @clock, using the rate and reference time set with gst_clock_set_calibration(). This function should be called with the clock's OBJECT_LOCK held and is mainly used by clock subclasses. This function is the reverse of gst_clock_adjust_unlocked(). + - the internal time of the clock corresponding to @external. + the internal time of the clock corresponding to @external. - a #GstClock to use + a #GstClock to use - an external clock time + an external clock time @@ -8496,14 +12781,19 @@ This function is the reverse of gst_clock_adjust_unlocked(). - Converts the given @external_target clock time to the internal time, + Converts the given @external_target clock time to the internal time, using the passed calibration parameters. This function performs the same calculation as gst_clock_unadjust_unlocked() when called using the current calibration parameters. Note: The @clock parameter is unused and can be NULL + - the converted time of the clock. + the converted time of the clock. @@ -8511,28 +12801,40 @@ Note: The @clock parameter is unused and can be NULL transfer-ownership="none" nullable="1" allow-none="1"> - a #GstClock to use + a #GstClock to use - a clock time + a clock time - a reference internal time + a reference internal time - a reference external time + a reference external time - the numerator of the rate of the clock relative to its + the numerator of the rate of the clock relative to its internal time - the denominator of the rate of the clock + the denominator of the rate of the clock @@ -8540,7 +12842,9 @@ Note: The @clock parameter is unused and can be NULL - Waits until @clock is synced for reporting the current time. If @timeout + Waits until @clock is synced for reporting the current time. If @timeout is %GST_CLOCK_TIME_NONE it will wait forever, otherwise it will time out after @timeout nanoseconds. @@ -8548,17 +12852,24 @@ For asynchronous waiting, the GstClock::synced signal can be used. This returns immediately with TRUE if GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC is not set on the clock, or if the clock is already synced. + - %TRUE if waiting was successful, or %FALSE on timeout + %TRUE if waiting was successful, or %FALSE on timeout - a GstClock + a GstClock - timeout for waiting or %GST_CLOCK_TIME_NONE + timeout for waiting or %GST_CLOCK_TIME_NONE @@ -8579,12 +12890,14 @@ is not set on the clock, or if the clock is already synced. - + - Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once + Signaled on clocks with GST_CLOCK_FLAG_NEEDS_STARTUP_SYNC set once the clock is synchronized, or when it completely lost synchronization. This signal will not be emitted on clocks without the flag. @@ -8595,29 +12908,42 @@ the application's main thread. - if the clock is synced now + if the clock is synced now - The function prototype of the callback. + The function prototype of the callback. + - %TRUE or %FALSE (currently unused) + %TRUE or %FALSE (currently unused) - The clock that triggered the callback + The clock that triggered the callback - The time it was triggered + The time it was triggered - The #GstClockID that expired + The #GstClockID that expired nullable="1" allow-none="1" closure="3"> - user data passed in the gst_clock_id_wait_async() function + user data passed in the gst_clock_id_wait_async() function @@ -8633,14 +12961,20 @@ the application's main thread. - GStreamer clock class. Override the vmethods to implement the clock + GStreamer clock class. Override the vmethods to implement the clock functionality. + - the parent class structure + the parent class structure + @@ -8659,15 +12993,20 @@ functionality. + - the resolution of the clock in units of #GstClockTime. + the resolution of the clock in units of #GstClockTime. MT safe. - a #GstClock + a #GstClock @@ -8675,8 +13014,11 @@ MT safe. + - the internal time of the clock. Or GST_CLOCK_TIME_NONE when + the internal time of the clock. Or GST_CLOCK_TIME_NONE when given invalid input. MT safe. @@ -8684,7 +13026,9 @@ MT safe. - a #GstClock to query + a #GstClock to query @@ -8692,6 +13036,7 @@ MT safe. + @@ -8710,6 +13055,7 @@ MT safe. + @@ -8725,6 +13071,7 @@ MT safe. + @@ -8739,18 +13086,23 @@ MT safe. - + - All pending timeouts or periodic notifies are converted into + 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. + - reference counter (read-only) + reference counter (read-only) @@ -8784,7 +13136,7 @@ not be extended or allocated using a custom allocator. - + @@ -8793,159 +13145,222 @@ not be extended or allocated using a custom allocator. glib:type-name="GstClockEntryType" glib:get-type="gst_clock_entry_type_get_type" c:type="GstClockEntryType"> - The type of the clock entry + The type of the clock entry - a single shot timeout + a single shot timeout - a periodic timeout request + a periodic timeout request - The capabilities of this clock + The capabilities of this clock - clock can do a single sync timeout request + clock can do a single sync timeout request - clock can do a single async timeout request + clock can do a single async timeout request - clock can do sync periodic timeout requests + clock can do sync periodic timeout requests - clock can do async periodic timeout callbacks + clock can do async periodic timeout callbacks - clock's resolution can be changed + clock's resolution can be changed - clock can be slaved to a master clock + clock can be slaved to a master clock - clock needs to be synced before it can be used - (Since 1.6) + clock needs to be synced before it can be used + (Since: 1.6) - subclasses can add additional flags starting from this flag + subclasses can add additional flags starting from this flag + - The return value of a clock operation. + The return value of a clock operation. - The operation succeeded. + The operation succeeded. - The operation was scheduled too late. + The operation was scheduled too late. - The clockID was unscheduled + The clockID was unscheduled - The ClockID is busy + The ClockID is busy - A bad time was provided to a function. + A bad time was provided to a function. - An error occurred + An error occurred - Operation is not supported + Operation is not supported - The ClockID is done waiting + The ClockID is done waiting - The different kind of clocks. + The different kind of clocks. - time since Epoch + time since Epoch - monotonic time since some unspecified starting + monotonic time since some unspecified starting point - some other time source is used (Since 1.0.5) + some other time source is used (Since: 1.0.5) + + + time since Epoch, but using International Atomic Time + as reference (Since: 1.18) - #GstContext is a container object used to store contexts like a device + #GstContext is a container object used to store contexts like a device context, a display server connection and similar concepts that should be shared between multiple elements. @@ -8973,19 +13388,29 @@ A persistent #GstContext is kept in elements when they reach %GST_STATE_NULL, non-persistent ones will be removed. Also, a non-persistent context won't override a previous persistent context set to an element. + - Create a new context. + Create a new context. + - The new context. + The new context. - Context type + Context type - Persistent context + Persistent context @@ -8993,14 +13418,21 @@ context set to an element. - Get the type of @context. + Get the type of @context. + - The type of the context. + The type of the context. - The #GstContext. + The #GstContext. @@ -9008,16 +13440,23 @@ context set to an element. - Access the structure of the context. + Access the structure of the context. + - The structure of the context. The structure is + The structure of the context. The structure is still owned by the context, which means that you should not modify it, free it and that the pointer becomes invalid when you free the context. - The #GstContext. + The #GstContext. @@ -9025,18 +13464,27 @@ free it and that the pointer becomes invalid when you free the context. - Checks if @context has @context_type. + Checks if @context has @context_type. + - %TRUE if @context has @context_type. + %TRUE if @context has @context_type. - The #GstContext. + The #GstContext. - Context type to check. + Context type to check. @@ -9044,14 +13492,21 @@ free it and that the pointer becomes invalid when you free the context. - Check if @context is persistent. + Check if @context is persistent. + - %TRUE if the context is persistent. + %TRUE if the context is persistent. - The #GstContext. + The #GstContext. @@ -9059,9 +13514,14 @@ free it and that the pointer becomes invalid when you free the context. - Get a writable version of the structure. + Get a writable version of the structure. + - The structure of the context. The structure is still + The structure of the context. The structure is still owned by the context, which means that you should not free it and that the pointer becomes invalid when you free the context. This function checks if @context is writable. @@ -9069,7 +13529,9 @@ This function checks if @context is writable. - The #GstContext. + The #GstContext. @@ -9083,40 +13545,58 @@ This function checks if @context is writable. glib:type-name="GstControlBinding" glib:get-type="gst_control_binding_get_type" glib:type-struct="ControlBindingClass"> - A base class for value mapping objects that attaches control sources to gobject + A base class for value mapping objects that attaches control sources to gobject properties. Such an object is taking one or more #GstControlSource instances, combines them and maps the resulting value to the type and value range of the bound property. + - Gets a number of #GValues for the given controlled property starting at the + Gets a number of #GValues for the given controlled property starting at the requested time. The array @values need to hold enough space for @n_values of #GValue. This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the control binding + the control binding - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9124,19 +13604,28 @@ curve or apply a control curve sample by sample. - Gets the value for the given controlled property at the requested time. + Gets the value for the given controlled property at the requested time. + - the GValue of the property at the given time, + the GValue of the property at the given time, or %NULL if the property isn't controlled. - the control binding + the control binding - the time the control-change should be read from + the time the control-change should be read from @@ -9144,7 +13633,9 @@ or %NULL if the property isn't controlled. - Gets a number of values for the given controlled property starting at the + Gets a number of values for the given controlled property starting at the requested time. The array @values need to hold enough space for @n_values of the same type as the objects property's type. @@ -9154,32 +13645,45 @@ curve or apply a control curve sample by sample. The values are unboxed and ready to be used. The similar function gst_control_binding_get_g_value_array() returns the array as #GValues and is more suitable for bindings. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the control binding + the control binding - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9187,66 +13691,94 @@ more suitable for bindings. - Sets the property of the @object, according to the #GstControlSources that + Sets the property of the @object, according to the #GstControlSources that handle 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. + - %TRUE if the controller value could be applied to the object + %TRUE if the controller value could be applied to the object property, %FALSE otherwise - the control binding + the control binding - the object that has controlled properties + the object that has controlled properties - the time that should be processed + the time that should be processed - the last time this was called + the last time this was called - Gets a number of #GValues for the given controlled property starting at the + Gets a number of #GValues for the given controlled property starting at the requested time. The array @values need to hold enough space for @n_values of #GValue. This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the control binding + the control binding - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9254,19 +13786,28 @@ curve or apply a control curve sample by sample. - Gets the value for the given controlled property at the requested time. + Gets the value for the given controlled property at the requested time. + - the GValue of the property at the given time, + the GValue of the property at the given time, or %NULL if the property isn't controlled. - the control binding + the control binding - the time the control-change should be read from + the time the control-change should be read from @@ -9274,7 +13815,9 @@ or %NULL if the property isn't controlled. - Gets a number of values for the given controlled property starting at the + Gets a number of values for the given controlled property starting at the requested time. The array @values need to hold enough space for @n_values of the same type as the objects property's type. @@ -9284,29 +13827,42 @@ curve or apply a control curve sample by sample. The values are unboxed and ready to be used. The similar function gst_control_binding_get_g_value_array() returns the array as #GValues and is more suitable for bindings. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the control binding + the control binding - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9315,32 +13871,46 @@ more suitable for bindings. - Check if the control binding is disabled. + Check if the control binding is disabled. + - %TRUE if the binding is inactive + %TRUE if the binding is inactive - the control binding + the control binding - This function is used to disable a control binding for some time, i.e. + This function is used to disable a control binding for some time, i.e. gst_object_sync_values() will do nothing. + - the control binding + the control binding - boolean that specifies whether to disable the controller + boolean that specifies whether to disable the controller or not. @@ -9348,31 +13918,44 @@ or not. - Sets the property of the @object, according to the #GstControlSources that + Sets the property of the @object, according to the #GstControlSources that handle 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. + - %TRUE if the controller value could be applied to the object + %TRUE if the controller value could be applied to the object property, %FALSE otherwise - the control binding + the control binding - the object that has controlled properties + the object that has controlled properties - the time that should be processed + the time that should be processed - the last time this was called + the last time this was called @@ -9393,11 +13976,15 @@ property, %FALSE otherwise - name of the property of this binding + name of the property of this binding - #GParamSpec for this property + #GParamSpec for this property @@ -9407,14 +13994,16 @@ property, %FALSE otherwise + + - + @@ -9423,33 +14012,49 @@ property, %FALSE otherwise - The class structure of #GstControlBinding. + The class structure of #GstControlBinding. + - Parent class + Parent class + - %TRUE if the controller value could be applied to the object + %TRUE if the controller value could be applied to the object property, %FALSE otherwise - the control binding + the control binding - the object that has controlled properties + the object that has controlled properties - the time that should be processed + the time that should be processed - the last time this was called + the last time this was called @@ -9457,18 +14062,25 @@ property, %FALSE otherwise + - the GValue of the property at the given time, + the GValue of the property at the given time, or %NULL if the property isn't controlled. - the control binding + the control binding - the time the control-change should be read from + the time the control-change should be read from @@ -9476,32 +14088,45 @@ or %NULL if the property isn't controlled. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the control binding + the control binding - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9511,29 +14136,42 @@ or %NULL if the property isn't controlled. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the control binding + the control binding - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9542,12 +14180,17 @@ or %NULL if the property isn't controlled. - + + + FIXME(2.0): remove, this is unused + @@ -9566,6 +14209,7 @@ or %NULL if the property isn't controlled. + glib:type-name="GstControlSource" glib:get-type="gst_control_source_get_type" glib:type-struct="ControlSourceClass"> - The #GstControlSource is a base class for control value sources that could + The #GstControlSource is a base class for control value sources that could be used to get timestamp-value pairs. A control source essentially is a function over time. @@ -9588,58 +14234,85 @@ For implementing a new #GstControlSource one has to implement #GstControlSourceGetValue and #GstControlSourceGetValueArray functions. These are then used by gst_control_source_get_value() and gst_control_source_get_value_array() to get values for specific timestamps. + - Gets the value for this #GstControlSource at a given timestamp. + Gets the value for this #GstControlSource at a given timestamp. + - %FALSE if the value couldn't be returned, %TRUE otherwise. + %FALSE if the value couldn't be returned, %TRUE otherwise. - the #GstControlSource object + the #GstControlSource object - the time for which the value should be returned + the time for which the value should be returned - the value + the value - Gets an array of values for for this #GstControlSource. Values that are + Gets an array of values for for this #GstControlSource. Values that are undefined contain NANs. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the #GstControlSource object + the #GstControlSource object - the first timestamp + the first timestamp - the time steps + the time steps - the number of values to fetch + the number of values to fetch - array to put control-values in + array to put control-values in @@ -9650,16 +14323,20 @@ undefined contain NANs. - Function for returning a value for a given timestamp + Function for returning a value for a given timestamp - Function for returning a values array for a given timestamp + Function for returning a values array for a given timestamp - + @@ -9667,64 +14344,95 @@ undefined contain NANs. - The class structure of #GstControlSource. + The class structure of #GstControlSource. + - Parent class + Parent class - + - Function for returning a value for a given timestamp. + Function for returning a value for a given timestamp. + - %TRUE if the value was successfully calculated. + %TRUE if the value was successfully calculated. - the #GstControlSource instance + the #GstControlSource instance - timestamp for which a value should be calculated + timestamp for which a value should be calculated - a value which will be set to the result. + a value which will be set to the result. - Function for returning an array of values for starting at a given timestamp. + Function for returning an array of values for starting at a given timestamp. + - %TRUE if the values were successfully calculated. + %TRUE if the values were successfully calculated. - the #GstControlSource instance + the #GstControlSource instance - timestamp for which a value should be calculated + timestamp for which a value should be calculated - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -9734,131 +14442,613 @@ undefined contain NANs. glib:get-type="gst_core_error_get_type" c:type="GstCoreError" glib:error-domain="gst-core-error-quark"> - Core errors are errors inside the core GStreamer library. + Core errors are errors inside the core GStreamer library. - a general error which doesn't fit in any other + a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. - do not use this except as a placeholder for + do not use this except as a placeholder for deciding where to go while developing code. - use this when you do not want to implement + use this when you do not want to implement this functionality yet. - used for state change errors. + used for state change errors. - used for pad-related errors. + used for pad-related errors. - used for thread-related errors. + used for thread-related errors. - used for negotiation-related errors. + used for negotiation-related errors. - used for event-related errors. + used for event-related errors. - used for seek-related errors. + used for seek-related errors. - used for caps-related errors. + used for caps-related errors. - used for negotiation-related errors. + used for negotiation-related errors. - used if a plugin is missing. + used if a plugin is missing. - used for clock related errors. + used for clock related errors. - used if functionality has been disabled at + used if functionality has been disabled at compile time. - the number of core error types. + the number of core error types. + + + + To aid debugging applications one can use this method to write out the whole +network of gstreamer elements that form the pipeline into an dot file. +This file can be processed with graphviz to get an image, like this: +|[ + dot -Tpng -oimage.png graph_lowlevel.dot +]| +There is also a utility called xdot which allows you to view the dot file +directly without converting it first. + +The macro is only active if the environment variable GST_DEBUG_DUMP_DOT_DIR +is set to a basepath (e.g. /tmp), and the GStreamer debugging subsystem is +enabled (i.e., no use of `./configure --disable-gst-debug') + + + + the top-level pipeline that should be analyzed + + + details to show in the graph, e.g. #GST_DEBUG_GRAPH_SHOW_ALL or + one or more other #GstDebugGraphDetails flags. + + + output base filename (e.g. "myplayer") + + + + + This works like GST_DEBUG_BIN_TO_DOT_FILE(), but adds the current timestamp +to the filename, so that it can be used to take multiple snapshots. + + + + the top-level pipeline that should be analyzed + + + details to show in the graph, e.g. #GST_DEBUG_GRAPH_SHOW_ALL or + one or more other #GstDebugGraphDetails flags. + + + output base filename (e.g. "myplayer") + + + + + Defines a GstDebugCategory variable. +This macro expands to nothing if debugging is disabled. + + + + the category + + + + + Declares a GstDebugCategory variable as extern. Use in header files. +This macro expands to nothing if debugging is disabled. + + + + the category + + + + + Looks up an existing #GstDebugCategory by its @name and sets @cat. If the +category is not found, but GST_CAT_DEFAULT is defined, that is assigned to +@cat. Otherwise @cat will be %NULL. + +|[<!-- language="C" --> +GST_DEBUG_CATEGORY_STATIC (gst_myplugin_debug); +#define GST_CAT_DEFAULT gst_myplugin_debug +GST_DEBUG_CATEGORY_STATIC (GST_CAT_PERFORMANCE); +... +GST_DEBUG_CATEGORY_INIT (gst_myplugin_debug, "myplugin", 0, "nice element"); +GST_DEBUG_CATEGORY_GET (GST_CAT_PERFORMANCE, "GST_PERFORMANCE"); +]| + + + + the category to initialize. + + + log category name + + + + + Initializes a new #GstDebugCategory with the given properties and set to +the default threshold. + +> This macro expands to nothing if debugging is disabled. +> +> When naming your category, please follow the following conventions to ensure +> that the pattern matching for categories works as expected. It is not +> earth-shattering if you don't follow these conventions, but it would be nice +> for everyone. +> +> If you define a category for a plugin or a feature of it, name the category +> like the feature. So if you wanted to write a "filesrc" element, you would +> name the category "filesrc". Use lowercase letters only. +> If you define more than one category for the same element, append an +> underscore and an identifier to your categories, like this: "filesrc_cache" +> +> If you create a library or an application using debugging categories, use a +> common prefix followed by an underscore for all your categories. GStreamer +> uses the GST prefix so GStreamer categories look like "GST_STATES". Be sure +> to include uppercase letters. + + + + the category to initialize. + + + the name of the category. + + + the colors to use for a color representation or 0 for no color. + + + optional description of the category. + + + + + Defines a static GstDebugCategory variable. +This macro expands to nothing if debugging is disabled. + + + + the category + + + + + + + Register a pointer to a function with its name, so it can later be used by +GST_DEBUG_FUNCPTR_NAME(). + + + + pointer to the function to register + + + + + Retrieves the name of the function, if it was previously registered with +GST_DEBUG_FUNCPTR(). If not, it returns a description of the pointer. + +This macro returns a constant string which must not be modified or +freed by the caller. + + + + address of the function of which to look up the name + + + + + Evaluates to 2 strings, that describe the pad. Often used in debugging +statements. + + + + The pad to debug. + + + + + Register a pointer to a function with its name, so it can later be used by +GST_DEBUG_FUNCPTR_NAME(). + +Use this variant of #GST_DEBUG_FUNCPTR if you do not need to use @ptr. + + + + pointer to the function to register + + + + + Define a new mini-object type with the given name + + + + name of the new type in CamelCase + + + name of the new type + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Struct to store date, time and timezone information altogether. + Struct to store date, time and timezone information altogether. #GstDateTime is refcounted and immutable. Date information is handled using the proleptic Gregorian calendar. Provides basic creation functions and accessor functions to its fields. + - Creates a new #GstDateTime using the date and times in the gregorian calendar + Creates a new #GstDateTime using the date and times in the gregorian calendar in the supplied timezone. @year should be from 1 to 9999, @month should be from 1 to 12, @day from @@ -9874,61 +15064,87 @@ if @month == -1, then #GstDateTime will created only for @year. If so on. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - Offset from UTC in hours. + Offset from UTC in hours. - the gregorian year + the gregorian year - the gregorian month + the gregorian month - the day of the gregorian month + the day of the gregorian month - the hour of the day + the hour of the day - the minute of the hour + the minute of the hour - the second of the minute + the second of the minute - Creates a new #GstDateTime from a #GDateTime object. + Creates a new #GstDateTime from a #GDateTime object. Free-function: gst_date_time_unref + - a newly created #GstDateTime, + a newly created #GstDateTime, or %NULL on error - the #GDateTime. The new #GstDateTime takes ownership. + the #GDateTime. The new #GstDateTime takes ownership. - Tries to parse common variants of ISO-8601 datetime strings into a + Tries to parse common variants of ISO-8601 datetime strings into a #GstDateTime. Possible input formats are (for example): 2012-06-30T22:46:43Z, 2012, 2012-06, 2012-06-30, 2012-06-30T22:46:43-0430, 2012-06-30T22:46Z, 2012-06-30T22:46-0430, 2012-06-30 22:46, @@ -9938,55 +15154,122 @@ If no date is provided, it is assumed to be "today" in the timezone provided (if any), otherwise UTC. Free-function: gst_date_time_unref + - a newly created #GstDateTime, + a newly created #GstDateTime, or %NULL on error - ISO 8601-formatted datetime string. + ISO 8601-formatted datetime string. - Creates a new #GstDateTime using the time since Jan 1, 1970 specified by + Creates a new #GstDateTime using the time since Jan 1, 1970 specified by @secs. The #GstDateTime is in the local timezone. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - seconds from the Unix epoch + seconds from the Unix epoch + + + + + + Creates a new #GstDateTime using the time since Jan 1, 1970 specified by +@usecs. The #GstDateTime is in the local timezone. + + + a newly created #GstDateTime + + + + + microseconds from the Unix epoch - Creates a new #GstDateTime using the time since Jan 1, 1970 specified by + Creates a new #GstDateTime using the time since Jan 1, 1970 specified by @secs. The #GstDateTime is in the UTC timezone. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - seconds from the Unix epoch + seconds from the Unix epoch + + + + + + Creates a new #GstDateTime using the time since Jan 1, 1970 specified by +@usecs. The #GstDateTime is in UTC. + + + a newly created #GstDateTime + + + + + microseconds from the Unix epoch - Creates a new #GstDateTime using the date and times in the gregorian calendar + Creates a new #GstDateTime using the date and times in the gregorian calendar in the local timezone. @year should be from 1 to 9999, @month should be from 1 to 12, @day from @@ -10003,79 +15286,113 @@ If @hour is -1, then the #GstDateTime created will only contain @year and case @minute and @seconds should also be -1. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - the gregorian year + the gregorian year - the gregorian month, or -1 + the gregorian month, or -1 - the day of the gregorian month, or -1 + the day of the gregorian month, or -1 - the hour of the day, or -1 + the hour of the day, or -1 - the minute of the hour, or -1 + the minute of the hour, or -1 - the second of the minute, or -1 + the second of the minute, or -1 - Creates a new #GstDateTime representing the current date and time. + Creates a new #GstDateTime representing the current date and time. Free-function: gst_date_time_unref + - the newly created #GstDateTime which should + the newly created #GstDateTime which should be freed with gst_date_time_unref(). - Creates a new #GstDateTime that represents the current instant at Universal + Creates a new #GstDateTime that represents the current instant at Universal coordinated time. Free-function: gst_date_time_unref + - the newly created #GstDateTime which should + the newly created #GstDateTime which should be freed with gst_date_time_unref(). - Creates a new #GstDateTime using the date and times in the gregorian calendar + Creates a new #GstDateTime using the date and times in the gregorian calendar in the local timezone. @year should be from 1 to 9999. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - the gregorian year + the gregorian year - Creates a new #GstDateTime using the date and times in the gregorian calendar + Creates a new #GstDateTime using the date and times in the gregorian calendar in the local timezone. @year should be from 1 to 9999, @month should be from 1 to 12. @@ -10084,23 +15401,32 @@ If value is -1 then all over value will be ignored. For example if @month == -1, then #GstDateTime will created only for @year. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - the gregorian year + the gregorian year - the gregorian month + the gregorian month - Creates a new #GstDateTime using the date and times in the gregorian calendar + Creates a new #GstDateTime using the date and times in the gregorian calendar in the local timezone. @year should be from 1 to 9999, @month should be from 1 to 12, @day from @@ -10112,243 +15438,352 @@ if @month == -1, then #GstDateTime will created only for @year. If so on. Free-function: gst_date_time_unref + - the newly created #GstDateTime + the newly created #GstDateTime - the gregorian year + the gregorian year - the gregorian month + the gregorian month - the day of the gregorian month + the day of the gregorian month - Returns the day of the month of this #GstDateTime. + Returns the day of the month of this #GstDateTime. Call gst_date_time_has_day() before, to avoid warnings. + - The day of this #GstDateTime + The day of this #GstDateTime - a #GstDateTime + a #GstDateTime - Retrieves the hour of the day represented by @datetime in the gregorian + Retrieves the hour of the day represented by @datetime in the gregorian calendar. The return is in the range of 0 to 23. Call gst_date_time_has_time() before, to avoid warnings. + - the hour of the day + the hour of the day - a #GstDateTime + a #GstDateTime - Retrieves the fractional part of the seconds in microseconds represented by + Retrieves the fractional part of the seconds in microseconds represented by @datetime in the gregorian calendar. + - the microsecond of the second + the microsecond of the second - a #GstDateTime + a #GstDateTime - Retrieves the minute of the hour represented by @datetime in the gregorian + Retrieves the minute of the hour represented by @datetime in the gregorian calendar. Call gst_date_time_has_time() before, to avoid warnings. + - the minute of the hour + the minute of the hour - a #GstDateTime + a #GstDateTime - Returns the month of this #GstDateTime. January is 1, February is 2, etc.. + Returns the month of this #GstDateTime. January is 1, February is 2, etc.. Call gst_date_time_has_month() before, to avoid warnings. + - The month of this #GstDateTime + The month of this #GstDateTime - a #GstDateTime + a #GstDateTime - Retrieves the second of the minute represented by @datetime in the gregorian + Retrieves the second of the minute represented by @datetime in the gregorian calendar. Call gst_date_time_has_time() before, to avoid warnings. + - the second represented by @datetime + the second represented by @datetime - a #GstDateTime + a #GstDateTime - Retrieves the offset from UTC in hours that the timezone specified + 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 + the offset from UTC in hours - a #GstDateTime + a #GstDateTime - Returns the year of this #GstDateTime + Returns the year of this #GstDateTime Call gst_date_time_has_year() before, to avoid warnings. + - The year of this #GstDateTime + The year of this #GstDateTime - a #GstDateTime + a #GstDateTime + - %TRUE if @datetime<!-- -->'s day field is set, otherwise %FALSE + %TRUE if @datetime<!-- -->'s day field is set, otherwise %FALSE - a #GstDateTime + a #GstDateTime + - %TRUE if @datetime<!-- -->'s month field is set, otherwise %FALSE + %TRUE if @datetime<!-- -->'s month field is set, otherwise %FALSE - a #GstDateTime + a #GstDateTime + - %TRUE if @datetime<!-- -->'s second field is set, otherwise %FALSE + %TRUE if @datetime<!-- -->'s second field is set, otherwise %FALSE - a #GstDateTime + a #GstDateTime + - %TRUE if @datetime<!-- -->'s hour and minute fields are set, + %TRUE if @datetime<!-- -->'s hour and minute fields are set, otherwise %FALSE - a #GstDateTime + a #GstDateTime + - %TRUE if @datetime<!-- -->'s year field is set (which should always + %TRUE if @datetime<!-- -->'s year field is set (which should always be the case), otherwise %FALSE - a #GstDateTime + a #GstDateTime - Atomically increments the reference count of @datetime by one. + Atomically increments the reference count of @datetime by one. + - the reference @datetime + the reference @datetime - a #GstDateTime + a #GstDateTime - Creates a new #GDateTime from a fully defined #GstDateTime object. + Creates a new #GDateTime from a fully defined #GstDateTime object. Free-function: g_date_time_unref + - a newly created #GDateTime, or + a newly created #GDateTime, or %NULL on error - GstDateTime. + GstDateTime. - Create a minimal string compatible with ISO-8601. Possible output formats + Create a minimal string compatible with ISO-8601. Possible output formats are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z, 2012-06-23T23:30+0100, 2012-06-23T23:30:59Z, 2012-06-23T23:30:59+0100 + - a newly allocated string formatted according + a newly allocated string formatted according to ISO 8601 and only including the datetime fields that are valid, or %NULL in case there was an error. The string should be freed with g_free(). @@ -10356,28 +15791,38 @@ are (for example): 2012, 2012-06, 2012-06-23, 2012-06-23T23:30Z, - GstDateTime. + GstDateTime. - Atomically decrements the reference count of @datetime by one. When the + Atomically decrements the reference count of @datetime by one. When the reference count reaches zero, the structure is freed. + - a #GstDateTime + a #GstDateTime - This is the struct that describes the categories. Once initialized with + This is the struct that describes the categories. Once initialized with #GST_DEBUG_CATEGORY_INIT, its values can't be changed anymore. + @@ -10390,108 +15835,156 @@ reference count reaches zero, the structure is freed. - - Removes and frees the category and all associated resources. + + Removes and frees the category and all associated resources. + This function can easily cause memory corruption, don't use it. + - #GstDebugCategory to free. + #GstDebugCategory to free. - Returns the color of a debug category used when printing output in this + Returns the color of a debug category used when printing output in this category. + - the color of the category. + the color of the category. - a #GstDebugCategory to get the color of. + a #GstDebugCategory to get the color of. - Returns the description of a debug category. + Returns the description of a debug category. + - the description of the category. + the description of the category. - a #GstDebugCategory to get the description of. + a #GstDebugCategory to get the description of. - Returns the name of a debug category. + Returns the name of a debug category. + - the name of the category. + the name of the category. - a #GstDebugCategory to get name of. + a #GstDebugCategory to get name of. - Returns the threshold of a #GstDebugCategory. + Returns the threshold of a #GstDebugCategory. + - the #GstDebugLevel that is used as threshold. + the #GstDebugLevel that is used as threshold. - a #GstDebugCategory to get threshold of. + a #GstDebugCategory to get threshold of. - Resets the threshold of the category to the default level. Debug information + 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(). + - a #GstDebugCategory to reset threshold of. + a #GstDebugCategory to reset threshold of. - Sets the threshold of the category to the given level. Debug information will + 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. > 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). + - a #GstDebugCategory to set threshold of. + a #GstDebugCategory to set threshold of. - the #GstDebugLevel threshold to set. + the #GstDebugLevel threshold to set. @@ -10501,115 +15994,153 @@ debugging message. glib:type-name="GstDebugColorFlags" glib:get-type="gst_debug_color_flags_get_type" c:type="GstDebugColorFlags"> - These are some terminal style flags you can use when creating your + These are some terminal style flags you can use when creating your debugging categories to make them stand out in debugging output. - Use black as foreground color. + Use black as foreground color. - Use red as foreground color. + Use red as foreground color. - Use green as foreground color. + Use green as foreground color. - Use yellow as foreground color. + Use yellow as foreground color. - Use blue as foreground color. + Use blue as foreground color. - Use magenta as foreground color. + Use magenta as foreground color. - Use cyan as foreground color. + Use cyan as foreground color. - Use white as foreground color. + Use white as foreground color. - Use black as background color. + Use black as background color. - Use red as background color. + Use red as background color. - Use green as background color. + Use green as background color. - Use yellow as background color. + Use yellow as background color. - Use blue as background color. + Use blue as background color. - Use magenta as background color. + Use magenta as background color. - Use cyan as background color. + Use cyan as background color. - Use white as background color. + Use white as background color. - Make the output bold. + Make the output bold. - Underline the output. + Underline the output. value="0" c:identifier="GST_DEBUG_COLOR_MODE_OFF" glib:nick="off"> - Do not use colors in logs. + Do not use colors in logs. - Paint logs in a platform-specific way. + Paint logs in a platform-specific way. - Paint logs with UNIX terminal color codes + Paint logs with UNIX terminal color codes no matter what platform GStreamer is running on. + + we define this to avoid a compiler warning regarding a cast from a function +pointer to a void pointer +(see https://bugzilla.gnome.org/show_bug.cgi?id=309253) + @@ -10645,51 +16189,67 @@ debugging categories to make them stand out in debugging output. glib:type-name="GstDebugGraphDetails" glib:get-type="gst_debug_graph_details_get_type" c:type="GstDebugGraphDetails"> - Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() + Available details for pipeline graphs produced by GST_DEBUG_BIN_TO_DOT_FILE() and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(). - show caps-name on edges + show caps-name on edges - show caps-details on edges + show caps-details on edges - show modified parameters on + show modified parameters on elements - show element states + show element states - show full element parameter values even + show full element parameter values even if they are very long - show all the typical details that one might want + show all the typical details that one might want - show all details regardless of how large or + show all details regardless of how large or verbose they make the resulting output @@ -10697,20 +16257,26 @@ and GST_DEBUG_BIN_TO_DOT_FILE_WITH_TS(). glib:type-name="GstDebugLevel" glib:get-type="gst_debug_level_get_type" c:type="GstDebugLevel"> - The level defines the importance of a debugging message. The more important a + 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. - No debugging level specified or desired. Used to deactivate + No debugging level specified or desired. Used to deactivate debugging output. - Error messages are to be used only when an error occurred + Error messages are to be used only when an error occurred that stops the application from keeping working correctly. An examples is gst_element_error, which outputs a message with this priority. It does not mean that the application is terminating as with g_error. @@ -10719,7 +16285,9 @@ message is, the greater the probability that the debugging system outputs it. - Warning messages are to inform about abnormal behaviour + Warning messages are to inform about abnormal behaviour that could lead to problems or weird behaviour later on. An example of this would be clocking issues ("your computer is pretty slow") or broken input data ("Can't synchronize to stream.") @@ -10728,7 +16296,9 @@ message is, the greater the probability that the debugging system outputs it. - Fixme messages are messages that indicate that something + Fixme messages are messages that indicate that something in the executed code path is not fully implemented or handled yet. Note that this does not replace proper error handling in any way, the purpose of this message is to make it easier to spot incomplete/unfinished pieces @@ -10738,7 +16308,9 @@ message is, the greater the probability that the debugging system outputs it. - Informational messages should be used to keep the developer + Informational messages should be used to keep the developer updated about what is happening. Examples where this should be used are when a typefind function has successfully determined the type of the stream or when an mp3 plugin detects @@ -10748,7 +16320,9 @@ message is, the greater the probability that the debugging system outputs it. - Debugging messages should be used when something common + Debugging messages should be used when something common happens that is not the expected default behavior, or something that's useful to know but doesn't happen all the time (ie. per loop iteration or buffer processed or event handled). @@ -10759,7 +16333,9 @@ message is, the greater the probability that the debugging system outputs it. - Log messages are messages that are very common but might be + Log messages are messages that are very common but might be useful to know. As a rule of thumb a pipeline that is running as expected should never output anything else but LOG messages whilst processing data. Use this log level to log recurring information in chain functions and @@ -10769,14 +16345,18 @@ message is, the greater the probability that the debugging system outputs it. - Tracing-related messages. + Tracing-related messages. Examples for this are referencing/dereferencing of objects. - memory dump messages are used to log (small) chunks of + memory dump messages are used to log (small) chunks of data as memory dumps in the log. They will be displayed as hexdump with ASCII characters. @@ -10784,33 +16364,50 @@ message is, the greater the probability that the debugging system outputs it. - The number of defined debugging levels. + The number of defined debugging levels. - Get the string representation of a debugging level + Get the string representation of a debugging level + - the name + the name - the level to get the name for + the level to get the name for + - Gets the string representation of a #GstDebugMessage. This function is used + Gets the string representation of a #GstDebugMessage. This function is used in debug handlers to extract the message. + - the string representation of a #GstDebugMessage. + the string representation of a #GstDebugMessage. - a debug message + a debug message @@ -10825,32 +16422,44 @@ in debug handlers to extract the message. glib:type-name="GstDevice" glib:get-type="gst_device_get_type" glib:type-struct="DeviceClass"> - #GstDevice are objects representing a device, they contain + #GstDevice are objects representing a device, they contain relevant metadata about the device, such as its class and the #GstCaps representing the media types it can produce or handle. #GstDevice are created by #GstDeviceProvider objects which can be aggregated by #GstDeviceMonitor objects. + - Creates the element with all of the required parameters set to use + Creates the element with all of the required parameters set to use this device. - - a new #GstElement configured to use + + + a new #GstElement configured to use this device - a #GstDevice + a #GstDevice - name of new element, or %NULL to automatically + name of new element, or %NULL to automatically create a unique name. @@ -10859,24 +16468,33 @@ create a unique name. - Tries to reconfigure an existing element to use the device. If this + Tries to reconfigure an existing element to use the device. If this function fails, then one must destroy the element and create a new one using gst_device_create_element(). Note: This should only be implemented for elements can change their device in the PLAYING state. + - %TRUE if the element could be reconfigured to use this device, + %TRUE if the element could be reconfigured to use this device, %FALSE otherwise. - a #GstDevice + a #GstDevice - a #GstElement + a #GstElement @@ -10884,38 +16502,54 @@ device in the PLAYING state. - Creates the element with all of the required parameters set to use + Creates the element with all of the required parameters set to use this device. - - a new #GstElement configured to use + + + a new #GstElement configured to use this device - a #GstDevice + a #GstDevice - name of new element, or %NULL to automatically + name of new element, or %NULL to automatically create a unique name. - Getter for the #GstCaps that this device supports. + Getter for the #GstCaps that this device supports. + - The #GstCaps supported by this device. Unref with + The #GstCaps supported by this device. Unref with gst_caps_unref() when done. - a #GstDevice + a #GstDevice @@ -10923,16 +16557,23 @@ gst_caps_unref() when done. - Gets the "class" of a device. This is a "/" separated list of + Gets the "class" of a device. This is a "/" separated list of classes that represent this device. They are a subset of the classes of the #GstDeviceProvider that produced this device. + - The device class. Free with g_free() after use. + The device class. Free with g_free() after use. - a #GstDevice + a #GstDevice @@ -10940,14 +16581,21 @@ classes of the #GstDeviceProvider that produced this device. - Gets the user-friendly name of the device. + Gets the user-friendly name of the device. + - The device name. Free with g_free() after use. + The device name. Free with g_free() after use. - a #GstDevice + a #GstDevice @@ -10955,15 +16603,22 @@ classes of the #GstDeviceProvider that produced this device. - Gets the extra properties of a device. + Gets the extra properties of a device. + - The extra properties or %NULL when there are none. + The extra properties or %NULL when there are none. Free with gst_structure_free() after use. - a #GstDevice + a #GstDevice @@ -10971,18 +16626,27 @@ classes of the #GstDeviceProvider that produced this device. - Check if @device matches all of the given classes + Check if @device matches all of the given classes + - %TRUE if @device matches. + %TRUE if @device matches. - a #GstDevice + a #GstDevice - a "/"-separated list of device classes to match, only match if + a "/"-separated list of device classes to match, only match if all classes are matched @@ -10991,18 +16655,27 @@ classes of the #GstDeviceProvider that produced this device. - Check if @factory matches all of the given classes + Check if @factory matches all of the given classes + - %TRUE if @device matches. + %TRUE if @device matches. - a #GstDevice + a #GstDevice - a %NULL terminated array of classes + a %NULL terminated array of classes to match, only match if all classes are matched @@ -11013,24 +16686,33 @@ classes of the #GstDeviceProvider that produced this device. - Tries to reconfigure an existing element to use the device. If this + Tries to reconfigure an existing element to use the device. If this function fails, then one must destroy the element and create a new one using gst_device_create_element(). Note: This should only be implemented for elements can change their device in the PLAYING state. + - %TRUE if the element could be reconfigured to use this device, + %TRUE if the element could be reconfigured to use this device, %FALSE otherwise. - a #GstDevice + a #GstDevice - a #GstElement + a #GstElement @@ -11060,14 +16742,16 @@ device in the PLAYING state. - The parent #GstObject structure. + The parent #GstObject structure. - + @@ -11081,28 +16765,40 @@ device in the PLAYING state. c:type="GstDeviceClass" glib:is-gtype-struct-for="Device" version="1.4"> - The class structure for a #GstDevice object. + The class structure for a #GstDevice object. + - The parent #GstObjectClass structure. + The parent #GstObjectClass structure. - - a new #GstElement configured to use + + + a new #GstElement configured to use this device - a #GstDevice + a #GstDevice - name of new element, or %NULL to automatically + name of new element, or %NULL to automatically create a unique name. @@ -11111,25 +16807,32 @@ create a unique name. + - %TRUE if the element could be reconfigured to use this device, + %TRUE if the element could be reconfigured to use this device, %FALSE otherwise. - a #GstDevice + a #GstDevice - a #GstElement + a #GstElement - + @@ -11142,7 +16845,9 @@ create a unique name. glib:type-name="GstDeviceMonitor" glib:get-type="gst_device_monitor_get_type" glib:type-struct="DeviceMonitorClass"> - Applications should create a #GstDeviceMonitor when they want + Applications should create a #GstDeviceMonitor when they want to probe, list and monitor devices of a specific type. The #GstDeviceMonitor will create the appropriate #GstDeviceProvider objects and manage them. It will then post @@ -11203,19 +16908,27 @@ The basic use pattern of a device monitor is as follows: return monitor; } ]| + - Create a new #GstDeviceMonitor + Create a new #GstDeviceMonitor + - a new device monitor. + a new device monitor. - Adds a filter for which #GstDevice will be monitored, any device that matches + Adds a filter for which #GstDevice will be monitored, any device that matches all these classes and the #GstCaps will be returned. If this function is called multiple times to add more filters, each will be @@ -11226,28 +16939,37 @@ The #GstCaps supported by the device as returned by gst_device_get_caps() are not intersected with caps filters added using this function. Filters must be added before the #GstDeviceMonitor is started. + - The id of the new filter or 0 if no provider matched the filter's + The id of the new filter or 0 if no provider matched the filter's classes. - a device monitor + a device monitor - device classes to use as filter or %NULL for any class + device classes to use as filter or %NULL for any class - the #GstCaps to filter or %NULL for ANY + the #GstCaps to filter or %NULL for ANY @@ -11255,14 +16977,21 @@ Filters must be added before the #GstDeviceMonitor is started. - Gets the #GstBus of this #GstDeviceMonitor + Gets the #GstBus of this #GstDeviceMonitor + - a #GstBus + a #GstBus - a #GstDeviceProvider + a #GstDeviceProvider @@ -11270,10 +16999,15 @@ Filters must be added before the #GstDeviceMonitor is started. - Gets a list of devices from all of the relevant monitors. This may actually + Gets a list of devices from all of the relevant monitors. This may actually probe the hardware if the monitor is not currently started. + - a #GList of + a #GList of #GstDevice @@ -11281,7 +17015,9 @@ probe the hardware if the monitor is not currently started. - A #GstDeviceProvider + A #GstDeviceProvider @@ -11289,11 +17025,16 @@ probe the hardware if the monitor is not currently started. - Get a list of the currently selected device provider factories. + Get a list of the currently selected device provider factories. This + - + A list of device provider factory names that are currently being monitored by @monitor or %NULL when nothing is being monitored. @@ -11302,7 +17043,9 @@ This - a #GstDeviceMonitor + a #GstDeviceMonitor @@ -11310,15 +17053,22 @@ This - Get if @monitor is curretly showing all devices, even those from hidden + Get if @monitor is currently showing all devices, even those from hidden providers. + - %TRUE when all devices will be shown. + %TRUE when all devices will be shown. - a #GstDeviceMonitor + a #GstDeviceMonitor @@ -11326,19 +17076,28 @@ providers. - Removes a filter from the #GstDeviceMonitor using the id that was returned + Removes a filter from the #GstDeviceMonitor using the id that was returned by gst_device_monitor_add_filter(). + - %TRUE of the filter id was valid, %FALSE otherwise + %TRUE of the filter id was valid, %FALSE otherwise - a device monitor + a device monitor - the id of the filter + the id of the filter @@ -11346,18 +17105,25 @@ by gst_device_monitor_add_filter(). - Set if all devices should be visible, even those devices from hidden + Set if all devices should be visible, even those devices from hidden providers. Setting @show_all to true might show some devices multiple times. + - a #GstDeviceMonitor + a #GstDeviceMonitor - show all devices + show all devices @@ -11365,28 +17131,40 @@ providers. Setting @show_all to true might show some devices multiple times. - Starts monitoring the devices, one this has succeeded, the + Starts monitoring the devices, one this has succeeded, the %GST_MESSAGE_DEVICE_ADDED and %GST_MESSAGE_DEVICE_REMOVED messages will be emitted on the bus when the list of devices changes. + - %TRUE if the device monitoring could be started + %TRUE if the device monitoring could be started - A #GstDeviceMonitor + A #GstDeviceMonitor - Stops monitoring the devices. + Stops monitoring the devices. + - A #GstDeviceProvider + A #GstDeviceProvider @@ -11395,14 +17173,16 @@ will be emitted on the bus when the list of devices changes. - the parent #GstObject structure + the parent #GstObject structure - + @@ -11411,13 +17191,18 @@ will be emitted on the bus when the list of devices changes. c:type="GstDeviceMonitorClass" glib:is-gtype-struct-for="DeviceMonitor" version="1.4"> - Opaque device monitor class structure. + Opaque device monitor class structure. + - the parent #GstObjectClass structure + the parent #GstObjectClass structure - + @@ -11425,8 +17210,10 @@ will be emitted on the bus when the list of devices changes. + + glib:type-name="GstDeviceProvider" glib:get-type="gst_device_provider_get_type" glib:type-struct="DeviceProviderClass"> - A #GstDeviceProvider subclass is provided by a plugin that handles devices + A #GstDeviceProvider subclass is provided by a plugin that handles devices if there is a way to programmatically list connected devices. It can also optionally provide updates to the list of connected devices. @@ -11446,13 +17235,19 @@ normally provide a single subclass for all devices. Applications would normally use a #GstDeviceMonitor to monitor devices from all relevant providers. + - Create a new device providerfactory capable of instantiating objects of the + Create a new device providerfactory capable of instantiating objects of the @type and add the factory to @plugin. + - %TRUE, if the registering succeeded, %FALSE on error + %TRUE, if the registering succeeded, %FALSE on error @@ -11460,25 +17255,34 @@ from all relevant providers. transfer-ownership="none" nullable="1" allow-none="1"> - #GstPlugin to register the device provider with, or %NULL for + #GstPlugin to register the device provider with, or %NULL for a static device provider. - name of device providers of this type + name of device providers of this type - rank of device provider (higher rank means more importance when autoplugging) + rank of device provider (higher rank means more importance when autoplugging) - GType of device provider to register + GType of device provider to register + @@ -11491,7 +17295,9 @@ from all relevant providers. - Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED + Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus when devices are added or removed from the system. @@ -11499,33 +17305,44 @@ Since the #GstDeviceProvider is a singleton, gst_device_provider_start() may already have been called by another user of the object, gst_device_provider_stop() needs to be called the same number of times. + - %TRUE if the device providering could be started + %TRUE if the device providering could be started - A #GstDeviceProvider + A #GstDeviceProvider - Decreases the use-count by one. If the use count reaches zero, this + Decreases the use-count by one. If the use count reaches zero, this #GstDeviceProvider will stop providering the devices. This needs to be called the same number of times that gst_device_provider_start() was called. + - A #GstDeviceProvider + A #GstDeviceProvider + @@ -11538,23 +17355,30 @@ called the same number of times that gst_device_provider_start() was called. - Posts a message on the provider's #GstBus to inform applications that + Posts a message on the provider's #GstBus to inform applications that a new device has been added. This is for use by subclasses. @device's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink()). + - a #GstDeviceProvider + a #GstDeviceProvider - a #GstDevice that has been added + a #GstDevice that has been added @@ -11562,11 +17386,14 @@ will be removed (see gst_object_ref_sink()). - This function is used when @changed_device was modified into its new form + This function is used when @changed_device was modified into its new form @device. This will post a `DEVICE_CHANGED` message on the bus to let the application know that the device was modified. #GstDevice is immutable for MT. safety purposes so this is an "atomic" way of letting the application know when a device was modified. + @@ -11575,11 +17402,15 @@ know when a device was modified. - the new version of @changed_device + the new version of @changed_device - the old version of the device that has been udpated + the old version of the device that has been updated @@ -11587,20 +17418,27 @@ know when a device was modified. - Posts a message on the provider's #GstBus to inform applications that + Posts a message on the provider's #GstBus to inform applications that a device has been removed. This is for use by subclasses. + - a #GstDeviceProvider + a #GstDeviceProvider - a #GstDevice that has been removed + a #GstDevice that has been removed @@ -11608,14 +17446,21 @@ This is for use by subclasses. - Gets the #GstBus of this #GstDeviceProvider + Gets the #GstBus of this #GstDeviceProvider + - a #GstBus + a #GstBus - a #GstDeviceProvider + a #GstDeviceProvider @@ -11623,10 +17468,15 @@ This is for use by subclasses. - Gets a list of devices that this provider understands. This may actually + Gets a list of devices that this provider understands. This may actually probe the hardware if the provider is not currently started. + - a #GList of + a #GList of #GstDevice @@ -11634,7 +17484,9 @@ probe the hardware if the provider is not currently started. - A #GstDeviceProvider + A #GstDeviceProvider @@ -11642,16 +17494,23 @@ probe the hardware if the provider is not currently started. - Retrieves the factory that was used to create this device provider. + Retrieves the factory that was used to create this device provider. + - the #GstDeviceProviderFactory used for + the #GstDeviceProviderFactory used for creating this device provider. no refcounting is needed. - a #GstDeviceProvider to request the device provider factory of. + a #GstDeviceProvider to request the device provider factory of. @@ -11659,10 +17518,15 @@ probe the hardware if the provider is not currently started. - Get the provider factory names of the #GstDeviceProvider instances that + Get the provider factory names of the #GstDeviceProvider instances that are hidden by @provider. + - + a list of hidden providers factory names or %NULL when nothing is hidden by @provider. Free with g_strfreev. @@ -11671,7 +17535,9 @@ are hidden by @provider. - a #GstDeviceProvider + a #GstDeviceProvider @@ -11679,18 +17545,27 @@ are hidden by @provider. - Get metadata with @key in @provider. + Get metadata with @key in @provider. + - the metadata for @key. + the metadata for @key. - provider to get metadata for + provider to get metadata for - the key to get + the key to get @@ -11698,21 +17573,28 @@ are hidden by @provider. - Make @provider hide the devices from the factory with @name. + Make @provider hide the devices from the factory with @name. This function is used when @provider will also provide the devices reported by provider factory @name. A monitor should stop monitoring the device provider with @name to avoid duplicate devices. + - a #GstDeviceProvider + a #GstDeviceProvider - a provider factory name + a provider factory name @@ -11720,7 +17602,9 @@ device provider with @name to avoid duplicate devices. - Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED + Starts providering the devices. This will cause #GST_MESSAGE_DEVICE_ADDED and #GST_MESSAGE_DEVICE_REMOVED messages to be posted on the provider's bus when devices are added or removed from the system. @@ -11728,13 +17612,18 @@ Since the #GstDeviceProvider is a singleton, gst_device_provider_start() may already have been called by another user of the object, gst_device_provider_stop() needs to be called the same number of times. + - %TRUE if the device providering could be started + %TRUE if the device providering could be started - A #GstDeviceProvider + A #GstDeviceProvider @@ -11742,15 +17631,20 @@ number of times. - Decreases the use-count by one. If the use count reaches zero, this + Decreases the use-count by one. If the use count reaches zero, this #GstDeviceProvider will stop providering the devices. This needs to be called the same number of times that gst_device_provider_start() was called. + - A #GstDeviceProvider + A #GstDeviceProvider @@ -11758,32 +17652,43 @@ called the same number of times that gst_device_provider_start() was called. - Make @provider unhide the devices from factory @name. + Make @provider unhide the devices from factory @name. This function is used when @provider will no longer provide the devices reported by provider factory @name. A monitor should start monitoring the devices from provider factory @name in order to see all devices again. + - a #GstDeviceProvider + a #GstDeviceProvider - a provider factory name + a provider factory name - The parent #GstObject + The parent #GstObject - a #GList of the #GstDevice objects + a #GList of the #GstDevice objects @@ -11792,7 +17697,7 @@ all devices again. - + @@ -11821,18 +17726,26 @@ all devices again. c:type="GstDeviceProviderClass" glib:is-gtype-struct-for="DeviceProvider" version="1.4"> - The structure of the base #GstDeviceProviderClass + The structure of the base #GstDeviceProviderClass + - the parent #GstObjectClass structure + the parent #GstObjectClass structure - a pointer to the #GstDeviceProviderFactory that creates this + a pointer to the #GstDeviceProviderFactory that creates this provider + @@ -11847,13 +17760,18 @@ all devices again. + - %TRUE if the device providering could be started + %TRUE if the device providering could be started - A #GstDeviceProvider + A #GstDeviceProvider @@ -11861,12 +17779,15 @@ all devices again. + - A #GstDeviceProvider + A #GstDeviceProvider @@ -11876,28 +17797,37 @@ all devices again. - + - Set @key with @value as metadata in @klass. + Set @key with @value as metadata in @klass. + - class to set metadata for + class to set metadata for - the key to set + the key to set - the value to set + the value to set @@ -11905,26 +17835,35 @@ all devices again. - Set @key with @value as metadata in @klass. + Set @key with @value as metadata in @klass. Same as gst_device_provider_class_add_metadata(), but @value must be a static string or an inlined string, as it will not be copied. (GStreamer plugins will be made resident once loaded, so this function can be used even from dynamically loaded plugins.) + - class to set metadata for + class to set metadata for - the key to set + the key to set - the value to set + the value to set @@ -11932,18 +17871,27 @@ dynamically loaded plugins.) - Get metadata with @key in @klass. + Get metadata with @key in @klass. + - the metadata for @key. + the metadata for @key. - class to get metadata for + class to get metadata for - the key to get + the key to get @@ -11951,35 +17899,48 @@ dynamically loaded plugins.) - Sets the detailed information for a #GstDeviceProviderClass. + Sets the detailed information for a #GstDeviceProviderClass. > This function is for use in _class_init functions only. + - class to set metadata for + class to set metadata for - The long English name of the device provider. E.g. "File Sink" + The long English name of the device provider. E.g. "File Sink" - String describing the type of device provider, as an + String describing the type of device provider, 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 device provider. + Sentence describing the purpose of the device provider. E.g: "Write stream to a file" - Name and contact details of the author(s). Use \n to separate + Name and contact details of the author(s). Use \n to separate multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" @@ -11988,7 +17949,9 @@ multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" - Sets the detailed information for a #GstDeviceProviderClass. + Sets the detailed information for a #GstDeviceProviderClass. > This function is for use in _class_init functions only. @@ -11996,31 +17959,42 @@ Same as gst_device_provider_class_set_metadata(), but @longname, @classification @description, and @author must be static strings or inlined strings, as they will not be copied. (GStreamer plugins will be made resident once loaded, so this function can be used even from dynamically loaded plugins.) + - class to set metadata for + class to set metadata for - The long English name of the element. E.g. "File Sink" + The long English name of the element. E.g. "File Sink" - String describing the type of element, as + 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 + Sentence describing the purpose of the element. E.g: "Write stream to a file" - Name and contact details of the author(s). Use \n + Name and contact details of the author(s). Use \n to separate multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" @@ -12036,7 +18010,9 @@ foo.com&gt;" glib:type-name="GstDeviceProviderFactory" glib:get-type="gst_device_provider_factory_get_type" glib:type-struct="DeviceProviderFactoryClass"> - #GstDeviceProviderFactory is used to create instances of device providers. A + #GstDeviceProviderFactory is used to create instances of device providers. A GstDeviceProviderfactory can be added to a #GstPlugin as it is also a #GstPluginFeature. @@ -12044,20 +18020,28 @@ Use the gst_device_provider_factory_find() and gst_device_provider_factory_get() functions to create device provider instances or use gst_device_provider_factory_get_by_name() as a convenient shortcut. + - Search for an device provider factory of the given name. Refs the returned + Search for an device provider factory of the given name. Refs the returned device provider factory; caller is responsible for unreffing. + - #GstDeviceProviderFactory if + #GstDeviceProviderFactory if found, %NULL otherwise - name of factory to find + name of factory to find @@ -12065,16 +18049,23 @@ found, %NULL otherwise - Returns the device provider of the type defined by the given device + Returns the device provider of the type defined by the given device provider factory. + - a #GstDeviceProvider or %NULL + a #GstDeviceProvider or %NULL if unable to create device provider - a named factory to instantiate + a named factory to instantiate @@ -12082,10 +18073,15 @@ if unable to create device provider - Get a list of factories with a rank greater or equal to @minrank. + Get a list of factories with a rank greater or equal to @minrank. The list of factories is returned by decreasing rank. + - + a #GList of #GstDeviceProviderFactory device providers. Use gst_plugin_feature_list_free() after usage. @@ -12094,7 +18090,9 @@ gst_plugin_feature_list_free() after usage. - Minimum rank + Minimum rank @@ -12102,16 +18100,23 @@ gst_plugin_feature_list_free() after usage. - Returns the device provider of the type defined by the given device + Returns the device provider of the type defined by the given device providerfactory. + - the #GstDeviceProvider or %NULL + the #GstDeviceProvider or %NULL if the device provider couldn't be created - factory to instantiate + factory to instantiate @@ -12120,16 +18125,23 @@ if the device provider couldn't be created - Get the #GType for device providers managed by this factory. The type can + Get the #GType for device providers managed by this factory. The type can only be retrieved if the device provider factory is loaded, which can be assured with gst_plugin_feature_load(). + - the #GType for device providers managed by this factory. + the #GType for device providers managed by this factory. - factory to get managed #GType from + factory to get managed #GType from @@ -12138,20 +18150,29 @@ assured with gst_plugin_feature_load(). - Get the metadata on @factory with @key. + Get the metadata on @factory with @key. + - the metadata with @key on @factory or %NULL + the metadata with @key on @factory or %NULL when there was no metadata with the given @key. - a #GstDeviceProviderFactory + a #GstDeviceProviderFactory - a key + a key @@ -12159,9 +18180,14 @@ when there was no metadata with the given @key. - Get the available keys for the metadata on @factory. + Get the available keys for the metadata on @factory. + - + a %NULL-terminated array of key strings, or %NULL when there is no metadata. Free with g_strfreev() when no longer needed. @@ -12170,7 +18196,9 @@ metadata. Free with g_strfreev() when no longer needed. - a #GstDeviceProviderFactory + a #GstDeviceProviderFactory @@ -12179,14 +18207,21 @@ metadata. Free with g_strfreev() when no longer needed. - Check if @factory matches all of the given @classes + Check if @factory matches all of the given @classes + - %TRUE if @factory matches or if @classes is %NULL. + %TRUE if @factory matches or if @classes is %NULL. - a #GstDeviceProviderFactory + a #GstDeviceProviderFactory @@ -12194,7 +18229,9 @@ metadata. Free with g_strfreev() when no longer needed. transfer-ownership="none" nullable="1" allow-none="1"> - a "/" separate list of classes to match, only match + a "/" separate list of classes to match, only match if all classes are matched @@ -12203,14 +18240,21 @@ metadata. Free with g_strfreev() when no longer needed. - Check if @factory matches all of the given classes + Check if @factory matches all of the given classes + - %TRUE if @factory matches. + %TRUE if @factory matches. - a #GstDeviceProviderFactory + a #GstDeviceProviderFactory @@ -12218,7 +18262,9 @@ metadata. Free with g_strfreev() when no longer needed. transfer-ownership="none" nullable="1" allow-none="1"> - a %NULL terminated array + a %NULL terminated array of classes to match, only match if all classes are matched @@ -12232,17 +18278,24 @@ metadata. Free with g_strfreev() when no longer needed. disguised="1" glib:is-gtype-struct-for="DeviceProviderFactory" version="1.4"> - The opaque #GstDeviceProviderFactoryClass data structure. + The opaque #GstDeviceProviderFactoryClass data structure. + + + A fundamental type that describes a #gdouble range glib:type-name="GstDynamicTypeFactory" glib:get-type="gst_dynamic_type_factory_get_type" glib:type-struct="DynamicTypeFactoryClass"> - #GstDynamicTypeFactory is used to represent a type that can be + #GstDynamicTypeFactory is used to represent a type that can be automatically loaded the first time it is used. For example, a non-standard type for use in caps fields. @@ -12270,7 +18325,9 @@ plugin_init (GstPlugin * plugin) return gst_dynamic_type_register (plugin, GST_TYPE_CUSTOM_CAPS_FIELD); } ]| + + @@ -12285,290 +18342,1007 @@ plugin_init (GstPlugin * plugin) c:type="GstDynamicTypeFactoryClass" disguised="1" glib:is-gtype-struct-for="DynamicTypeFactory"> + + + + + + + + + + Get the message bus of this element. This is not thread-safe by default +(i.e. you will have to make sure the object lock is taken yourself). +If in doubt use gst_element_get_bus() instead. + + + + A #GstElement to query + + + + + + + + + + + + + + + + + + + Get the clock of this element.This is not thread-safe by default +(i.e. you will have to make sure it is safe yourself). +If in doubt use gst_element_get_clock() instead. + + + + A #GstElement to query + + + + + Utility function that elements can use in case they encountered a fatal +data processing error. The pipeline will post an error message and the +application will be requested to stop further media processing. + + + + the element that generates the error + + + like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror)) + + + error code defined for that domain (see [GstGError](gsterror)) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + + + Utility function that elements can use in case they encountered a fatal +data processing error. The pipeline will post an error message and the +application will be requested to stop further media processing. + + + + the element that generates the error + + + like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror)) + + + error code defined for that domain (see [GstGError](gsterror)) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + optional name, type, value triplets, which will be stored + in the associated GstStructure. NULL terminator required. + Must be enclosed within parentheses. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Elements interacting with hardware devices should specify this classifier in + Elements interacting with hardware devices should specify this classifier in their metadata. You may need to put the element in "READY" state to test if the hardware is present in the system. + + + + + + + + + + + - Elements of any of the defined GST_ELEMENT_FACTORY_LIST types + Elements of any of the defined GST_ELEMENT_FACTORY_LIST types + - All sinks handling audio, video or image media types + All sinks handling audio, video or image media types + - All encoders handling audio media types + All encoders handling audio media types + - All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders) + All elements used to 'decode' streams (decoders, demuxers, parsers, depayloaders) + + + + + + + + + + + + + - Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types + Elements matching any of the defined GST_ELEMENT_FACTORY_TYPE_MEDIA types Note: Do not use this if you wish to not filter against any of the defined media types. If you wish to do this, simply don't specify any GST_ELEMENT_FACTORY_TYPE_MEDIA flag. + + + + + + + + + + + - All encoders handling video or image media types + All encoders handling video or image media types + + + Utility function that elements can use in case they encountered a fatal +data processing error due to wrong flow processing. + + + + the element that generates the error + + + the GstFlowReturn leading to that ERROR message + + + + + + + + + + + + Utility function that elements can use in case they want to inform +the application of something noteworthy that is not an error. +The pipeline will post a info message and the +application will be informed. + + + + the element that generates the information + + + like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror)) + + + error code defined for that domain (see [GstGError](gsterror)) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + + + Utility function that elements can use in case they want to inform +the application of something noteworthy that is not an error. +The pipeline will post a info message and the +application will be informed. +Optional name, type, value triplets may be supplied, and will be stored +in the associated GstStructure. NULL terminator required. + + + + the element that generates the information + + + like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror)) + + + error code defined for that domain (see [GstGError](gsterror)) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + optional name, type, value triplets, which will be stored + in the associated GstStructure. NULL terminator required. + Must be enclosed within parentheses. + + + + + Check if the element is in the locked state and therefore will ignore state +changes from its parent object. + + + + A #GstElement to query + + + + + + + + + + - Name and contact details of the author(s). Use \n to separate + 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;" + - Sentence describing the purpose of the element. + Sentence describing the purpose of the element. E.g: "Write stream to a file" + - Set uri pointing to user documentation. Applications can use this to show + Set uri pointing to user documentation. Applications can use this to show help for e.g. effects to users. + - Elements that bridge to certain other products can include an icon of that + 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. + - String describing the type of element, as an unordered list + 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" + - The long English name of the element. E.g. "File Sink" + The long English name of the element. E.g. "File Sink" + + + Gets the name of this element. This is not thread-safe by default +(i.e. you will have to make sure the object lock is taken yourself). +If in doubt use gst_element_get_name() instead. + + + + A #GstElement to query + + + + + Get the pads of this elements. + + + + A #GstElement to query + + + + + Get the parent object of this element. This is not thread-safe by default +(i.e. you will have to make sure the object lock is taken yourself). +If in doubt use gst_object_get_parent() instead. + + + + A #GstElement to query + + + + + This macro returns the start_time of the @elem. The start_time is the +running_time of the pipeline when the element went to PAUSED. + + + + a #GstElement to return the start time for. + + + + + Utility function that elements can use in case they encountered a non-fatal +data processing problem. The pipeline will post a warning message and the +application will be informed. + + + + the element that generates the warning + + + like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror)) + + + error code defined for that domain (see [GstGError](gsterror)) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + + + Utility function that elements can use in case they encountered a non-fatal +data processing problem. The pipeline will post a warning message and the +application will be informed. + + + + the element that generates the warning + + + like CORE, LIBRARY, RESOURCE or STREAM (see [GstGError](gsterror)) + + + error code defined for that domain (see [GstGError](gsterror)) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + optional name, type, value triplets, which will be stored + in the associated GstStructure. NULL terminator required. + Must be enclosed within parentheses. + + + - Builds a string using errno describing the previously failed system + Builds a string using errno describing the previously failed system call. To be used as the debug argument in #GST_ELEMENT_ERROR. + + + + + + + + + + + + + + + + + Check if an event can travel downstream. + + + + the event to query + + + + + Check if an event is serialized with the data stream. + + + + the event to query + + + + + Check if an event is sticky on the pads. + + + + the event to query + + + + + Check if an event can travel upstream. + + + + the event to query + + + + + when making custom event types, use this macro with the num and +the given flags + + + + the event number to create + + + the event flags + + + + + + The sequence number of @event. + + + + the event to query + + + + + Get the #GstClockTime timestamp of the event. This is the time when the event +was created. + + + + the event to query + + + + + Get the #GstEventType of the event. + + + + the event to query + + + - The same thing as #GST_EVENT_TYPE_UPSTREAM | #GST_EVENT_TYPE_DOWNSTREAM. + The same thing as #GST_EVENT_TYPE_UPSTREAM | #GST_EVENT_TYPE_DOWNSTREAM. + + + Get a constant string representation of the #GstEventType of the event. + + + + the event to query + + + glib:type-name="GstElement" glib:get-type="gst_element_get_type" glib:type-struct="ElementClass"> - GstElement is the abstract base class needed to construct an element that + GstElement is the abstract base class needed to construct an element that can be used in a GStreamer pipeline. Please refer to the plugin writers guide for more information on creating #GstElement subclasses. @@ -12626,38 +19402,55 @@ element with gst_element_set_clock(). Note that clock selection and distribution is normally handled by the toplevel #GstPipeline so the clock functions are only to be used in very specific situations. + - Creates an element for handling the given URI. + Creates an element for handling the given URI. + - a new element or %NULL if none + a new element or %NULL if none could be created - Whether to create a source or a sink + Whether to create a source or a sink - URI to create an element for + URI to create an element for - Name of created element, can be %NULL. + Name of created element, can be %NULL. - Create a new elementfactory capable of instantiating objects of the + Create a new elementfactory capable of instantiating objects of the @type and add the factory to @plugin. + - %TRUE, if the registering succeeded, %FALSE on error + %TRUE, if the registering succeeded, %FALSE on error @@ -12665,75 +19458,108 @@ could be created transfer-ownership="none" nullable="1" allow-none="1"> - #GstPlugin to register the element with, or %NULL for + #GstPlugin to register the element with, or %NULL for a static element. - name of elements of this type + name of elements of this type - rank of element (higher rank means more importance when autoplugging) + rank of element (higher rank means more importance when autoplugging) - GType of element to register + GType of element to register - Gets a string representing the given state change result. + Gets a string representing the given state change result. + - a string with the name of the state + a string with the name of the state result. - a #GstStateChangeReturn to get the name of. + a #GstStateChangeReturn to get the name of. - Gets a string representing the given state. + Gets a string representing the given state. + - a string with the name of the state. + a string with the name of the state. - a #GstState to get the name of. + a #GstState to get the name of. - Perform @transition on @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 #GstStateChangeReturn of the state transition. - a #GstElement + a #GstElement - the requested transition + the requested transition - Gets the state 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 @@ -12753,8 +19579,11 @@ This mostly happens for live sources that only produce data in 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. + - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state + %GST_STATE_CHANGE_SUCCESS if the element has no more pending state 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. @@ -12764,7 +19593,9 @@ MT safe. - a #GstElement to get the state of. + a #GstElement to get the state of. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to #GstState to hold the state. + a pointer to #GstState to hold the state. Can be %NULL. @@ -12783,19 +19616,25 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to #GstState to hold the pending + a pointer to #GstState to hold the pending state. Can be %NULL. - a #GstClockTime to specify the timeout for an async + a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. - Use this function to signal that the element does not expect any more pads + 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 @@ -12804,17 +19643,21 @@ the element is done initializing its pads. This function emits the #GstElement::no-more-pads signal. MT safe. + - a #GstElement + a #GstElement + @@ -12828,6 +19671,7 @@ MT safe. + @@ -12841,11 +19685,16 @@ MT safe. - Post a message on the element's #GstBus. This function takes ownership of the + 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. + - %TRUE if the message was successfully posted. The function returns + %TRUE if the message was successfully posted. The function returns %FALSE if the element did not have a bus. MT safe. @@ -12853,21 +19702,30 @@ MT safe. - a #GstElement posting the message + a #GstElement posting the message - a #GstMessage to post + a #GstMessage to post - Get the clock provided by the given element. + Get the clock provided by the given element. > An element is only required to provide a clock in the PAUSED > state. Some elements can provide a clock in other states. + - the GstClock provided by the + the GstClock provided by the element or %NULL if no clock could be provided. Unref after usage. MT safe. @@ -12875,37 +19733,49 @@ MT safe. - a #GstElement to query + a #GstElement to query - Performs a query on the given element. + 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. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. MT safe. - a #GstElement to perform the query on. + a #GstElement to perform the query on. - the #GstQuery. + the #GstQuery. + @@ -12919,30 +19789,41 @@ MT safe. - Retrieves a request pad from the element according to the provided template. + Retrieves a request pad from the element according to the provided template. Pad templates can be looked up using gst_element_factory_get_static_pad_templates(). The pad should be released with gst_element_release_request_pad(). + - requested #GstPad if found, + requested #GstPad if found, otherwise %NULL. Release after usage. - a #GstElement to find a request pad of. + a #GstElement to find a request pad of. - a #GstPadTemplate of which we want a pad of. + a #GstPadTemplate of which we want a pad of. - the name of the request #GstPad + the name of the request #GstPad to retrieve. Can be %NULL. @@ -12950,14 +19831,18 @@ to retrieve. Can be %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - the caps of the pad we want to + the caps of the pad we want to request. Can be %NULL. - Sends an event to an element. If the element doesn't implement an + 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 downstream events or a random linked source pad for upstream events. @@ -12965,50 +19850,69 @@ This function takes ownership 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. Events that trigger a preroll (such + %TRUE if the event was handled. Events that trigger a preroll (such as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE. - a #GstElement to send the event to. + a #GstElement to send the event to. - the #GstEvent to send to the element. + the #GstEvent to send to the element. - Sets the bus of the element. Increases the refcount on the bus. + Sets the bus of the element. Increases the refcount on the bus. For internal use only, unless you're testing elements. MT safe. + - a #GstElement to set the bus of. + a #GstElement to set the bus of. - the #GstBus to set. + the #GstBus to set. - Sets the clock for the element. This function increases the + Sets the clock for the element. This function increases the refcount on the clock. Any previously set clock on the object is unreffed. + - %TRUE if the element accepted the clock. An element can refuse a + %TRUE if the element accepted the clock. An element can refuse a clock when it, for example, is not able to slave its internal clock to the @clock or when it requires a specific clock to operate. @@ -13017,38 +19921,51 @@ MT safe. - a #GstElement to set the clock for. + a #GstElement to set the clock for. - the #GstClock to set for the element. + the #GstClock to set for the element. - Sets the context of the element. Increases the refcount of the context. + Sets the context of the element. Increases the refcount of the context. MT safe. + - a #GstElement to set the context of. + a #GstElement to set the context of. - the #GstContext to set. + the #GstContext to set. - Sets the state of the element. This function will try to set the + 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. @@ -13061,24 +19978,32 @@ of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or State changes to %GST_STATE_READY or %GST_STATE_NULL never return #GST_STATE_CHANGE_ASYNC. + - Result of the state change using #GstStateChangeReturn. + Result of the state change using #GstStateChangeReturn. MT safe. - a #GstElement to change state of. + a #GstElement to change state of. - the element's new #GstState. + the element's new #GstState. + @@ -13098,25 +20023,32 @@ MT safe. - Abort the state change of the element. This function is used + 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. + - a #GstElement to abort the state of. + a #GstElement to abort the state of. - Adds a pad (link point) to @element. @pad's parent will be set to @element; + 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 automatically activated when added in the PAUSED or PLAYING @@ -13125,8 +20057,11 @@ state. The pad and the element should be unlocked when calling this function. This function will emit the #GstElement::pad-added signal on the element. + - %TRUE if the pad could be added. This function can fail when + %TRUE if the pad could be added. This function can fail when a pad with the same name already existed or the pad already had another parent. @@ -13135,11 +20070,15 @@ MT safe. - a #GstElement to add the pad to. + a #GstElement to add the pad to. - the #GstPad to add to the element. + the #GstPad to add to the element. @@ -13147,26 +20086,35 @@ MT safe. + - a watch id, which can be used in connection with + a watch id, which can be used in connection with gst_element_remove_property_notify_watch() to remove the watch again. - a #GstElement to watch (recursively) for property changes + a #GstElement to watch (recursively) for property changes - name of property to watch for changes, or + name of property to watch for changes, or NULL to watch all properties - whether to include the new property value in the message + whether to include the new property value in the message @@ -13174,26 +20122,35 @@ MT safe. + - a watch id, which can be used in connection with + a watch id, which can be used in connection with gst_element_remove_property_notify_watch() to remove the watch again. - a #GstElement to watch for property changes + a #GstElement to watch for property changes - name of property to watch for changes, or + name of property to watch for changes, or NULL to watch all properties - whether to include the new property value in the message + whether to include the new property value in the message @@ -13201,7 +20158,9 @@ MT safe. - Calls @func from another thread and passes @user_data to it. This is to be + Calls @func from another thread and passes @user_data to it. This is to be used for cases when a state change has to be performed from a streaming thread, directly via gst_element_set_state() or indirectly e.g. via SEEK events. @@ -13211,12 +20170,15 @@ deadlocks in many situations, as they might involve waiting for the streaming thread to shut down from this very streaming thread. MT safe. + - a #GstElement + a #GstElement scope="notified" closure="1" destroy="2"> - Function to call asynchronously from another thread + Function to call asynchronously from another thread @@ -13232,39 +20196,54 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - Data to pass to @func + Data to pass to @func - GDestroyNotify for @user_data + GDestroyNotify for @user_data - Perform @transition on @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 #GstStateChangeReturn of the state transition. - a #GstElement + a #GstElement - the requested transition + the requested transition - Commit the state change of the element and proceed to the next + 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 @@ -13277,34 +20256,46 @@ This method is used internally and should normally not be called by plugins or applications. This function must be called with STATE_LOCK held. + - The result of the commit state change. + The result of the commit state change. MT safe. - a #GstElement to continue the state change of. + a #GstElement to continue the state change of. - The previous state return value + The previous state return value - Creates a pad for each pad template that is always available. + Creates a pad for each pad template that is always available. This function is only useful during object initialization of subclasses of #GstElement. + - a #GstElement to create pads for + a #GstElement to create pads for @@ -13312,27 +20303,36 @@ subclasses of #GstElement. - Call @func with @user_data for each of @element's pads. @func will be called + Call @func with @user_data for each of @element's pads. @func will be called exactly once for each pad that exists at the time of this call, unless one of the calls to @func returns %FALSE in which case we will stop iterating pads and return early. If new pads are added or pads are removed while pads are being iterated, this will not be taken into account until next time this function is used. + - %FALSE if @element had no pads or if one of the calls to @func + %FALSE if @element had no pads or if one of the calls to @func returned %FALSE. - a #GstElement to iterate pads of + a #GstElement to iterate pads of - function to call for each pad + function to call for each pad @@ -13340,7 +20340,9 @@ next time this function is used. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to @func + user data passed to @func @@ -13348,27 +20350,36 @@ next time this function is used. - Call @func with @user_data for each of @element's sink pads. @func will be + Call @func with @user_data for each of @element's sink pads. @func will be called exactly once for each sink pad that exists at the time of this call, unless one of the calls to @func returns %FALSE in which case we will stop iterating pads and return early. If new sink pads are added or sink pads are removed while the sink pads are being iterated, this will not be taken into account until next time this function is used. + - %FALSE if @element had no sink pads or if one of the calls to @func + %FALSE if @element had no sink pads or if one of the calls to @func returned %FALSE. - a #GstElement to iterate sink pads of + a #GstElement to iterate sink pads of - function to call for each sink pad + function to call for each sink pad @@ -13376,7 +20387,9 @@ into account until next time this function is used. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to @func + user data passed to @func @@ -13384,27 +20397,36 @@ into account until next time this function is used. - Call @func with @user_data for each of @element's source pads. @func will be + Call @func with @user_data for each of @element's source pads. @func will be called exactly once for each source pad that exists at the time of this call, unless one of the calls to @func returns %FALSE in which case we will stop iterating pads and return early. If new source pads are added or source pads are removed while the source pads are being iterated, this will not be taken into account until next time this function is used. + - %FALSE if @element had no source pads or if one of the calls + %FALSE if @element had no source pads or if one of the calls to @func returned %FALSE. - a #GstElement to iterate source pads of + a #GstElement to iterate source pads of - function to call for each source pad + function to call for each source pad @@ -13412,34 +20434,48 @@ into account until next time this function is used. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to @func + user data passed to @func - Returns the base time of the element. The base time is the + 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. + - the base time of the element. + the base time of the element. MT safe. - a #GstElement. + a #GstElement. - Returns the bus of the element. Note that only a #GstPipeline will provide a + Returns the bus of the element. Note that only a #GstPipeline will provide a bus for the application. + - the element's #GstBus. unref after + the element's #GstBus. unref after usage. MT safe. @@ -13447,79 +20483,108 @@ MT safe. - a #GstElement to get the bus of. + a #GstElement to get the bus of. - Gets the currently configured clock of the element. This is the clock as was + Gets the currently configured clock of the element. This is the clock as was last set with gst_element_set_clock(). Elements in a pipeline will only have their clock set when the pipeline is in the PLAYING state. + - the #GstClock of the element. unref after usage. + the #GstClock of the element. unref after usage. MT safe. - a #GstElement to get the clock of. + a #GstElement to get the clock of. - Looks for an unlinked pad to which the given pad can link. It is not + 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. + - the #GstPad to which a link + the #GstPad to which a link can be made, or %NULL if one cannot be found. gst_object_unref() after usage. - a #GstElement in which the pad should be found. + a #GstElement in which the pad should be found. - the #GstPad to find a compatible one for. + the #GstPad to find a compatible one for. - the #GstCaps to use as a filter. + the #GstCaps to use as a filter. - Retrieves a pad template from @element that is compatible with @compattempl. + Retrieves a pad template from @element that is compatible with @compattempl. Pads from compatible templates can be linked together. + - a compatible #GstPadTemplate, + a compatible #GstPadTemplate, or %NULL if none was found. No unreferencing is necessary. - a #GstElement to get a compatible pad template for + a #GstElement to get a compatible pad template for - the #GstPadTemplate to find a compatible + the #GstPadTemplate to find a compatible template for @@ -13528,20 +20593,29 @@ Pads from compatible templates can be linked together. - Gets the context with @context_type set on the element or NULL. + Gets the context with @context_type set on the element or NULL. MT safe. + - A #GstContext or NULL + A #GstContext or NULL - a #GstElement to get the context of. + a #GstElement to get the context of. - a name of a context to retrieve + a name of a context to retrieve @@ -13549,18 +20623,27 @@ MT safe. - Gets the context with @context_type set on the element or NULL. + Gets the context with @context_type set on the element or NULL. + - A #GstContext or NULL + A #GstContext or NULL - a #GstElement to get the context of. + a #GstElement to get the context of. - a name of a context to retrieve + a name of a context to retrieve @@ -13568,32 +20651,95 @@ MT safe. - Gets the contexts set on the element. + Gets the contexts set on the element. MT safe. + - List of #GstContext + List of #GstContext - a #GstElement to set the context of. + a #GstElement to set the context of. + + + + + + Returns the current clock time of the element, as in, the time of the +element's clock, or GST_CLOCK_TIME_NONE if there is no clock. + + + the clock time of the element, or GST_CLOCK_TIME_NONE if there is +no clock. + + + + + a #GstElement. + + + + + + Returns the running time of the element. The running time is the +element's clock time minus its base time. Will return GST_CLOCK_TIME_NONE +if the element has no clock, or if its base time has not been set. + + + the running time of the element, or GST_CLOCK_TIME_NONE if the +element has no clock or its base time has not been set. + + + + + a #GstElement. - Retrieves the factory that was used to create this element. + Retrieves the factory that was used to create this element. + - the #GstElementFactory used for creating this + the #GstElementFactory used for creating this element or %NULL if element has not been registered (static element). no refcounting is needed. - a #GstElement to request the element factory of. + a #GstElement to request the element factory of. @@ -13601,18 +20747,27 @@ MT safe. - Get metadata with @key in @klass. + Get metadata with @key in @klass. + - the metadata for @key. + the metadata for @key. - class to get metadata for + class to get metadata for - the key to get + the key to get @@ -13620,20 +20775,29 @@ MT safe. - Retrieves a padtemplate from @element with the given name. + Retrieves a padtemplate from @element with the given name. + - the #GstPadTemplate with the + the #GstPadTemplate with the given name, or %NULL if none was found. No unreferencing is necessary. - a #GstElement to get the pad template of. + a #GstElement to get the pad template of. - the name of the #GstPadTemplate to get. + the name of the #GstPadTemplate to get. @@ -13641,10 +20805,15 @@ MT safe. - Retrieves a list of the pad templates associated with @element. The + Retrieves a list of the pad templates associated with @element. The list must not be modified by the calling code. + - the #GList of + the #GList of pad templates. @@ -13652,57 +20821,77 @@ list must not be modified by the calling code. - a #GstElement to get pad templates of. + a #GstElement to get pad templates of. - Retrieves a pad from the element by name (e.g. "src_\%d"). This version only + Retrieves a pad from the element by name (e.g. "src_\%d"). This version only retrieves request pads. The pad should be released with gst_element_release_request_pad(). This method is slower than manually getting the pad template and calling gst_element_request_pad() if the pads should have a specific name (e.g. @name is "src_1" instead of "src_\%u"). + - requested #GstPad if found, + requested #GstPad if found, otherwise %NULL. Release after usage. - a #GstElement to find a request pad of. + a #GstElement to find a request pad of. - the name of the request #GstPad to retrieve. + the name of the request #GstPad to retrieve. - Returns the start time of the element. The start time is the + 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. + the start time of the element. - a #GstElement. + a #GstElement. - Gets the state 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 @@ -13722,8 +20911,11 @@ This mostly happens for live sources that only produce data in 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. + - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state + %GST_STATE_CHANGE_SUCCESS if the element has no more pending state 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. @@ -13733,7 +20925,9 @@ MT safe. - a #GstElement to get the state of. + a #GstElement to get the state of. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to #GstState to hold the state. + a pointer to #GstState to hold the state. Can be %NULL. @@ -13752,22 +20948,31 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to #GstState to hold the pending + a pointer to #GstState to hold the pending state. Can be %NULL. - a #GstClockTime to specify the timeout for an async + 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 + Retrieves a pad from @element by name. This version only retrieves already-existing (i.e. 'static') pads. + - the requested #GstPad if + the requested #GstPad if found, otherwise %NULL. unref after usage. MT safe. @@ -13775,95 +20980,129 @@ MT safe. - a #GstElement to find a static pad of. + a #GstElement to find a static pad of. - the name of the static #GstPad to retrieve. + the name of the static #GstPad to retrieve. - Checks if the state of an element is locked. + 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. + %TRUE, if the element's state is locked. - a #GstElement. + a #GstElement. - Retrieves an iterator of @element's pads. The iterator should + Retrieves an iterator of @element's pads. The iterator should be freed after usage. Also more specialized iterators exists such as gst_element_iterate_src_pads() or gst_element_iterate_sink_pads(). The order of pads returned by the iterator will be the order in which the pads were added to the element. + - the #GstIterator of #GstPad. + the #GstIterator of #GstPad. MT safe. - a #GstElement to iterate pads of. + a #GstElement to iterate pads of. - Retrieves an iterator of @element's sink pads. + Retrieves an iterator of @element's sink pads. The order of pads returned by the iterator will be the order in which the pads were added to the element. + - the #GstIterator of #GstPad. + the #GstIterator of #GstPad. MT safe. - a #GstElement. + a #GstElement. - Retrieves an iterator of @element's source pads. + Retrieves an iterator of @element's source pads. The order of pads returned by the iterator will be the order in which the pads were added to the element. + - the #GstIterator of #GstPad. + the #GstIterator of #GstPad. MT safe. - a #GstElement. + a #GstElement. - Links @src to @dest. The link must be from source to + 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 manually when unlinking. @@ -13871,23 +21110,32 @@ 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. + %TRUE if the elements could be linked, %FALSE otherwise. - a #GstElement containing the source pad. + a #GstElement containing the source pad. - the #GstElement containing the destination pad. + the #GstElement containing the destination pad. - Links @src to @dest using the given caps as filtercaps. + 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. @@ -13895,24 +21143,33 @@ 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. + %TRUE if the pads could be linked, %FALSE otherwise. - a #GstElement containing the source pad. + a #GstElement containing the source pad. - the #GstElement containing the destination pad. + the #GstElement containing the destination pad. - the #GstCaps to filter the link, + the #GstCaps to filter the link, or %NULL for no filter. @@ -13921,59 +21178,83 @@ gst_bin_add() before trying to link them. - Chain together a series of elements. Uses gst_element_link(). + 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. + %TRUE on success, %FALSE otherwise. - the first #GstElement in the link chain. + the first #GstElement in the link chain. - the second #GstElement in the link chain. + the second #GstElement in the link chain. - the %NULL-terminated list of elements to link in order. + the %NULL-terminated list of elements to link in order. - Links the two named pads of the source and destination elements. + 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. + %TRUE if the pads could be linked, %FALSE otherwise. - a #GstElement containing the source pad. + a #GstElement containing the source pad. - the name of the #GstPad in source element + the name of the #GstPad in source element or %NULL for any pad. - the #GstElement containing the destination pad. + the #GstElement containing the destination pad. - the name of the #GstPad in destination element, + the name of the #GstPad in destination element, or %NULL for any pad. @@ -13981,36 +21262,49 @@ or %NULL for any pad. - Links the two named pads of the source and destination elements. Side effect + 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. + %TRUE if the pads could be linked, %FALSE otherwise. - a #GstElement containing the source pad. + a #GstElement containing the source pad. - the name of the #GstPad in source element + the name of the #GstPad in source element or %NULL for any pad. - the #GstElement containing the destination pad. + the #GstElement containing the destination pad. - the name of the #GstPad in destination element + the name of the #GstPad in destination element or %NULL for any pad. @@ -14018,14 +21312,18 @@ is not %NULL, makes sure that the caps of the link is a subset of @caps. transfer-ownership="none" nullable="1" allow-none="1"> - the #GstCaps to filter the link, + the #GstCaps to filter the link, or %NULL for no filter. - Links the two named pads of the source and destination elements. + 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. @@ -14035,43 +21333,58 @@ is the same as calling gst_element_link_pads() and the recommended way of linking pads with safety checks applied. This is a convenience function for gst_pad_link_full(). + - %TRUE if the pads could be linked, %FALSE otherwise. + %TRUE if the pads could be linked, %FALSE otherwise. - a #GstElement containing the source pad. + a #GstElement containing the source pad. - the name of the #GstPad in source element + the name of the #GstPad in source element or %NULL for any pad. - the #GstElement containing the destination pad. + the #GstElement containing the destination pad. - the name of the #GstPad in destination element, + the name of the #GstPad in destination element, or %NULL for any pad. - the #GstPadLinkCheck to be performed when linking pads. + the #GstPadLinkCheck to be performed when linking pads. - Brings the element to the lost state. The current state of the + 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. @@ -14087,48 +21400,64 @@ not in error or an async state change. This function is used internally and should normally not be called from plugins or applications. + - a #GstElement the state is lost of + a #GstElement the state is lost of - Post an error, warning or info message on the bus from inside an element. + Post an error, warning or info message on the bus from inside an element. @type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or #GST_MESSAGE_INFO. MT safe. + - a #GstElement to send message from + a #GstElement to send message from - the #GstMessageType + the #GstMessageType - the GStreamer GError domain this message belongs to + the GStreamer GError domain this message belongs to - the GError code belonging to the domain + the GError code belonging to the domain - an allocated text string to be used + an allocated text string to be used as a replacement for the default message connected to code, or %NULL @@ -14137,21 +21466,29 @@ MT safe. transfer-ownership="full" nullable="1" allow-none="1"> - an allocated debug message to be + 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 file where the error was generated - the source code function where the error was generated + the source code function where the error was generated - the source code line where the error was generated + the source code line where the error was generated @@ -14159,35 +21496,48 @@ MT safe. - Post an error, warning or info message on the bus from inside an element. + Post an error, warning or info message on the bus from inside an element. @type must be of #GST_MESSAGE_ERROR, #GST_MESSAGE_WARNING or #GST_MESSAGE_INFO. + - a #GstElement to send message from + a #GstElement to send message from - the #GstMessageType + the #GstMessageType - the GStreamer GError domain this message belongs to + the GStreamer GError domain this message belongs to - the GError code belonging to the domain + the GError code belonging to the domain - an allocated text string to be used + an allocated text string to be used as a replacement for the default message connected to code, or %NULL @@ -14196,31 +21546,43 @@ MT safe. transfer-ownership="full" nullable="1" allow-none="1"> - an allocated debug message to be + 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 file where the error was generated - the source code function where the error was generated + the source code function where the error was generated - the source code line where the error was generated + the source code line where the error was generated - optional details structure + optional details structure - Use this function to signal that the element does not expect any more pads + 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 @@ -14229,22 +21591,30 @@ the element is done initializing its pads. This function emits the #GstElement::no-more-pads signal. MT safe. + - a #GstElement + a #GstElement - Post a message on the element's #GstBus. This function takes ownership of the + 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. + - %TRUE if the message was successfully posted. The function returns + %TRUE if the message was successfully posted. The function returns %FALSE if the element did not have a bus. MT safe. @@ -14252,21 +21622,30 @@ MT safe. - a #GstElement posting the message + a #GstElement posting the message - a #GstMessage to post + a #GstMessage to post - Get the clock provided by the given element. + Get the clock provided by the given element. > An element is only required to provide a clock in the PAUSED > state. Some elements can provide a clock in other states. + - the GstClock provided by the + the GstClock provided by the element or %NULL if no clock could be provided. Unref after usage. MT safe. @@ -14274,70 +21653,98 @@ MT safe. - a #GstElement to query + a #GstElement to query - Performs a query on the given element. + 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. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. MT safe. - a #GstElement to perform the query on. + a #GstElement to perform the query on. - the #GstQuery. + the #GstQuery. - Queries an element to convert @src_val in @src_format to @dest_format. + Queries an element to convert @src_val in @src_format to @dest_format. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstElement to invoke the convert query on. + a #GstElement to invoke the convert query on. - a #GstFormat to convert from. + a #GstFormat to convert from. - a value to convert. + a value to convert. - the #GstFormat to convert to. + the #GstFormat to convert to. - a pointer to the result. + a pointer to the result. - Queries an element (usually top-level pipeline or playbin element) for the + Queries an element (usually top-level pipeline or playbin element) for the total stream duration in nanoseconds. This query will only work once the pipeline is prerolled (i.e. reached PAUSED or PLAYING state). The application will receive an ASYNC_DONE message on the pipeline bus when that is the case. @@ -14345,17 +21752,24 @@ will receive an ASYNC_DONE message on the pipeline bus when that is the case. If the duration changes for some reason, you will get a DURATION_CHANGED message on the pipeline bus, in which case you should re-query the duration using this function. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstElement to invoke the duration query on. + a #GstElement to invoke the duration query on. - the #GstFormat requested + the #GstFormat requested transfer-ownership="full" optional="1" allow-none="1"> - A location in which to store the total duration, or %NULL. + A location in which to store the total duration, or %NULL. - Queries an element (usually top-level pipeline or playbin element) for the + Queries an element (usually top-level pipeline or playbin element) for the stream position in nanoseconds. This will be a value between 0 and the stream duration (if the stream duration is known). This query will usually only work once the pipeline is prerolled (i.e. reached PAUSED or PLAYING @@ -14379,17 +21797,24 @@ bus when that is the case. If one repeatedly calls this function one can also create a query and reuse it in gst_element_query(). + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstElement to invoke the position query on. + a #GstElement to invoke the position query on. - the #GstFormat requested + the #GstFormat requested transfer-ownership="full" optional="1" allow-none="1"> - a location in which to store the current + a location in which to store the current position, or %NULL. @@ -14406,7 +21833,9 @@ it in gst_element_query(). - Makes the element free the previously requested pad as obtained + Makes the element free the previously requested pad as obtained with gst_element_request_pad(). This does not unref the pad. If the pad was created by using @@ -14414,22 +21843,29 @@ gst_element_request_pad(), gst_element_release_request_pad() needs to be followed by gst_object_unref() to free the @pad. MT safe. + - a #GstElement to release the request pad of. + a #GstElement to release the request pad of. - the #GstPad to release. + the #GstPad to release. - Removes @pad from @element. @pad will be destroyed if it has not been + 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 @@ -14445,8 +21881,11 @@ 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. + - %TRUE if the pad could be removed. Can return %FALSE if the + %TRUE if the pad could be removed. Can return %FALSE if the pad does not belong to the provided element. MT safe. @@ -14454,11 +21893,15 @@ MT safe. - a #GstElement to remove pad from. + a #GstElement to remove pad from. - the #GstPad to remove from the element. + the #GstPad to remove from the element. @@ -14466,45 +21909,61 @@ MT safe. + - a #GstElement being watched for property changes + a #GstElement being watched for property changes - watch id to remove + watch id to remove - Retrieves a request pad from the element according to the provided template. + Retrieves a request pad from the element according to the provided template. Pad templates can be looked up using gst_element_factory_get_static_pad_templates(). The pad should be released with gst_element_release_request_pad(). + - requested #GstPad if found, + requested #GstPad if found, otherwise %NULL. Release after usage. - a #GstElement to find a request pad of. + a #GstElement to find a request pad of. - a #GstPadTemplate of which we want a pad of. + a #GstPadTemplate of which we want a pad of. - the name of the request #GstPad + the name of the request #GstPad to retrieve. Can be %NULL. @@ -14512,60 +21971,85 @@ to retrieve. Can be %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - the caps of the pad we want to + the caps of the pad we want to request. Can be %NULL. - Sends a seek event to an element. See gst_event_new_seek() for the details of + 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. Flushing seeks will trigger a + %TRUE if the event was handled. Flushing seeks will trigger a preroll, which will emit %GST_MESSAGE_ASYNC_DONE. - a #GstElement to send the event to. + a #GstElement to send the event to. - The new playback rate + The new playback rate - The format of the seek values + The format of the seek values - The optional seek flags. + The optional seek flags. - The type and flags for the new start position + The type and flags for the new start position - The value of the new start position + The value of the new start position - The type and flags for the new stop position + The type and flags for the new stop position - The value of the new stop position + The value of the new stop position - Simple API to perform a seek on the given element, meaning it just seeks + Simple API to perform a seek on the given element, meaning it just seeks to the given position relative to the start of the stream. For more complex operations like segment seeks (e.g. for looping) or changing the playback rate or seeking relative to the last configured playback segment you should @@ -14579,27 +22063,38 @@ Some elements allow for seeking in the READY state, in this case they will store the seek event and execute it when they are put to PAUSED. If the element supports seek in READY, it will always return %TRUE when it receives the event in the READY state. + - %TRUE if the seek operation succeeded. Flushing seeks will trigger a + %TRUE if the seek operation succeeded. Flushing seeks will trigger a preroll, which will emit %GST_MESSAGE_ASYNC_DONE. - a #GstElement to seek on + a #GstElement to seek on - a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME + a #GstFormat to execute the seek in, such as #GST_FORMAT_TIME - seek options; playback applications will usually want to use + seek options; playback applications will usually want to use GST_SEEK_FLAG_FLUSH | GST_SEEK_FLAG_KEY_UNIT here - position to seek to (relative to the start); if you are doing + position to seek to (relative to the start); if you are doing a seek in #GST_FORMAT_TIME this value is in nanoseconds - multiply with #GST_SECOND to convert seconds to nanoseconds or with #GST_MSECOND to convert milliseconds to nanoseconds. @@ -14608,7 +22103,9 @@ preroll, which will emit %GST_MESSAGE_ASYNC_DONE. - Sends an event to an element. If the element doesn't implement an + 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 downstream events or a random linked source pad for upstream events. @@ -14616,68 +22113,94 @@ This function takes ownership 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. Events that trigger a preroll (such + %TRUE if the event was handled. Events that trigger a preroll (such as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE. - a #GstElement to send the event to. + a #GstElement to send the event to. - the #GstEvent to send to the element. + the #GstEvent to send to the element. - Set the base time of an element. See gst_element_get_base_time(). + Set the base time of an element. See gst_element_get_base_time(). MT safe. + - a #GstElement. + a #GstElement. - the base time to set. + the base time to set. - Sets the bus of the element. Increases the refcount on the bus. + Sets the bus of the element. Increases the refcount on the bus. For internal use only, unless you're testing elements. MT safe. + - a #GstElement to set the bus of. + a #GstElement to set the bus of. - the #GstBus to set. + the #GstBus to set. - Sets the clock for the element. This function increases the + Sets the clock for the element. This function increases the refcount on the clock. Any previously set clock on the object is unreffed. + - %TRUE if the element accepted the clock. An element can refuse a + %TRUE if the element accepted the clock. An element can refuse a clock when it, for example, is not able to slave its internal clock to the @clock or when it requires a specific clock to operate. @@ -14686,39 +22209,52 @@ MT safe. - a #GstElement to set the clock for. + a #GstElement to set the clock for. - the #GstClock to set for the element. + the #GstClock to set for the element. - Sets the context of the element. Increases the refcount of the context. + Sets the context of the element. Increases the refcount of the context. MT safe. + - a #GstElement to set the context of. + a #GstElement to set the context of. - the #GstContext to set. + the #GstContext to set. - Locks the state of an element, so state changes of the parent don't affect + Locks the state of an element, so state changes of the parent don't affect this element anymore. Note that this is racy if the state lock of the parent bin is not taken. @@ -14726,24 +22262,33 @@ The parent bin might've just checked the flag in another thread and as the next step proceed to change the child element's state. MT safe. + - %TRUE if the state was changed, %FALSE if bad parameters were given + %TRUE if the state was changed, %FALSE if bad parameters were given or the elements state-locking needed no change. - a #GstElement + a #GstElement - %TRUE to lock the element's state + %TRUE to lock the element's state - Set the start time of an element. The start time of the element is the + 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. @@ -14755,22 +22300,29 @@ 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. + - a #GstElement. + a #GstElement. - the base time to set. + the base time to set. - Sets the state of the element. This function will try to set the + 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. @@ -14783,56 +22335,77 @@ of the state change or it can wait for a %GST_MESSAGE_ASYNC_DONE or State changes to %GST_STATE_READY or %GST_STATE_NULL never return #GST_STATE_CHANGE_ASYNC. + - Result of the state change using #GstStateChangeReturn. + Result of the state change using #GstStateChangeReturn. MT safe. - a #GstElement to change state of. + a #GstElement to change state of. - the element's new #GstState. + the element's new #GstState. - Tries to change the state of the element to the same as its parent. + 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. + - %TRUE, if the element's state could be synced to the parent's state. + %TRUE, if the element's state could be synced to the parent's state. MT safe. - a #GstElement. + a #GstElement. - Unlinks all source pads of the source element with all sink pads + 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 source #GstElement to unlink. + the source #GstElement to unlink. - the sink #GstElement to unlink. + the sink #GstElement to unlink. @@ -14840,47 +22413,67 @@ requestpad, which has to be released using gst_element_release_request_pad(). - Unlinks a series of elements. Uses gst_element_unlink(). + Unlinks a series of elements. Uses gst_element_unlink(). + - the first #GstElement in the link chain. + the first #GstElement in the link chain. - the second #GstElement in the link chain. + the second #GstElement in the link chain. - the %NULL-terminated list of elements to unlink in order. + the %NULL-terminated list of elements to unlink in order. - Unlinks the two named pads of the source and destination elements. + Unlinks the two named pads of the source and destination elements. This is a convenience function for gst_pad_unlink(). + - a (transfer none): #GstElement containing the source pad. + a (transfer none): #GstElement containing the source pad. - the name of the #GstPad in source element. + the name of the #GstPad in source element. - a #GstElement containing the destination pad. + a #GstElement containing the destination pad. - the name of the #GstPad in destination element. + the name of the #GstPad in destination element. @@ -14889,107 +22482,149 @@ This is a convenience function for gst_pad_unlink(). - Used to serialize execution of gst_element_set_state() + Used to serialize execution of gst_element_set_state() - Used to signal completion of a state change + Used to signal completion of a state change - Used to detect concurrent execution of + Used to detect concurrent execution of gst_element_set_state() and gst_element_get_state() - the target state of an element as set by the application + the target state of an element as set by the application - the current state of an element + the current state of an element - the next state of an element, can be #GST_STATE_VOID_PENDING if + the next state of an element, can be #GST_STATE_VOID_PENDING if the element is in the correct state. - the final state the element should go to, can be + the final state the element should go to, can be #GST_STATE_VOID_PENDING if the element is in the correct state - the last return value of an element state change + the last return value of an element state change - the bus of the element. This bus is provided to the element by the + the bus of the element. This bus is provided to the element by the parent element or the application. A #GstPipeline has a bus of its own. - the clock of the element. This clock is usually provided to the + the clock of the element. This clock is usually provided to the element by the toplevel #GstPipeline. - the time of the clock right before the element is set to + the time of the clock right before the element is set to PLAYING. Subtracting @base_time from the current clock time in the PLAYING state will yield the running_time against the clock. - the running_time of the last PAUSED state + the running_time of the last PAUSED state - number of pads of the element, includes both source and sink pads. + number of pads of the element, includes both source and sink pads. - list of pads + list of pads - number of source pads of the element. + number of source pads of the element. - list of source pads + list of source pads - number of sink pads of the element. + number of sink pads of the element. - list of sink pads + list of sink pads - updated whenever the a pad is added or removed + updated whenever the a pad is added or removed - list of contexts + list of contexts - + - This signals that the element will not generate more dynamic pads. + This signals that the element will not generate more dynamic pads. Note that this signal will usually be emitted from the context of the streaming thread. @@ -14997,7 +22632,9 @@ the streaming thread. - a new #GstPad has been added to the element. Note that this signal will + a new #GstPad has been added to the element. Note that this signal will usually be emitted from the context of the streaming thread. Also keep in mind that if you add new elements to the pipeline in the signal handler you will need to set them to the desired target state with @@ -15007,30 +22644,43 @@ gst_element_set_state() or gst_element_sync_state_with_parent(). - the pad that has been added + the pad that has been added - a #GstPad has been removed from the element + a #GstPad has been removed from the element - the pad that has been removed + the pad that has been removed + Callback prototype used in #gst_element_call_async + + The #GstElement this function has been called against nullable="1" allow-none="1" closure="1"> + Data passed in the function where that callback has been passed @@ -15045,36 +22698,52 @@ gst_element_set_state() or gst_element_sync_state_with_parent(). - GStreamer element class. Override the vmethods to implement the element + GStreamer element class. Override the vmethods to implement the element functionality. + - the parent class structure + the parent class structure - metadata for elements of this class + metadata for elements of this class - the #GstElementFactory that creates these elements + the #GstElementFactory that creates these elements - a #GList of #GstPadTemplate + a #GList of #GstPadTemplate - the number of padtemplates + the number of padtemplates - changed whenever the padtemplates change + changed whenever the padtemplates change + @@ -15090,6 +22759,7 @@ functionality. + @@ -15105,12 +22775,15 @@ functionality. + - a #GstElement + a #GstElement @@ -15118,25 +22791,34 @@ functionality. + - requested #GstPad if found, + requested #GstPad if found, otherwise %NULL. Release after usage. - a #GstElement to find a request pad of. + a #GstElement to find a request pad of. - a #GstPadTemplate of which we want a pad of. + a #GstPadTemplate of which we want a pad of. - the name of the request #GstPad + the name of the request #GstPad to retrieve. Can be %NULL. @@ -15144,7 +22826,9 @@ to retrieve. Can be %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - the caps of the pad we want to + the caps of the pad we want to request. Can be %NULL. @@ -15153,6 +22837,7 @@ request. Can be %NULL. + @@ -15168,8 +22853,11 @@ request. Can be %NULL. + - %GST_STATE_CHANGE_SUCCESS if the element has no more pending state + %GST_STATE_CHANGE_SUCCESS if the element has no more pending state 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. @@ -15179,7 +22867,9 @@ MT safe. - a #GstElement to get the state of. + a #GstElement to get the state of. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to #GstState to hold the state. + a pointer to #GstState to hold the state. Can be %NULL. @@ -15198,12 +22890,16 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to #GstState to hold the pending + a pointer to #GstState to hold the pending state. Can be %NULL. - a #GstClockTime to specify the timeout for an async + a #GstClockTime to specify the timeout for an async state change or %GST_CLOCK_TIME_NONE for infinite timeout. @@ -15212,19 +22908,26 @@ MT safe. + - Result of the state change using #GstStateChangeReturn. + Result of the state change using #GstStateChangeReturn. MT safe. - a #GstElement to change state of. + a #GstElement to change state of. - the element's new #GstState. + the element's new #GstState. @@ -15232,17 +22935,24 @@ MT safe. + - the #GstStateChangeReturn of the state transition. + the #GstStateChangeReturn of the state transition. - a #GstElement + a #GstElement - the requested transition + the requested transition @@ -15250,6 +22960,7 @@ MT safe. + @@ -15271,19 +22982,24 @@ MT safe. + - a #GstElement to set the bus of. + a #GstElement to set the bus of. - the #GstBus to set. + the #GstBus to set. @@ -15291,8 +23007,11 @@ MT safe. + - the GstClock provided by the + the GstClock provided by the element or %NULL if no clock could be provided. Unref after usage. MT safe. @@ -15300,7 +23019,9 @@ MT safe. - a #GstElement to query + a #GstElement to query @@ -15308,8 +23029,11 @@ MT safe. + - %TRUE if the element accepted the clock. An element can refuse a + %TRUE if the element accepted the clock. An element can refuse a clock when it, for example, is not able to slave its internal clock to the @clock or when it requires a specific clock to operate. @@ -15318,14 +23042,18 @@ MT safe. - a #GstElement to set the clock for. + a #GstElement to set the clock for. - the #GstClock to set for the element. + the #GstClock to set for the element. @@ -15333,18 +23061,25 @@ MT safe. + - %TRUE if the event was handled. Events that trigger a preroll (such + %TRUE if the event was handled. Events that trigger a preroll (such as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE. - a #GstElement to send the event to. + a #GstElement to send the event to. - the #GstEvent to send to the element. + the #GstEvent to send to the element. @@ -15352,19 +23087,26 @@ as flushing seeks and steps) will emit %GST_MESSAGE_ASYNC_DONE. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. MT safe. - a #GstElement to perform the query on. + a #GstElement to perform the query on. - the #GstQuery. + the #GstQuery. @@ -15372,8 +23114,11 @@ MT safe. + - %TRUE if the message was successfully posted. The function returns + %TRUE if the message was successfully posted. The function returns %FALSE if the element did not have a bus. MT safe. @@ -15381,11 +23126,15 @@ MT safe. - a #GstElement posting the message + a #GstElement posting the message - a #GstMessage to post + a #GstMessage to post @@ -15393,91 +23142,121 @@ MT safe. + - a #GstElement to set the context of. + a #GstElement to set the context of. - the #GstContext to set. + the #GstContext to set. - + - Set @key with @value as metadata in @klass. + Set @key with @value as metadata in @klass. + - class to set metadata for + class to set metadata for - the key to set + the key to set - the value to set + the value to set - Adds a padtemplate to an element class. This is mainly used in the _class_init + Adds a padtemplate to an element class. This is mainly used in the _class_init functions of classes. If a pad template with the same name as an already existing one is added the old one is replaced by the new one. @templ's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink()) + - the #GstElementClass to add the pad template to. + the #GstElementClass to add the pad template to. - a #GstPadTemplate to add to the element class. + a #GstPadTemplate to add to the element class. - Set @key with @value as metadata in @klass. + Set @key with @value as metadata in @klass. Same as gst_element_class_add_metadata(), but @value must be a static string or an inlined string, as it will not be copied. (GStreamer plugins will be made resident once loaded, so this function can be used even from dynamically loaded plugins.) + - class to set metadata for + class to set metadata for - the key to set + the key to set - the value to set + the value to set @@ -15485,20 +23264,27 @@ dynamically loaded plugins.) - Adds a pad template to an element class based on the static pad template + Adds a pad template to an element class based on the static pad template @templ. This is mainly used in the _class_init functions of element implementations. If a pad template with the same name already exists, the old one is replaced by the new one. + - the #GstElementClass to add the pad template to. + the #GstElementClass to add the pad template to. - #GstStaticPadTemplate to add as pad template to the element class. + #GstStaticPadTemplate to add as pad template to the element class. @@ -15506,78 +23292,110 @@ the old one is replaced by the new one. - Adds a pad template to an element class based on the static pad template + Adds a pad template to an element class based on the static pad template @templ. This is mainly used in the _class_init functions of element implementations. If a pad template with the same name already exists, the old one is replaced by the new one. + - the #GstElementClass to add the pad template to. + the #GstElementClass to add the pad template to. - #GstStaticPadTemplate to add as pad template to the element class. + #GstStaticPadTemplate to add as pad template to the element class. - The #GType of the pad to create + The #GType of the pad to create - Get metadata with @key in @klass. + Get metadata with @key in @klass. + - the metadata for @key. + the metadata for @key. - class to get metadata for + class to get metadata for - the key to get + the key to get - Retrieves a padtemplate from @element_class with the given name. + Retrieves a padtemplate from @element_class with the given name. > 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. + - the #GstPadTemplate with the + the #GstPadTemplate with the given name, or %NULL if none was found. No unreferencing is necessary. - a #GstElementClass to get the pad template of. + a #GstElementClass to get the pad template of. - the name of the #GstPadTemplate to get. + the name of the #GstPadTemplate to get. - Retrieves a list of the pad templates associated with @element_class. The + Retrieves a list of the pad templates associated with @element_class. The list must not be modified by the calling code. > 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. + - the #GList of + the #GList of pad templates. @@ -15585,40 +23403,55 @@ list must not be modified by the calling code. - a #GstElementClass to get pad templates of. + a #GstElementClass to get pad templates of. - Sets the detailed information for a #GstElementClass. + Sets the detailed information for a #GstElementClass. > This function is for use in _class_init functions only. + - class to set metadata for + class to set metadata for - The long English name of the element. E.g. "File Sink" + The long English name of the element. E.g. "File Sink" - String describing the type of element, as an unordered list + 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. + 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 + Name and contact details of the author(s). Use \n to separate multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" @@ -15626,7 +23459,9 @@ multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" - Sets the detailed information for a #GstElementClass. + Sets the detailed information for a #GstElementClass. > This function is for use in _class_init functions only. @@ -15634,31 +23469,42 @@ Same as gst_element_class_set_metadata(), but @longname, @classification, @description, and @author must be static strings or inlined strings, as they will not be copied. (GStreamer plugins will be made resident once loaded, so this function can be used even from dynamically loaded plugins.) + - class to set metadata for + class to set metadata for - The long English name of the element. E.g. "File Sink" + The long English name of the element. E.g. "File Sink" - String describing the type of element, as an unordered list + 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. + 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 + Name and contact details of the author(s). Use \n to separate multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" @@ -15672,7 +23518,9 @@ multiple author metadata. E.g: "Joe Bloggs &lt;joe.blogs at foo.com&gt;" glib:type-name="GstElementFactory" glib:get-type="gst_element_factory_get_type" glib:type-struct="ElementFactoryClass"> - #GstElementFactory is used to create instances of elements. A + #GstElementFactory is used to create instances of elements. A GstElementFactory can be added to a #GstPlugin as it is also a #GstPluginFeature. @@ -15697,31 +23545,44 @@ The following code example shows you how to create a GstFileSrc element. g_return_if_fail (src != NULL); ... ]| + - Search for an element factory of the given name. Refs the returned + Search for an element factory of the given name. Refs the returned element factory; caller is responsible for unreffing. + - #GstElementFactory if found, + #GstElementFactory if found, %NULL otherwise - name of factory to find + name of factory to find - Filter out all the elementfactories in @list that can handle @caps in + 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. + - a #GList of + a #GList of #GstElementFactory elements that match the given requisites. Use #gst_plugin_feature_list_free after usage. @@ -15730,33 +23591,46 @@ whose pad templates caps can intersect with @caps will be returned. - a #GList of + a #GList of #GstElementFactory to filter - a #GstCaps + a #GstCaps - a #GstPadDirection to filter on + a #GstPadDirection to filter on - whether to filter on caps subsets or not. + whether to filter on caps subsets or not. - Get a list of factories that match the given @type. Only elements + 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. + - a #GList of + a #GList of #GstElementFactory elements. Use gst_plugin_feature_list_free() after usage. @@ -15765,36 +23639,49 @@ The list of factories is returned by decreasing rank. - a #GstElementFactoryListType + a #GstElementFactoryListType - Minimum rank + Minimum rank - Create a new element of the type defined by the given element factory. + 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 + new #GstElement or %NULL if unable to create element - a named factory to instantiate + a named factory to instantiate - name of new element, or %NULL to automatically create + name of new element, or %NULL to automatically create a unique name @@ -15802,95 +23689,140 @@ if unable to create element - Checks if the factory can sink all possible capabilities. + Checks if the factory can sink all possible capabilities. + - %TRUE if the caps are fully compatible. + %TRUE if the caps are fully compatible. - factory to query + factory to query - the caps to check + the caps to check - Checks if the factory can sink any possible capability. + Checks if the factory can sink any possible capability. + - %TRUE if the caps have a common subset. + %TRUE if the caps have a common subset. - factory to query + factory to query - the caps to check + the caps to check - Checks if the factory can src all possible capabilities. + Checks if the factory can src all possible capabilities. + - %TRUE if the caps are fully compatible. + %TRUE if the caps are fully compatible. - factory to query + factory to query - the caps to check + the caps to check - Checks if the factory can src any possible capability. + Checks if the factory can src any possible capability. + - %TRUE if the caps have a common subset. + %TRUE if the caps have a common subset. - factory to query + factory to query - the caps to check + the caps to check - Create a new element of the type defined by the given elementfactory. + 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. + - new #GstElement or %NULL + new #GstElement or %NULL if the element couldn't be created - factory to instantiate + factory to instantiate - name of new element, or %NULL to automatically create + name of new element, or %NULL to automatically create a unique name @@ -15898,45 +23830,66 @@ their first argument. - Get the #GType for elements managed by this factory. The type can + 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 #GType for elements managed by this factory or 0 if + the #GType for elements managed by this factory or 0 if the factory is not loaded. - factory to get managed #GType from + factory to get managed #GType from - Get the metadata on @factory with @key. + Get the metadata on @factory with @key. + - the metadata with @key on @factory or %NULL + the metadata with @key on @factory or %NULL when there was no metadata with the given @key. - a #GstElementFactory + a #GstElementFactory - a key + a key - Get the available keys for the metadata on @factory. + Get the available keys for the metadata on @factory. + - + a %NULL-terminated array of key strings, or %NULL when there is no metadata. Free with g_strfreev() when no longer needed. @@ -15945,30 +23898,44 @@ metadata. Free with g_strfreev() when no longer needed. - a #GstElementFactory + a #GstElementFactory - Gets the number of pad_templates in this factory. + Gets the number of pad_templates in this factory. + - the number of pad_templates + the number of pad_templates - a #GstElementFactory + a #GstElementFactory - Gets the #GList of #GstStaticPadTemplate for this factory. + Gets the #GList of #GstStaticPadTemplate for this factory. + - the + the static pad templates @@ -15976,19 +23943,26 @@ metadata. Free with g_strfreev() when no longer needed. - a #GstElementFactory + a #GstElementFactory - Gets a %NULL-terminated array of protocols this element supports or %NULL if + 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. + - the supported protocols + the supported protocols or %NULL @@ -15996,57 +23970,84 @@ make a copy of the protocol string array if you need to. - a #GstElementFactory + a #GstElementFactory - Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none. + Gets the type of URIs the element supports or #GST_URI_UNKNOWN if none. + - type of URIs this element supports + type of URIs this element supports - a #GstElementFactory + a #GstElementFactory - Check if @factory implements the interface with name @interfacename. + Check if @factory implements the interface with name @interfacename. + - %TRUE when @factory implement the interface. + %TRUE when @factory implement the interface. - a #GstElementFactory + a #GstElementFactory - an interface name + an interface name - Check if @factory is of the given types. + Check if @factory is of the given types. + - %TRUE if @factory is of @type. + %TRUE if @factory is of @type. - a #GstElementFactory + a #GstElementFactory - a #GstElementFactoryListType + a #GstElementFactoryListType @@ -16057,71 +24058,97 @@ make a copy of the protocol string array if you need to. c:type="GstElementFactoryClass" disguised="1" glib:is-gtype-struct-for="ElementFactory"> + - The standard flags that an element may have. + The standard flags that an element may have. - ignore state changes from parent + ignore state changes from parent - the element is a sink + the element is a sink - the element is a source. + the element is a source. - the element can provide a clock + the element can provide a clock - the element requires a clock + the element requires a clock - the element can use an index + the element can use an index - offset to define more flags + offset to define more flags - Function called for each pad when using gst_element_foreach_sink_pad(), + Function called for each pad when using gst_element_foreach_sink_pad(), gst_element_foreach_src_pad(), or gst_element_foreach_pad(). + - %FALSE to stop iterating pads, %TRUE to continue + %FALSE to stop iterating pads, %TRUE to continue - the #GstElement + the #GstElement - a #GstPad + a #GstPad nullable="1" allow-none="1" closure="2"> - user data passed to the foreach function + user data passed to the foreach function @@ -16139,7 +24168,9 @@ gst_element_foreach_src_pad(), or gst_element_foreach_pad(). glib:type-name="GstEvent" glib:get-type="gst_event_get_type" c:symbol-prefix="event"> - The event class provides factory methods to construct events for sending + The event class provides factory methods to construct events for sending and functions to query (parse) received events. Events are usually created with gst_event_new_*() which takes event-type @@ -16180,68 +24211,99 @@ the needed parameters to specify seeking time and mode. g_warning ("seek failed"); ... ]| + - the parent structure + the parent structure - the #GstEventType of the event + the #GstEventType of the event - the timestamp of the event + the timestamp of the event - the sequence number of the event + the sequence number of the event - Create a new buffersize event. The event is sent downstream and notifies + 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 preferred. + - a new #GstEvent + a new #GstEvent - buffer format + buffer format - minimum buffer size + minimum buffer size - maximum buffer size + maximum buffer size - thread behavior + thread behavior - Create a new CAPS event for @caps. The caps event can only travel downstream + Create a new CAPS event for @caps. The caps event can only travel downstream synchronized with the buffer flow and contains the format of the buffers that will follow after the event. + - the new CAPS event. + the new CAPS event. - a #GstCaps + a #GstCaps - Create a new custom-typed event. This can be used for anything not + 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. @@ -16251,24 +24313,33 @@ serialization flags. New custom events can also be created by subclassing the event type if needed. + - the new custom event. + the new custom event. - The type of the new event + The type of the new event - the structure for the event. The event will + 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 + 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_EOS as a #GstFlowReturn when data after the EOS event arrives. @@ -16281,14 +24352,19 @@ 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. + the new EOS event. - Allocate a new flush start event. The flush start event can be sent + 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 @@ -16302,14 +24378,19 @@ 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. + a new flush start event. - Allocate a new flush stop event. The flush stop event can be sent + 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. @@ -16319,66 +24400,176 @@ the preceding FLUSH_START event stopped the dataflow. This event is typically generated to complete a seek and to resume dataflow. + - a new flush stop event. + a new flush stop event. - if time should be reset + if time should be reset - Create a new GAP event. A gap event can be thought of as conceptually + Create a new GAP event. A gap event can be thought of as conceptually equivalent to a buffer to signal that there is no data for a certain amount of time. This is useful to signal a gap to downstream elements which may wait for data, such as muxers or mixers or overlays, especially for sparse streams such as subtitle streams. + - the new GAP event. + the new GAP event. - the start time (pts) of the gap + the start time (pts) of the gap - the duration of the gap + the duration of the gap + + + + + + Create a new instant-rate-change event. This event is sent by seek +handlers (e.g. demuxers) when receiving a seek with the +%GST_SEEK_FLAG_INSTANT_RATE_CHANGE and signals to downstream elements that +the playback rate in the existing segment should be immediately multiplied +by the @rate_multiplier factor. + +The flags provided replace any flags in the existing segment, for the +flags within the %GST_SEGMENT_INSTANT_FLAGS set. Other GstSegmentFlags +are ignored and not transferred in the event. + + + the new instant-rate-change event. + + + + + the multiplier to be applied to the playback rate + + + + A new subset of segment flags to replace in segments + + + + + + Create a new instant-rate-sync-time event. This event is sent by the +pipeline to notify elements handling the instant-rate-change event about +the running-time when the new rate should be applied. The running time +may be in the past when elements handle this event, which can lead to +switching artifacts. The magnitude of those depends on the exact timing +of event delivery to each element and the magnitude of the change in +playback rate being applied. + +The @running_time and @upstream_running_time are the same if this +is the first instant-rate adjustment, but will differ for later ones +to compensate for the accumulated offset due to playing at a rate +different to the one indicated in the playback segments. + + + the new instant-rate-sync-time event. + + + + + the new playback rate multiplier to be applied + + + + Running time when the rate change should be applied + + + + The upstream-centric running-time when the + rate change should be applied. - Create a new latency event. The event is sent upstream from the sinks and + 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 + a new #GstEvent - the new latency value + the new latency value - Create a new navigation event from the given description. + Create a new navigation event from the given description. + - a new #GstEvent + a new #GstEvent - description of the event. The event will take + description of the event. The event will take ownership of the structure. @@ -16387,7 +24578,9 @@ the time format. - Creates a new event containing information specific to a particular + Creates a new event containing information specific to a particular protection system (uniquely identified by @system_id), by which that protection system can acquire key(s) to decrypt a protected stream. @@ -16416,24 +24609,33 @@ The events returned by gst_event_new_protection() are implemented in such a way as to ensure that the most recently-pushed protection info event of a particular @origin and @system_id will be stuck to the output pad of the sending element. + - a #GST_EVENT_PROTECTION event, if successful; %NULL + a #GST_EVENT_PROTECTION event, if successful; %NULL if unsuccessful. - a string holding a UUID that uniquely + a string holding a UUID that uniquely identifies a protection system. - a #GstBuffer holding protection system specific + a #GstBuffer holding protection system specific information. The reference count of the buffer will be incremented by one. - a string indicating where the protection + a string indicating where the protection information carried in the event was extracted from. The allowed values of this string will depend upon the protection scheme. @@ -16441,7 +24643,9 @@ of this string will depend upon the protection scheme. - Allocate a new qos event with the given values. + 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 or @@ -16483,42 +24687,60 @@ 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. + a new QOS event. - the QoS type + the QoS type - the proportion of the qos message + the proportion of the qos message - The time difference of the last Clock sync + The time difference of the last Clock sync - The timestamp of the buffer + The timestamp of the buffer - Create a new reconfigure event. The purpose of the reconfigure event is + Create a new reconfigure event. The purpose of the reconfigure event is to travel upstream and make elements renegotiate their caps or reconfigure their buffer pools. This is useful when changing properties on elements or changing the topology of the pipeline. + - a new #GstEvent + a new #GstEvent - Allocate a new seek event with the given parameters. + 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. @@ -16549,43 +24771,62 @@ 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. + a new seek event. - The new playback rate + The new playback rate - The format of the seek values + The format of the seek values - The optional seek flags + The optional seek flags - The type and flags for the new start position + The type and flags for the new start position - The value of the new start position + The value of the new start position - The type and flags for the new stop position + The type and flags for the new stop position - The value of the new stop position + The value of the new stop position - Create a new SEGMENT event for @segment. The segment event can only travel + Create a new SEGMENT event for @segment. The segment event can only travel downstream synchronized with the buffer flow and contains timing information and playback properties for the buffers that will follow. @@ -16616,32 +24857,46 @@ with @rate of 1.0 and @applied_rate of 2.0 After a segment event, the buffer stream time is calculated with: time + (TIMESTAMP(buf) - start) * ABS (rate * applied_rate) + - the new SEGMENT event. + the new SEGMENT event. - a #GstSegment + a #GstSegment - Create a new segment-done event. This event is sent by elements that + Create a new segment-done event. This event is sent by elements that finish playback of a segment as a result of a segment seek. + - a new #GstEvent + a new #GstEvent - The format of the position being done + The format of the position being done - The position of the segment being done + The position of the segment being done @@ -16649,7 +24904,9 @@ finish playback of a segment as a result of a segment seek. - Allocate a new select-streams event. + Allocate a new select-streams event. The select-streams event requests the specified @streams to be activated. @@ -16659,14 +24916,19 @@ in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or #GST_MESSAGE_STREAM_COLLECTION. Note: The list of @streams can not be empty. + - a new select-streams event or %NULL in case of + a new select-streams event or %NULL in case of an error (like an empty streams list). - the list of streams to + the list of streams to activate @@ -16676,28 +24938,39 @@ activate - Create a new sink-message event. The purpose of the sink-message event is + 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. @name is used to store multiple sticky events on one pad. + - a new #GstEvent + a new #GstEvent - a name for the event + a name for the event - the #GstMessage to be posted + the #GstMessage to be posted - Create a new step event. The purpose of the step event is to instruct a sink + 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. @@ -16710,29 +24983,42 @@ the step operation. The @intermediate flag instructs the pipeline that this step operation is part of a larger step operation. + - a new #GstEvent + a new #GstEvent - the format of @amount + the format of @amount - the amount of data to step + the amount of data to step - the step rate + the step rate - flushing steps + flushing steps - intermediate steps + intermediate steps @@ -16740,7 +25026,9 @@ part of a larger step operation. - Create a new STREAM_COLLECTION event. The stream collection event can only + Create a new STREAM_COLLECTION event. The stream collection event can only travel downstream synchronized with the buffer flow. Source elements, demuxers and other elements that manage collections @@ -16748,13 +25036,18 @@ of streams and post #GstStreamCollection messages on the bus also send this event downstream on each pad involved in the collection, so that activation of a new collection can be tracked through the downstream data flow. + - the new STREAM_COLLECTION event. + the new STREAM_COLLECTION event. - Active collection for this data flow + Active collection for this data flow @@ -16762,7 +25055,9 @@ data flow. - Create a new Stream Group Done event. The stream-group-done event can + Create a new Stream Group Done event. The stream-group-done event can only travel downstream synchronized with the buffer flow. Elements that receive the event on a pad should handle it mostly like EOS, and emit any data or pending buffers that would depend on more data @@ -16771,20 +25066,27 @@ arriving and unblock, since there won't be any more data. This event is followed by EOS at some point in the future, and is generally used when switching pads - to unblock downstream so that new pads can be exposed before sending EOS on the existing pads. + - the new stream-group-done event. + the new stream-group-done event. - the group id of the stream group which is ending + the group id of the stream group which is ending - Create a new STREAM_START event. The stream start event can only + Create a new STREAM_START event. The stream start event can only travel downstream synchronized with the buffer flow. It is expected to be the first event that is sent for a new stream. @@ -16805,84 +25107,139 @@ used to create a stream-id. There are no particular semantics for the stream-id, though it should be deterministic (to support stream matching) and it might be used to order streams (besides any information conveyed by stream flags). + - the new STREAM_START event. + the new STREAM_START event. - Identifier for this stream + Identifier for this stream - Generates a metadata tag event from the given @taglist. + Generates a metadata tag event from the given @taglist. The scope of the taglist specifies if the taglist applies to the complete medium or only to this specific stream. As the tag event is a sticky event, elements should merge tags received from upstream with a given scope with their own tags with the same scope and create a new tag event from it. + - a new #GstEvent + a new #GstEvent - metadata list. The event will take ownership + metadata list. The event will take ownership of the taglist. - Generate a TOC event from the given @toc. The purpose of the TOC event is to + Generate a TOC event from the given @toc. The purpose of the TOC event is to inform elements that some kind of the TOC was found. + - a new #GstEvent. + a new #GstEvent. - #GstToc structure. + #GstToc structure. - whether @toc was updated or not. + whether @toc was updated or not. - Generate a TOC select event with the given @uid. The purpose of the + Generate a TOC select event with the given @uid. The purpose of the TOC select event is to start playback based on the TOC's entry with the given @uid. + - a new #GstEvent. + a new #GstEvent. - UID in the TOC to start playback from. + UID in the TOC to start playback from. + + Copy the event using the event specific copy function. + + + the new event + + + + + The event to copy + + + + - Parses a segment @event and copies the #GstSegment into the location + Parses a segment @event and copies the #GstSegment into the location given by @segment. + - The event to parse + The event to parse - a pointer to a #GstSegment + a pointer to a #GstSegment @@ -16890,7 +25247,9 @@ given by @segment. - Retrieve the accumulated running time offset of the event. + Retrieve the accumulated running time offset of the event. Events passing through #GstPads that have a running time offset set via gst_pad_set_offset() will get their offset @@ -16899,21 +25258,28 @@ adjusted according to the pad's offset. If the event contains any information that related to the running time, this information will need to be updated before usage with this offset. + - The event's running time offset + The event's running time offset MT safe. - A #GstEvent. + A #GstEvent. - Retrieve the sequence number of a event. + 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 @@ -16925,23 +25291,33 @@ required. Note that events and messages share the same sequence number incrementor; two events or messages will never have the same sequence number unless that correspondence was made explicitly. + - The event's sequence number. + The event's sequence number. MT safe. - A #GstEvent. + A #GstEvent. - Access the structure of the event. + Access the structure of the event. + - The structure of the event. The + The structure of the event. The structure is still owned by the event, which means that you should not free it and that the pointer becomes invalid when you free the event. @@ -16950,118 +25326,190 @@ MT safe. - The #GstEvent. + The #GstEvent. - Checks if @event has the given @name. This function is usually used to + 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. + %TRUE if @name matches the name of the event structure. - The #GstEvent. + The #GstEvent. - name to check + name to check + + 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. + + + + + The #GstEvent. + + + + name to check as a GQuark + + + + - Get the format, minsize, maxsize and async-flag in the buffersize event. + Get the format, minsize, maxsize and async-flag in the buffersize event. + - The event to query + The event to query - A pointer to store the format in + A pointer to store the format in - A pointer to store the minsize in + A pointer to store the minsize in - A pointer to store the maxsize in + A pointer to store the maxsize in - A pointer to store the async-flag in + A pointer to store the async-flag in - Get the caps from @event. The caps remains valid as long as @event remains + Get the caps from @event. The caps remains valid as long as @event remains valid. + - The event to parse + The event to parse - A pointer to the caps + A pointer to the caps - Parse the FLUSH_STOP event and retrieve the @reset_time member. + Parse the FLUSH_STOP event and retrieve the @reset_time member. + - The event to parse + The event to parse - if time should be reset + if time should be reset - Extract timestamp and duration from a new GAP event. + Extract timestamp and duration from a new GAP event. + - a #GstEvent of type #GST_EVENT_GAP + a #GstEvent of type #GST_EVENT_GAP transfer-ownership="full" optional="1" allow-none="1"> - location where to store the + location where to store the start time (pts) of the gap, or %NULL @@ -17080,7 +25530,9 @@ valid. transfer-ownership="full" optional="1" allow-none="1"> - location where to store the duration of + location where to store the duration of the gap, or %NULL @@ -17089,40 +25541,152 @@ valid. + - %TRUE if a group id was set on the event and could be parsed, + %TRUE if a group id was set on the event and could be parsed, %FALSE otherwise. - a stream-start event + a stream-start event - address of variable where to store the group id + address of variable where to store the group id - - Get the latency in the latency event. + + Extract rate and flags from an instant-rate-change event. + - The event to query + a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE + + + + location in which to store the rate + multiplier of the instant-rate-change event, or %NULL + + + + location in which to store the new + segment flags of the instant-rate-change event, or %NULL + + + + + + Extract the rate multiplier and running times from an instant-rate-sync-time event. + + + + + + + a #GstEvent of type #GST_EVENT_INSTANT_RATE_CHANGE + + + + location where to store the rate of + the instant-rate-sync-time event, or %NULL + + + + location in which to store the running time + of the instant-rate-sync-time event, or %NULL + + + + location in which to store the + upstream running time of the instant-rate-sync-time event, or %NULL + + + + + + Get the latency in the latency event. + + + + + + + The event to query - A pointer to store the latency in. + A pointer to store the latency in. @@ -17130,15 +25694,20 @@ valid. - Parses an event containing protection system specific information and stores + Parses an event containing protection system specific information and stores the results in @system_id, @data and @origin. The data stored in @system_id, @origin and @data are valid until @event is released. + - a #GST_EVENT_PROTECTION event. + a #GST_EVENT_PROTECTION event. - pointer to store the UUID + pointer to store the UUID string uniquely identifying a content protection system. @@ -17157,7 +25728,9 @@ string uniquely identifying a content protection system. transfer-ownership="none" optional="1" allow-none="1"> - pointer to store a #GstBuffer + pointer to store a #GstBuffer holding protection system specific information. @@ -17167,7 +25740,9 @@ holding protection system specific information. transfer-ownership="none" optional="1" allow-none="1"> - pointer to store a value that + pointer to store a value that indicates where the protection information carried by @event was extracted from. @@ -17175,105 +25750,137 @@ from. - Get the type, proportion, diff and timestamp in the qos event. See + Get the type, proportion, diff and timestamp in the qos event. See gst_event_new_qos() for more information about the different QoS values. @timestamp will be adjusted for any pad offsets of pads it was passing through. + - The event to query + The event to query - A pointer to store the QoS type in + A pointer to store the QoS type in - A pointer to store the proportion in + A pointer to store the proportion in - A pointer to store the diff in + A pointer to store the diff in - A pointer to store the timestamp in + A pointer to store the timestamp in - Parses a seek @event and stores the results in the given result locations. + Parses a seek @event and stores the results in the given result locations. + - a seek event + a seek event - result location for the rate + result location for the rate - result location for the stream format + result location for the stream format - result location for the #GstSeekFlags + result location for the #GstSeekFlags - result location for the #GstSeekType of the start position + result location for the #GstSeekType of the start position - result location for the start position expressed in @format + result location for the start position expressed in @format - result location for the #GstSeekType of the stop position + result location for the #GstSeekType of the stop position - result location for the stop position expressed in @format + result location for the stop position expressed in @format @@ -17281,8 +25888,11 @@ gst_event_new_qos() for more information about the different QoS values. - Retrieve the trickmode interval that may have been set on a + Retrieve the trickmode interval that may have been set on a seek event with gst_event_set_seek_trickmode_interval(). + @@ -17299,35 +25909,47 @@ seek event with gst_event_set_seek_trickmode_interval(). - Parses a segment @event and stores the result in the given @segment location. + Parses a segment @event and stores the result in the given @segment location. @segment remains valid only until the @event is freed. Don't modify the segment and make a copy if you want to modify it or store it for later use. + - The event to parse + The event to parse - a pointer to a #GstSegment + a pointer to a #GstSegment - Extracts the position and format from the segment done message. + Extracts the position and format from the segment done message. + - A valid #GstEvent of type GST_EVENT_SEGMENT_DONE. + A valid #GstEvent of type GST_EVENT_SEGMENT_DONE. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the format, or %NULL + Result location for the format, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - Result location for the position, or %NULL + Result location for the position, or %NULL @@ -17353,20 +25979,27 @@ and make a copy if you want to modify it or store it for later use. - Parse the SELECT_STREAMS event and retrieve the contained streams. + Parse the SELECT_STREAMS event and retrieve the contained streams. + - The event to parse + The event to parse - the streams + the streams @@ -17375,32 +26008,44 @@ and make a copy if you want to modify it or store it for later use. - Parse the sink-message event. Unref @msg after usage. + Parse the sink-message event. Unref @msg after usage. + - The event to query + The event to query - a pointer to store the #GstMessage in. + a pointer to store the #GstMessage in. - Parse the step event. + Parse the step event. + - The event to query + The event to query transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the format in + a pointer to store the format in transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the amount in + a pointer to store the amount in transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the rate in + a pointer to store the rate in transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the flush boolean in + a pointer to store the flush boolean in transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the intermediate + a pointer to store the intermediate boolean in @@ -17454,20 +26109,27 @@ and make a copy if you want to modify it or store it for later use. - Parse a stream-start @event and extract the #GstStream from it. + Parse a stream-start @event and extract the #GstStream from it. + - a stream-start event + a stream-start event - address of variable to store the stream + address of variable to store the stream @@ -17475,20 +26137,27 @@ and make a copy if you want to modify it or store it for later use. - Retrieve new #GstStreamCollection from STREAM_COLLECTION event @event. + Retrieve new #GstStreamCollection from STREAM_COLLECTION event @event. + - a stream-collection event + a stream-collection event - pointer to store the collection + pointer to store the collection @@ -17496,19 +26165,24 @@ and make a copy if you want to modify it or store it for later use. + - a stream-start event + a stream-start event - address of variable where to store the stream flags + address of variable where to store the stream flags @@ -17516,105 +26190,140 @@ and make a copy if you want to modify it or store it for later use. - Parse a stream-group-done @event and store the result in the given + Parse a stream-group-done @event and store the result in the given @group_id location. + - a stream-group-done event. + a stream-group-done event. - address of variable to store the group id into + address of variable to store the group id into - Parse a stream-id @event and store the result in the given @stream_id + Parse a stream-id @event and store the result in the given @stream_id location. The string stored in @stream_id must not be modified and will remain valid only until @event gets freed. Make a copy if you want to modify it or store it for later use. + - a stream-start event. + a stream-start event. - pointer to store the stream-id + pointer to store the stream-id - Parses a tag @event and stores the results in the given @taglist location. + Parses a tag @event and stores the results in the given @taglist location. No reference to the taglist will be returned, it remains valid only until the @event is freed. Don't modify or free the taglist, make a copy if you want to modify it or store it for later use. + - a tag event + a tag event - pointer to metadata list + pointer to metadata list - Parse a TOC @event and store the results in the given @toc and @updated locations. + Parse a TOC @event and store the results in the given @toc and @updated locations. + - a TOC event. + a TOC event. - pointer to #GstToc structure. + pointer to #GstToc structure. - pointer to store TOC updated flag. + pointer to store TOC updated flag. - Parse a TOC select @event and store the results in the given @uid location. + Parse a TOC select @event and store the results in the given @uid location. + - a TOC select event. + a TOC select event. transfer-ownership="full" optional="1" allow-none="1"> - storage for the selection UID. + storage for the selection UID. + + Increase the refcount of this event. + + + @event (for convenience when doing assignments) + + + + + The event to refcount + + + + - All streams that have the same group id are supposed to be played + All streams that have the same group id are supposed to be played together, i.e. all streams inside a container file should have the same group id but different stream ids. The group id should change each time the stream is started, resulting in different group ids each time a file is played for example. Use gst_util_group_id_next() to get a new group id. + - a stream-start event + a stream-start event - the group id to set + the group id to set @@ -17655,20 +26393,27 @@ Use gst_util_group_id_next() to get a new group id. - Set the running time offset of a event. See + Set the running time offset of a event. See gst_event_get_running_time_offset() for more information. MT safe. + - A #GstEvent. + A #GstEvent. - A the new running time offset + A the new running time offset @@ -17676,9 +26421,12 @@ MT safe. - Sets a trickmode interval on a (writable) seek event. Elements + Sets a trickmode interval on a (writable) seek event. Elements that support TRICKMODE_KEY_UNITS seeks SHOULD use this as the minimal interval between each frame they may output. + @@ -17692,23 +26440,30 @@ interval between each frame they may output. - Set the sequence number of a event. + 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 #GstEvent. + A #GstEvent. - A sequence number. + A sequence number. @@ -17716,17 +26471,24 @@ MT safe. - Set the @stream on the stream-start @event + Set the @stream on the stream-start @event + - a stream-start event + a stream-start event - the stream object to set + the stream object to set @@ -17734,25 +26496,52 @@ MT safe. + - a stream-start event + a stream-start event - the stream flags to set + the stream flags to set + + Decrease the refcount of an event, freeing it if the refcount reaches 0. + + + + + + + the event to refcount + + + + - Get a writable version of the structure. + Get a writable version of the structure. + - The structure of the event. The structure + The structure of the event. The structure is still owned by the event, which means that you should not free it and that the pointer becomes invalid when you free the event. This function checks if @event is writable and will never return @@ -17763,17 +26552,131 @@ MT safe. - The #GstEvent. + The #GstEvent. + + Modifies a pointer to a #GstEvent to point to a different #GstEvent. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +event is unreffed, the new one is reffed). + +Either @new_event or the #GstEvent pointed to by @old_event may be %NULL. + + + %TRUE if @new_event was different from @old_event + + + + + pointer to a + pointer to a #GstEvent to be replaced. + + + + pointer to a #GstEvent that will + replace the event pointed to by @old_event. + + + + + + Atomically replace the #GstEvent pointed to by @old_event with %NULL and +return the original event. + + + the #GstEvent that was in @old_event + + + + + pointer to a + pointer to a #GstEvent to be stolen. + + + + + + Modifies a pointer to a #GstEvent to point to a different #GstEvent. This +function is similar to gst_event_replace() except that it takes ownership of +@new_event. + +Either @new_event or the #GstEvent pointed to by @old_event may be %NULL. + + + %TRUE if @new_event was different from @old_event + + + + + pointer to a + pointer to a #GstEvent to be stolen. + + + + pointer to a #GstEvent that will + replace the event pointed to by @old_event. + + + + - #GstEventType lists the standard event types that can be sent in a pipeline. + #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 @@ -17784,27 +26687,35 @@ Specific custom events are distinguished by the name of the structure. value="0" c:identifier="GST_EVENT_UNKNOWN" glib:nick="unknown"> - unknown event. + unknown event. - Start a flush operation. This event clears all data + Start a flush operation. This event clears all data from the pipeline and unblock all streaming threads. - Stop a flush operation. This event resets the + Stop a flush operation. This event resets the running-time of the pipeline. - Event to mark the start of a new stream. Sent before any + Event to mark the start of a new stream. Sent before any other serialized event and only sent at the start of a new stream, not after flushing seeks. @@ -17812,13 +26723,17 @@ Specific custom events are distinguished by the name of the structure. value="12814" c:identifier="GST_EVENT_CAPS" glib:nick="caps"> - #GstCaps event. Notify the pad of a new media type. + #GstCaps event. Notify the pad of a new media type. - A new media segment follows in the dataflow. The + A new media segment follows in the dataflow. The segment events contains information for clipping buffers and converting buffer timestamps to running-time and stream-time. @@ -17827,26 +26742,34 @@ Specific custom events are distinguished by the name of the structure. value="19230" c:identifier="GST_EVENT_STREAM_COLLECTION" glib:nick="stream-collection"> - A new #GstStreamCollection is available (Since 1.10) + A new #GstStreamCollection is available (Since: 1.10) - A new set of metadata tags has been found in the stream. + A new set of metadata tags has been found in the stream. - Notification of buffering requirements. Currently not + Notification of buffering requirements. Currently not used yet. - An event that sinks turn into a message. Used to + An event that sinks turn into a message. Used to send messages that should be emitted in sync with rendering. @@ -17854,15 +26777,19 @@ Specific custom events are distinguished by the name of the structure. value="26894" c:identifier="GST_EVENT_STREAM_GROUP_DONE" glib:nick="stream-group-done"> - Indicates that there is no more data for + Indicates that there is no more data for the stream group ID in the message. Sent before EOS - in some instances and should be handled mostly the same. (Since 1.10) + in some instances and should be handled mostly the same. (Since: 1.10) - End-Of-Stream. No more data is to be expected to follow + End-Of-Stream. No more data is to be expected to follow without either a STREAM_START event, or a FLUSH_STOP and a SEGMENT event. @@ -17870,33 +26797,52 @@ Specific custom events are distinguished by the name of the structure. value="30750" c:identifier="GST_EVENT_TOC" glib:nick="toc"> - An event which indicates that a new table of contents (TOC) + An event which indicates that a new table of contents (TOC) was found or updated. - An event which indicates that new or updated + An event which indicates that new or updated encryption information has been found in the stream. - Marks the end of a segment playback. + Marks the end of a segment playback. - Marks a gap in the datastream. + Marks a gap in the datastream. + + + Notify downstream that a playback rate override + should be applied as soon as possible. (Since: 1.18) - A quality message. Used to indicate to upstream elements + A quality message. Used to indicate to upstream elements that the downstream elements should adjust their processing rate. @@ -17904,13 +26850,17 @@ Specific custom events are distinguished by the name of the structure. value="51201" c:identifier="GST_EVENT_SEEK" glib:nick="seek"> - A request for a new playback position and rate. + A request for a new playback position and rate. - Navigation events are usually used for communicating + Navigation events are usually used for communicating user requests, such as mouse or keyboard movements, to upstream elements. @@ -17918,108 +26868,161 @@ Specific custom events are distinguished by the name of the structure. value="56321" c:identifier="GST_EVENT_LATENCY" glib:nick="latency"> - Notification of new latency adjustment. Sinks will use + Notification of new latency adjustment. Sinks will use the latency information to adjust their synchronisation. - A request for stepping through the media. Sinks will usually + A request for stepping through the media. Sinks will usually execute the step operation. - A request for upstream renegotiating caps and reconfiguring. + A request for upstream renegotiating caps and reconfiguring. - A request for a new playback position based on TOC + A request for a new playback position based on TOC entry's UID. - A request to select one or more streams (Since 1.10) + A request to select one or more streams (Since: 1.10) + + + Sent by the pipeline to notify elements that handle the + instant-rate-change event about the running-time when + the rate multiplier should be applied (or was applied). (Since: 1.18) - Upstream custom event + Upstream custom event - Downstream custom event that travels in the + Downstream custom event that travels in the data flow. - Custom out-of-band downstream event. + Custom out-of-band downstream event. - Custom sticky downstream event. + Custom sticky downstream event. - Custom upstream or downstream event. + Custom upstream or downstream event. In-band when travelling downstream. - Custom upstream or downstream out-of-band event. + Custom upstream or downstream out-of-band event. - Gets the #GstEventTypeFlags associated with @type. + Gets the #GstEventTypeFlags associated with @type. + - a #GstEventTypeFlags. + a #GstEventTypeFlags. - a #GstEventType + a #GstEventType - Get a printable name for the given event type. Do not modify or free. + Get a printable name for the given event type. Do not modify or free. + - a reference to the static name of the event. + a reference to the static name of the event. - the event type + the event type - Get the unique quark for the given event type. + Get the unique quark for the given event type. + - the quark associated with the event type + the quark associated with the event type - the event type + the event type @@ -18029,39 +27032,51 @@ Specific custom events are distinguished by the name of the structure. glib:type-name="GstEventTypeFlags" glib:get-type="gst_event_type_flags_get_type" c:type="GstEventTypeFlags"> - #GstEventTypeFlags indicate the aspects of the different #GstEventType + #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. - Set if the event can travel upstream. + Set if the event can travel upstream. - Set if the event can travel downstream. + Set if the event can travel downstream. - Set if the event should be serialized with data + Set if the event should be serialized with data flow. - Set if the event is sticky on the pads. + Set if the event is sticky on the pads. - Multiple sticky events can be on a pad, each + Multiple sticky events can be on a pad, each identified by the event name. @@ -18069,34 +27084,62 @@ gst_event_type_get_flags() function. value="4294967295" c:type="GST_FLAG_SET_MASK_EXACT" version="1.6"> - A mask value with all bits set, for use as a + A mask value with all bits set, for use as a GstFlagSet mask where all flag bits must match exactly + - The PERCENT format is between 0 and this value + The PERCENT format is between 0 and this value + - The value used to scale down the reported PERCENT format value to + The value used to scale down the reported PERCENT format value to its real value. + + + Can be used together with #GST_FOURCC_FORMAT to properly output a +#guint32 fourcc value in a printf\()-style text message. + + + + a #guint32 fourcc value to output + + + - Can be used together with #GST_FOURCC_ARGS to properly output a -#guint32 fourcc value in a printf()-style text message. + Can be used together with #GST_FOURCC_ARGS to properly output a +#guint32 fourcc value in a printf\()-style text message. |[ printf ("fourcc: %" GST_FOURCC_FORMAT "\n", GST_FOURCC_ARGS (fcc)); ]| + + A fundamental type that describes a 32-bit flag bitfield, with 32-bit +mask indicating which of the bits in the field are explicitly set. - Create a new sub-class of #GST_TYPE_FLAG_SET + Create a new sub-class of #GST_TYPE_FLAG_SET which will pretty-print the human-readable flags when serializing, for easier debugging. + - a #GType of a #G_TYPE_FLAGS type. + a #GType of a #G_TYPE_FLAGS type. @@ -18125,7 +27177,9 @@ when serializing, for easier debugging. glib:type-name="GstFlowReturn" glib:get-type="gst_flow_return_get_type" c:type="GstFlowReturn"> - The result of passing data to a pad. + The result of passing data to a pad. Note that the custom return values should not be exposed outside of the element scope. @@ -18133,13 +27187,17 @@ element scope. value="102" c:identifier="GST_FLOW_CUSTOM_SUCCESS_2" glib:nick="custom-success-2"> - Pre-defined custom success code. + Pre-defined custom success code. - Pre-defined custom success code (define your + Pre-defined custom success code (define your custom success code to this to avoid compiler warnings). @@ -18147,42 +27205,56 @@ element scope. value="100" c:identifier="GST_FLOW_CUSTOM_SUCCESS" glib:nick="custom-success"> - Elements can use values starting from + Elements can use values starting from this (and higher) to define custom success codes. - Data passing was ok. + Data passing was ok. - Pad is not linked. + Pad is not linked. - Pad is flushing. + Pad is flushing. - Pad is EOS. + Pad is EOS. - Pad is not negotiated. + Pad is not negotiated. - Some (fatal) error occurred. Element generating + Some (fatal) error occurred. Element generating this error should post an error message with more details. @@ -18190,20 +27262,26 @@ element scope. value="-6" c:identifier="GST_FLOW_NOT_SUPPORTED" glib:nick="not-supported"> - This operation is not supported. + This operation is not supported. - Elements can use values starting from + Elements can use values starting from this (and lower) to define custom error codes. - Pre-defined custom error code (define your + Pre-defined custom error code (define your custom error code to this to avoid compiler warnings). @@ -18211,25 +27289,33 @@ element scope. value="-102" c:identifier="GST_FLOW_CUSTOM_ERROR_2" glib:nick="custom-error-2"> - Pre-defined custom error code. + Pre-defined custom error code. - Standard predefined formats + Standard predefined formats - undefined format + undefined format - the default format of the pad/element. This can be + the default format of the pad/element. This can be samples for raw audio, frames/fields for raw video (some, but not all, elements support this; use @GST_FORMAT_TIME if you don't have a good reason to query for samples/frames) @@ -18238,46 +27324,66 @@ element scope. value="2" c:identifier="GST_FORMAT_BYTES" glib:nick="bytes"> - bytes + bytes - time in nanoseconds + time in nanoseconds - buffers (few, if any, elements implement this as of + buffers (few, if any, elements implement this as of May 2009) - percentage of stream (few, if any, elements implement + percentage of stream (few, if any, elements implement this as of May 2009) - Return the format registered with the given nick. + Return the format registered with the given nick. + - The format with @nick or GST_FORMAT_UNDEFINED + The format with @nick or GST_FORMAT_UNDEFINED if the format was not registered. - The nick of the format + The nick of the format - Get details about the given format. + Get details about the given format. + - The #GstFormatDefinition for @format or %NULL + The #GstFormatDefinition for @format or %NULL on failure. MT safe. @@ -18285,39 +27391,58 @@ MT safe. - The format to get details of + The format to get details of - Get a printable name for the given format. Do not modify or free. + Get a printable name for the given format. Do not modify or free. + - a reference to the static name of the format + a reference to the static name of the format or %NULL if the format is unknown. - a #GstFormat + a #GstFormat - Iterate all the registered formats. The format definition is read + Iterate all the registered formats. The format definition is read only. + - a GstIterator of #GstFormatDefinition. + a GstIterator of #GstFormatDefinition. - Create a new GstFormat based on the nick or return an + Create a new GstFormat based on the nick or return an already registered format with that nick. + - A new GstFormat or an already registered format + A new GstFormat or an already registered format with the same nick. MT safe. @@ -18325,46 +27450,68 @@ MT safe. - The nick of the new format + The nick of the new format - The description of the new format + The description of the new format - Get the unique quark for the given format. + Get the unique quark for the given format. + - the quark associated with the format or 0 if the format + the quark associated with the format or 0 if the format is unknown. - a #GstFormat + a #GstFormat - A format definition + A format definition + - The unique id of this format + The unique id of this format - A short nick of the format + A short nick of the format - A longer description of the format + A longer description of the format - A quark for the nick + A quark for the nick @@ -18373,21 +27520,58 @@ is unknown. glib:type-name="GstFraction" glib:get-type="gst_fraction_get_type" glib:fundamental="1"> + A fundamental type that describes a fraction of an integer numerator +over an integer denominator + A fundamental type that describes a #GstFractionRange range + + + + + + + + + + + + + + + + + + + + + - A value which is guaranteed to never be returned by + A value which is guaranteed to never be returned by gst_util_group_id_next(). Can be used as a default value in variables used to store group_id. + glib:type-name="GstGhostPad" glib:get-type="gst_ghost_pad_get_type" glib:type-struct="GhostPadClass"> - GhostPads are useful when organizing pipelines with #GstBin like elements. + GhostPads are useful when organizing pipelines with #GstBin like elements. The idea here is to create hierarchical element graphs. The bin element contains a sub-graph. Now one would like to treat the bin-element like any other #GstElement. This is where GhostPads come into play. A GhostPad acts as @@ -18410,13 +27596,19 @@ to create the ghost-pad and use gst_ghost_pad_set_target() to establish the association later on. Note that GhostPads add overhead to the data processing of a pipeline. + - Create a new ghostpad with @target as the target. The direction will be taken + 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 + a new #GstPad, or %NULL in case of an error. @@ -18425,23 +27617,32 @@ case of an error. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the new pad, or %NULL to assign a default name + the name of the new pad, or %NULL to assign a default name - the pad to ghost. + the pad to ghost. - Create a new ghostpad with @target as the target. The direction will be taken + 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 + a new #GstPad, or %NULL in case of an error. @@ -18450,28 +27651,39 @@ case of an error. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the new pad, or %NULL to assign a default name. + the name of the new pad, or %NULL to assign a default name. - the pad to ghost. + the pad to ghost. - the #GstPadTemplate to use on the ghostpad. + the #GstPadTemplate to use on the ghostpad. - Create a new ghostpad without a target with the given direction. + 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 + a new #GstPad, or %NULL in case of an error. @@ -18480,21 +27692,30 @@ case of an error. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the new pad, or %NULL to assign a default name. + the name of the new pad, or %NULL to assign a default name. - the direction of the ghostpad + the direction of the ghostpad - Create a new ghostpad based on @templ, without setting a target. The + 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 + a new #GstPad, or %NULL in case of an error. @@ -18503,126 +27724,179 @@ case of an error. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the new pad, or %NULL to assign a default name + the name of the new pad, or %NULL to assign a default name - the #GstPadTemplate to create the ghostpad from. + the #GstPadTemplate to create the ghostpad from. - Invoke the default activate mode function of a ghost pad. + Invoke the default activate mode function of a ghost pad. + - %TRUE if the operation was successful. + %TRUE if the operation was successful. - the #GstPad to activate or deactivate. + the #GstPad to activate or deactivate. - the parent of @pad or %NULL + the parent of @pad or %NULL - the requested activation mode + the requested activation mode - whether the pad should be active or not. + whether the pad should be active or not. - Invoke the default activate mode function of a proxy pad that is + Invoke the default activate mode function of a proxy pad that is owned by a ghost pad. + - %TRUE if the operation was successful. + %TRUE if the operation was successful. - the #GstPad to activate or deactivate. + the #GstPad to activate or deactivate. - the parent of @pad or %NULL + the parent of @pad or %NULL - the requested activation mode + the requested activation mode - whether the pad should be active or not. + whether the pad should be active or not. - Finish initialization of a newly allocated ghost pad. + 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. + %TRUE if the construction succeeds, %FALSE otherwise. - the newly allocated ghost pad + the newly allocated ghost pad - Get the target pad of @gpad. Unref target pad after usage. + Get the target pad of @gpad. Unref target pad after usage. + - the target #GstPad, can be + the target #GstPad, can be %NULL if the ghostpad has no target set. Unref target pad after usage. - the #GstGhostPad + the #GstGhostPad - Set the new target of the ghostpad @gpad. Any existing target + 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. + - %TRUE if the new target could be set. This function + %TRUE if the new target could be set. This function can return %FALSE when the internal pads could not be linked. - the #GstGhostPad + the #GstGhostPad - the new pad target + the new pad target @@ -18637,35 +27911,862 @@ is unlinked and links to the new target are established. if @newtarget is + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Macro to cast to a #GstIterator + + + + the #GstIterator value + + + + + Macro to get the cookie of a #GstIterator. The cookie of the +iterator is the value of the master cookie when the iterator +was created. +Whenever the iterator is iterated, the value is compared to the +value of the master cookie. If they are different, a concurrent +modification happened to the iterator and a resync is needed. + + + + the #GstIterator to get the cookie of + + + + + Macro to get the lock protecting the datastructure being iterated. + + + + the #GstIterator to get the lock of + + + + + Macro to get a pointer to where the master cookie is stored. The +master cookie protects the structure being iterated and gets updated +whenever the datastructure changes. + + + + the #GstIterator to get the master cookie of + + + + A fundamental type that describes a #gint64 range + A fundamental type that describes a #gint range - A GstIterator is used to retrieve multiple objects from another object in + A GstIterator is used to retrieve multiple objects from another object in a threadsafe way. Various GStreamer objects provide access to their internal structures using @@ -18703,111 +28804,157 @@ The basic use pattern of an iterator is as follows: g_value_unset (&amp;item); gst_iterator_free (it); ]| + - The function to copy the iterator + The function to copy the iterator - The function to get the next item in the iterator + The function to get the next item in the iterator - The function to be called for each item retrieved + The function to be called for each item retrieved - The function to call when a resync is needed. + The function to call when a resync is needed. - The function to call when the iterator is freed + The function to call when the iterator is freed - The iterator that is currently pushed with gst_iterator_push() + The iterator that is currently pushed with gst_iterator_push() - The type of the object that this iterator will return + The type of the object that this iterator will return - The lock protecting the data structure and the cookie. + The lock protecting the data structure and the cookie. - The cookie; the value of the master_cookie when this iterator was + The cookie; the value of the master_cookie when this iterator was created. - A pointer to the master cookie. + A pointer to the master cookie. - the size of the iterator + the size of the iterator - + - Create a new iterator. This function is mainly used for objects + 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. + - the new #GstIterator. + the new #GstIterator. MT safe. - the size of the iterator structure + the size of the iterator structure - #GType of children + #GType of children - pointer to a #GMutex. + pointer to a #GMutex. - pointer to a guint32 that is changed when the items in the + pointer to a guint32 that is changed when the items in the iterator changed. - copy function + copy function - function to get next item + function to get next item - function to call on each item retrieved + function to call on each item retrieved - function to resync the iterator + function to resync the iterator - function to free the iterator + function to free the iterator @@ -18816,7 +28963,9 @@ MT safe. - Create a new iterator designed for iterating @list. + 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. @@ -18828,107 +28977,151 @@ 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(). + - the new #GstIterator for @list. + the new #GstIterator for @list. MT safe. - #GType of elements + #GType of elements - pointer to a #GMutex protecting the list. + pointer to a #GMutex protecting the list. - pointer to a guint32 that is incremented when the list + pointer to a guint32 that is incremented when the list is changed. - pointer to the list + pointer to the list - object owning the list + object owning the list - function to call on each item retrieved + function to call on each item retrieved - This #GstIterator is a convenient iterator for the common + 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. + the new #GstIterator for @object. - #GType of the passed object + #GType of the passed object - object that this iterator should return + object that this iterator should return - Copy the iterator and its state. + Copy the iterator and its state. + - a new copy of @it. + a new copy of @it. - a #GstIterator + a #GstIterator - Create a new iterator from an existing iterator. The new iterator + Create a new iterator from an existing iterator. The new iterator will only return those elements that match the given compare function @func. The first parameter that is passed to @func is the #GValue of the current iterator element and the second parameter is @user_data. @func should return 0 for elements that should be included in the filtered iterator. When this iterator is freed, @it will also be freed. + - a new #GstIterator. + a new #GstIterator. MT safe. - The #GstIterator to filter + The #GstIterator to filter - the compare function to select elements + the compare function to select elements - user data passed to the compare function + user data passed to the compare function - Find the first element in @it that matches the compare function @func. + Find the first element in @it that matches the compare function @func. @func should return 0 when the element is found. The first parameter to @func will be the current element of the iterator and the second parameter will be @user_data. @@ -18938,42 +29131,55 @@ The iterator will not be freed. This function will return %FALSE if an error happened to the iterator or if the element wasn't found. + - Returns %TRUE if the element was found, else %FALSE. + Returns %TRUE if the element was found, else %FALSE. MT safe. - The #GstIterator to iterate + The #GstIterator to iterate - the compare function to use + the compare function to use - pointer to a #GValue where to store the result + pointer to a #GValue where to store the result - user data passed to the compare function + user data passed to the compare function - Folds @func over the elements of @iter. That is to say, @func will be called + 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 @ret. @@ -18988,43 +29194,59 @@ will cause fold to return %GST_ITERATOR_ERROR or %GST_ITERATOR_RESYNC as appropriate. The iterator will not be freed. + - A #GstIteratorResult, as described above. + A #GstIteratorResult, as described above. MT safe. - The #GstIterator to fold over + The #GstIterator to fold over - the fold function + the fold function - the seed value passed to the fold function + the seed value passed to the fold function - user data 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 + Iterate over all element of @it and call the given function @func for each element. + - the result call to gst_iterator_fold(). The iterator will not be + the result call to gst_iterator_fold(). The iterator will not be freed. MT safe. @@ -19032,14 +29254,18 @@ MT safe. - The #GstIterator to iterate + The #GstIterator to iterate - the function to call for each element. + the function to call for each element. @@ -19047,27 +29273,36 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the function + user data passed to the function - Free the iterator. + Free the iterator. MT safe. + - The #GstIterator to free + The #GstIterator to free - Get the next item from the iterator in @elem. + Get the next item from the iterator in @elem. Only when this function returns %GST_ITERATOR_OK, @elem will contain a valid value. @elem must have been initialized to the type of the iterator or @@ -19083,28 +29318,37 @@ 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. + - The result of the iteration. Unset @elem after usage. + The result of the iteration. Unset @elem after usage. MT safe. - The #GstIterator to iterate + The #GstIterator to iterate - pointer to hold next element + pointer to hold next element - Pushes @other iterator onto @it. All calls performed on @it are + 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. @@ -19115,70 +29359,96 @@ When gst_iterator_resync() is called on @it, @other will automatically be popped. MT safe. + - The #GstIterator to use + The #GstIterator to use - The #GstIterator to push + The #GstIterator to push - Resync the iterator. this function is mostly called + 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 #GstIterator to resync + The #GstIterator to resync - This function will be called when creating a copy of @it and should + This function will be called when creating a copy of @it and should create a copy of all custom iterator fields or increase their reference counts. + - The original iterator + The original iterator - The copied iterator + The copied iterator - A function to be passed to gst_iterator_fold(). + A function to be passed to gst_iterator_fold(). + - %TRUE if the fold should continue, %FALSE if it should stop. + %TRUE if the fold should continue, %FALSE if it should stop. - the item to fold + the item to fold - a #GValue collecting the result + a #GValue collecting the result nullable="1" allow-none="1" closure="2"> - data passed to gst_iterator_fold() + data passed to gst_iterator_fold() - A function that is called by gst_iterator_foreach() for every element. + A function that is called by gst_iterator_foreach() for every element. + - The item + The item nullable="1" allow-none="1" closure="1"> - User data + User data - This function will be called when the iterator is freed. + 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 iterator @@ -19232,65 +29516,91 @@ The function will be called with the iterator lock held. glib:type-name="GstIteratorItem" glib:get-type="gst_iterator_item_get_type" c:type="GstIteratorItem"> - The result of a #GstIteratorItemFunction. + The result of a #GstIteratorItemFunction. - Skip this item + Skip this item - Return item + Return item - Stop after this item. + Stop after this item. - The function that will be called after the next item of the iterator + The function that will be called after the next item of the iterator has been retrieved. This function can be used to skip items or stop the iterator. The function will be called with the iterator lock held. + - the result of the operation. + the result of the operation. - the iterator + the iterator - the item being retrieved. + the item being retrieved. - The function that will be called when the next element of the iterator + 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 result of the operation. - the iterator + the iterator - a pointer to hold the next item + a pointer to hold the next item @@ -19299,34 +29609,46 @@ The function will be called with the iterator lock held. glib:type-name="GstIteratorResult" glib:get-type="gst_iterator_result_get_type" c:type="GstIteratorResult"> - The result of gst_iterator_next(). + The result of gst_iterator_next(). - No more items in the iterator + No more items in the iterator - An item was retrieved + An item was retrieved - Datastructure changed while iterating + Datastructure changed while iterating - An error happened + An error happened - This function will be called whenever a concurrent update happened + 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. @@ -19334,12 +29656,15 @@ 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 + the iterator @@ -19347,13 +29672,19 @@ The function will be called with the iterator lock held. - To be used in GST_PLUGIN_DEFINE if unsure about the licence. + To be used in GST_PLUGIN_DEFINE if unsure about the licence. + - GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE + GstLockFlags value alias for GST_LOCK_FLAG_READ | GST_LOCK_FLAG_WRITE + glib:get-type="gst_library_error_get_type" c:type="GstLibraryError" glib:error-domain="gst-library-error-quark"> - Library errors are for errors from the library being used by elements + Library errors are for errors from the library being used by elements (initializing, finalizing, settings, ...) - a general error which doesn't fit in any other + a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. - do not use this except as a placeholder for + do not use this except as a placeholder for deciding where to go while developing code. - used when the library could not be opened. + used when the library could not be opened. - used when the library could not be closed. + used when the library could not be closed. - used when the library doesn't accept settings. + used when the library doesn't accept settings. - used when the library generated an encoding error. + used when the library generated an encoding error. - the number of library error types. + the number of library error types. + @@ -19417,66 +29765,93 @@ deciding where to go while developing code. glib:type-name="GstLockFlags" glib:get-type="gst_lock_flags_get_type" c:type="GstLockFlags"> - Flags used when locking miniobjects + Flags used when locking miniobjects - lock for read access + lock for read access - lock for write access + lock for write access - lock for exclusive access + lock for exclusive access - first flag that can be used for custom purposes + first flag that can be used for custom purposes - Function prototype for a logging function that can be registered with + 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 #GstDebugCategory - a #GstDebugLevel + a #GstDebugLevel - file name + file name - function name + function name - line number + line number - a #GObject + a #GObject - the message + the message nullable="1" allow-none="1" closure="7"> - user data for the log function + user data for the log function + + Transform four characters into a #guint32 fourcc value with host +endianness. + +|[ +guint32 fourcc = GST_MAKE_FOURCC ('M', 'J', 'P', 'G'); +]| + + + + the first character + + + the second character + + + the third character + + + the fourth character + + + - GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE + GstMapFlags value alias for GST_MAP_READ | GST_MAP_WRITE + + + Output a hexdump of @data. + +There is no need to finish the end of the message string with a newline +character, a newline character will be added automatically. + + + + message string to log with the data + + + pointer to the data to output + + + length of the data to output + + + + + Output a logging message belonging to the given object in the default category. + +There is no need to finish the end of the message string with a newline +character, a newline character will be added automatically. + + + + the #GObject the message belongs to + + + message string to log with the data + + + pointer to the data to output + + + length of the data to output + + + + + + + + + + + + A flags word containing #GstMemoryFlags flags set on @mem + + + + a #GstMemory. + + + + + Gives the status of a specific flag on a @mem. + + + + a #GstMemory. + + + the #GstMemoryFlags to check. + + + + + Clear a specific flag on a @mem. + + + + a #GstMemory. + + + the #GstMemoryFlags to clear. + + + + + Check if @mem can't be mapped via gst_memory_map() without any preconditions + + + + a #GstMemory. + + + + + Check if @mem cannot be shared between buffers + + + + a #GstMemory. + + + + + Check if @mem is physically contiguous. + + + + a #GstMemory. + + + + + Check if @mem is readonly. + + + + a #GstMemory. + + + + + Check if the padding in @mem is 0 filled. + + + + a #GstMemory. + + + + + Check if the prefix in @mem is 0 filled. + + + + a #GstMemory. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the sequence number of @message. + + + + a #GstMessage + + + + + + + + + + + + Get the object that posted @message. + + + + a #GstMessage + + + + + Get the name of the object that posted @message. Returns "(NULL)" if +the message has no source object set. + + + + a #GstMessage + + + + + Get the timestamp of @message. This is the timestamp when the message +was created. + + + + a #GstMessage + + + + + Get the #GstMessageType of @message. + + + + a #GstMessage + + + + + Check if the message is in the extended message group + + + + a #GstMessage + + + + + Get a constant string representation of the #GstMessageType of @message. + + + + a #GstMessage + + + + + + + + + + + + + + + + + + + + + + + + + + A flags word containing #GstMetaFlags flags set on @meta + + + + a #GstMeta. + + + + + Gives the status of a specific flag on a metadata. + + + + a #GstMeta. + + + the #GstMetaFlags to check. + + + + + Sets a metadata flag on a metadata. + + + + a #GstMeta. + + + the #GstMetaFlags to set. + + + + + Clears a metadata flag. + + + + a #GstMeta. + + + the #GstMetaFlags to clear. + + + - This metadata stays relevant as long as memory layout is unchanged. + This metadata stays relevant as long as memory layout is unchanged. + + + Check if the transform type is a copy transform + + + + a transform type + + + + + + + + + + + + + + + + + + + + + + + + + + This macro returns the entire set of flags for the mini-object. + + + + MiniObject to return flags for. + + + + + This macro checks to see if the given flag is set. + + + + MiniObject to check for flags. + + + Flag to check for + + + + + This macro sets the given bits. + + + + MiniObject to set flag in. + + + Flag to set, can by any number of bits in guint32. + + + + + This macro unsets the given bits. + + + + MiniObject to unset flag in. + + + Flag to set, must be a single bit in guint32. + + + + + Check if @obj is lockable. A lockable object can be locked and unlocked with +gst_mini_object_lock() and gst_mini_object_unlock(). + + + + a #GstMiniObject + + + + + Get access to the reference count field of the mini-object. + + + + a #GstMiniObject + + + + + Get the reference count value of the mini-object. + + + + a #GstMiniObject + + + + + This macro returns the type of the mini-object. + + + + MiniObject to return type for. + + + - Constant that defines one GStreamer millisecond. + Constant that defines one GStreamer millisecond. + - Flags used when mapping memory + Flags used when mapping memory - map for read access + map for read access - map for write access + map for write access - first flag that can be used for custom purposes + first flag that can be used for custom purposes - A structure containing the result of a map operation such as + A structure containing the result of a map operation such as gst_memory_map(). It contains the data and size. + - a pointer to the mapped memory + a pointer to the mapped memory - flags used when mapping the memory + flags used when mapping the memory - a pointer to the mapped data + a pointer to the mapped data - the valid size in @data + the valid size in @data - the maximum bytes in @data + the maximum bytes in @data - extra private user_data that the implementation of the memory + extra private user_data that the implementation of the memory can use to store extra info. - + - + @@ -19571,7 +30674,9 @@ gst_memory_map(). It contains the data and size. glib:type-name="GstMemory" glib:get-type="gst_memory_get_type" c:symbol-prefix="memory"> - GstMemory is a lightweight refcounted object that wraps a region of memory. + GstMemory is a lightweight refcounted object that wraps a region of memory. They are typically used to manage the data of a #GstBuffer. A GstMemory object has an allocated region of memory of maxsize. The maximum @@ -19607,72 +30712,104 @@ memory with an existing memory block at a custom offset and with a custom size. Memory can be efficiently merged when gst_memory_is_span() returns %TRUE. + - parent structure + parent structure - pointer to the #GstAllocator + pointer to the #GstAllocator - parent memory block + parent memory block - the maximum size allocated + the maximum size allocated - the alignment of the memory + the alignment of the memory - the offset where valid data starts + the offset where valid data starts - the size of valid data + the size of valid data - Allocate a new memory block that wraps the given @data. + Allocate a new memory block that wraps the given @data. The prefix/padding must be filled with 0 if @flags contains #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED respectively. + - a new #GstMemory. + a new #GstMemory. - #GstMemoryFlags + #GstMemoryFlags - data to + data to wrap - allocated size of @data + allocated size of @data - offset in @data + offset in @data - size of valid data + size of valid data - user_data + user_data - called with @user_data when the memory is freed + called with @user_data when the memory is freed - Return a copy of @size bytes from @mem starting from @offset. This copy is + Return a copy of @size bytes from @mem starting from @offset. This copy is guaranteed to be writable. @size can be set to -1 to return a copy from @offset to the end of the memory region. + - a new #GstMemory. + a new #GstMemory. - a #GstMemory + a #GstMemory - offset to copy from + offset to copy from - size to copy, or -1 to copy to the end of the memory region + size to copy, or -1 to copy to the end of the memory region - Get the current @size, @offset and @maxsize of @mem. + Get the current @size, @offset and @maxsize of @mem. + - the current sizes of @mem + the current size of @mem - a #GstMemory + a #GstMemory transfer-ownership="full" optional="1" allow-none="1"> - pointer to offset + pointer to offset transfer-ownership="full" optional="1" allow-none="1"> - pointer to maxsize + pointer to maxsize - Initializes a newly allocated @mem with the given parameters. This function + Initializes a newly allocated @mem with the given parameters. This function will call gst_mini_object_init() with the default memory parameters. + - a #GstMemory + a #GstMemory - #GstMemoryFlags + #GstMemoryFlags - the #GstAllocator + the #GstAllocator - the parent of @mem + the parent of @mem - the total size of the memory + the total size of the memory - the alignment of the memory + the alignment of the memory - The offset in the memory + The offset in the memory - the size of valid data in the memory + the size of valid data in the memory - Check if @mem1 and mem2 share the memory with a common parent memory object + Check if @mem1 and mem2 share the memory with a common parent memory object and that the memory is contiguous. If this is the case, the memory of @mem1 and @mem2 can be merged efficiently by performing gst_memory_share() on the parent object from the returned @offset. + - %TRUE if the memory is contiguous and of a common parent. + %TRUE if the memory is contiguous and of a common parent. - a #GstMemory + a #GstMemory - a #GstMemory + a #GstMemory - a pointer to a result offset + a pointer to a result offset - Check if @mem if allocated with an allocator for @mem_type. + Check if @mem if allocated with an allocator for @mem_type. + - %TRUE if @mem was allocated from an allocator for @mem_type. + %TRUE if @mem was allocated from an allocator for @mem_type. - a #GstMemory + a #GstMemory - a memory type + a memory type - Create a #GstMemory object that is mapped with @flags. If @mem is mappable + Create a #GstMemory object that is mapped with @flags. If @mem is mappable with @flags, this function returns the mapped @mem directly. Otherwise a mapped copy of @mem is returned. This function takes ownership of old @mem and returns a reference to a new #GstMemory. + - a #GstMemory object mapped + a #GstMemory object mapped with @flags or %NULL when a mapping is not possible. - a #GstMemory + a #GstMemory - pointer for info + pointer for info - mapping flags + mapping flags - Fill @info with the pointer and sizes of the memory in @mem that can be + Fill @info with the pointer and sizes of the memory in @mem that can be accessed according to @flags. This function can return %FALSE for various reasons: @@ -19870,113 +31083,197 @@ until gst_memory_unmap() is called. For each gst_memory_map() call, a corresponding gst_memory_unmap() call should be done. + - %TRUE if the map operation was successful. + %TRUE if the map operation was successful. - a #GstMemory + a #GstMemory - pointer for info + pointer for info - mapping flags + mapping flags + + Increase the refcount of this memory. + + + @memory (for convenience when doing assignments) + + + + + The memory to refcount + + + + - Resize the memory region. @mem should be writable and offset + size should be + Resize the memory region. @mem should be writable and offset + size should be less than the maxsize of @mem. #GST_MEMORY_FLAG_ZERO_PREFIXED and #GST_MEMORY_FLAG_ZERO_PADDED will be cleared when offset or padding is increased respectively. + - a #GstMemory + a #GstMemory - a new offset + a new offset - a new size + a new size - Return a shared copy of @size bytes from @mem starting from @offset. No + Return a shared copy of @size bytes from @mem starting from @offset. No memory copy is performed and the memory region is simply shared. The result is guaranteed to be non-writable. @size can be set to -1 to return a shared copy from @offset to the end of the memory region. + - a new #GstMemory. + a new #GstMemory. - a #GstMemory + a #GstMemory - offset to share from + offset to share from - size to share, or -1 to share to the end of the memory region + size to share, or -1 to share to the end of the memory region - Release the memory obtained with gst_memory_map() + Release the memory obtained with gst_memory_map() + - a #GstMemory + a #GstMemory - a #GstMapInfo + a #GstMapInfo + + Decrease the refcount of a memory, freeing it if the refcount reaches 0. + + + + + + + the memory to refcount + + + + - Copy @size bytes from @mem starting at @offset and return them wrapped in a + Copy @size bytes from @mem starting at @offset and return them wrapped in a new GstMemory object. If @size is set to -1, all bytes starting at @offset are copied. + - a new #GstMemory object wrapping a copy of the requested region in + a new #GstMemory object wrapping a copy of the requested region in @mem. - a #GstMemory + a #GstMemory - an offset + an offset - a size or -1 + a size or -1 @@ -19985,170 +31282,242 @@ If @size is set to -1, all bytes starting at @offset are copied. glib:type-name="GstMemoryFlags" glib:get-type="gst_memory_flags_get_type" c:type="GstMemoryFlags"> - Flags for wrapped memory. + Flags for wrapped memory. - memory is readonly. It is not allowed to map the + memory is readonly. It is not allowed to map the memory with #GST_MAP_WRITE. - memory must not be shared. Copies will have to be + memory must not be shared. Copies will have to be made when this memory needs to be shared between buffers. - the memory prefix is filled with 0 bytes + the memory prefix is filled with 0 bytes - the memory padding is filled with 0 bytes + the memory padding is filled with 0 bytes - the memory is physically contiguous. (Since 1.2) + the memory is physically contiguous. (Since: 1.2) - the memory can't be mapped via gst_memory_map() without any preconditions. (Since 1.2) + the memory can't be mapped via gst_memory_map() without any preconditions. (Since: 1.2) - first flag that can be used for custom purposes + first flag that can be used for custom purposes - Check if @mem1 and @mem2 occupy contiguous memory and return the offset of + Check if @mem1 and @mem2 occupy contiguous memory and return the offset of @mem1 in the parent buffer in @offset. + - %TRUE if @mem1 and @mem2 are in contiguous memory. + %TRUE if @mem1 and @mem2 are in contiguous memory. - a #GstMemory + a #GstMemory - a #GstMemory + a #GstMemory - a result offset + a result offset - Get the memory of @mem that can be accessed according to the mode specified + Get the memory of @mem that can be accessed according to the mode specified in @info's flags. The function should return a pointer that contains at least @maxsize bytes. + - a pointer to memory of which at least @maxsize bytes can be + a pointer to memory of which at least @maxsize bytes can be accessed according to the access pattern in @info's flags. - a #GstMemory + a #GstMemory - the #GstMapInfo to map with + the #GstMapInfo to map with - size to map + size to map - Get the memory of @mem that can be accessed according to the mode specified + Get the memory of @mem that can be accessed according to the mode specified in @flags. The function should return a pointer that contains at least @maxsize bytes. + - a pointer to memory of which at least @maxsize bytes can be + a pointer to memory of which at least @maxsize bytes can be accessed according to the access pattern in @flags. - a #GstMemory + a #GstMemory - size to map + size to map - access mode for the memory + access mode for the memory - Share @size bytes from @mem starting at @offset and return them wrapped in a + Share @size bytes from @mem starting at @offset and return them wrapped in a new GstMemory object. If @size is set to -1, all bytes starting at @offset are shared. This function does not make a copy of the bytes in @mem. + - a new #GstMemory object sharing the requested region in @mem. + a new #GstMemory object sharing the requested region in @mem. - a #GstMemory + a #GstMemory - an offset + an offset - a size or -1 + a size or -1 - Return the pointer previously retrieved with gst_memory_map() with @info. + Release the pointer previously retrieved with gst_memory_map() with @info. + - a #GstMemory + a #GstMemory - a #GstMapInfo + a #GstMapInfo - Return the pointer previously retrieved with gst_memory_map(). + Release the pointer previously retrieved with gst_memory_map(). + - a #GstMemory + a #GstMemory @@ -20158,7 +31527,9 @@ shared. This function does not make a copy of the bytes in @mem. glib:type-name="GstMessage" glib:get-type="gst_message_get_type" c:symbol-prefix="message"> - Messages are implemented as a subclass of #GstMiniObject with a generic + Messages are implemented as a subclass of #GstMiniObject with a generic #GstStructure as the content. This allows for writing custom messages without requiring an API change while allowing a wide range of different types of messages. @@ -20173,24 +31544,35 @@ The basic use pattern of posting a message on a #GstBus is as follows: A #GstElement usually posts messages on the bus provided by the parent container using gst_element_post_message(). + - the parent structure + the parent structure - the #GstMessageType of the message + the #GstMessageType of the message - the timestamp of the message + the timestamp of the message - the src of the message + the src of the message - the sequence number of the message + the sequence number of the message @@ -20201,10 +31583,15 @@ container using gst_element_post_message(). - Create a new application-typed message. GStreamer will never create these + Create a new application-typed message. GStreamer will never create these messages; they are a gift from us to you. Enjoy. + - The new application message. + The new application message. MT safe. @@ -20214,11 +31601,15 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the structure for the message. The message + the structure for the message. The message will take ownership of the structure. @@ -20226,13 +31617,18 @@ MT safe. - The message is posted when elements completed an ASYNC state change. + The message is posted when elements completed an ASYNC state change. @running_time contains the time of the desired running_time when this elements goes to PLAYING. A value of #GST_CLOCK_TIME_NONE for @running_time means that the element has no clock interaction and thus doesn't care about the running_time of the pipeline. + - The new async_done message. + The new async_done message. MT safe. @@ -20242,20 +31638,29 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the desired running_time + the desired running_time - This message is posted by elements when they start an ASYNC state change. + This message is posted by elements when they start an ASYNC state change. + - The new async_start message. + The new async_start message. MT safe. @@ -20265,14 +31670,18 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - Create a new buffering message. This message can be posted by an element that + 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. @@ -20284,8 +31693,11 @@ message with @percent set to 100, which can happen after the pipeline completed prerolling. MT safe. + - The new buffering message. + The new buffering message. @@ -20293,25 +31705,34 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The buffering percent + The buffering percent - Create a clock lost message. This message is posted whenever the + 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. + - The new clock lost message. + The new clock lost message. MT safe. @@ -20321,25 +31742,34 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the clock that was lost + the clock that was lost - Create a clock provide message. This message is posted whenever an + 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. + - the new provide clock message. + the new provide clock message. MT safe. @@ -20349,46 +31779,63 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the clock it provides + the clock it provides - %TRUE if the sender can provide a clock + %TRUE if the sender can provide a clock - Create a new custom-typed message. This can be used for anything not + 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. + - The new message. + The new message. MT safe. - The #GstMessageType to distinguish messages + The #GstMessageType to distinguish messages - The object originating the message. + The object originating the message. - the structure for the + the structure for the message. The message will take ownership of the structure. @@ -20397,20 +31844,29 @@ MT safe. - Creates a new device-added message. The device-added message is produced by + Creates a new device-added message. The device-added message is produced by #GstDeviceProvider or a #GstDeviceMonitor. They announce the appearance of monitored devices. + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject that created the message + The #GstObject that created the message - The new #GstDevice + The new #GstDevice @@ -20418,20 +31874,29 @@ of monitored devices. - Creates a new device-changed message. The device-changed message is produced + Creates a new device-changed message. The device-changed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. They announce that a device properties has changed and @device represent the new modified version of @changed_device. + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject that created the message + The #GstObject that created the message - The newly created device representing @replaced_device + The newly created device representing @replaced_device with its new configuration. @@ -20443,32 +31908,46 @@ properties has changed and @device represent the new modified version of @change - Creates a new device-removed message. The device-removed message is produced + Creates a new device-removed message. The device-removed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. They announce the disappearance of monitored devices. + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject that created the message + The #GstObject that created the message - The removed #GstDevice + The removed #GstDevice - Create a new duration changed message. This message is posted by elements + Create a new duration changed message. This message is posted by elements that know the duration of a stream when the duration changes. This message is received by bins and is used to calculate the total duration of a pipeline. + - The new duration-changed message. + The new duration-changed message. MT safe. @@ -20478,18 +31957,25 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - Create a new element-specific message. This is meant as a generic way of + 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. + - The new element message. + The new element message. MT safe. @@ -20499,22 +31985,31 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The structure for the + 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 + 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. + - The new eos message. + The new eos message. MT safe. @@ -20524,18 +32019,25 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - Create a new error message. The message will copy @error and + Create a new error message. The message will copy @error and @debug. This message is posted by element when a fatal event occurred. The pipeline will probably (partially) stop. The application receiving this message should stop the pipeline. + - the new error message. + the new error message. MT safe. @@ -20545,15 +32047,21 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The GError for this message. + The GError for this message. - A debugging string. + A debugging string. @@ -20561,12 +32069,17 @@ MT safe. - Create a new error message. The message will copy @error and + Create a new error message. The message will copy @error and @debug. This message is posted by element when a fatal event occurred. The pipeline will probably (partially) stop. The application receiving this message should stop the pipeline. + - the new error message. + the new error message. @@ -20574,22 +32087,30 @@ receiving this message should stop the pipeline. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The GError for this message. + The GError for this message. - A debugging string. + A debugging string. - A GstStructure with details + A GstStructure with details @@ -20597,9 +32118,14 @@ receiving this message should stop the pipeline. - This message is posted when an element has a new local #GstContext. + This message is posted when an element has a new local #GstContext. + - The new have-context message. + The new have-context message. MT safe. @@ -20609,20 +32135,29 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the context + the context - Create a new info message. The message will make copies of @error and + Create a new info message. The message will make copies of @error and @debug. + - the new info message. + the new info message. MT safe. @@ -20632,15 +32167,21 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The GError for this message. + The GError for this message. - A debugging string. + A debugging string. @@ -20648,10 +32189,15 @@ MT safe. - Create a new info message. The message will make copies of @error and + Create a new info message. The message will make copies of @error and @debug. + - the new warning message. + the new warning message. @@ -20659,31 +32205,77 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The GError for this message. + The GError for this message. - A debugging string. + A debugging string. - A GstStructure with details + A GstStructure with details - - This message can be posted by elements when their latency requirements have -changed. + + Creates a new instant-rate-request message. Elements handling the +instant-rate-change event must post this message. The message is +handled at the pipeline, and allows the pipeline to select the +running time when the rate change should happen and to send an +@GST_EVENT_INSTANT_RATE_SYNC_TIME event to notify the elements +in the pipeline. + - The new latency message. + a newly allocated #GstMessage + + + + + The #GstObject that posted the message + + + + the rate multiplier factor that should be applied + + + + + + This message can be posted by elements when their latency requirements have +changed. + + + The new latency message. MT safe. @@ -20693,7 +32285,9 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. @@ -20701,9 +32295,14 @@ MT safe. - This message is posted when an element needs a specific #GstContext. + This message is posted when an element needs a specific #GstContext. + - The new need-context message. + The new need-context message. MT safe. @@ -20713,21 +32312,30 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The context type that is needed + The context type that is needed - Create a new clock message. This message is posted whenever the + Create a new clock message. This message is posted whenever the pipeline selects a new clock for the pipeline. + - The new new clock message. + The new new clock message. MT safe. @@ -20737,40 +32345,57 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the new selected clock + the new selected clock - Progress messages are posted by elements when they use an asynchronous task + Progress messages are posted by elements when they use an asynchronous task to perform actions triggered by a state change. @code contains a well defined string describing the action. @text should contain a user visible string detailing the current action. + - The new qos message. + The new qos message. - The object originating the message. + The object originating the message. - a #GstProgressType + a #GstProgressType - a progress code + a progress code - free, user visible text describing the progress + free, user visible text describing the progress @@ -20778,30 +32403,41 @@ to perform actions triggered by a state change. + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject whose property changed (may or may not be a #GstElement) + The #GstObject whose property changed (may or may not be a #GstElement) - name of the property that changed + name of the property that changed - new property value, or %NULL + new property value, or %NULL - A QOS message is posted on the bus whenever an element decides to drop a + 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). @@ -20814,35 +32450,50 @@ 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. + - The new qos message. + The new qos message. MT safe. - The object originating the message. + The object originating the message. - if the message was generated by a live element + if the message was generated by a live element - the running time of the buffer that generated the message + the running time of the buffer that generated the message - the stream 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 timestamps of the buffer that generated the message - the duration of the buffer that generated the message + the duration of the buffer that generated the message @@ -20850,7 +32501,9 @@ MT safe. - Creates a new redirect message and adds a new entry to it. Redirect messages + Creates a new redirect message and adds a new entry to it. Redirect messages are posted when an element detects that the actual data has to be retrieved from a different location. This is useful if such a redirection cannot be handled inside a source element, for example when HTTP 302/303 redirects @@ -20866,8 +32519,8 @@ optional. The tag list and structure are useful for additional metadata, such as bitrate statistics for the given location. By default, message recipients should treat entries in the order they are -stored. The recipient should therefore try entry #0 first, and if this -entry is not acceptable or working, try entry #1 etc. Senders must make +stored. The recipient should therefore try entry \#0 first, and if this +entry is not acceptable or working, try entry \#1 etc. Senders must make sure that they add entries in this order. However, recipients are free to ignore the order and pick an entry that is "best" for them. One example would be a recipient that scans the entries for the one with the highest @@ -20875,42 +32528,58 @@ bitrate tag. The specified location string is copied. However, ownership over the tag list and structure are transferred to the message. + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject whose property changed (may or may not be a #GstElement) + The #GstObject whose property changed (may or may not be a #GstElement) - location string for the new entry + location string for the new entry - tag list for the new entry + tag list for the new entry - structure for the new entry + structure for the new entry - This message can be posted by elements when they want to have their state + 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. + - the new request state message. + the new request state message. MT safe. @@ -20920,21 +32589,30 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The new requested state + The new requested state - This message is posted when the pipeline running-time should be reset to + This message is posted when the pipeline running-time should be reset to @running_time, like after a flushing seek. + - The new reset_time message. + The new reset_time message. MT safe. @@ -20944,23 +32622,32 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the requested running-time + the requested running-time - Create a new segment done message. This message is posted by elements that + 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. + - the new segment done message. + the new segment done message. MT safe. @@ -20970,27 +32657,38 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The format of the position being done + The format of the position being done - The position of the segment being done + The position of the segment being done - Create a new segment message. This message is posted by elements that + 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. + - the new segment start message. + the new segment start message. MT safe. @@ -21000,25 +32698,36 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The format of the position being played + The format of the position being played - The position of the segment being played + The position of the segment being played - Create a state change message. This message is posted whenever an element + Create a state change message. This message is posted whenever an element changed its state. + - the new state change message. + the new state change message. MT safe. @@ -21028,30 +32737,43 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the previous state + the previous state - the new (current) state + the new (current) state - the pending (target) state + the pending (target) state - Create a state dirty message. This message is posted whenever an element + 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. + - the new state dirty message. + the new state dirty message. MT safe. @@ -21061,62 +32783,87 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message + The object originating the message - This message is posted by elements when they complete a part, when @intermediate set + This message is posted by elements when they complete a part, when @intermediate set to %TRUE, or a complete step operation. @duration will contain the amount of time (in GST_FORMAT_TIME) of the stepped @amount of media in format @format. + - the new step_done message. + the new step_done message. MT safe. - The object originating the message. + The object originating the message. - the format of @amount + the format of @amount - the amount of stepped data + the amount of stepped data - the rate of the stepped amount + the rate of the stepped amount - is this an flushing step + is this an flushing step - is this an intermediate step + is this an intermediate step - the duration of the data + the duration of the data - the step caused EOS + the step caused EOS - This message is posted by elements when they accept or activate a new step + This message is posted by elements when they accept or activate a new step event for @amount in @format. @active is set to %FALSE when the element accepted the new step event and has @@ -21126,39 +32873,56 @@ queued it for execution in the streaming threads. is now ready to start executing the step in the streaming thread. After this message is emitted, the application can queue a new step operation in the element. + - The new step_start message. + The new step_start message. MT safe. - The object originating the message. + The object originating the message. - if the step is active or queued + if the step is active or queued - the format of @amount + the format of @amount - the amount of stepped data + the amount of stepped data - the rate of the stepped amount + the rate of the stepped amount - is this an flushing step + is this an flushing step - is this an intermediate step + is this an intermediate step @@ -21166,30 +32930,44 @@ MT safe. - Creates a new stream-collection message. The message is used to announce new + Creates a new stream-collection message. The message is used to announce new #GstStreamCollection + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject that created the message + The #GstObject that created the message - The #GstStreamCollection + The #GstStreamCollection - Create a new stream_start message. This message is generated and posted in + Create a new stream_start message. This message is generated and posted in the sink elements of a GstBin. The bin will only forward the STREAM_START message to the application if all sinks have posted an STREAM_START message. + - The new stream_start message. + The new stream_start message. MT safe. @@ -21199,32 +32977,45 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - Create a new stream status message. This message is posted when a streaming + Create a new stream status message. This message is posted when a streaming thread is created/destroyed or when the state changed. + - the new stream status message. + the new stream status message. MT safe. - The object originating the message. + The object originating the message. - The stream status type. + The stream status type. - the owner element of @src. + the owner element of @src. @@ -21232,7 +33023,9 @@ MT safe. - Creates a new steams-selected message. The message is used to announce + Creates a new steams-selected message. The message is used to announce that an array of streams has been selected. This is generally in response to a #GST_EVENT_SELECT_STREAMS event, or when an element (such as decodebin3) makes an initial selection of streams. @@ -21242,30 +33035,42 @@ belong to. Users of gst_message_new_streams_selected() can add the selected streams with gst_message_streams_selected_add(). + - a newly allocated #GstMessage + a newly allocated #GstMessage - The #GstObject that created the message + The #GstObject that created the message - The #GstStreamCollection + The #GstStreamCollection - Create a new structure change message. This message is posted when the + 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. @src should be the sinkpad that unlinked or linked. + - the new structure change message. + the new structure change message. MT safe. @@ -21275,28 +33080,41 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The change type. + The change type. - The owner element of @src. + The owner element of @src. - Whether the structure change is busy. + Whether the structure change is busy. - Create a new tag message. The message will take ownership of the tag list. + 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. + - the new tag message. + the new tag message. MT safe. @@ -21306,44 +33124,64 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - the tag list for the message. + the tag list for the message. - Create a new TOC message. The message is posted by elements + Create a new TOC message. The message is posted by elements that discovered or updated a TOC. + - a new TOC message. + a new TOC message. MT safe. - the object originating the message. + the object originating the message. - #GstToc structure for the message. + #GstToc structure for the message. - whether TOC was updated or not. + whether TOC was updated or not. - Create a new warning message. The message will make copies of @error and + Create a new warning message. The message will make copies of @error and @debug. + - the new warning message. + the new warning message. MT safe. @@ -21353,15 +33191,21 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The GError for this message. + The GError for this message. - A debugging string. + A debugging string. @@ -21369,10 +33213,15 @@ MT safe. - Create a new warning message. The message will make copies of @error and + Create a new warning message. The message will make copies of @error and @debug. + - the new warning message. + the new warning message. @@ -21380,22 +33229,30 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - The object originating the message. + The object originating the message. - The GError for this message. + The GError for this message. - A debugging string. + A debugging string. - A GstStructure with details + A GstStructure with details @@ -21403,54 +33260,94 @@ MT safe. - Creates and appends a new entry. + Creates and appends a new entry. The specified location string is copied. However, ownership over the tag list and structure are transferred to the message. + - a #GstMessage of type %GST_MESSAGE_REDIRECT + a #GstMessage of type %GST_MESSAGE_REDIRECT - location string for the new entry + location string for the new entry - tag list for the new entry + tag list for the new entry - structure for the new entry + structure for the new entry + + Creates a copy of the message. Returns a copy of the message. + + + a new copy of @msg. + +MT safe + + + + + the message to copy + + + + + - the number of entries stored in the message + the number of entries stored in the message - a #GstMessage of type %GST_MESSAGE_REDIRECT + a #GstMessage of type %GST_MESSAGE_REDIRECT - Retrieve the sequence number of a message. + 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 @@ -21462,24 +33359,34 @@ it is not required. Note that events and messages share the same sequence number incrementor; two events or messages will never have the same sequence number unless that correspondence was made explicitly. + - The message's sequence number. + The message's sequence number. MT safe. - A #GstMessage. + A #GstMessage. - Extracts the object managing the streaming thread from @message. + Extracts the object managing the streaming thread from @message. + - a GValue containing the object that manages the + a GValue containing the object that manages the streaming thread. 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. @@ -21487,15 +33394,22 @@ valid. - A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS. + A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS. - Access the structure of the message. + Access the structure of the message. + - The structure of the message. The + The structure of the message. The structure is still owned by the message, which means that you should not free it and that the pointer becomes invalid when you free the message. @@ -21504,40 +33418,56 @@ MT safe. - The #GstMessage. + The #GstMessage. - Checks if @message has the given @name. This function is usually used to + Checks if @message has the given @name. This function is usually used to check the name of a custom message. + - %TRUE if @name matches the name of the message structure. + %TRUE if @name matches the name of the message structure. - The #GstMessage. + The #GstMessage. - name to check + name to check - Extract the running_time from the async_done message. + Extract the running_time from the async_done message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE. + A valid #GstMessage of type GST_MESSAGE_ASYNC_DONE. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the running_time or %NULL + Result location for the running_time or %NULL - Extracts the buffering percent from the GstMessage. see also + Extracts the buffering percent from the GstMessage. see also gst_message_new_buffering(). MT safe. + - A valid #GstMessage of type GST_MESSAGE_BUFFERING. + A valid #GstMessage of type GST_MESSAGE_BUFFERING. transfer-ownership="full" optional="1" allow-none="1"> - Return location for the percent. + Return location for the percent. - Extracts the buffering stats values from @message. + Extracts the buffering stats values from @message. + - A valid #GstMessage of type GST_MESSAGE_BUFFERING. + A valid #GstMessage of type GST_MESSAGE_BUFFERING. transfer-ownership="full" optional="1" allow-none="1"> - a buffering mode, or %NULL + a buffering mode, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the average input rate, or %NULL + the average input rate, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the average output rate, or %NULL + the average output rate, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - amount of buffering time left in + amount of buffering time left in milliseconds, or %NULL @@ -21628,16 +33580,21 @@ MT safe. - Extracts the lost clock from the GstMessage. + Extracts the lost clock from the GstMessage. The clock object returned remains valid until the message is freed. MT safe. + - A valid #GstMessage of type GST_MESSAGE_CLOCK_LOST. + A valid #GstMessage of type GST_MESSAGE_CLOCK_LOST. transfer-ownership="none" optional="1" allow-none="1"> - a pointer to hold the lost clock + a pointer to hold the lost clock - Extracts the clock and ready flag from the GstMessage. + Extracts the clock and ready flag from the GstMessage. The clock object returned remains valid until the message is freed. MT safe. + - A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE. + A valid #GstMessage of type GST_MESSAGE_CLOCK_PROVIDE. transfer-ownership="none" optional="1" allow-none="1"> - a pointer to hold a clock + a pointer to hold a clock object, or %NULL @@ -21681,7 +33647,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to hold the ready flag, or %NULL + a pointer to hold the ready flag, or %NULL @@ -21689,14 +33657,21 @@ MT safe. - Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message. + Parse a context type from an existing GST_MESSAGE_NEED_CONTEXT message. + - a #gboolean indicating if the parsing succeeded. + a #gboolean indicating if the parsing succeeded. - a GST_MESSAGE_NEED_CONTEXT type message + a GST_MESSAGE_NEED_CONTEXT type message transfer-ownership="none" optional="1" allow-none="1"> - the context type, or %NULL + the context type, or %NULL @@ -21713,15 +33690,20 @@ MT safe. - Parses a device-added message. The device-added message is produced by + Parses a device-added message. The device-added message is produced by #GstDeviceProvider or a #GstDeviceMonitor. It announces the appearance of monitored devices. + - a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED + a #GstMessage of type %GST_MESSAGE_DEVICE_ADDED transfer-ownership="full" optional="1" allow-none="1"> - A location where to store a + A location where to store a pointer to the new #GstDevice, or %NULL @@ -21739,16 +33723,21 @@ of monitored devices. - Parses a device-changed message. The device-changed message is produced by + Parses a device-changed message. The device-changed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. It announces the disappearance of monitored devices. * It announce that a device properties has changed and @device represents the new modified version of @changed_device. + - a #GstMessage of type %GST_MESSAGE_DEVICE_CHANGED + a #GstMessage of type %GST_MESSAGE_DEVICE_CHANGED - A location where to store a + A location where to store a pointer to the updated version of the #GstDevice, or %NULL @@ -21767,7 +33758,9 @@ changed and @device represents the new modified version of @changed_device. - A location where to store a + A location where to store a pointer to the old version of the #GstDevice, or %NULL @@ -21776,15 +33769,20 @@ changed and @device represents the new modified version of @changed_device. - Parses a device-removed message. The device-removed message is produced by + Parses a device-removed message. The device-removed message is produced by #GstDeviceProvider or a #GstDeviceMonitor. It announces the disappearance of monitored devices. + - a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED + a #GstMessage of type %GST_MESSAGE_DEVICE_REMOVED transfer-ownership="full" optional="1" allow-none="1"> - A location where to store a + A location where to store a pointer to the removed #GstDevice, or %NULL - Extracts the GError and debug string from the GstMessage. The values returned + 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: @@ -21825,12 +33827,15 @@ Typical usage of this function might be: ]| MT safe. + - A valid #GstMessage of type GST_MESSAGE_ERROR. + A valid #GstMessage of type GST_MESSAGE_ERROR. transfer-ownership="full" optional="1" allow-none="1"> - location for the GError + location for the GError transfer-ownership="full" optional="1" allow-none="1"> - location for the debug message, + location for the debug message, or %NULL @@ -21857,21 +33866,28 @@ MT safe. - Returns the optional details structure, may be NULL if none. + Returns the optional details structure, may be NULL if none. The returned structure must not be freed. + - The message object + The message object - A pointer to the returned details + A pointer to the returned details @@ -21879,16 +33895,23 @@ The returned structure must not be freed. - Extract the group from the STREAM_START message. + Extract the group from the STREAM_START message. + - %TRUE if the message had a group id set, %FALSE otherwise + %TRUE if the message had a group id set, %FALSE otherwise MT safe. - A valid #GstMessage of type GST_MESSAGE_STREAM_START. + A valid #GstMessage of type GST_MESSAGE_STREAM_START. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the group id or + Result location for the group id or %NULL @@ -21906,15 +33931,20 @@ MT safe. - Extract the context from the HAVE_CONTEXT message. + Extract the context from the HAVE_CONTEXT message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT. + A valid #GstMessage of type GST_MESSAGE_HAVE_CONTEXT. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the + Result location for the context or %NULL - Extracts the GError and debug string from the GstMessage. The values returned + 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. + - A valid #GstMessage of type GST_MESSAGE_INFO. + A valid #GstMessage of type GST_MESSAGE_INFO. transfer-ownership="full" optional="1" allow-none="1"> - location for the GError + location for the GError transfer-ownership="full" optional="1" allow-none="1"> - location for the debug message, + location for the debug message, or %NULL @@ -21966,37 +34007,79 @@ MT safe. - Returns the optional details structure, may be NULL if none + Returns the optional details structure, may be NULL if none The returned structure must not be freed. + - The message object + The message object - A pointer to the returned details structure + A pointer to the returned details structure - - Extracts the new clock from the GstMessage. -The clock object returned remains valid until the message is freed. - -MT safe. + + Parses the rate_multiplier from the instant-rate-request message. + - A valid #GstMessage of type GST_MESSAGE_NEW_CLOCK. + a #GstMessage of type %GST_MESSAGE_INSTANT_RATE_REQUEST + + + + return location for the rate, or %NULL + + + + + + Extracts the new clock from the GstMessage. +The clock object returned remains valid until the message is freed. + +MT safe. + + + + + + + A valid #GstMessage of type GST_MESSAGE_NEW_CLOCK. transfer-ownership="none" optional="1" allow-none="1"> - a pointer to hold the selected + a pointer to hold the selected new clock - Parses the progress @type, @code and @text. + Parses the progress @type, @code and @text. + - A valid #GstMessage of type GST_MESSAGE_PROGRESS. + A valid #GstMessage of type GST_MESSAGE_PROGRESS. transfer-ownership="full" optional="1" allow-none="1"> - location for the type + location for the type transfer-ownership="full" optional="1" allow-none="1"> - location for the code + location for the code transfer-ownership="full" optional="1" allow-none="1"> - location for the text + location for the text @@ -22053,15 +34149,20 @@ MT safe. - Parses a property-notify message. These will be posted on the bus only + Parses a property-notify message. These will be posted on the bus only when set up with gst_element_add_property_notify_watch() or gst_element_add_property_deep_notify_watch(). + - a #GstMessage of type %GST_MESSAGE_PROPERTY_NOTIFY + a #GstMessage of type %GST_MESSAGE_PROPERTY_NOTIFY transfer-ownership="none" optional="1" allow-none="1"> - location where to store a + location where to store a pointer to the object whose property got changed, or %NULL @@ -22080,7 +34183,9 @@ gst_element_add_property_deep_notify_watch(). transfer-ownership="none" optional="1" allow-none="1"> - return location for + return location for the name of the property that got changed, or %NULL @@ -22090,7 +34195,9 @@ gst_element_add_property_deep_notify_watch(). transfer-ownership="none" optional="1" allow-none="1"> - return location for + return location for the new value of the property that got changed, or %NULL. This will only be set if the property notify watch was told to include the value when it was set up @@ -22099,19 +34206,24 @@ gst_element_add_property_deep_notify_watch(). - Extract the timestamps and live status from the QoS message. + 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. + - A valid #GstMessage of type GST_MESSAGE_QOS. + A valid #GstMessage of type GST_MESSAGE_QOS. transfer-ownership="full" optional="1" allow-none="1"> - if the message was generated by a live element + if the message was generated by a live element transfer-ownership="full" optional="1" allow-none="1"> - the running time of the buffer that + the running time of the buffer that generated the message @@ -22139,7 +34255,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - the stream time of the buffer that + the stream time of the buffer that generated the message @@ -22149,7 +34267,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - the timestamps of the buffer that + the timestamps of the buffer that generated the message @@ -22159,7 +34279,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - the duration of the buffer that + the duration of the buffer that generated the message @@ -22167,19 +34289,24 @@ MT safe. - Extract the QoS stats representing the history of the current continuous + 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. + - A valid #GstMessage of type GST_MESSAGE_QOS. + A valid #GstMessage of type GST_MESSAGE_QOS. transfer-ownership="full" optional="1" allow-none="1"> - Units of the 'processed' and 'dropped' fields. + 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). @@ -22200,7 +34329,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - Total number of units correctly processed + Total number of units correctly processed since the last state change to READY or a flushing operation. @@ -22210,7 +34341,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - Total number of units dropped since the last + Total number of units dropped since the last state change to READY or a flushing operation. @@ -22218,15 +34351,20 @@ MT safe. - Extract the QoS values that have been calculated/analysed from the QoS data + Extract the QoS values that have been calculated/analysed from the QoS data MT safe. + - A valid #GstMessage of type GST_MESSAGE_QOS. + A valid #GstMessage of type GST_MESSAGE_QOS. transfer-ownership="full" optional="1" allow-none="1"> - The difference of the running-time against + The difference of the running-time against the deadline. @@ -22245,7 +34385,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - Long term prediction of the ideal rate + Long term prediction of the ideal rate relative to normal rate to get optimal quality. @@ -22255,7 +34397,9 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - An element dependent integer value that + An element dependent integer value that specifies the current quality level of the element. The default maximum quality is 1000000. @@ -22265,19 +34409,26 @@ MT safe. - Parses the location and/or structure from the entry with the given index. + Parses the location and/or structure from the entry with the given index. The index must be between 0 and gst_message_get_num_redirect_entries() - 1. Returned pointers are valid for as long as this message exists. + - a #GstMessage of type %GST_MESSAGE_REDIRECT + a #GstMessage of type %GST_MESSAGE_REDIRECT - index of the entry to parse + index of the entry to parse transfer-ownership="none" optional="1" allow-none="1"> - return location for + return location for the pointer to the entry's location string, or %NULL @@ -22296,7 +34449,9 @@ Returned pointers are valid for as long as this message exists. transfer-ownership="none" optional="1" allow-none="1"> - return location for + return location for the pointer to the entry's tag list, or %NULL @@ -22306,7 +34461,9 @@ Returned pointers are valid for as long as this message exists. transfer-ownership="none" optional="1" allow-none="1"> - return location + return location for the pointer to the entry's structure, or %NULL @@ -22314,15 +34471,20 @@ Returned pointers are valid for as long as this message exists. - Extract the requested state from the request_state message. + Extract the requested state from the request_state message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE. + A valid #GstMessage of type GST_MESSAGE_REQUEST_STATE. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the requested state or %NULL + Result location for the requested state or %NULL - Extract the running-time from the RESET_TIME message. + Extract the running-time from the RESET_TIME message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_RESET_TIME. + A valid #GstMessage of type GST_MESSAGE_RESET_TIME. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the running_time or + Result location for the running_time or %NULL @@ -22363,15 +34534,20 @@ MT safe. - Extracts the position and format from the segment done message. + Extracts the position and format from the segment done message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE. + A valid #GstMessage of type GST_MESSAGE_SEGMENT_DONE. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the format, or %NULL + Result location for the format, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - Result location for the position, or %NULL + Result location for the position, or %NULL - Extracts the position and format from the segment start message. + Extracts the position and format from the segment start message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_SEGMENT_START. + A valid #GstMessage of type GST_MESSAGE_SEGMENT_START. transfer-ownership="full" optional="1" allow-none="1"> - Result location for the format, or %NULL + Result location for the format, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - Result location for the position, or %NULL + Result location for the position, or %NULL - Extracts the old and new states from the GstMessage. + Extracts the old and new states from the GstMessage. Typical usage of this function might be: |[<!-- language="C" --> @@ -22451,12 +34642,15 @@ Typical usage of this function might be: ]| MT safe. + - a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED + a valid #GstMessage of type GST_MESSAGE_STATE_CHANGED transfer-ownership="full" optional="1" allow-none="1"> - the previous state, or %NULL + the previous state, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the new (current) state, or %NULL + the new (current) state, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the pending (target) state, or %NULL + the pending (target) state, or %NULL - Extract the values the step_done message. + Extract the values the step_done message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_STEP_DONE. + A valid #GstMessage of type GST_MESSAGE_STEP_DONE. transfer-ownership="full" optional="1" allow-none="1"> - result location for the format + result location for the format transfer-ownership="full" optional="1" allow-none="1"> - result location for the amount + result location for the amount transfer-ownership="full" optional="1" allow-none="1"> - result location for the rate + result location for the rate transfer-ownership="full" optional="1" allow-none="1"> - result location for the flush flag + result location for the flush flag transfer-ownership="full" optional="1" allow-none="1"> - result location for the intermediate flag + result location for the intermediate flag transfer-ownership="full" optional="1" allow-none="1"> - result location for the duration + result location for the duration transfer-ownership="full" optional="1" allow-none="1"> - result location for the EOS flag + result location for the EOS flag - Extract the values from step_start message. + Extract the values from step_start message. MT safe. + - A valid #GstMessage of type GST_MESSAGE_STEP_DONE. + A valid #GstMessage of type GST_MESSAGE_STEP_DONE. transfer-ownership="full" optional="1" allow-none="1"> - result location for the active flag + result location for the active flag transfer-ownership="full" optional="1" allow-none="1"> - result location for the format + result location for the format transfer-ownership="full" optional="1" allow-none="1"> - result location for the amount + result location for the amount transfer-ownership="full" optional="1" allow-none="1"> - result location for the rate + result location for the rate transfer-ownership="full" optional="1" allow-none="1"> - result location for the flush flag + result location for the flush flag transfer-ownership="full" optional="1" allow-none="1"> - result location for the intermediate flag + result location for the intermediate flag @@ -22638,13 +34874,18 @@ MT safe. - Parses a stream-collection message. + Parses a stream-collection message. + - a #GstMessage of type %GST_MESSAGE_STREAM_COLLECTION + a #GstMessage of type %GST_MESSAGE_STREAM_COLLECTION transfer-ownership="full" optional="1" allow-none="1"> - A location where to store a + A location where to store a pointer to the #GstStreamCollection, or %NULL @@ -22661,31 +34904,40 @@ MT safe. - Extracts the stream status type and owner the GstMessage. The returned + 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 valid #GstMessage of type GST_MESSAGE_STREAM_STATUS. + A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS. - A pointer to hold the status type + A pointer to hold the status type - The owner element of the message source + The owner element of the message source @@ -22693,13 +34945,18 @@ MT safe. - Parses a streams-selected message. + Parses a streams-selected message. + - a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED + a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED transfer-ownership="full" optional="1" allow-none="1"> - A location where to store a + A location where to store a pointer to the #GstStreamCollection, or %NULL @@ -22716,22 +34975,29 @@ MT safe. - Extracts the change type and completion status from the GstMessage. + Extracts the change type and completion status from the GstMessage. MT safe. + - A valid #GstMessage of type GST_MESSAGE_STRUCTURE_CHANGE. + A valid #GstMessage of type GST_MESSAGE_STRUCTURE_CHANGE. - A pointer to hold the change type + A pointer to hold the change type transfer-ownership="none" optional="1" allow-none="1"> - The owner element of the + The owner element of the message source @@ -22750,14 +35018,18 @@ MT safe. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to hold whether the change is in + 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 + 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: @@ -22779,64 +35051,83 @@ Typical usage of this function might be: ]| MT safe. + - A valid #GstMessage of type GST_MESSAGE_TAG. + A valid #GstMessage of type GST_MESSAGE_TAG. - return location for the tag-list. + return location for the tag-list. - Extract the TOC from the #GstMessage. The TOC returned in the + Extract the TOC from the #GstMessage. The TOC returned in the output argument is a copy; the caller must free it with gst_toc_unref() when done. MT safe. + - a valid #GstMessage of type GST_MESSAGE_TOC. + a valid #GstMessage of type GST_MESSAGE_TOC. - return location for the TOC. + return location for the TOC. - return location for the updated flag. + return location for the updated flag. - Extracts the GError and debug string from the GstMessage. The values returned + 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. + - A valid #GstMessage of type GST_MESSAGE_WARNING. + A valid #GstMessage of type GST_MESSAGE_WARNING. transfer-ownership="full" optional="1" allow-none="1"> - location for the GError + location for the GError transfer-ownership="full" optional="1" allow-none="1"> - location for the debug message, + location for the debug message, or %NULL @@ -22863,50 +35158,90 @@ MT safe. - Returns the optional details structure, may be NULL if none + Returns the optional details structure, may be NULL if none The returned structure must not be freed. + - The message object + The message object - A pointer to the returned details structure + A pointer to the returned details structure + + Convenience macro to increase the reference count of the message. + + + @msg (for convenience when doing assignments) + + + + + the message to ref + + + + - Configures the buffering stats values in @message. + Configures the buffering stats values in @message. + - A valid #GstMessage of type GST_MESSAGE_BUFFERING. + A valid #GstMessage of type GST_MESSAGE_BUFFERING. - a buffering mode + a buffering mode - the average input rate + the average input rate - the average output rate + the average output rate - amount of buffering time left in milliseconds + amount of buffering time left in milliseconds @@ -22914,7 +35249,9 @@ The returned structure must not be freed. - Sets the group id on the stream-start message. + Sets the group id on the stream-start message. All streams that have the same group id are supposed to be played together, i.e. all streams inside a container file should have the @@ -22923,118 +35260,159 @@ each time the stream is started, resulting in different group ids each time a file is played for example. MT safe. + - the message + the message - the group id + the group id - Set the QoS stats representing the history of the current continuous pipeline + 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. + - A valid #GstMessage of type GST_MESSAGE_QOS. + A valid #GstMessage of type GST_MESSAGE_QOS. - Units of the 'processed' and 'dropped' fields. Video sinks and video + 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 + 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 + 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 + Set the QoS values that have been calculated/analysed from the QoS data MT safe. + - A valid #GstMessage of type GST_MESSAGE_QOS. + A valid #GstMessage of type GST_MESSAGE_QOS. - The difference of the running-time against the deadline. + The difference of the running-time against the deadline. - Long term prediction of the ideal rate relative to normal rate + Long term prediction of the ideal rate relative to normal rate to get optimal quality. - An element dependent integer value that specifies the current + 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. + 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 #GstMessage. + A #GstMessage. - A sequence number. + A sequence number. - Configures the object handling the streaming thread. This is usually a + Configures the object handling the streaming thread. This is usually a GstTask object but other objects might be added in the future. + - A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS. + A valid #GstMessage of type GST_MESSAGE_STREAM_STATUS. - the object controlling the streaming + the object controlling the streaming @@ -23042,17 +35420,24 @@ GstTask object but other objects might be added in the future. - Adds the @stream to the @message. + Adds the @stream to the @message. + - a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED + a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED - a #GstStream to add to @message + a #GstStream to add to @message @@ -23060,14 +35445,21 @@ GstTask object but other objects might be added in the future. - Returns the number of streams contained in the @message. + Returns the number of streams contained in the @message. + - The number of streams contained within. + The number of streams contained within. - a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED + a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED @@ -23075,28 +35467,60 @@ GstTask object but other objects might be added in the future. - Retrieves the #GstStream with index @index from the @message. + Retrieves the #GstStream with index @index from the @message. + - A #GstStream + A #GstStream - a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED + a #GstMessage of type %GST_MESSAGE_STREAMS_SELECTED - Index of the stream to retrieve + Index of the stream to retrieve + + Convenience macro to decrease the reference count of the message, possibly +freeing it. + + + + + + + the message to unref + + + + - Get a writable version of the structure. + Get a writable version of the structure. + - The structure of the message. The structure + The structure of the message. The structure is still owned by the message, which means that you should not free it and that the pointer becomes invalid when you free the message. This function checks if @message is writable and will never return @@ -23107,28 +35531,79 @@ MT safe. - The #GstMessage. + The #GstMessage. + + Modifies a pointer to a #GstMessage to point to a different #GstMessage. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +message is unreffed, the new one is reffed). + +Either @new_message or the #GstMessage pointed to by @old_message may be %NULL. + + + %TRUE if @new_message was different from @old_message + + + + + pointer to a + pointer to a #GstMessage to be replaced. + + + + pointer to a #GstMessage that will + replace the message pointed to by @old_message. + + + + - The different message types that are available. + The different message types that are available. - an undefined message + an undefined message - end-of-stream reached in a pipeline. The application will + end-of-stream reached in a pipeline. The application will only receive this message in the PLAYING state and every time it sets a pipeline to PLAYING that is in the EOS state. The application can perform a flushing seek in the pipeline, which will undo the EOS state again. @@ -23137,33 +35612,45 @@ flushing seek in the pipeline, which will undo the EOS state again. value="2" c:identifier="GST_MESSAGE_ERROR" glib:nick="error"> - an error occurred. When the application receives an error + an error occurred. When the application receives an error message it should stop playback of the pipeline and not assume that more -data will be played. +data will be played. It is possible to specify a redirection url to the error +messages by setting a `redirect-location` field into the error message, application +or high level bins might use the information as required. - a warning occurred. + a warning occurred. - an info message occurred + an info message occurred - a tag was found. + a tag was found. - the pipeline is buffering. When the application + the pipeline is buffering. When the application receives a buffering message in the PLAYING state for a non-live pipeline it must PAUSE the pipeline until the buffering completes, when the percentage field in the message is 100%. For live pipelines, no action must be @@ -23174,26 +35661,34 @@ the progress. value="64" c:identifier="GST_MESSAGE_STATE_CHANGED" glib:nick="state-changed"> - a state change happened + a state change happened - an element changed state in a streaming thread. + an element changed state in a streaming thread. This message is deprecated. - a stepping operation finished. + a stepping operation finished. - an element notifies its capability of providing + an element notifies its capability of providing a clock. This message is used internally and never forwarded to the application. @@ -23201,7 +35696,9 @@ This message is deprecated. value="1024" c:identifier="GST_MESSAGE_CLOCK_LOST" glib:nick="clock-lost"> - The current clock as selected by the pipeline became + The current clock as selected by the pipeline became unusable. The pipeline will select a new clock on the next PLAYING state change. The application should set the pipeline to PAUSED and back to @@ -23211,48 +35708,62 @@ This message is deprecated. value="2048" c:identifier="GST_MESSAGE_NEW_CLOCK" glib:nick="new-clock"> - a new clock was selected in the pipeline. + a new clock was selected in the pipeline. - the structure of the pipeline changed. This + the structure of the pipeline changed. This message is used internally and never forwarded to the application. - status about a stream, emitted when it starts, + status about a stream, emitted when it starts, stops, errors, etc.. - message posted by the application, possibly + message posted by the application, possibly via an application-specific element. - element-specific message, see the specific element's + element-specific message, see the specific element's documentation - pipeline started playback of a segment. This + pipeline started playback of a segment. This message is used internally and never forwarded to the application. - pipeline completed playback of a segment. This + pipeline completed playback of a segment. This message is forwarded to the application after all elements that posted @GST_MESSAGE_SEGMENT_START posted a GST_MESSAGE_SEGMENT_DONE message. @@ -23260,21 +35771,27 @@ message is forwarded to the application after all elements that posted value="262144" c:identifier="GST_MESSAGE_DURATION_CHANGED" glib:nick="duration-changed"> - The duration of a pipeline changed. The + The duration of a pipeline changed. The application can get the new duration with a duration query. - Posted by elements when their latency changes. The + Posted by elements when their latency changes. The application should recalculate and distribute a new latency. - Posted by elements when they start an ASYNC + Posted by elements when they start an ASYNC #GstStateChange. This message is not forwarded to the application but is used internally. @@ -23282,7 +35799,9 @@ internally. value="2097152" c:identifier="GST_MESSAGE_ASYNC_DONE" glib:nick="async-done"> - Posted by elements when they complete an ASYNC + Posted by elements when they complete an ASYNC #GstStateChange. The application will only receive this message from the toplevel pipeline. @@ -23290,7 +35809,9 @@ pipeline. value="4194304" c:identifier="GST_MESSAGE_REQUEST_STATE" glib:nick="request-state"> - Posted by elements when they want the pipeline to + Posted by elements when they want the pipeline to change state. This message is a suggestion to the application which can decide to perform the state change on (part of) the pipeline. @@ -23298,33 +35819,43 @@ decide to perform the state change on (part of) the pipeline. value="8388608" c:identifier="GST_MESSAGE_STEP_START" glib:nick="step-start"> - A stepping operation was started. + A stepping operation was started. - A buffer was dropped or an element changed its processing + A buffer was dropped or an element changed its processing strategy for Quality of Service reasons. - A progress message. + A progress message. - A new table of contents (TOC) was found or previously found TOC + A new table of contents (TOC) was found or previously found TOC was updated. - Message to request resetting the pipeline's + Message to request resetting the pipeline's running time from the pipeline. This is an internal message which applications will likely never receive. @@ -23332,7 +35863,9 @@ was updated. value="268435456" c:identifier="GST_MESSAGE_STREAM_START" glib:nick="stream-start"> - Message indicating start of a new stream. Useful + Message indicating start of a new stream. Useful e.g. when using playbin in gapless playback mode, to get notified when the next title actually starts playing (which will be some time after the URI for the next title has been set). @@ -23341,109 +35874,157 @@ was updated. value="536870912" c:identifier="GST_MESSAGE_NEED_CONTEXT" glib:nick="need-context"> - Message indicating that an element wants a specific context (Since 1.2) + Message indicating that an element wants a specific context (Since: 1.2) - Message indicating that an element created a context (Since 1.2) + Message indicating that an element created a context (Since: 1.2) - Message is an extended message type (see below). + Message is an extended message type (see below). These extended message IDs can't be used directly with mask-based API like gst_bus_poll() or gst_bus_timed_pop_filtered(), but you can still filter for GST_MESSAGE_EXTENDED and then check the result for the - specific type. (Since 1.4) + specific type. (Since: 1.4) - Message indicating a #GstDevice was added to - a #GstDeviceProvider (Since 1.4) + Message indicating a #GstDevice was added to + a #GstDeviceProvider (Since: 1.4) - Message indicating a #GstDevice was removed - from a #GstDeviceProvider (Since 1.4) + Message indicating a #GstDevice was removed + from a #GstDeviceProvider (Since: 1.4) - Message indicating a #GObject property has - changed (Since 1.10) + Message indicating a #GObject property has + changed (Since: 1.10) - Message indicating a new #GstStreamCollection - is available (Since 1.10) + Message indicating a new #GstStreamCollection + is available (Since: 1.10) - Message indicating the active selection of - #GstStreams has changed (Since 1.10) + Message indicating the active selection of + #GstStreams has changed (Since: 1.10) - Message indicating to request the application to + Message indicating to request the application to try to play the given URL(s). Useful if for example a HTTP 302/303 - response is received with a non-HTTP URL inside. (Since 1.10) + response is received with a non-HTTP URL inside. (Since: 1.10) - Message indicating a #GstDevice was changed - a #GstDeviceProvider (Since 1.16) + Message indicating a #GstDevice was changed + a #GstDeviceProvider (Since: 1.16) + + + Message sent by elements to request the + running time from the pipeline when an instant rate change should + be applied (which may be in the past when the answer arrives). (Since: 1.18) - mask for all of the above messages. + mask for all of the above messages. - Get a printable name for the given message type. Do not modify or free. + Get a printable name for the given message type. Do not modify or free. + - a reference to the static name of the message. + a reference to the static name of the message. - the message type + the message type - Get the unique quark for the given message type. + Get the unique quark for the given message type. + - the quark associated with the message type + the quark associated with the message type - the message type + the message type - The #GstMeta structure should be included as the first member of a #GstBuffer + The #GstMeta structure should be included as the first member of a #GstBuffer metadata structure. The structure defines the API of the metadata and should be accessible to all elements using the metadata. @@ -23462,32 +36043,46 @@ A specific implementation can be retrieved by name with gst_meta_get_info(). See #GstBuffer for how the metadata can be added, retrieved and removed from buffers. + - extra flags for the metadata + extra flags for the metadata - pointer to the #GstMetaInfo + pointer to the #GstMetaInfo - Meta sequence number compare function. Can be used as #GCompareFunc + Meta sequence number compare function. Can be used as #GCompareFunc or a #GCompareDataFunc. + - a negative number if @meta1 comes before @meta2, 0 if both metas + a negative number if @meta1 comes before @meta2, 0 if both metas have an equal sequence number, or a positive integer if @meta1 comes after @meta2. - a #GstMeta + a #GstMeta - a #GstMeta + a #GstMeta @@ -23495,13 +36090,18 @@ or a #GCompareDataFunc. - Gets seqnum for this meta. + Gets seqnum for this meta. + - a #GstMeta + a #GstMeta @@ -23509,52 +36109,75 @@ or a #GCompareDataFunc. + - an array of tags as strings. + an array of tags as strings. - an API + an API - Check if @api was registered with @tag. + Check if @api was registered with @tag. + - %TRUE if @api was registered with @tag. + %TRUE if @api was registered with @tag. - an API + an API - the tag to check + the tag to check - Register and return a GType for the @api and associate it with + Register and return a GType for the @api and associate it with @tags. + - a unique GType for @api. + a unique GType for @api. - an API to register + an API to register - tags for @api + tags for @api @@ -23562,55 +36185,79 @@ or a #GCompareDataFunc. - Lookup a previously registered meta info structure by its implementation name + Lookup a previously registered meta info structure by its implementation name @impl. + - a #GstMetaInfo with @impl, or + a #GstMetaInfo with @impl, or %NULL when no such metainfo exists. - the name + the name - Register a new #GstMeta implementation. + Register a new #GstMeta implementation. The same @info can be retrieved later with gst_meta_get_info() by using @impl as the key. + - a #GstMetaInfo that can be used to + a #GstMetaInfo that can be used to access metadata. - the type of the #GstMeta API + the type of the #GstMeta API - the name of the #GstMeta implementation + the name of the #GstMeta implementation - the size of the #GstMeta structure + the size of the #GstMeta structure - a #GstMetaInitFunction + a #GstMetaInitFunction - a #GstMetaFreeFunction + a #GstMetaFreeFunction - a #GstMetaTransformFunction + a #GstMetaTransformFunction @@ -23621,160 +36268,229 @@ access metadata. glib:type-name="GstMetaFlags" glib:get-type="gst_meta_flags_get_type" c:type="GstMetaFlags"> - Extra metadata flags. + Extra metadata flags. - no flags + no flags - metadata should not be modified + metadata should not be modified - metadata is managed by a bufferpool + metadata is managed by a bufferpool - metadata should not be removed + metadata should not be removed - additional flags can be added starting from this flag. + additional flags can be added starting from this flag. - Function called when @meta is freed in @buffer. + Function called when @meta is freed in @buffer. + - a #GstMeta + a #GstMeta - a #GstBuffer + a #GstBuffer - The #GstMetaInfo provides information about a specific metadata + The #GstMetaInfo provides information about a specific metadata structure. + - tag identifying the metadata structure and api + tag identifying the metadata structure and api - type identifying the implementor of the api + type identifying the implementor of the api - size of the metadata + size of the metadata - function for initializing the metadata + function for initializing the metadata - function for freeing the metadata + function for freeing the metadata - function for transforming the metadata + function for transforming the metadata - Function called when @meta is initialized in @buffer. + Function called when @meta is initialized in @buffer. + - a #GstMeta + a #GstMeta - parameters passed to the init function + parameters passed to the init function - a #GstBuffer + a #GstBuffer - Extra data passed to a "gst-copy" transform #GstMetaTransformFunction. + Extra data passed to a "gst-copy" transform #GstMetaTransformFunction. + - %TRUE if only region is copied + %TRUE if only region is copied - the offset to copy, 0 if @region is %FALSE, otherwise > 0 + the offset to copy, 0 if @region is %FALSE, otherwise > 0 - the size to copy, -1 or the buffer size when @region is %FALSE + the size to copy, -1 or the buffer size when @region is %FALSE - Function called for each @meta in @buffer as a result of performing a + Function called for each @meta in @buffer as a result of performing a transformation on @transbuf. Additional @type specific transform data is passed to the function as @data. Implementations should check the @type of the transform and parse additional type specific fields in @data that should be used to update the metadata on @transbuf. + - %TRUE if the transform could be performed + %TRUE if the transform could be performed - a #GstBuffer + a #GstBuffer - a #GstMeta + a #GstMeta - a #GstBuffer + a #GstBuffer - the transform type + the transform type - transform specific data. + transform specific data. - #GstMiniObject is a simple structure that can be used to implement refcounted + #GstMiniObject is a simple structure that can be used to implement refcounted types. Subclasses will include #GstMiniObject as the first member in their structure @@ -23800,34 +36516,49 @@ with gst_mini_object_copy() or similar methods. A weak reference can be added and remove with gst_mini_object_weak_ref() and gst_mini_object_weak_unref() respectively. + - the GType of the object + the GType of the object - atomic refcount + atomic refcount - atomic state of the locks + atomic state of the locks - extra flags. + extra flags. - a copy function + a copy function - a dispose function + a dispose function - the free function + the free function @@ -23840,7 +36571,9 @@ and gst_mini_object_weak_unref() respectively. - This adds @parent as a parent for @object. Having one ore more parents affects the + This adds @parent as a parent for @object. Having one ore more parents affects the writability of @object: if a @parent is not writable, @object is also not writable, regardless of its refcount. @object is only writable if all the parents are writable and its own refcount is exactly 1. @@ -23848,16 +36581,21 @@ the parents are writable and its own refcount is exactly 1. Note: This function does not take ownership of @parent and also does not take an additional reference. It is the responsibility of the caller to remove the parent again at a later time. + - a #GstMiniObject + a #GstMiniObject - a parent #GstMiniObject + a parent #GstMiniObject @@ -23865,36 +36603,52 @@ remove the parent again at a later time. - Creates a copy of the mini-object. + Creates a copy of the mini-object. MT safe + - the new mini-object if copying is + the new mini-object if copying is possible, %NULL otherwise. - the mini-object to copy + the mini-object to copy - This function gets back user data pointers stored via + This function gets back user data pointers stored via gst_mini_object_set_qdata(). + - The user data pointer set, or + The user data pointer set, or %NULL - The GstMiniObject to get a stored user data pointer from + The GstMiniObject to get a stored user data pointer from - A #GQuark, naming the user data pointer + A #GQuark, naming the user data pointer @@ -23902,29 +36656,40 @@ gst_mini_object_set_qdata(). - Initializes a mini-object with the desired type and copy/dispose/free + Initializes a mini-object with the desired type and copy/dispose/free functions. + - a #GstMiniObject + a #GstMiniObject - initial #GstMiniObjectFlags + initial #GstMiniObjectFlags - the #GType of the mini-object to create + the #GType of the mini-object to create - the copy function, or %NULL + the copy function, or %NULL @@ -23932,7 +36697,9 @@ functions. transfer-ownership="none" nullable="1" allow-none="1"> - the dispose function, or %NULL + the dispose function, or %NULL @@ -23940,14 +36707,18 @@ functions. transfer-ownership="none" nullable="1" allow-none="1"> - the free function or %NULL + the free function or %NULL - If @mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE + If @mini_object has the LOCKABLE flag set, check if the current EXCLUSIVE lock on @object is the only one, this means that changes to the object will not be visible to any other object. @@ -23957,30 +36728,44 @@ object is therefore writable. Modification of a mini-object should only be done after verifying that it is writable. + - %TRUE if the object is writable. + %TRUE if the object is writable. - the mini-object to check + the mini-object to check - Lock the mini-object with the specified access mode in @flags. + Lock the mini-object with the specified access mode in @flags. + - %TRUE if @object could be locked. + %TRUE if @object could be locked. - the mini-object to lock + the mini-object to lock - #GstLockFlags + #GstLockFlags @@ -23988,25 +36773,34 @@ is writable. - Checks if a mini-object is writable. If not, a writable copy is made and + 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 + - a mini-object (possibly the same pointer) that + a mini-object (possibly the same pointer) that is writable. - the mini-object to make writable + the mini-object to make writable - Increase the reference count of the mini-object. + Increase the reference count of the mini-object. Note that the refcount affects the writability of @mini-object, see gst_mini_object_is_writable(). It is @@ -24014,13 +36808,18 @@ 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. + the mini-object. - the mini-object + the mini-object @@ -24028,24 +36827,33 @@ is a #GstBuffer. - This removes @parent as a parent for @object. See + This removes @parent as a parent for @object. See gst_mini_object_add_parent(). + - a #GstMiniObject + a #GstMiniObject - a parent #GstMiniObject + a parent #GstMiniObject - This sets an opaque, named pointer on a miniobject. + This sets an opaque, named pointer on a miniobject. The name is specified through a #GQuark (retrieved e.g. via g_quark_from_static_string()), and the pointer can be gotten back from the @object with gst_mini_object_get_qdata() @@ -24057,64 +36865,89 @@ removes the data stored. @destroy may be specified which is called with @data as argument when the @object is disposed, or the data is being overwritten by a call to gst_mini_object_set_qdata() with the same @quark. + - a #GstMiniObject + a #GstMiniObject - A #GQuark, naming the user data pointer + A #GQuark, naming the user data pointer - An opaque user data pointer + An opaque user data pointer - Function to invoke with @data as argument, when @data + Function to invoke with @data as argument, when @data needs to be freed - This function gets back user data pointers stored via gst_mini_object_set_qdata() -and removes the data from @object without invoking its destroy() function (if + This function gets back user data pointers stored via gst_mini_object_set_qdata() +and removes the data from @object without invoking its `destroy()` function (if any was set). + - The user data pointer set, or + The user data pointer set, or %NULL - The GstMiniObject to get a stored user data pointer from + The GstMiniObject to get a stored user data pointer from - A #GQuark, naming the user data pointer + A #GQuark, naming the user data pointer - Unlock the mini-object with the specified access mode in @flags. + Unlock the mini-object with the specified access mode in @flags. + - the mini-object to unlock + the mini-object to unlock - #GstLockFlags + #GstLockFlags @@ -24122,14 +36955,19 @@ any was set). - Decreases the reference count of the mini-object, possibly freeing + Decreases the reference count of the mini-object, possibly freeing the mini-object. + - the mini-object + the mini-object @@ -24137,29 +36975,38 @@ the mini-object. - Adds a weak reference callback to a mini object. Weak references are + Adds a weak reference callback to a mini object. Weak references are used for notification when a mini object is finalized. They are called "weak references" because they allow you to safely hold a pointer to the mini object without calling gst_mini_object_ref() (gst_mini_object_ref() adds a strong reference, that is, forces the object to stay alive). + - #GstMiniObject to reference weakly + #GstMiniObject to reference weakly - callback to invoke before the mini object is freed + callback to invoke before the mini object is freed - extra data to pass to notify + extra data to pass to notify @@ -24167,36 +37014,50 @@ to stay alive). - Removes a weak reference callback from a mini object. + Removes a weak reference callback from a mini object. + - #GstMiniObject to remove a weak reference from + #GstMiniObject to remove a weak reference from - callback to search for + callback to search for - data to search for + data to search for - Atomically modifies a pointer to point to a new mini-object. + Atomically modifies a pointer to point to a new mini-object. The reference count of @olddata is decreased and the reference count of @newdata is increased. Either @newdata and the value pointed to by @olddata may be %NULL. + - %TRUE if @newdata was different from @olddata + %TRUE if @newdata was different from @olddata @@ -24206,7 +37067,9 @@ Either @newdata and the value pointed to by @olddata may be %NULL. transfer-ownership="full" nullable="1" allow-none="1"> - pointer to a pointer to a + pointer to a pointer to a mini-object to be replaced @@ -24214,7 +37077,9 @@ Either @newdata and the value pointed to by @olddata may be %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - pointer to new mini-object + pointer to new mini-object @@ -24222,10 +37087,15 @@ Either @newdata and the value pointed to by @olddata may be %NULL. - Replace the current #GstMiniObject pointer to by @olddata with %NULL and + Replace the current #GstMiniObject pointer to by @olddata with %NULL and return the old value. + - the #GstMiniObject at @oldata + the #GstMiniObject at @oldata @@ -24233,21 +37103,28 @@ return the old value. direction="inout" caller-allocates="0" transfer-ownership="full"> - pointer to a pointer to a mini-object to + pointer to a pointer to a mini-object to be stolen - Modifies a pointer to point to a new mini-object. The modification + Modifies a pointer to point to a new mini-object. The modification is done atomically. This version is similar to gst_mini_object_replace() except that it does not increase the refcount of @newdata and thus takes ownership of @newdata. Either @newdata and the value pointed to by @olddata may be %NULL. + - %TRUE if @newdata was different from @olddata + %TRUE if @newdata was different from @olddata @@ -24255,12 +37132,16 @@ Either @newdata and the value pointed to by @olddata may be %NULL. direction="inout" caller-allocates="0" transfer-ownership="full"> - pointer to a pointer to a mini-object to + pointer to a pointer to a mini-object to be replaced - pointer to new mini-object + pointer to new mini-object @@ -24269,32 +37150,46 @@ Either @newdata and the value pointed to by @olddata may be %NULL. - Function prototype for methods to create copies of instances. + Function prototype for methods to create copies of instances. + - reference to cloned instance. + reference to cloned instance. - MiniObject to copy + MiniObject to copy - Function prototype for when a miniobject has lost its last refcount. + Function prototype for when a miniobject has lost its last refcount. Implementation 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 dispose function, the function should return %TRUE and the memory associated with the object is freed. + - %TRUE if the object should be cleaned up. + %TRUE if the object should be cleaned up. - MiniObject to dispose + MiniObject to dispose @@ -24303,53 +37198,71 @@ and the memory associated with the object is freed. glib:type-name="GstMiniObjectFlags" glib:get-type="gst_mini_object_flags_get_type" c:type="GstMiniObjectFlags"> - Flags for the mini object + Flags for the mini object - the object can be locked and unlocked with + the object can be locked and unlocked with gst_mini_object_lock() and gst_mini_object_unlock(). - the object is permanently locked in + the object is permanently locked in READONLY mode. Only read locks can be performed on the object. - the object is expected to stay alive + the object is expected to stay alive even after gst_deinit() has been called and so should be ignored by leak -detection tools. (Since 1.10) +detection tools. (Since: 1.10) - first flag that can be used by subclasses. + first flag that can be used by subclasses. - Virtual function prototype for methods to free resources used by + Virtual function prototype for methods to free resources used by mini-objects. + - MiniObject to free + MiniObject to free - A #GstMiniObjectNotify function can be added to a mini object as a + A #GstMiniObjectNotify function can be added to a mini object as a callback that gets triggered when gst_mini_object_unref() drops the last ref and @obj is about to be freed. + @@ -24359,19 +37272,270 @@ last ref and @obj is about to be freed. nullable="1" allow-none="1" closure="0"> - data that was provided when the notify was added + data that was provided when the notify was added - the mini object + the mini object - Constant that defines one GStreamer nanosecond + Constant that defines one GStreamer nanosecond + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This macro returns the entire set of flags for the object. + + + + a #GstObject + + + + + This macro checks to see if the given flag is set. + + + + a #GstObject + + + Flag to check for + + + + + This macro sets the given bits. + + + + a #GstObject + + + Flag to set + + + + + This macro unsets the given bits. + + + + a #GstObject + + + Flag to set + + + + + + + + + + + + Acquire a reference to the mutex of this object. + + + + a #GstObject + + + + + This macro will obtain a lock on the object, making serialization possible. +It blocks until the lock can be obtained. + + + + a #GstObject to lock + + + + + Get the name of this object. This is not thread-safe by default +(i.e. you will have to make sure the object lock is taken yourself). +If in doubt use gst_object_get_name() instead. + + + + a #GstObject + + + + + Get the parent of this object. This is not thread-safe by default +(i.e. you will have to make sure the object lock is taken yourself). +If in doubt use gst_object_get_parent() instead. + + + + a #GstObject + + + + + Get access to the reference count field of the object. + + + + a #GstObject + + + + + Get the reference count value of the object. + + + + a #GstObject + + + + + This macro will try to obtain a lock on the object, but will return with +%FALSE if it can't get it immediately. + + + + a #GstObject. + + + + + This macro releases a lock on the object. + + + + a #GstObject to unlock. + + + glib:type-name="GstObject" glib:get-type="gst_object_get_type" glib:type-struct="ObjectClass"> - #GstObject provides a root for the object hierarchy tree filed in by the + #GstObject provides a root for the object hierarchy tree filed in by the GStreamer library. It is currently a thin wrapper on top of #GInitiallyUnowned. It is an abstract class that is not very usable on its own. @@ -24429,15 +37595,21 @@ What needs to be done in applications? Again it's not a lot to change. gst_timed_value_control_source_set ((GstTimedValueControlSource *)csource,1 * GST_SECOND, value2); * start your pipeline + - Checks to see if there is any object named @name in @list. This function + 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 careful when passing a list with a locked object. + - %TRUE if a #GstObject named @name does not appear in @list, + %TRUE if a #GstObject named @name does not appear in @list, %FALSE if it does. MT safe. Grabs and releases the LOCK of each object in the list. @@ -24445,48 +37617,63 @@ MT safe. Grabs and releases the LOCK of each object in the list. - a list of #GstObject to + a list of #GstObject to check through - the name to search for + the name to search for - A default deep_notify signal callback for an object. The user data + 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. + the #GObject that signalled the notify. - a #GstObject that initiated the notify. + a #GstObject that initiated the notify. - a #GParamSpec of the property. + a #GParamSpec of the property. - + a set of user-specified properties to exclude or %NULL to show all changes. @@ -24498,7 +37685,9 @@ MT safe. This function grabs and releases @object's LOCK for getting its - Increase the reference count of @object, and possibly remove the floating + 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" @@ -24509,6 +37698,7 @@ reference count by one. For more background on "floating references" please see the #GObject documentation. + @@ -24517,19 +37707,26 @@ documentation. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstObject to sink + a #GstObject to sink - Atomically modifies a pointer to point to a new object. + Atomically modifies a pointer to point to a new object. The reference count of @oldobj is decreased and the reference count of @newobj is increased. Either @newobj and the value pointed to by @oldobj may be %NULL. + - %TRUE if @newobj was different from @oldobj + %TRUE if @newobj was different from @oldobj @@ -24539,7 +37736,9 @@ Either @newobj and the value pointed to by @oldobj may be %NULL. transfer-ownership="full" nullable="1" allow-none="1"> - pointer to a place of + pointer to a place of a #GstObject to replace @@ -24547,12 +37746,15 @@ Either @newobj and the value pointed to by @oldobj may be %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - a new #GstObject + a new #GstObject + @@ -24570,76 +37772,105 @@ Either @newobj and the value pointed to by @oldobj may be %NULL. - Attach the #GstControlBinding to the object. If there already was a + Attach the #GstControlBinding to the object. If there already was a #GstControlBinding for this property it will be replaced. The object's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink()) + - %FALSE if the given @binding has not been setup for this object or + %FALSE if the given @binding has not been setup for this object or has been setup for a non suitable property, %TRUE otherwise. - the controller object + the controller object - the #GstControlBinding that should be used + the #GstControlBinding that should be used - A default error function that uses g_printerr() to display the error message + A default error function that uses g_printerr() to display the error message and the optional debug string.. The default handler will simply print the error string using g_print. + - the #GstObject that initiated the error. + the #GstObject that initiated the error. - the GError. + the GError. - an additional debug information string, or %NULL + an additional debug information string, or %NULL - Gets the corresponding #GstControlBinding for the property. This should be + Gets the corresponding #GstControlBinding for the property. This should be unreferenced again after use. + - the #GstControlBinding for + the #GstControlBinding for @property_name or %NULL if the property is not controlled. - the object + the object - name of the property + name of the property - Obtain the control-rate for this @object. Audio processing #GstElement + 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() in between. The length of the processing segment should be up to @control-rate nanoseconds. @@ -24649,52 +37880,74 @@ If the @object is not under property control, this will return 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 control rate in nanoseconds - the object that has controlled properties + the object that has controlled properties - Gets a number of #GValues for the given controlled property starting at the + Gets a number of #GValues for the given controlled property starting at the requested time. The array @values need to hold enough space for @n_values of #GValue. This function is useful if one wants to e.g. draw a graph of the control curve or apply a control curve sample by sample. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the object that has controlled properties + the object that has controlled properties - the name of the property to get + the name of the property to get - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in @@ -24702,14 +37955,19 @@ curve or apply a control curve sample by sample. - Returns a copy of the name of @object. + 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. Free-function: g_free + - the name of @object. g_free() + the name of @object. g_free() after usage. MT safe. This function grabs and releases @object's LOCK. @@ -24717,16 +37975,23 @@ MT safe. This function grabs and releases @object's LOCK. - a #GstObject + a #GstObject - Returns the parent of @object. This function increases the refcount + Returns the parent of @object. This function increases the refcount of the parent object so you should gst_object_unref() it after usage. + - parent of @object, this can be + parent of @object, this can be %NULL if @object has no parent. unref after usage. MT safe. Grabs and releases @object's LOCK. @@ -24734,18 +37999,25 @@ MT safe. Grabs and releases @object's LOCK. - a #GstObject + a #GstObject - Generates a string describing the path of @object in + Generates a string describing the path of @object in the object hierarchy. Only useful (or used) for debugging. Free-function: g_free + - a string describing the path of @object. You must + a string describing the path of @object. You must g_free() the string after usage. MT safe. Grabs and releases the #GstObject's LOCK for all objects @@ -24754,29 +38026,42 @@ MT safe. Grabs and releases the #GstObject's LOCK for all objects - a #GstObject + a #GstObject - Gets the value for the given controlled property at the requested time. + Gets the value for the given controlled property at the requested time. + - the GValue of the property at the given time, + the GValue of the property at the given time, or %NULL if the property isn't controlled. - the object that has controlled properties + the object that has controlled properties - the name of the property to get + the name of the property to get - the time the control-change should be read from + the time the control-change should be read from @@ -24784,7 +38069,9 @@ or %NULL if the property isn't controlled. - Gets a number of values for the given controlled property starting at the + Gets a number of values for the given controlled property starting at the requested time. The array @values need to hold enough space for @n_values of the same type as the objects property's type. @@ -24794,50 +38081,72 @@ curve or apply a control curve sample by sample. The values are unboxed and ready to be used. The similar function gst_object_get_g_value_array() returns the array as #GValues and is better suites for bindings. + - %TRUE if the given array could be filled, %FALSE otherwise + %TRUE if the given array could be filled, %FALSE otherwise - the object that has controlled properties + the object that has controlled properties - the name of the property to get + the name of the property to get - the time that should be processed + the time that should be processed - the time spacing between subsequent values + the time spacing between subsequent values - the number of values + the number of values - array to put control-values in + array to put control-values in - Check if the @object has active controlled properties. + Check if the @object has active controlled properties. + - %TRUE if the object has active controlled properties + %TRUE if the object has active controlled properties - the object that has controlled properties + the object that has controlled properties @@ -24845,42 +38154,60 @@ better suites for bindings. - Check if @object has an ancestor @ancestor somewhere up in + Check if @object has an ancestor @ancestor somewhere up in the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline. Use gst_object_has_as_ancestor() instead. MT safe. Grabs and releases @object's locks. + - %TRUE if @ancestor is an ancestor of @object. + %TRUE if @ancestor is an ancestor of @object. - a #GstObject to check + a #GstObject to check - a #GstObject to check as ancestor + a #GstObject to check as ancestor - Check if @object has an ancestor @ancestor somewhere up in + Check if @object has an ancestor @ancestor somewhere up in the hierarchy. One can e.g. check if a #GstElement is inside a #GstPipeline. + - %TRUE if @ancestor is an ancestor of @object. + %TRUE if @ancestor is an ancestor of @object. MT safe. Grabs and releases @object's locks. - a #GstObject to check + a #GstObject to check - a #GstObject to check as ancestor + a #GstObject to check as ancestor @@ -24888,10 +38215,15 @@ MT safe. Grabs and releases @object's locks. - Check if @parent is the parent of @object. + Check if @parent is the parent of @object. E.g. a #GstElement can check if it owns a given #GstPad. + - %FALSE if either @object or @parent is %NULL. %TRUE if @parent is + %FALSE if either @object or @parent is %NULL. %TRUE if @parent is the parent of @object. Otherwise %FALSE. MT safe. Grabs and releases @object's locks. @@ -24899,72 +38231,101 @@ MT safe. Grabs and releases @object's locks. - a #GstObject to check + a #GstObject to check - a #GstObject to check as parent + a #GstObject to check as parent - Increments the reference count on @object. This function + 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 pointer to @object - a #GstObject to reference + a #GstObject to reference - Removes the corresponding #GstControlBinding. If it was the + Removes the corresponding #GstControlBinding. If it was the last ref of the binding, it will be disposed. + - %TRUE if the binding could be removed. + %TRUE if the binding could be removed. - the object + the object - the binding + the binding - This function is used to disable the control bindings on a property for + This function is used to disable the control bindings on a property for some time, i.e. gst_object_sync_values() will do nothing for the property. + - the object that has controlled properties + the object that has controlled properties - property to disable + property to disable - boolean that specifies whether to disable the controller + boolean that specifies whether to disable the controller or not. @@ -24972,18 +38333,25 @@ or not. - This function is used to disable all controlled properties of the @object for + This function is used to disable all controlled properties of the @object for some time, i.e. gst_object_sync_values() will do nothing. + - the object that has controlled properties + the object that has controlled properties - boolean that specifies whether to disable the controller + boolean that specifies whether to disable the controller or not. @@ -24991,34 +38359,46 @@ or not. - Change the control-rate for this @object. Audio processing #GstElement + 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() in between. 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 object that has controlled properties - the new control-rate in nanoseconds. + the new control-rate in nanoseconds. - Sets the name of @object, or gives @object a guaranteed unique + 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. + - %TRUE if the name could be set. Since Objects that have + %TRUE if the name could be set. Since Objects that have a parent cannot be renamed, this function returns %FALSE in those cases. @@ -25027,23 +38407,32 @@ MT safe. This function grabs and releases @object's LOCK. - a #GstObject + a #GstObject - new name of object + new name of object - Sets the parent of @object to @parent. The object's reference count will + 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_ref_sink()). + - %TRUE if @parent could be set or %FALSE when @object + %TRUE if @parent could be set or %FALSE when @object already had a parent or @object and @parent are the same. MT safe. Grabs and releases @object's LOCK. @@ -25051,81 +38440,111 @@ MT safe. Grabs and releases @object's LOCK. - a #GstObject + a #GstObject - new parent of object + new parent of object - Returns a suggestion for timestamps where buffers should be split + Returns a suggestion for timestamps where buffers should be split to get best controller results. + - Returns the suggested timestamp or %GST_CLOCK_TIME_NONE + Returns the suggested timestamp or %GST_CLOCK_TIME_NONE if no control-rate was set. - the object that has controlled properties + the object that has controlled properties - Sets the properties of the object, according to the #GstControlSources that + Sets the properties of the object, according to the #GstControlSources that (maybe) handle 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. + - %TRUE if the controller values could be applied to the object + %TRUE if the controller values could be applied to the object properties, %FALSE otherwise - the object that has controlled properties + the object that has controlled properties - the time that should be processed + the time that should be processed - Clear the parent of @object, removing the associated reference. + Clear the parent of @object, removing the associated reference. This function decreases the refcount of @object. MT safe. Grabs and releases @object's lock. + - a #GstObject to unparent + a #GstObject to unparent - Decrements the reference count on @object. If reference count hits + 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 + a #GstObject to unreference @@ -25137,7 +38556,9 @@ this might deadlock the dispose function. - The parent of the object. Please note, that when changing the 'parent' + The parent of the object. Please note, that when changing the 'parent' property, we don't emit #GObject::notify and #GstObject::deep-notify signals due to locking issues. In some cases one can use #GstBin::element-added or #GstBin::element-removed signals on the parent to @@ -25148,19 +38569,27 @@ achieve a similar effect. - object LOCK + object LOCK - The name of the object + The name of the object - this object's parent, weak ref + this object's parent, weak ref - flags for this object + flags for this object @@ -25182,7 +38611,9 @@ achieve a similar effect. no-recurse="1" detailed="1" no-hooks="1"> - The deep notify signal is used to be notified of property changes. It is + 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. @@ -25190,11 +38621,15 @@ the elements contained in that bin. - the object that originated the signal + the object that originated the signal - the property that changed + the property that changed @@ -25203,18 +38638,26 @@ the elements contained in that bin. - GStreamer base object class. + GStreamer base object class. + - parent + parent - separator used by gst_object_get_path_string() + separator used by gst_object_get_path_string() + @@ -25232,7 +38675,7 @@ the elements contained in that bin. - + @@ -25241,71 +38684,1540 @@ the elements contained in that bin. glib:type-name="GstObjectFlags" glib:get-type="gst_object_flags_get_type" c:type="GstObjectFlags"> - The standard flags that an gstobject may have. + The standard flags that an gstobject may have. - the object is expected to stay alive even + the object is expected to stay alive even after gst_deinit() has been called and so should be ignored by leak -detection tools. (Since 1.10) +detection tools. (Since: 1.10) - subclasses can add additional flags starting from this flag + subclasses can add additional flags starting from this flag + + + + + + + + + Get the #GstPadActivateFunction from @pad. + + + + a #GstPad + + + + + Get the #GstPadActivateModeFunction from the given @pad. + + + + a #GstPad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the #GstPadChainFunction from the given @pad. + + + + a #GstPad + + + + + Get the #GstPadChainListFunction from the given @pad. + + + + a #GstPad + + + + + + + + + + + + Get the #GstPadDirection of the given @pad. Accessor macro, use +gst_pad_get_direction() instead. + + + + a #GstPad + + + + + Get the private data of @pad, which is usually some pad- or stream-specific +structure created by the element and set on the pad when creating it. +No locking is performed in this function. + + + + a #GstPad + + + + + Get the #GstPadEventFullFunction from the given @pad, which +is the function that handles events on the pad. You can +use this to set your own event handling function on a pad +after you create it. If your element derives from a base +class, use the base class's virtual functions instead. + + + + a #GstPad + + + + + Get the #GstPadEventFunction from the given @pad, which +is the function that handles events on the pad. You can +use this to set your own event handling function on a pad +after you create it. If your element derives from a base +class, use the base class's virtual functions instead. + + + + a #GstPad + + + + + Get the #GstPadGetRangeFunction from the given @pad. + + + + a #GstPad + + + + + Get the stream lock of @pad. The stream lock is protecting the +resources used in the data processing functions of @pad. Accessor +macro, use GST_PAD_STREAM_LOCK() and GST_PAD_STREAM_UNLOCK() instead +to take/release the pad's stream lock. + + + + a #GstPad + + + + + Check if the given @pad has pending events. This is used internally by +GStreamer. + + + + a #GstPad + + + + + Check if the pad's accept intersect flag is set. The default accept-caps +handler will check if the caps intersect the query-caps result instead of +checking for a subset. This is interesting for parser elements that can +accept incompletely specified caps. + + + + a #GstPad + + + + + Check if the pad's accept caps operation will use the pad template caps. +The default accept-caps will do a query caps to get the caps, which might +be querying downstream causing unnecessary overhead. It is recommended to +implement a proper accept-caps query handler or to use this flag to prevent +recursive accept-caps handling. + + + + a #GstPad + + + + + + + + a #GstPad + + + + + Check if the dataflow on a @pad is blocked. Use gst_pad_is_blocked() instead. + + + + a #GstPad + + + + + Check if the @pad is currently blocking on a buffer or event. Use +gst_pad_is_blocking() instead. + + + + a #GstPad + + + + + Check if the @pad is in EOS state. + + + + a #GstPad + + + + + Check if the given @pad is using fixed caps, which means that +once the caps are set on the @pad, the caps query function will +only return those caps. See gst_pad_use_fixed_caps(). + + + + a #GstPad + + + + + Check if the given @pad is flushing. + + + + a #GstPad + + + + + + + + a #GstPad + + + + + Check if the given @pad is set as proxy allocation which means +that the default query handler will forward allocation queries to the +internally linked @pads instead of discarding them. + + + + a #GstPad + + + + + Check if the given @pad is set to proxy caps. This means that the default +event and query handler will forward all events and queries to the +internally linked @pads instead of discarding them. + + + + a #GstPad + + + + + Check if the given @pad is set to proxy scheduling queries, which means that +the default query handler will forward scheduling queries to the internally +linked @pads instead of discarding them. + + + + a #GstPad + + + + + + + + a #GstPad + + + + + + + + a #GstPad + + + + + Get the #GstPadIterIntLinkFunction from the given @pad. + + + + a #GstPad + + + + + Gets the last flow return on this pad + + + + a #GstPad + + + + + Get the #GstPadLinkFunction for the given @pad. + + + + a #GstPad + + + + + Macro to test if the given #GstPadLinkReturn value indicates a failed +link step. + + + + the #GstPadLinkReturn value + + + + + Macro to test if the given #GstPadLinkReturn value indicates a successful +link step. + + + + the #GstPadLinkReturn value + + + + + Get the #GstPadMode of pad, which will be GST_PAD_MODE_NONE if the pad +has not been activated yet, and otherwise either GST_PAD_MODE_PUSH or +GST_PAD_MODE_PULL depending on which mode the pad was activated in. + + + + a #GstPad + + + + + Get name of the given pad. +No locking is performed in this function, use gst_pad_get_name() instead. + + + + a #GstPad + + + + + Check if there is a parent object before calling into the @pad callbacks. +This is used internally by GStreamer. + + + + a #GstPad + + + + + Check if the @pad should be reconfigured/renegotiated. +The flag has to be unset manually after reconfiguration happened. +Use gst_pad_needs_reconfigure() or gst_pad_check_reconfigure() instead. + + + + a #GstPad + + + + + Get the @pad #GstPadTemplate. It describes the possible media types +a @pad or an element factory can handle. + + + + a #GstPad + + + + + Get the @pad parent. +No locking is performed in this function, use gst_pad_get_parent() instead. + + + + a #GstPad + + + + + Return the pad's peer member. This member is a pointer to the linked @pad. +No locking is performed in this function, use gst_pad_get_peer() instead. + + + + a #GstPad + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the #GstPadQueryFunction from @pad, which is the function +that handles queries on the pad. You can use this to set your +own query handling function on a pad after you create it. If your +element derives from a base class, use the base class's virtual +functions instead. + + + + a #GstPad + + + + + Set @pad to by default accept caps by intersecting the result instead of +checking for a subset. This is interesting for parser elements that can +accept incompletely specified caps. + + + + a #GstPad + + + + + Set @pad to by default use the pad template caps to compare with +the accept caps instead of using a caps query result. + + + + a #GstPad + + + + + Set the given @pad to flushing state, which means it will not accept any +more events, queries or buffers, and return GST_FLOW_FLUSHING if any buffers +are pushed on it. This usually happens when the pad is shut down or when +a flushing seek happens. This is used inside GStreamer when flush start/stop +events pass through pads, or when an element state is changed and pads are +activated or deactivated. + + + + a #GstPad + + + + + Set @pad to proxy allocation queries, which means that the default query +handler will forward allocation queries to the internally linked @pads +instead of discarding them. +Set this if the element always outputs data in the exact same format as it +receives as input. This is just for convenience to avoid implementing some +standard query handling code in an element. + + + + a #GstPad + + + + + Set @pad to proxy caps, so that all caps-related events and queries are +proxied down- or upstream to the other side of the element automatically. +Set this if the element always outputs data in the exact same format as it +receives as input. This is just for convenience to avoid implementing some +standard event and query handling code in an element. + + + + a #GstPad + + + + + Set @pad to proxy scheduling queries, which means that the default query +handler will forward scheduling queries to the internally linked @pads +instead of discarding them. You will usually want to handle scheduling +queries explicitly if your element supports multiple scheduling modes. + + + + a #GstPad + + + + + Take the pad's stream lock. The stream lock is recursive and will be taken +when buffers or serialized downstream events are pushed on a pad. + + + + a #GstPad + + + + + Try to take the pad's stream lock, and return %TRUE if the lock could be +taken, and otherwise %FALSE. + + + + a #GstPad + + + + + Release the pad's stream lock. + + + + a #GstPad + + + + + Get the #GstTask of @pad. Accessor macro used by GStreamer. Use the +gst_pad_start_task(), gst_pad_stop_task() and gst_pad_pause_task() +functions instead. + + + + a #GstPad + + + + + + + + + + + + Get a handle to the padtemplate #GstCaps + + + + the template to query + + + + + + + + + + + + Get the #GstPadDirection of the padtemplate. + + + + the template to query + + + + + Get the #GType of the padtemplate + + + + the template to query + + + + + Check if the properties of the padtemplate are fixed + + + + the template to query + + + + + Get the nametemplate of the padtemplate. + + + + the template to query + + + + + Get the #GstPadPresence of the padtemplate. + + + + the template to query + + + + + Get the #GstPadUnlinkFunction from the given @pad. + + + + a #GstPad + + + + + Unset accept intersect flag. + + + + a #GstPad + + + + + Unset accept template flag. + + + + a #GstPad + + + + + Unset the flushing flag. + + + + a #GstPad + + + + + Unset proxy allocation flag. + + + + a #GstPad + + + + + Unset proxy caps flag. + + + + a #GstPad + + + + + Unset proxy scheduling flag. + + + + a #GstPad + + + + + Use this flag on GObject properties of GstObject to indicate that +they might not be available depending on environment such as OS, device, etc, +so such properties will be installed conditionally only if the GstObject is +able to support it. + + + - Use this flag on GObject properties to signal they can make sense to be. + Use this flag on GObject properties to signal they can make sense to be. controlled over time. This hint is used by the GstController. + + + + + Use this flag on GObject properties of GstObject to indicate that +during `gst-inspect` and friends, the default value should be used +as default instead of the current value. + - Use this flag on GObject properties of GstElements to indicate that + Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the PAUSED or lower state. This flag implies GST_PARAM_MUTABLE_READY. + - Use this flag on GObject properties of GstElements to indicate that + Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the PLAYING or lower state. This flag implies GST_PARAM_MUTABLE_PAUSED. + - Use this flag on GObject properties of GstElements to indicate that + Use this flag on GObject properties of GstElements to indicate that they can be changed when the element is in the READY or lower state. + + + + + + + + + + + + + + + - Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications. + Bits based on GST_PARAM_USER_SHIFT can be used by 3rd party applications. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + This macro needs to be used to define the entry point and meta data of a +plugin. One would use this macro to export a plugin, so that it can be used +by other applications. + +The macro uses a define named PACKAGE for the #GstPluginDesc,source field. +When using autoconf, this is usually set automatically via the AC_INIT +macro, and set in config.h. If you are not using autoconf, you will need to +define PACKAGE yourself and set it to a short mnemonic string identifying +your application/package, e.g. 'someapp' or 'my-plugins-foo. + +If defined, the GST_PACKAGE_RELEASE_DATETIME will also be used for the +#GstPluginDesc,release_datetime field. + + + + major version number of the gstreamer-core that plugin was compiled for + + + minor version number of the gstreamer-core that plugin was compiled for + + + short, but unique name of the plugin + + + information about the purpose of the plugin + + + function pointer to the plugin_init method with the signature of <code>static gboolean plugin_init (GstPlugin * plugin)</code>. + + + full version string (e.g. VERSION from config.h) + + + under which licence the package has been released, e.g. GPL, LGPL. + + + the package-name (e.g. PACKAGE_NAME from config.h) + + + a description from where the package comes from (e.g. the homepage URL) + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Debug the plugin feature names in @list. + + + + a #GList of + plugin features + + + + + + + + + + + + This macro can be used to initialize statically linked plugins. It is +necessary to call this macro before the plugin can be used. +It has to be used in combination with GST_PLUGIN_STATIC_REGISTER +and must be placed outside any block to declare the plugin initialization +function. + + + + short, but unique name of the plugin + + + + + This macro can be used to initialize statically linked plugins. It is +necessary to call this macro before the plugin can be used. +It has to be used in combination with GST_PLUGIN_STATIC_DECLARE and +calls the plugin initialization function. + + + + short, but unique name of the plugin + + + + + + + + + + + + + + + + + + + + + + + + - The field name in a GstCaps that is used to signal the UUID of the protection + The field name in a GstCaps that is used to signal the UUID of the protection system. + - The protection system value of the unspecified UUID. + The protection system value of the unspecified UUID. In some cases the system protection ID is not present in the contents or in their metadata, as encrypted WebM. This define is used to set the value of the "system_id" field in GstProtectionEvent, @@ -25315,13 +40227,34 @@ protection system to use. Example: The matroskademux uses this value in the case of encrypted WebM, the application will choose the appropriate protection system based on the information received through EME API. + + + + + + + + + + + + + + + - printf format type used to debug GStreamer types. You can use this in + printf format type used to debug GStreamer types. You can use this in combination with GStreamer's debug logging system as well as the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf() to pretty-print the following types: #GstCaps, #GstStructure, @@ -25331,6 +40264,7 @@ to pretty-print the following types: #GstCaps, #GstStructure, else will simply be printed as pointer address. This can only be used on types whose size is >= sizeof(gpointer). + glib:type-name="GstPad" glib:get-type="gst_pad_get_type" glib:type-struct="PadClass"> - A #GstElement is linked to other elements via "pads", which are extremely + A #GstElement is linked to other elements via "pads", which are extremely light-weight generic link points. Pads have a #GstPadDirection, source pads produce data, sink pads consume @@ -25357,7 +40293,7 @@ which takes a direction and a name as an argument. If the name is %NULL, then a guaranteed unique name will be assigned to it. A #GstElement creating a pad will typically use the various -gst_pad_set_*_function() calls to register callbacks for events, queries or +gst_pad_set_*_function\() calls to register callbacks for events, queries or dataflow on the pads. gst_pad_get_parent() will retrieve the #GstElement that owns the pad. @@ -25399,13 +40335,19 @@ gst_pad_set_offset() can be used to change the offset. Convenience functions exist to start, pause and stop the task on a pad with gst_pad_start_task(), gst_pad_pause_task() and gst_pad_stop_task() respectively. + - Creates a new pad with the given name in the given direction. + 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. + - a new #GstPad. + a new #GstPad. MT safe. @@ -25415,56 +40357,78 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - the name of the new pad. + the name of the new pad. - the #GstPadDirection of the pad. + the #GstPadDirection of the pad. - Creates a new pad with the given name from the given static template. + 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. + a new #GstPad. - the #GstStaticPadTemplate to use + the #GstStaticPadTemplate to use - the name of the pad + the name of the pad - Creates a new pad with the given name from the given template. + 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. + a new #GstPad. - the pad template to use + the pad template to use - the name of the pad + the name of the pad @@ -25472,19 +40436,27 @@ This function makes a copy of the name so you can safely free the name. - Gets a string representing the given pad-link return. + Gets a string representing the given pad-link return. + - a static string with the name of the pad-link return. + a static string with the name of the pad-link return. - a #GstPadLinkReturn to get the name of. + a #GstPadLinkReturn to get the name of. + @@ -25498,6 +40470,7 @@ This function makes a copy of the name so you can safely free the name. + @@ -25511,33 +40484,46 @@ This function makes a copy of the name so you can safely free the name. - Activates or deactivates the given pad in @mode via dispatching to the + Activates or deactivates the given pad in @mode via dispatching to the pad's activatemodefunc. For use from within pad activation functions only. If you don't know what this is, you probably don't want to call it. + - %TRUE if the operation was successful. + %TRUE if the operation was successful. MT safe. - the #GstPad to activate or deactivate. + the #GstPad to activate or deactivate. - the requested activation mode + the requested activation mode - whether or not the pad should be active. + whether or not the pad should be active. - Be notified of different states of pads. The provided callback is called for + Be notified of different states of pads. The provided callback is called for every state that matches @mask. Probes are called in groups: First GST_PAD_PROBE_TYPE_BLOCK probes are @@ -25546,8 +40532,11 @@ exception here are GST_PAD_PROBE_TYPE_IDLE probes that are called immediately if the pad is already idle while calling gst_pad_add_probe(). In each of the groups, probes are called in the order in which they were added. + - an id or 0 if no probe is pending. The id can be used to remove the + an id or 0 if no probe is pending. The id can be used to remove the probe with gst_pad_remove_probe(). When using GST_PAD_PROBE_TYPE_IDLE it can happen that the probe can be run immediately and if the probe returns GST_PAD_PROBE_REMOVE this functions returns 0. @@ -25557,11 +40546,15 @@ MT safe. - the #GstPad to add the probe to + the #GstPad to add the probe to - the probe mask + the probe mask scope="notified" closure="2" destroy="3"> - #GstPadProbeCallback that will be called with notifications of + #GstPadProbeCallback that will be called with notifications of the pad state @@ -25577,37 +40572,52 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the callback + user data passed to the callback - #GDestroyNotify for user_data + #GDestroyNotify for user_data - Checks if the source pad and the sink pad are compatible so they can be + Checks if the source pad and the sink pad are compatible so they can be linked. + - %TRUE if the pads can be linked. + %TRUE if the pads can be linked. - the source #GstPad. + the source #GstPad. - the sink #GstPad. + the sink #GstPad. - Chain a buffer to @pad. + Chain a buffer to @pad. The function returns #GST_FLOW_FLUSHING if the pad was flushing. @@ -25622,26 +40632,35 @@ chain function. In all cases, success or failure, the caller loses its reference to @buffer after calling this function. + - a #GstFlowReturn from the pad. + a #GstFlowReturn from the pad. MT safe. - a sink #GstPad, returns GST_FLOW_ERROR if not. + a sink #GstPad, returns GST_FLOW_ERROR if not. - the #GstBuffer to send, return GST_FLOW_ERROR + the #GstBuffer to send, return GST_FLOW_ERROR if not. - Chain a bufferlist to @pad. + Chain a bufferlist to @pad. The function returns #GST_FLOW_FLUSHING if the pad was flushing. @@ -25657,17 +40676,24 @@ In all cases, success or failure, the caller loses its reference to @list after calling this function. MT safe. + - a #GstFlowReturn from the pad. + a #GstFlowReturn from the pad. - a sink #GstPad, returns GST_FLOW_ERROR if not. + a sink #GstPad, returns GST_FLOW_ERROR if not. - the #GstBufferList to send, return GST_FLOW_ERROR + the #GstBufferList to send, return GST_FLOW_ERROR if not. @@ -25675,21 +40701,30 @@ MT safe. - Check and clear the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE + Check and clear the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE if the flag was set. + - %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on @pad. + %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag was set on @pad. - the #GstPad to check + the #GstPad to check - Creates a stream-id for the source #GstPad @pad by combining the + Creates a stream-id for the source #GstPad @pad by combining the upstream information with the optional @stream_id of the stream of @pad. @pad must have a parent #GstElement and which must have zero or one sinkpad. @stream_id can only be %NULL if the parent element @@ -25706,24 +40741,33 @@ stream-id manually instead. Since stream IDs are sorted alphabetically, any numbers in the stream ID should be printed with a fixed number of characters, preceded by 0's, such as by using the format \%03u instead of \%u. + - A stream-id for @pad. g_free() after usage. + A stream-id for @pad. g_free() after usage. - A source #GstPad + A source #GstPad - Parent #GstElement of @pad + Parent #GstElement of @pad - The stream-id + The stream-id @@ -25731,7 +40775,9 @@ preceded by 0's, such as by using the format \%03u instead of \%u. - Creates a stream-id for the source #GstPad @pad by combining the + Creates a stream-id for the source #GstPad @pad by combining the upstream information with the optional @stream_id of the stream of @pad. @pad must have a parent #GstElement and which must have zero or one sinkpad. @stream_id can only be %NULL if the parent element @@ -25744,28 +40790,39 @@ doing an URI query on the element and in the worst case just uses a random number. Source elements that don't implement the URI handler interface should ideally generate a unique, deterministic stream-id manually instead. + - A stream-id for @pad. g_free() after usage. + A stream-id for @pad. g_free() after usage. - A source #GstPad + A source #GstPad - Parent #GstElement of @pad + Parent #GstElement of @pad - The stream-id + The stream-id - parameters for the @stream_id format string + parameters for the @stream_id format string @@ -25773,7 +40830,9 @@ stream-id manually instead. - Creates a stream-id for the source #GstPad @pad by combining the + Creates a stream-id for the source #GstPad @pad by combining the upstream information with the optional @stream_id of the stream of @pad. @pad must have a parent #GstElement and which must have zero or one sinkpad. @stream_id can only be %NULL if the parent element @@ -25786,102 +40845,140 @@ doing an URI query on the element and in the worst case just uses a random number. Source elements that don't implement the URI handler interface should ideally generate a unique, deterministic stream-id manually instead. + - A stream-id for @pad. g_free() after usage. + A stream-id for @pad. g_free() after usage. - A source #GstPad + A source #GstPad - Parent #GstElement of @pad + Parent #GstElement of @pad - The stream-id + The stream-id - parameters for the @stream_id format string + parameters for the @stream_id format string - Invokes the default event handler for the given pad. + Invokes the default event handler for the given pad. The EOS event will pause the task associated with @pad before it is forwarded to all internally linked pads, The event is sent to all pads internally linked to @pad. This function takes ownership of @event. + - %TRUE if the event was sent successfully. + %TRUE if the event was sent successfully. - a #GstPad to call the default event handler on. + a #GstPad to call the default event handler on. - the parent of @pad or %NULL + the parent of @pad or %NULL - the #GstEvent to handle. + the #GstEvent to handle. - Calls @forward for all internally linked pads of @pad. This function deals with + Calls @forward for all internally linked pads of @pad. This function deals with dynamically changing internal pads and will make sure that the @forward function is only called once for each pad. When @forward returns %TRUE, no further pads will be processed. + - %TRUE if one of the dispatcher functions returned %TRUE. + %TRUE if one of the dispatcher functions returned %TRUE. - a #GstPad + a #GstPad - a #GstPadForwardFunction + a #GstPadForwardFunction - user data passed to @forward + user data passed to @forward - Gets the capabilities of the allowed media types that can flow through + Gets the capabilities of the allowed media types that can flow through @pad and its peer. The allowed capabilities is calculated as the intersection of the results of calling gst_pad_query_caps() on @pad and its peer. The caller owns a reference on the resulting caps. + - the allowed #GstCaps of the + the allowed #GstCaps of the pad link. Unref the caps when you no longer need it. This function returns %NULL when @pad has no peer. @@ -25890,54 +40987,77 @@ MT safe. - a #GstPad. + a #GstPad. - Gets the capabilities currently configured on @pad with the last + Gets the capabilities currently configured on @pad with the last #GST_EVENT_CAPS event. + - the current caps of the pad with + the current caps of the pad with incremented ref-count or %NULL when pad has no caps. Unref after usage. - a #GstPad to get the current capabilities of. + a #GstPad to get the current capabilities of. - Gets the direction of the pad. The direction of the pad is + Gets the direction of the pad. The direction of the pad is decided at construction time so this function does not take the LOCK. + - the #GstPadDirection of the pad. + the #GstPadDirection of the pad. MT safe. - a #GstPad to get the direction of. + a #GstPad to get the direction of. - Gets the private data of a pad. + Gets the private data of a pad. No locking is performed in this function. + - a #gpointer to the private data. + a #gpointer to the private data. - the #GstPad to get the private data of. + the #GstPad to get the private data of. @@ -25945,67 +41065,98 @@ No locking is performed in this function. - Gets the #GstFlowReturn return from the last data passed by this pad. + Gets the #GstFlowReturn return from the last data passed by this pad. + - the #GstPad + the #GstPad - Get the offset applied to the running time of @pad. @pad has to be a source + Get the offset applied to the running time of @pad. @pad has to be a source pad. + - the offset. + the offset. - a #GstPad + a #GstPad - Gets the template for @pad. + Gets the template for @pad. + - the #GstPadTemplate from which + the #GstPadTemplate from which this pad was instantiated, or %NULL if this pad has no template. Unref after usage. - a #GstPad. + a #GstPad. - Gets the capabilities for @pad's template. + Gets the capabilities for @pad's template. + - the #GstCaps of this pad template. + the #GstCaps of this pad template. Unref after usage. - a #GstPad to get the template capabilities from. + a #GstPad to get the template capabilities from. - Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or + Gets the parent of @pad, cast to a #GstElement. If a @pad has no parent or its parent is not an element, return %NULL. + - the parent of the pad. The + the parent of the pad. The caller has a reference on the parent, so unref when you're finished with it. @@ -26014,29 +41165,40 @@ MT safe. - a pad + a pad - Gets the peer of @pad. This function refs the peer pad so + Gets the peer of @pad. This function refs the peer pad so you need to unref it after use. + - the peer #GstPad. Unref after usage. + the peer #GstPad. Unref after usage. MT safe. - a #GstPad to get the peer of. + a #GstPad to get the peer of. - When @pad is flushing this function returns #GST_FLOW_FLUSHING + When @pad is flushing this function returns #GST_FLOW_FLUSHING immediately and @buffer is %NULL. Calls the getrange function of @pad, see #GstPadGetRangeFunction for a @@ -26062,55 +41224,102 @@ When this function returns any other result value than #GST_FLOW_OK, @buffer will be unchanged. This is a lowlevel function. Usually gst_pad_pull_range() is used. + - a #GstFlowReturn from the pad. + a #GstFlowReturn from the pad. MT safe. - a src #GstPad, returns #GST_FLOW_ERROR if not. + a src #GstPad, returns #GST_FLOW_ERROR if not. - The start offset of the buffer + The start offset of the buffer - The length of the buffer + The length of the buffer - a pointer to hold the #GstBuffer, + a pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if %NULL. - - Returns a new reference of the sticky event of type @event_type -from the event. + + If there is a single internal link of the given pad, this function will +return it. Otherwise, it will return NULL. + - a #GstEvent of type + a #GstPad, or %NULL if @pad has none +or more than one internal links. Unref returned pad with +gst_object_unref(). + + + + + the #GstPad to get the internal link of. + + + + + + Returns a new reference of the sticky event of type @event_type +from the event. + + + a #GstEvent of type @event_type or %NULL when no event of @event_type was on @pad. Unref after usage. - the #GstPad to get the event from. + the #GstPad to get the event from. - the #GstEventType that should be retrieved. + the #GstEventType that should be retrieved. - the index of the event + the index of the event @@ -26118,19 +41327,26 @@ from the event. - Returns the current #GstStream for the @pad, or %NULL if none has been + Returns the current #GstStream for the @pad, or %NULL if none has been set yet, i.e. the pad has not received a stream-start event yet. This is a convenience wrapper around gst_pad_get_sticky_event() and gst_event_parse_stream(). + - the current #GstStream for @pad, or %NULL. + the current #GstStream for @pad, or %NULL. unref the returned stream when no longer needed. - A source #GstPad + A source #GstPad @@ -26138,7 +41354,9 @@ gst_event_parse_stream(). - Returns the current stream-id for the @pad, or %NULL if none has been + Returns the current stream-id for the @pad, or %NULL if none has been set yet, i.e. the pad has not received a stream-start event yet. This is a convenience wrapper around gst_pad_get_sticky_event() and @@ -26146,15 +41364,20 @@ gst_event_parse_stream_start(). The returned stream-id string should be treated as an opaque string, its contents should not be interpreted. + - a newly-allocated copy of the stream-id for + a newly-allocated copy of the stream-id for @pad, or %NULL. g_free() the returned string when no longer needed. - A source #GstPad + A source #GstPad @@ -26162,148 +41385,211 @@ contents should not be interpreted. - Get @pad task state. If no task is currently + Get @pad task state. If no task is currently set, #GST_TASK_STOPPED is returned. + - The current state of @pad's task. + The current state of @pad's task. - the #GstPad to get task state from + the #GstPad to get task state from - Check if @pad has caps set on it with a #GST_EVENT_CAPS event. + Check if @pad has caps set on it with a #GST_EVENT_CAPS event. + - %TRUE when @pad has caps associated with it. + %TRUE when @pad has caps associated with it. - a #GstPad to check + a #GstPad to check - Query if a pad is active + Query if a pad is active + - %TRUE if the pad is active. + %TRUE if the pad is active. MT safe. - the #GstPad to query + the #GstPad to query - Checks if the pad is blocked or not. This function returns the + 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()). + - %TRUE if the pad is blocked. + %TRUE if the pad is blocked. MT safe. - the #GstPad to query + the #GstPad to query - Checks if the pad is blocking or not. This is a guaranteed state + 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. + - %TRUE if the pad is blocking. + %TRUE if the pad is blocking. MT safe. - the #GstPad to query + the #GstPad to query - Checks if a @pad is linked to another pad or not. + Checks if a @pad is linked to another pad or not. + - %TRUE if the pad is linked, %FALSE otherwise. + %TRUE if the pad is linked, %FALSE otherwise. MT safe. - pad to check + pad to check - Gets an iterator for the pads to which the given pad is linked to inside + 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. Free-function: gst_iterator_free + - a new #GstIterator of #GstPad + a new #GstIterator of #GstPad or %NULL when the pad does not have an iterator function configured. Use gst_iterator_free() after usage. - the GstPad to get the internal links of. + the GstPad to get the internal links of. - Iterate the list of pads to which the given pad is linked to inside of + 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(). + - a #GstIterator of #GstPad, or %NULL if @pad + a #GstIterator of #GstPad, or %NULL if @pad has no parent. Unref each returned pad with gst_object_unref(). - the #GstPad to get the internal links of. + the #GstPad to get the internal links of. - the parent of @pad or %NULL + the parent of @pad or %NULL - Links the source pad and the sink pad. + Links the source pad and the sink pad. + - A result code indicating if the connection worked or + A result code indicating if the connection worked or what went wrong. MT Safe. @@ -26311,17 +41597,23 @@ MT Safe. - the source #GstPad to link. + the source #GstPad to link. - the sink #GstPad to link. + the sink #GstPad to link. - Links the source pad and the sink pad. + 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 @@ -26330,22 +41622,31 @@ can cause severe issues. Refer to the documentation of #GstPadLinkCheck for more information. MT Safe. + - A result code indicating if the connection worked or + A result code indicating if the connection worked or what went wrong. - the source #GstPad to link. + the source #GstPad to link. - the sink #GstPad to link. + the sink #GstPad to link. - the checks to validate when linking + the checks to validate when linking @@ -26353,24 +41654,33 @@ MT Safe. - Links @src to @sink, creating any #GstGhostPad's in between as necessary. + Links @src to @sink, creating any #GstGhostPad's in between as necessary. This is a convenience function to save having to create and add intermediate #GstGhostPad's as required for linking across #GstBin boundaries. If @src or @sink pads don't have parent elements or do not share a common ancestor, the link will fail. + - whether the link succeeded. + whether the link succeeded. - a #GstPad + a #GstPad - a #GstPad + a #GstPad @@ -26378,7 +41688,9 @@ ancestor, the link will fail. - Links @src to @sink, creating any #GstGhostPad's in between as necessary. + Links @src to @sink, creating any #GstGhostPad's in between as necessary. This is a convenience function to save having to create and add intermediate #GstGhostPad's as required for linking across #GstBin boundaries. @@ -26389,111 +41701,159 @@ ancestor, the link will fail. Calling gst_pad_link_maybe_ghosting_full() with @flags == %GST_PAD_LINK_CHECK_DEFAULT is the recommended way of linking pads with safety checks applied. + - whether the link succeeded. + whether the link succeeded. - a #GstPad + a #GstPad - a #GstPad + a #GstPad - some #GstPadLinkCheck flags + some #GstPadLinkCheck flags - Mark a pad for needing reconfiguration. The next call to + Mark a pad for needing reconfiguration. The next call to gst_pad_check_reconfigure() will return %TRUE after this call. + - the #GstPad to mark + the #GstPad to mark - Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE + Check the #GST_PAD_FLAG_NEED_RECONFIGURE flag on @pad and return %TRUE if the flag was set. + - %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad. + %TRUE is the GST_PAD_FLAG_NEED_RECONFIGURE flag is set on @pad. - the #GstPad to check + the #GstPad to check - Pause the task of @pad. This function will also wait until the + 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. + - a %TRUE if the task could be paused or %FALSE when the pad + a %TRUE if the task could be paused or %FALSE when the pad has no task. - the #GstPad to pause the task of + the #GstPad to pause the task of - Performs gst_pad_query() on the peer of @pad. + Performs gst_pad_query() on the peer of @pad. The caller is responsible for both the allocation and deallocation of the query structure. + - %TRUE if the query could be performed. This function returns %FALSE + %TRUE if the query could be performed. This function returns %FALSE if @pad has no peer. - a #GstPad to invoke the peer query on. + a #GstPad to invoke the peer query on. - the #GstQuery to perform. + the #GstQuery to perform. - Check if the peer of @pad accepts @caps. If @pad has no peer, this function + 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. + %TRUE if the peer of @pad can accept the caps or @pad has no peer. - a #GstPad to check the peer of + a #GstPad to check the peer of - a #GstCaps to check on the pad + a #GstCaps to check on the pad - Gets the capabilities of the peer connected to this pad. Similar to + Gets the capabilities of the peer connected to this pad. Similar to gst_pad_query_caps(). When called on srcpads @filter contains the caps that @@ -26501,76 +41861,107 @@ upstream could produce in the order preferred by upstream. When called on sinkpads @filter contains the caps accepted by downstream in the preferred order. @filter might be %NULL but if it is not %NULL the returned caps will be a subset of @filter. + - the caps of the peer pad with incremented + the caps of the peer pad with incremented ref-count. When there is no peer pad, this function returns @filter or, when @filter is %NULL, ANY caps. - a #GstPad to get the capabilities of. + a #GstPad to get the capabilities of. - a #GstCaps filter, or %NULL. + a #GstCaps filter, or %NULL. - Queries the peer pad of a given sink pad to convert @src_val in @src_format + 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. + %TRUE if the query could be performed. - a #GstPad, on whose peer pad to invoke the convert query on. + a #GstPad, on whose peer pad to invoke the convert query on. Must be a sink pad. - a #GstFormat to convert from. + a #GstFormat to convert from. - a value to convert. + a value to convert. - the #GstFormat to convert to. + the #GstFormat to convert to. - a pointer to the result. + a pointer to the result. - Queries the peer pad of a given sink pad for the total stream duration. + Queries the peer pad of a given sink pad for the total stream duration. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstPad on whose peer pad to invoke the duration query on. + a #GstPad on whose peer pad to invoke the duration query on. Must be a sink pad. - the #GstFormat requested + the #GstFormat requested transfer-ownership="full" optional="1" allow-none="1"> - a location in which to store the total + a location in which to store the total duration, or %NULL. @@ -26587,19 +41980,28 @@ to @dest_format. - Queries the peer of a given sink pad for the stream position. + Queries the peer of a given sink pad for the stream position. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstPad on whose peer to invoke the position query on. + a #GstPad on whose peer to invoke the position query on. Must be a sink pad. - the #GstFormat requested + the #GstFormat requested transfer-ownership="full" optional="1" allow-none="1"> - a location in which to store the current + a location in which to store the current position, or %NULL. @@ -26616,51 +42020,71 @@ to @dest_format. - Checks if all internally linked pads of @pad accepts the caps in @query and + Checks if all internally linked pads of @pad accepts the caps in @query and returns the intersection of the results. This function is useful as a default accept caps query function for an element that can handle any stream format, but requires caps that are acceptable for all opposite pads. + - %TRUE if @query could be executed + %TRUE if @query could be executed - a #GstPad to proxy. + a #GstPad to proxy. - an ACCEPT_CAPS #GstQuery. + an ACCEPT_CAPS #GstQuery. - Calls gst_pad_query_caps() for all internally linked pads of @pad and returns + Calls gst_pad_query_caps() for all internally linked pads of @pad and returns the intersection of the results. This function is useful as a default caps query 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. + - %TRUE if @query could be executed + %TRUE if @query could be executed - a #GstPad to proxy. + a #GstPad to proxy. - a CAPS #GstQuery. + a CAPS #GstQuery. - Pulls a @buffer from the peer pad or fills up a provided buffer. + Pulls a @buffer from the peer pad or fills up a provided buffer. This function will first trigger the pad block signal if it was installed. @@ -26685,37 +42109,50 @@ accordingly. Note that less than @size bytes can be returned in @buffer when, for example, an EOS condition is near or when @buffer is not large enough to hold @size bytes. The caller should check the result buffer size to get the result size. + - a #GstFlowReturn from the peer pad. + a #GstFlowReturn from the peer pad. MT safe. - a sink #GstPad, returns GST_FLOW_ERROR if not. + a sink #GstPad, returns GST_FLOW_ERROR if not. - The start offset of the buffer + The start offset of the buffer - The length of the buffer + The length of the buffer - a pointer to hold the #GstBuffer, returns + a pointer to hold the #GstBuffer, returns GST_FLOW_ERROR if %NULL. - Pushes a buffer to the peer of @pad. + Pushes a buffer to the peer of @pad. This function will call installed block probes before triggering any installed data probes. @@ -26726,50 +42163,68 @@ be returned. In all cases, success or failure, the caller loses its reference to @buffer after calling this function. + - a #GstFlowReturn from the peer pad. + a #GstFlowReturn from the peer pad. MT safe. - a source #GstPad, returns #GST_FLOW_ERROR if not. + a source #GstPad, returns #GST_FLOW_ERROR if not. - the #GstBuffer to push returns GST_FLOW_ERROR + the #GstBuffer to push returns GST_FLOW_ERROR if not. - Sends the event to the peer of the given pad. This function is + 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 ownership 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. + %TRUE if the event was handled. MT safe. - a #GstPad to push the event to. + a #GstPad to push the event to. - the #GstEvent to send to the pad. + the #GstEvent to send to the pad. - Pushes a buffer list to the peer of @pad. + Pushes a buffer list to the peer of @pad. This function will call installed block probes before triggering any installed data probes. @@ -26782,26 +42237,35 @@ chained via gst_pad_chain(). In all cases, success or failure, the caller loses its reference to @list after calling this function. + - a #GstFlowReturn from the peer pad. + a #GstFlowReturn from the peer pad. MT safe. - a source #GstPad, returns #GST_FLOW_ERROR if not. + a source #GstPad, returns #GST_FLOW_ERROR if not. - the #GstBufferList to push returns GST_FLOW_ERROR + the #GstBufferList to push returns GST_FLOW_ERROR if not. - Dispatches a query to a pad. The query should have been allocated by the + 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 @@ -26811,41 +42275,59 @@ 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. + %TRUE if the query could be performed. - a #GstPad to invoke the default query on. + a #GstPad to invoke the default query on. - the #GstQuery to perform. + the #GstQuery to perform. - Check if the given pad accepts the caps. + Check if the given pad accepts the caps. + - %TRUE if the pad can accept the caps. + %TRUE if the pad can accept the caps. - a #GstPad to check + a #GstPad to check - a #GstCaps to check on the pad + a #GstCaps to check on the pad - Gets the capabilities this pad can produce or consume. + Gets the capabilities this pad can produce or consume. Note that this method doesn't necessarily return the caps set by sending a gst_event_new_caps() - use gst_pad_get_current_caps() for that instead. gst_pad_query_caps returns all possible caps a pad can operate with, using @@ -26860,97 +42342,139 @@ if it is not %NULL the returned caps will be a subset of @filter. Note that this function does not return writable #GstCaps, use gst_caps_make_writable() before modifying the caps. + - the caps of the pad with incremented ref-count. + the caps of the pad with incremented ref-count. - a #GstPad to get the capabilities of. + a #GstPad to get the capabilities of. - suggested #GstCaps, or %NULL + suggested #GstCaps, or %NULL - Queries a pad to convert @src_val in @src_format to @dest_format. + Queries a pad to convert @src_val in @src_format to @dest_format. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstPad to invoke the convert query on. + a #GstPad to invoke the convert query on. - a #GstFormat to convert from. + a #GstFormat to convert from. - a value to convert. + a value to convert. - the #GstFormat to convert to. + the #GstFormat to convert to. - a pointer to the result. + a pointer to the result. - Invokes the default query handler for the given pad. + 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 @pad, only one will be sent the query. Multi-sinkpad elements should implement custom query handlers. + - %TRUE if the query was performed successfully. + %TRUE if the query was performed successfully. - a #GstPad to call the default query handler on. + a #GstPad to call the default query handler on. - the parent of @pad or %NULL + the parent of @pad or %NULL - the #GstQuery to handle. + the #GstQuery to handle. - Queries a pad for the total stream duration. + Queries a pad for the total stream duration. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstPad to invoke the duration query on. + a #GstPad to invoke the duration query on. - the #GstFormat requested + the #GstFormat requested transfer-ownership="full" optional="1" allow-none="1"> - a location in which to store the total + a location in which to store the total duration, or %NULL. - Queries a pad for the stream position. + Queries a pad for the stream position. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - a #GstPad to invoke the position query on. + a #GstPad to invoke the position query on. - the #GstFormat requested + the #GstFormat requested transfer-ownership="full" optional="1" allow-none="1"> - A location in which to store the current position, or %NULL. + A location in which to store the current position, or %NULL. - Remove the probe with @id from @pad. + Remove the probe with @id from @pad. MT safe. + - the #GstPad with the probe + the #GstPad with the probe - the probe id to remove + the probe id to remove - Sends the event to the pad. This function can be used + 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 @@ -27030,34 +42576,46 @@ all necessary locks and checks. This function takes ownership 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. + %TRUE if the event was handled. - a #GstPad to send the event to. + a #GstPad to send the event to. - the #GstEvent to send to the pad. + the #GstEvent to send to the pad. - Sets the given activate function for @pad. The activate function will + Sets the given activate function for @pad. The activate function will dispatch to gst_pad_activate_mode() 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. + - a #GstPad. + a #GstPad. scope="notified" closure="1" destroy="2"> - the #GstPadActivateFunction to set. + the #GstPadActivateFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @activate will not be used anymore. + notify called when @activate will not be used anymore. - Sets the given activate_mode function for the pad. An activate_mode function + Sets the given activate_mode function for the pad. An activate_mode function prepares the element for data passing. + - a #GstPad. + a #GstPad. scope="notified" closure="1" destroy="2"> - the #GstPadActivateModeFunction to set. + the #GstPadActivateModeFunction to set. @@ -27106,17 +42677,23 @@ prepares the element for data passing. transfer-ownership="none" nullable="1" allow-none="1"> - user_data passed to @notify + user_data passed to @notify - notify called when @activatemode will not be used anymore. + notify called when @activatemode will not be used anymore. - Activates or deactivates the given pad. + 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 @@ -27125,33 +42702,45 @@ function to perform the actual activation. If not @active, calls gst_pad_activate_mode() with the pad's current mode and a %FALSE argument. + - %TRUE if the operation was successful. + %TRUE if the operation was successful. MT safe. - the #GstPad to activate or deactivate. + the #GstPad to activate or deactivate. - whether or not the pad should be active. + whether or not the pad should be active. - Sets the given chain function for the pad. The chain function is called to + Sets the given chain function for the pad. The chain function is called to process a #GstBuffer input buffer. see #GstPadChainFunction for more details. + - a sink #GstPad. + a sink #GstPad. - the #GstPadChainFunction to set. + the #GstPadChainFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @chain will not be used anymore. + notify called when @chain will not be used anymore. - Sets the given chain list function for the pad. The chainlist function is + 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. + - a sink #GstPad. + a sink #GstPad. - the #GstPadChainListFunction to set. + the #GstPadChainListFunction to set. @@ -27201,33 +42803,44 @@ called to process a #GstBufferList input buffer list. See transfer-ownership="none" nullable="1" allow-none="1"> - user_data passed to @notify + user_data passed to @notify - notify called when @chainlist will not be used anymore. + notify called when @chainlist will not be used anymore. - Set the given private data gpointer on the pad. + 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 #GstPad to set the private data of. + the #GstPad to set the private data of. - The private data to attach to the pad. + The private data to attach to the pad. @@ -27235,13 +42848,18 @@ No locking is performed in this function. - Sets the given event handler for the pad. + Sets the given event handler for the pad. + - a #GstPad of either direction. + a #GstPad of either direction. scope="notified" closure="1" destroy="2"> - the #GstPadEventFullFunction to set. + the #GstPadEventFullFunction to set. @@ -27257,24 +42877,33 @@ No locking is performed in this function. transfer-ownership="none" nullable="1" allow-none="1"> - user_data passed to @notify + user_data passed to @notify - notify called when @event will not be used anymore. + notify called when @event will not be used anymore. - Sets the given event handler for the pad. + Sets the given event handler for the pad. + - a #GstPad of either direction. + a #GstPad of either direction. scope="notified" closure="1" destroy="2"> - the #GstPadEventFunction to set. + the #GstPadEventFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @event will not be used anymore. + notify called when @event will not be used anymore. - Sets the given getrange function for the pad. The getrange function is + 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. + - a source #GstPad. + a source #GstPad. - the #GstPadGetRangeFunction to set. + the #GstPadGetRangeFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @get will not be used anymore. + notify called when @get will not be used anymore. - Sets the given internal link iterator function for the pad. + Sets the given internal link iterator function for the pad. + - a #GstPad of either direction. + a #GstPad of either direction. - the #GstPadIterIntLinkFunction to set. + the #GstPadIterIntLinkFunction to set. @@ -27356,18 +43009,24 @@ called to produce a new #GstBuffer to start the processing pipeline. see transfer-ownership="none" nullable="1" allow-none="1"> - user_data passed to @notify + user_data passed to @notify - notify called when @iterintlink will not be used anymore. + notify called when @iterintlink will not be used anymore. - Sets the given link function for the pad. It will be called when + 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 @@ -27378,12 +43037,15 @@ 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. + - a #GstPad. + a #GstPad. scope="notified" closure="1" destroy="2"> - the #GstPadLinkFunction to set. + the #GstPadLinkFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @link will not be used anymore. + notify called when @link will not be used anymore. - Set the offset that will be applied to the running time of @pad. + Set the offset that will be applied to the running time of @pad. + - a #GstPad + a #GstPad - the offset + the offset - Set the given query function for the pad. + Set the given query function for the pad. + - a #GstPad of either direction. + a #GstPad of either direction. scope="notified" closure="1" destroy="2"> - the #GstPadQueryFunction to set. + the #GstPadQueryFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @query will not be used anymore. + notify called when @query will not be used anymore. - Sets the given unlink function for the pad. It will be called + Sets the given unlink function for the pad. It will be called when the pad is unlinked. Note that the pad's lock is already held when the unlink function is called, so most pad functions cannot be called from within the callback. + - a #GstPad. + a #GstPad. scope="notified" closure="1" destroy="2"> - the #GstPadUnlinkFunction to set. + the #GstPadUnlinkFunction to set. - user_data passed to @notify + user_data passed to @notify - notify called when @unlink will not be used anymore. + notify called when @unlink will not be used anymore. - Starts a task that repeatedly calls @func with @user_data. This function + Starts a task that repeatedly calls @func with @user_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. + a %TRUE if the task could be started. - the #GstPad to start the task of + the #GstPad to start the task of scope="notified" closure="1" destroy="2"> - the task function to call + the task function to call - user data passed to the task function + user data passed to the task function - called when @user_data is no longer referenced + called when @user_data is no longer referenced - Iterates all sticky events on @pad and calls @foreach_func for every + Iterates all sticky events on @pad and calls @foreach_func for every event. If @foreach_func returns %FALSE the iteration is immediately stopped. + - the #GstPad that should be used for iteration. + the #GstPad that should be used for iteration. - the #GstPadStickyEventsForeachFunction that + the #GstPadStickyEventsForeachFunction that should be called for every event. @@ -27552,13 +43269,17 @@ event. If @foreach_func returns %FALSE the iteration is immediately stopped. - the optional user data. + the optional user data. - Stop the task of @pad. This function will also make sure that the + 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. @@ -27567,13 +43288,18 @@ 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. + a %TRUE if the task could be stopped or %FALSE on error. - the #GstPad to stop the task of + the #GstPad to stop the task of @@ -27581,28 +43307,42 @@ released so as to ensure that streaming through this pad has finished. - Store the sticky @event on @pad + Store the sticky @event on @pad + - #GST_FLOW_OK on success, #GST_FLOW_FLUSHING when the pad + #GST_FLOW_OK on success, #GST_FLOW_FLUSHING when the pad was flushing or #GST_FLOW_EOS when the pad was EOS. - a #GstPad + a #GstPad - a #GstEvent + a #GstEvent - Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked + Unlinks the source pad from the sink pad. Will emit the #GstPad::unlinked signal on both pads. + - %TRUE if the pads were unlinked. This function returns %FALSE if + %TRUE if the pads were unlinked. This function returns %FALSE if the pads were not linked together. MT safe. @@ -27610,29 +43350,38 @@ MT safe. - the source #GstPad to unlink. + the source #GstPad to unlink. - the sink #GstPad to unlink. + the sink #GstPad to unlink. - A helper function you can use that sets the FIXED_CAPS flag + A helper function you can use that sets the FIXED_CAPS flag This way the default CAPS query will always return the negotiated caps or in case the pad is not negotiated, the padtemplate caps. The negotiated caps are the caps of the last CAPS event that passed on the pad. Use this function on a pad that, once it negotiated to a CAPS, cannot be renegotiated to something else. + - the pad to use + the pad to use @@ -27650,7 +43399,9 @@ be renegotiated to something else. version="1.6" writable="1" transfer-ownership="none"> - The offset that will be applied to the running time of the pad. + The offset that will be applied to the running time of the pad. @@ -27660,15 +43411,21 @@ be renegotiated to something else. - private data owned by the parent element + private data owned by the parent element - padtemplate for this pad + padtemplate for this pad - the direction of the pad, cannot change after creating + the direction of the pad, cannot change after creating the pad. @@ -27795,12 +43552,14 @@ be renegotiated to something else. + - + + @@ -27811,78 +43570,110 @@ be renegotiated to something else. - Signals that a pad has been linked to the peer pad. + Signals that a pad has been linked to the peer pad. - the peer pad that has been connected + the peer pad that has been connected - Signals that a pad has been unlinked from the peer pad. + Signals that a pad has been unlinked from the peer pad. - the peer pad that has been disconnected + the peer pad that has been disconnected - This function is called when the pad is activated during the element + 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. + %TRUE if the pad could be activated. - a #GstPad + a #GstPad - the parent of @pad + the parent of @pad - The prototype of the push and pull activate functions. + The prototype of the push and pull activate functions. + - %TRUE if the pad could be activated or deactivated. + %TRUE if the pad could be activated or deactivated. - a #GstPad + a #GstPad - the parent of @pad + the parent of @pad - the requested activation mode of @pad + the requested activation mode of @pad - activate or deactivate the pad. + activate or deactivate the pad. - A function that will be called on sinkpads when chaining buffers. + 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). @@ -27891,32 +43682,43 @@ 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 + #GST_FLOW_OK for success - the sink #GstPad that performed the chain. + the sink #GstPad that performed the chain. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the #GstBuffer that is chained, not %NULL. + the #GstBuffer that is chained, not %NULL. - A function that will be called on sinkpads when chaining buffer lists. + 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). @@ -27925,26 +43727,35 @@ 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 + #GST_FLOW_OK for success - the sink #GstPad that performed the chain. + the sink #GstPad that performed the chain. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the #GstBufferList that is chained, not %NULL. + the #GstBufferList that is chained, not %NULL. @@ -27952,11 +43763,13 @@ post an error on the bus and return an appropriate #GstFlowReturn value. + + @@ -27972,6 +43785,7 @@ post an error on the bus and return an appropriate #GstFlowReturn value. + @@ -27986,7 +43800,7 @@ post an error on the bus and return an appropriate #GstFlowReturn value. - + @@ -27995,78 +43809,108 @@ post an error on the bus and return an appropriate #GstFlowReturn value. glib:type-name="GstPadDirection" glib:get-type="gst_pad_direction_get_type" c:type="GstPadDirection"> - The direction of a pad. + The direction of a pad. - direction is unknown. + direction is unknown. - the pad is a source pad. + the pad is a source pad. - the pad is a sink pad. + the pad is a sink pad. - Function signature to handle an event for the pad. + Function signature to handle an event for the pad. This variant is for specific elements that will take into account the last downstream flow return (from a pad push), in which case they can return it. + - %GST_FLOW_OK if the event was handled properly, or any other + %GST_FLOW_OK if the event was handled properly, or any other #GstFlowReturn dependent on downstream state. - the #GstPad to handle the event. + the #GstPad to handle the event. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the #GstEvent to handle. + the #GstEvent to handle. - Function signature to handle an event for the pad. + Function signature to handle an event for the pad. + - %TRUE if the pad could handle the event. + %TRUE if the pad could handle the event. - the #GstPad to handle the event. + the #GstPad to handle the event. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the #GstEvent to handle. + the #GstEvent to handle. @@ -28075,43 +43919,57 @@ return it. glib:type-name="GstPadFlags" glib:get-type="gst_pad_flags_get_type" c:type="GstPadFlags"> - Pad state flags + Pad state flags - is dataflow on a pad blocked + is dataflow on a pad blocked - is pad flushing + is pad flushing - is pad in EOS state + is pad in EOS state - is pad currently blocking on a buffer or event + is pad currently blocking on a buffer or event - ensure that there is a parent object before calling + ensure that there is a parent object before calling into the pad callbacks. - the pad should be reconfigured/renegotiated. + the pad should be reconfigured/renegotiated. The flag has to be unset manually after reconfiguration happened. @@ -28119,13 +43977,17 @@ return it. value="1024" c:identifier="GST_PAD_FLAG_PENDING_EVENTS" glib:nick="pending-events"> - the pad has pending events + the pad has pending events - the pad is using fixed caps. This means that + the pad is using fixed caps. This means that once the caps are set on the pad, the default caps query function will only return those caps. @@ -28133,7 +43995,9 @@ return it. value="4096" c:identifier="GST_PAD_FLAG_PROXY_CAPS" glib:nick="proxy-caps"> - the default event and query handler will forward + the default event and query handler will forward all events and queries to the internally linked pads instead of discarding them. @@ -28141,7 +44005,9 @@ return it. value="8192" c:identifier="GST_PAD_FLAG_PROXY_ALLOCATION" glib:nick="proxy-allocation"> - the default query handler will forward + the default query handler will forward allocation queries to the internally linked pads instead of discarding them. @@ -28149,7 +44015,9 @@ return it. value="16384" c:identifier="GST_PAD_FLAG_PROXY_SCHEDULING" glib:nick="proxy-scheduling"> - the default query handler will forward + the default query handler will forward scheduling queries to the internally linked pads instead of discarding them. @@ -28157,7 +44025,9 @@ return it. value="32768" c:identifier="GST_PAD_FLAG_ACCEPT_INTERSECT" glib:nick="accept-intersect"> - the default accept-caps handler will check + the default accept-caps handler will check it the caps intersect the query-caps result instead of checking for a subset. This is interesting for parsers that can accept incompletely specified caps. @@ -28166,28 +44036,39 @@ return it. value="65536" c:identifier="GST_PAD_FLAG_ACCEPT_TEMPLATE" glib:nick="accept-template"> - the default accept-caps handler will use + the default accept-caps handler will use the template pad caps instead of query caps to compare with the accept caps. Use this in combination - with %GST_PAD_FLAG_ACCEPT_INTERSECT. (Since 1.6) + with %GST_PAD_FLAG_ACCEPT_INTERSECT. (Since: 1.6) - offset to define more flags + offset to define more flags - A forward function is called for all internally linked pads, see + A forward function is called for all internally linked pads, see gst_pad_forward(). + - %TRUE if the dispatching procedure has to be stopped. + %TRUE if the dispatching procedure has to be stopped. - the #GstPad that is forwarded. + the #GstPad that is forwarded. nullable="1" allow-none="1" closure="1"> - the gpointer to optional user data. + the gpointer to optional user data. - This function will be called on source pads when a peer element + 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. @@ -28234,43 +44119,61 @@ 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. + - #GST_FLOW_OK for success and a valid buffer in @buffer. Any other + #GST_FLOW_OK for success and a valid buffer in @buffer. Any other return value leaves @buffer undefined. - the src #GstPad to perform the getrange on. + the src #GstPad to perform the getrange on. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the offset of the range + the offset of the range - the length of the range + the length of the range - a memory location to hold the result buffer, cannot be %NULL. + a memory location to hold the result buffer, cannot be %NULL. - The signature of the internal pad link iterator function. + The signature of the internal pad link iterator function. + - a new #GstIterator that will iterate over all pads that are + a new #GstIterator that will iterate over all pads that are linked to the given pad on the inside of the parent element. the caller must call gst_iterator_free() after usage. @@ -28278,14 +44181,18 @@ the caller must call gst_iterator_free() after usage. - The #GstPad to query. + The #GstPad to query. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. @@ -28296,7 +44203,9 @@ the caller must call gst_iterator_free() after usage. glib:type-name="GstPadLinkCheck" glib:get-type="gst_pad_link_check_get_type" c:type="GstPadLinkCheck"> - The amount of checking to be done when linking pads. @GST_PAD_LINK_CHECK_CAPS + 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. @@ -28308,13 +44217,17 @@ specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. value="0" c:identifier="GST_PAD_LINK_CHECK_NOTHING" glib:nick="nothing"> - Don't check hierarchy or caps compatibility. + Don't check hierarchy or caps compatibility. - Check the pads have same parents/grandparents. + Check the pads have same parents/grandparents. Could be omitted if it is already known that the two elements that own the pads are in the same bin. @@ -28322,7 +44235,9 @@ specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. value="2" c:identifier="GST_PAD_LINK_CHECK_TEMPLATE_CAPS" glib:nick="template-caps"> - Check if the pads are compatible by using + Check if the pads are compatible by using their template caps. This is much faster than @GST_PAD_LINK_CHECK_CAPS, but would be unsafe e.g. if one pad has %GST_CAPS_ANY. @@ -28330,46 +44245,63 @@ specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. value="4" c:identifier="GST_PAD_LINK_CHECK_CAPS" glib:nick="caps"> - Check if the pads are compatible by comparing the + Check if the pads are compatible by comparing the caps returned by gst_pad_query_caps(). - Disables pushing a reconfigure event when pads are + Disables pushing a reconfigure event when pads are linked. - The default checks done when linking + The default checks done when linking pads (i.e. the ones used by gst_pad_link()). - Function signature to handle a new link on the pad. + Function signature to handle a new link on the pad. + - the result of the link with the specified peer. + the result of the link with the specified peer. - the #GstPad that is linked. + the #GstPad that is linked. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the peer #GstPad of the link + the peer #GstPad of the link @@ -28378,84 +44310,115 @@ specified, expensive but safe @GST_PAD_LINK_CHECK_CAPS are performed. glib:type-name="GstPadLinkReturn" glib:get-type="gst_pad_link_return_get_type" c:type="GstPadLinkReturn"> - Result values from gst_pad_link and friends. + Result values from gst_pad_link and friends. - link succeeded + link succeeded - pads have no common grandparent + pads have no common grandparent - pad was already linked + pad was already linked - pads have wrong direction + pads have wrong direction - pads do not have common format + pads do not have common format - pads cannot cooperate in scheduling + pads cannot cooperate in scheduling - refused for some reason + refused for some reason - The status of a GstPad. After activating a pad, which usually happens when the + The status of a GstPad. After activating a pad, which usually happens when the parent element goes from READY to PAUSED, the GstPadMode defines if the pad operates in push or pull mode. - Pad will not handle dataflow + Pad will not handle dataflow - Pad handles dataflow in downstream push mode + Pad handles dataflow in downstream push mode - Pad handles dataflow in upstream pull mode + Pad handles dataflow in upstream pull mode - Return the name of a pad mode, for use in debug messages mostly. + Return the name of a pad mode, for use in debug messages mostly. + - short mnemonic for pad mode @mode + short mnemonic for pad mode @mode - the pad mode + the pad mode @@ -28465,45 +44428,63 @@ pad operates in push or pull mode. glib:type-name="GstPadPresence" glib:get-type="gst_pad_presence_get_type" c:type="GstPadPresence"> - Indicates when this pad will become available. + Indicates when this pad will become available. - the pad is always available + the pad is always available - the pad will become available depending on the media stream + the pad will become available depending on the media stream - the pad is only available on request with + the pad is only available on request with gst_element_request_pad(). + - Callback used by gst_pad_add_probe(). Gets called to notify about the current + Callback used by gst_pad_add_probe(). Gets called to notify about the current blocking type. The callback is allowed to modify the data pointer in @info. + - a #GstPadProbeReturn + a #GstPadProbeReturn - the #GstPad that is blocked + the #GstPad that is blocked - #GstPadProbeInfo + #GstPadProbeInfo nullable="1" allow-none="1" closure="2"> - the gpointer to optional user data. + the gpointer to optional user data. - Info passed in the #GstPadProbeCallback. + Info passed in the #GstPadProbeCallback. + - the current probe type + the current probe type - the id of the probe + the id of the probe - type specific data, check the @type field to know the + type specific data, check the @type field to know the datatype. This field can be %NULL. - offset of pull probe, this field is valid when @type contains + offset of pull probe, this field is valid when @type contains #GST_PAD_PROBE_TYPE_PULL - size of pull probe, this field is valid when @type contains + size of pull probe, this field is valid when @type contains #GST_PAD_PROBE_TYPE_PULL + - + + + - The #GstBuffer from the probe + The #GstBuffer from the probe - a #GstPadProbeInfo + a #GstPadProbeInfo + - The #GstBufferList from the probe + The #GstBufferList from the probe - a #GstPadProbeInfo + a #GstPadProbeInfo + - The #GstEvent from the probe + The #GstEvent from the probe - a #GstPadProbeInfo + a #GstPadProbeInfo + - The #GstQuery from the probe + The #GstQuery from the probe - a #GstPadProbeInfo + a #GstPadProbeInfo @@ -28607,12 +44625,16 @@ The callback is allowed to modify the data pointer in @info. glib:type-name="GstPadProbeReturn" glib:get-type="gst_pad_probe_return_get_type" c:type="GstPadProbeReturn"> - Different return values for the #GstPadProbeCallback. + Different return values for the #GstPadProbeCallback. - drop data in data probes. For push mode this means that + drop data in data probes. For push mode this means that the data item is not sent downstream. For pull mode, it means that the data item is not passed upstream. In both cases, no other probes are called for this item and %GST_FLOW_OK or %TRUE is returned to the @@ -28622,7 +44644,9 @@ The callback is allowed to modify the data pointer in @info. value="1" c:identifier="GST_PAD_PROBE_OK" glib:nick="ok"> - normal probe return value. This leaves the probe in + normal probe return value. This leaves the probe in place, and defers decisions about dropping or passing data to other probes, if any. If there are no other probes, the default behaviour for the probe type applies ('block' for blocking probes, @@ -28632,20 +44656,26 @@ The callback is allowed to modify the data pointer in @info. value="2" c:identifier="GST_PAD_PROBE_REMOVE" glib:nick="remove"> - remove this probe. + remove this probe. - pass the data item in the block probe and block on the + pass the data item in the block probe and block on the next item. - Data has been handled in the probe and will not be + Data has been handled in the probe and will not be forwarded further. For events and buffers this is the same behaviour as %GST_PAD_PROBE_DROP (except that in this case you need to unref the buffer or event yourself). For queries it will also return %TRUE to the caller. @@ -28659,56 +44689,74 @@ The callback is allowed to modify the data pointer in @info. glib:type-name="GstPadProbeType" glib:get-type="gst_pad_probe_type_get_type" c:type="GstPadProbeType"> - The different probing types that can occur. When either one of + The different probing types that can occur. When either one of @GST_PAD_PROBE_TYPE_IDLE or @GST_PAD_PROBE_TYPE_BLOCK is used, the probe will be a blocking probe. - invalid probe type + invalid probe type - probe idle pads and block while the callback is called + probe idle pads and block while the callback is called - probe and block pads + probe and block pads - probe buffers + probe buffers - probe buffer lists + probe buffer lists - probe downstream events + probe downstream events - probe upstream events + probe upstream events - probe flush events. This probe has to be + probe flush events. This probe has to be explicitly enabled and is not included in the @@GST_PAD_PROBE_TYPE_EVENT_DOWNSTREAM or @@GST_PAD_PROBE_TYPE_EVENT_UPSTREAM probe types. @@ -28717,116 +44765,157 @@ blocking probe. value="512" c:identifier="GST_PAD_PROBE_TYPE_QUERY_DOWNSTREAM" glib:nick="query-downstream"> - probe downstream queries + probe downstream queries - probe upstream queries + probe upstream queries - probe push + probe push - probe pull + probe pull - probe and block at the next opportunity, at data flow or when idle + probe and block at the next opportunity, at data flow or when idle - probe downstream data (buffers, buffer lists, and events) + probe downstream data (buffers, buffer lists, and events) - probe upstream data (events) + probe upstream data (events) - probe upstream and downstream data (buffers, buffer lists, and events) + probe upstream and downstream data (buffers, buffer lists, and events) - probe and block downstream data (buffers, buffer lists, and events) + probe and block downstream data (buffers, buffer lists, and events) - probe and block upstream data (events) + probe and block upstream data (events) - probe upstream and downstream events + probe upstream and downstream events - probe upstream and downstream queries + probe upstream and downstream queries - probe upstream events and queries and downstream buffers, buffer lists, events and queries + probe upstream events and queries and downstream buffers, buffer lists, events and queries - probe push and pull + probe push and pull - The signature of the query function. + The signature of the query function. + - %TRUE if the query could be performed. + %TRUE if the query could be performed. - the #GstPad to query. + the #GstPad to query. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. - the #GstQuery object to execute + the #GstQuery object to execute - Callback used by gst_pad_sticky_events_foreach(). + Callback used by gst_pad_sticky_events_foreach(). When this function returns %TRUE, the next event will be returned. When %FALSE is returned, gst_pad_sticky_events_foreach() will return. @@ -28835,20 +44924,27 @@ When @event is set to %NULL, the item will be removed from the list of sticky ev @event can be replaced by assigning a new reference to it. This function is responsible for unreffing the old event when removing or modifying. + - %TRUE if the iteration should continue + %TRUE if the iteration should continue - the #GstPad. + the #GstPad. - a sticky #GstEvent. + a sticky #GstEvent. nullable="1" allow-none="1" closure="2"> - the #gpointer to optional user data. + the #gpointer to optional user data. @@ -28868,7 +44966,9 @@ removing or modifying. glib:type-name="GstPadTemplate" glib:get-type="gst_pad_template_get_type" glib:type-struct="PadTemplateClass"> - Padtemplates describe the possible media types a pad or an elementfactory can + Padtemplates describe the possible media types a pad or an elementfactory can handle. This allows for both inspection of handled types before loading the element plugin as well as identifying pads on elements that are not yet created (request or sometimes pads). @@ -28928,28 +45028,42 @@ element class, this is usually done in the class_init of the class: gst_element_class_add_static_pad_template (gstelement_class, &amp;my_template); } ]| + - Creates a new pad template with a name according to the given template + Creates a new pad template with a name according to the given template and with the given arguments. + - a new #GstPadTemplate. + a new #GstPadTemplate. - the name template. + the name template. - the #GstPadDirection of the template. + the #GstPadDirection of the template. - the #GstPadPresence of the pad. + the #GstPadPresence of the pad. - a #GstCaps set for the template. + a #GstCaps set for the template. @@ -28957,18 +45071,27 @@ and with the given arguments. - Converts a #GstStaticPadTemplate into a #GstPadTemplate with a type. + Converts a #GstStaticPadTemplate into a #GstPadTemplate with a type. + - a new #GstPadTemplate. + a new #GstPadTemplate. - the static pad template + the static pad template - The #GType of the pad to create + The #GType of the pad to create @@ -28976,93 +45099,184 @@ and with the given arguments. - Creates a new pad template with a name according to the given template + Creates a new pad template with a name according to the given template and with the given arguments. + - a new #GstPadTemplate. + a new #GstPadTemplate. - the name template. + the name template. - the #GstPadDirection of the template. + the #GstPadDirection of the template. - the #GstPadPresence of the pad. + the #GstPadPresence of the pad. - a #GstCaps set for the template. + a #GstCaps set for the template. - The #GType of the pad to create + The #GType of the pad to create - Emit the pad-created signal for this template when created by this pad. + Emit the pad-created signal for this template when created by this pad. + - a #GstPadTemplate that has been created + a #GstPadTemplate that has been created - the #GstPad that created it + the #GstPad that created it - Gets the capabilities of the pad template. + Gets the capabilities of the pad template. + - the #GstCaps of the pad template. + the #GstCaps of the pad template. Unref after usage. - a #GstPadTemplate to get capabilities of. + a #GstPadTemplate to get capabilities of. + + + + + + See gst_pad_template_set_documentation_caps(). + + + The caps to document. For convenience, this will return + gst_pad_template_get_caps() when no documentation caps were set. + + + + + the pad template to get documented capabilities on - Emit the pad-created signal for this template when created by this pad. + Emit the pad-created signal for this template when created by this pad. + - a #GstPadTemplate that has been created + a #GstPadTemplate that has been created - the #GstPad that created it + the #GstPad that created it + + Certain elements will dynamically construct the caps of their +pad templates. In order not to let environment-specific information +into the documentation, element authors should use this method to +expose "stable" caps to the reader. + + + + + + + the pad template to set documented capabilities on + + + + the documented capabilities + + + + - The capabilities of the pad described by the pad template. + The capabilities of the pad described by the pad template. - The direction of the pad described by the pad template. + The direction of the pad described by the pad template. writable="1" construct-only="1" transfer-ownership="none"> - The type of the pad described by the pad template. + The type of the pad described by the pad template. - The name template of the pad template. + The name template of the pad template. - When the pad described by the pad template will become available. + When the pad described by the pad template will become available. @@ -29103,25 +45323,34 @@ Unref after usage. + - + + + + + - This signal is fired when an element creates a pad from this template. + This signal is fired when an element creates a pad from this template. - the pad that was created. + the pad that was created. @@ -29130,28 +45359,34 @@ Unref after usage. + + - a #GstPadTemplate that has been created + a #GstPadTemplate that has been created - the #GstPad that created it + the #GstPad that created it - + @@ -29160,32 +45395,43 @@ Unref after usage. glib:type-name="GstPadTemplateFlags" glib:get-type="gst_pad_template_flags_get_type" c:type="GstPadTemplateFlags"> - Flags for the padtemplate + Flags for the padtemplate - first flag that can be used by subclasses. + first flag that can be used by subclasses. - Function signature to handle a unlinking the pad prom its peer. + Function signature to handle a unlinking the pad prom its peer. The pad's lock is already held when the unlink function is called, so most pad functions cannot be called from within the callback. + - the #GstPad that is linked. + the #GstPad that is linked. - the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT + the parent of @pad. If the #GST_PAD_FLAG_NEED_PARENT flag is set, @parent is guaranteed to be not-%NULL and remain valid during the execution of this function. @@ -29198,6 +45444,10 @@ pad functions cannot be called from within the callback. glib:type-name="GstParamArray" glib:get-type="gst_param_spec_array_get_type" glib:fundamental="1"> + A fundamental type that describes a #GParamSpec for arrays of +values glib:type-name="GstParamFraction" glib:get-type="gst_param_spec_fraction_get_type" glib:fundamental="1"> + A fundamental type that describes a #GParamSpec for fractional +properties - A GParamSpec derived structure for arrays of values. + A GParamSpec derived structure for arrays of values. + - super class + super class - the #GParamSpec of the type of values in the array + the #GParamSpec of the type of values in the array - A GParamSpec derived structure that contains the meta data for fractional + A GParamSpec derived structure that contains the meta data for fractional properties. + - super class + super class - minimal numerator + minimal numerator - minimal denominator + minimal denominator - maximal numerator + maximal numerator - maximal denominator + maximal denominator - default numerator + default numerator - default denominator + default denominator - The #GstParentBufferMeta is a #GstMeta which can be attached to a #GstBuffer + The #GstParentBufferMeta is a #GstMeta which can be attached to a #GstBuffer to hold a reference to another buffer that is only released when the child #GstBuffer is released. @@ -29258,20 +45538,30 @@ Typically, #GstParentBufferMeta is used when the child buffer is directly using the #GstMemory of the parent buffer, and wants to prevent the parent buffer from being returned to a buffer pool until the #GstMemory is available for re-use. + - the parent #GstMeta structure + the parent #GstMeta structure - the #GstBuffer on which a reference is being held. + the #GstBuffer on which a reference is being held. - Get the global #GstMetaInfo describing the #GstParentBufferMeta meta. + Get the global #GstMetaInfo describing the #GstParentBufferMeta meta. + - The #GstMetaInfo + The #GstMetaInfo @@ -29281,50 +45571,75 @@ for re-use. glib:type-name="GstParseContext" glib:get-type="gst_parse_context_get_type" c:symbol-prefix="parse_context"> - Opaque structure. + Opaque structure. + - Allocates a parse context for use with gst_parse_launch_full() or + Allocates a parse context for use with gst_parse_launch_full() or gst_parse_launchv_full(). Free-function: gst_parse_context_free + - a newly-allocated parse context. Free + a newly-allocated parse context. Free with gst_parse_context_free() when no longer needed. - Copies the @context. + Copies the @context. + - A copied #GstParseContext + A copied #GstParseContext - a #GstParseContext + a #GstParseContext - Frees a parse context previously allocated with gst_parse_context_new(). + Frees a parse context previously allocated with gst_parse_context_new(). + - a #GstParseContext + a #GstParseContext - Retrieve missing elements from a previous run of gst_parse_launch_full() + 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. + - a + a %NULL-terminated array of element factory name strings of missing elements. Free with g_strfreev() when no longer needed. @@ -29333,7 +45648,9 @@ of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. - a #GstParseContext + a #GstParseContext @@ -29344,59 +45661,81 @@ of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. glib:get-type="gst_parse_error_get_type" c:type="GstParseError" glib:error-domain="gst_parse_error"> - The different parsing errors that can occur. + The different parsing errors that can occur. - A syntax error occurred. + A syntax error occurred. - The description contained an unknown element + The description contained an unknown element - An element did not have a specified property + An element did not have a specified property - There was an error linking two pads. + There was an error linking two pads. - There was an error setting a property + There was an error setting a property - An empty bin was specified. + An empty bin was specified. - An empty description was specified + An empty description was specified - A delayed link did not get resolved. + A delayed link did not get resolved. - Get the error quark used by the parsing subsystem. + Get the error quark used by the parsing subsystem. - the quark of the parse errors. + the quark of the parse errors. @@ -29405,18 +45744,24 @@ of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. glib:type-name="GstParseFlags" glib:get-type="gst_parse_flags_get_type" c:type="GstParseFlags"> - Parsing options. + Parsing options. - Do not use any special parsing options. + Do not use any special parsing options. - Always return %NULL when an error occurs + Always return %NULL when an error occurs (default behaviour is to return partially constructed bins or elements in some cases) @@ -29424,16 +45769,20 @@ of %GST_PARSE_ERROR_NO_SUCH_ELEMENT was returned. value="2" c:identifier="GST_PARSE_FLAG_NO_SINGLE_ELEMENT_BINS" glib:nick="no-single-element-bins"> - If a bin only has a single element, + If a bin only has a single element, just return the element. - If more than one toplevel element is described + If more than one toplevel element is described by the pipeline description string, put them in a #GstBin instead of a - #GstPipeline. (Since 1.10) + #GstPipeline. (Since: 1.10) glib:type-name="GstPipeline" glib:get-type="gst_pipeline_get_type" glib:type-struct="PipelineClass"> - A #GstPipeline is a special #GstBin used as the toplevel container for + A #GstPipeline is a special #GstBin used as the toplevel container for the filter graph. The #GstPipeline will manage the selection and distribution of a global #GstClock as well as provide a #GstBus to the application. @@ -29488,11 +45839,17 @@ to PLAYING again. The effect is that the running time (as the difference between the clock time and the base time) will count how much time was spent in the PLAYING state. This default behaviour can be changed with the gst_element_set_start_time() method. + - Create a new pipeline with the given name. + Create a new pipeline with the given name. + - newly created GstPipeline + newly created GstPipeline MT safe. @@ -29502,13 +45859,17 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - name of new pipeline + name of new pipeline - Let @pipeline select a clock automatically. This is the default + Let @pipeline select a clock automatically. This is the default behaviour. Use this function if you previous forced a fixed clock with @@ -29516,22 +45877,30 @@ gst_pipeline_use_clock() and want to restore the default pipeline clock selection algorithm. MT safe. + - a #GstPipeline + a #GstPipeline - Check if @pipeline will automatically flush messages when going to + Check if @pipeline will automatically flush messages when going to the NULL state. + - whether the pipeline will automatically flush its bus when + whether the pipeline will automatically flush its bus when going from READY to NULL state or not. MT safe. @@ -29539,23 +45908,32 @@ MT safe. - a #GstPipeline + a #GstPipeline - Gets the #GstBus of @pipeline. The bus allows applications to receive + Gets the #GstBus of @pipeline. The bus allows applications to receive #GstMessage packets. + - a #GstBus, unref after usage. + a #GstBus, unref after usage. MT safe. - a #GstPipeline + a #GstPipeline @@ -29563,34 +45941,48 @@ MT safe. - Gets the current clock used by @pipeline. Users of object + Gets the current clock used by @pipeline. Users of object oriented languages should use gst_pipeline_get_pipeline_clock() to avoid confusion with gst_element_get_clock() which has a different behavior. Unlike gst_element_get_clock(), this function will always return a clock, even if the pipeline is not in the PLAYING state. + - a #GstClock, unref after usage. + a #GstClock, unref after usage. - a #GstPipeline + a #GstPipeline - Get the configured delay (see gst_pipeline_set_delay()). + Get the configured delay (see gst_pipeline_set_delay()). + - The configured delay. + The configured delay. MT safe. - a #GstPipeline + a #GstPipeline @@ -29598,15 +45990,22 @@ MT safe. - Gets the latency that should be configured on the pipeline. See + Gets the latency that should be configured on the pipeline. See gst_pipeline_set_latency(). + - Latency to configure on the pipeline or GST_CLOCK_TIME_NONE + Latency to configure on the pipeline or GST_CLOCK_TIME_NONE - a #GstPipeline + a #GstPipeline @@ -29614,24 +46013,33 @@ gst_pipeline_set_latency(). - Gets the current clock used by @pipeline. + Gets the current clock used by @pipeline. Unlike gst_element_get_clock(), this function will always return a clock, even if the pipeline is not in the PLAYING state. + - a #GstClock, unref after usage. + a #GstClock, unref after usage. - a #GstPipeline + a #GstPipeline - Usually, when a pipeline goes from READY to NULL state, it automatically + 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. @@ -29645,16 +46053,21 @@ 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. + - a #GstPipeline + a #GstPipeline - whether or not to automatically flush the bus when + whether or not to automatically flush the bus when the pipeline goes from READY to NULL state @@ -29663,10 +46076,15 @@ the pipeline goes from READY to NULL state - Set the clock for @pipeline. The clock will be distributed + Set the clock for @pipeline. The clock will be distributed to all the elements managed by the pipeline. + - %TRUE if the clock could be set on the pipeline. %FALSE if + %TRUE if the clock could be set on the pipeline. %FALSE if some element did not accept the clock. MT safe. @@ -29674,17 +46092,23 @@ MT safe. - a #GstPipeline + a #GstPipeline - the clock to set + the clock to set - Set the expected delay needed for all elements to perform the + 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 @@ -29694,16 +46118,21 @@ This option is used for tuning purposes and should normally not be used. MT safe. + - a #GstPipeline + a #GstPipeline - the delay + the delay @@ -29711,29 +46140,38 @@ MT safe. - Sets the latency that should be configured on the pipeline. Setting + Sets the latency that should be configured on the pipeline. Setting GST_CLOCK_TIME_NONE will restore the default behaviour of using the minimum latency from the LATENCY query. Setting this is usually not required and the pipeline will figure out an appropriate latency automatically. Setting a too low latency, especially lower than the minimum latency from the LATENCY query, will most likely cause the pipeline to fail. + - a #GstPipeline + a #GstPipeline - latency to configure + latency to configure - Force @pipeline to use the given @clock. The pipeline will + 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. @@ -29741,31 +46179,40 @@ If @clock is %NULL all clocking will be disabled which will make the pipeline run as fast as possible. MT safe. + - a #GstPipeline + a #GstPipeline - the clock to use + the clock to use - Whether or not to automatically flush all messages on the + 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. - The expected delay needed for elements to spin up to the + The expected delay needed for elements to spin up to the PLAYING state expressed in nanoseconds. see gst_pipeline_set_delay() for more information on this option. @@ -29774,26 +46221,34 @@ see gst_pipeline_set_delay() for more information on this option. version="1.6" writable="1" transfer-ownership="none"> - Latency to configure on the pipeline. See gst_pipeline_set_latency(). + Latency to configure on the pipeline. See gst_pipeline_set_latency(). - The fixed clock of the pipeline, used when + The fixed clock of the pipeline, used when GST_PIPELINE_FLAG_FIXED_CLOCK is set. - The stream time of the pipeline. A better name for this + The stream time of the pipeline. A better name for this property would be the running_time, the total time spent in the PLAYING state without being flushed. (deprecated, use the start_time on GstElement). - Extra delay added to base_time to compensate for computing delays + Extra delay added to base_time to compensate for computing delays when setting elements to PLAYING. @@ -29801,7 +46256,7 @@ see gst_pipeline_set_delay() for more information on this option. - + @@ -29809,11 +46264,12 @@ see gst_pipeline_set_delay() for more information on this option. + - + @@ -29822,21 +46278,28 @@ see gst_pipeline_set_delay() for more information on this option. glib:type-name="GstPipelineFlags" glib:get-type="gst_pipeline_flags_get_type" c:type="GstPipelineFlags"> - Pipeline flags + Pipeline flags - this pipeline works with a fixed clock + this pipeline works with a fixed clock - offset to define more flags + offset to define more flags + glib:type-name="GstPlugin" glib:get-type="gst_plugin_get_type" glib:type-struct="PluginClass"> - GStreamer is extensible, so #GstElement instances can be loaded at runtime. -A plugin system can provide one or more of the basic -<application>GStreamer</application> #GstPluginFeature subclasses. + GStreamer is extensible, so #GstElement instances can be loaded at runtime. +A plugin system can provide one or more of the basic GStreamer +#GstPluginFeature subclasses. -A plugin should export a symbol <symbol>gst_plugin_desc</symbol> that is a +A plugin should export a symbol `gst_plugin_desc` that is a struct of type #GstPluginDesc. the plugin loader will check the version of the core library the plugin was linked against and will create a new #GstPlugin. It will then call the #GstPluginInitFunc function that was provided in the -<symbol>gst_plugin_desc</symbol>. +`gst_plugin_desc`. Once you have a handle to a #GstPlugin (e.g. from the #GstRegistry), you can add any object that subclasses #GstPluginFeature. @@ -29864,14 +46329,20 @@ gst_plugin_load() explicitly to bring it into memory. There are options to statically link plugins to an app or even use GStreamer without a plugin repository in which case gst_plugin_load() can be needed to bring the plugin into memory. + - Unrefs each member of @list, then frees the list. + Unrefs each member of @list, then frees the list. + - list of #GstPlugin + list of #GstPlugin @@ -29879,15 +46350,22 @@ into memory. - Load the named plugin. Refs the plugin. + Load the named plugin. Refs the plugin. + - a reference to a loaded plugin, or + a reference to a loaded plugin, or %NULL on error. - name of plugin to load + name of plugin to load @@ -29895,82 +46373,116 @@ into memory. - Loads the given plugin and refs it. Caller needs to unref after use. + Loads the given plugin and refs it. Caller needs to unref after use. + - a reference to the existing loaded GstPlugin, a + a reference to the existing loaded GstPlugin, a reference to the newly-loaded GstPlugin, or %NULL if an error occurred. - the plugin filename to load + the plugin filename to load - Registers a static plugin, ie. a plugin which is private to an application + 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. + %TRUE if the plugin was registered correctly, otherwise %FALSE. - the major version number of the GStreamer core that the + 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 + 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 + 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 + description of the plugin - pointer to the init function of this plugin. + pointer to the init function of this plugin. - version string of the plugin + version string of the plugin - effective license of plugin. Must be one of the approved licenses + 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 + source module plugin belongs to - shipped package plugin belongs to + shipped package plugin belongs to - URL to provider of plugin + URL to provider of plugin - Registers a static plugin, ie. a plugin which is private to an application + 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 @@ -29978,71 +46490,98 @@ 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. + %TRUE if the plugin was registered correctly, otherwise %FALSE. - the major version number of the GStreamer core that the + 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 + 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 + 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 + description of the plugin - pointer to the init function with user data + pointer to the init function with user data of this plugin. - version string of the plugin + version string of the plugin - effective license of plugin. Must be one of the approved licenses + 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 + source module plugin belongs to - shipped package plugin belongs to + shipped package plugin belongs to - URL to provider of plugin + URL to provider of plugin - gpointer to user data + gpointer to user data - Make GStreamer aware of external dependencies which affect the feature + 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 @@ -30051,19 +46590,24 @@ 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. + - a #GstPlugin + a #GstPlugin - %NULL-terminated array of environment variables affecting the + %NULL-terminated array of environment 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 @@ -30077,7 +46621,9 @@ codec libraries are currently installed. transfer-ownership="none" nullable="1" allow-none="1"> - %NULL-terminated array of directories/paths where dependent files + %NULL-terminated array of directories/paths where dependent files may be, or %NULL. @@ -30087,7 +46633,9 @@ codec libraries are currently installed. transfer-ownership="none" nullable="1" allow-none="1"> - %NULL-terminated array of file names (or file name suffixes, + %NULL-terminated array of file names (or file name suffixes, depending on @flags) to be used in combination with the paths from @paths and/or the paths extracted from the environment variables in @env_vars, or %NULL. @@ -30096,7 +46644,9 @@ codec libraries are currently installed. - optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE + optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE @@ -30104,7 +46654,9 @@ codec libraries are currently installed. - Make GStreamer aware of external dependencies which affect the feature + 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 @@ -30117,19 +46669,24 @@ 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). + - the #GstPlugin + the #GstPlugin - one or more environment variables (separated by ':', ';' or ','), + one or more environment 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" @@ -30139,7 +46696,9 @@ arguments separated by predefined delimiters (see above). transfer-ownership="none" nullable="1" allow-none="1"> - one ore more directory paths (separated by ':' or ';' or ','), + one ore more directory paths (separated by ':' or ';' or ','), or %NULL. Example: "/usr/lib/mystuff/plugins" @@ -30147,113 +46706,168 @@ arguments separated by predefined delimiters (see above). transfer-ownership="none" nullable="1" allow-none="1"> - one or more file names or file name suffixes (separated by commas), + one or more file names or file name suffixes (separated by commas), or %NULL - optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE + optional flags, or #GST_PLUGIN_DEPENDENCY_FLAG_NONE - Gets the plugin specific data cache. If it is %NULL there is no cached data + 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 + The cached data as a #GstStructure or %NULL. - a plugin + a plugin - Get the long descriptive name of the plugin + Get the long descriptive name of the plugin + - the long name of the plugin + the long name of the plugin - plugin to get long name of + plugin to get long name of - get the filename of the plugin + get the filename of the plugin + - the filename of the plugin + the filename of the plugin - plugin to get the filename of + plugin to get the filename of - get the license of the plugin + get the license of the plugin + - the license of the plugin + the license of the plugin - plugin to get the license of + plugin to get the license of - Get the short name of the plugin + Get the short name of the plugin + - the name of the plugin + the name of the plugin - plugin to get the name of + plugin to get the name of - get the URL where the plugin comes from + get the URL where the plugin comes from + - the origin of the plugin + the origin of the plugin - plugin to get the origin of + plugin to get the origin of - get the package the plugin belongs to. + get the package the plugin belongs to. + - the package of the plugin + the package of the plugin - plugin to get the package of + plugin to get the package of - Get the release date (and possibly time) in form of a string, if available. + Get the release date (and possibly time) in form of a string, if available. For normal GStreamer plugin releases this will usually just be a date in the form of "YYYY-MM-DD", while pre-releases and builds from git may contain @@ -30261,59 +46875,87 @@ a time component after the date as well, in which case the string will be formatted like "YYYY-MM-DDTHH:MMZ" (e.g. "2012-04-30T09:30Z"). There may be plugins that do not have a valid release date set on them. + - the date string of the plugin, or %NULL if not + the date string of the plugin, or %NULL if not available. - plugin to get the release date of + plugin to get the release date of - get the source module the plugin belongs to. + get the source module the plugin belongs to. + - the source of the plugin + the source of the plugin - plugin to get the source of + plugin to get the source of - get the version of the plugin + get the version of the plugin + - the version of the plugin + the version of the plugin - plugin to get the version of + plugin to get the version of - queries if the plugin is loaded into memory + queries if the plugin is loaded into memory + - %TRUE is loaded, %FALSE otherwise + %TRUE is loaded, %FALSE otherwise - plugin to query + plugin to query - Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is + Loads @plugin. Note that the *return value* is the loaded plugin; @plugin is untouched. The normal use pattern of this function goes like this: |[ @@ -30323,72 +46965,111 @@ loaded_plugin = gst_plugin_load (plugin); gst_object_unref (plugin); plugin = loaded_plugin; ]| + - a reference to a loaded plugin, or + a reference to a loaded plugin, or %NULL on error. - plugin to load + plugin to load - Adds plugin specific data to cache. Passes the ownership of the structure to + 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 plugin + a plugin - a structure containing the data to cache + a structure containing the data to cache + + + Ignore enum members when generating + the plugins cache. This is useful if the members of the enum are generated + dynamically, in order not to expose incorrect documentation to the end user. + + + - Flags used in connection with gst_plugin_add_dependency(). + Flags used in connection with gst_plugin_add_dependency(). - no special flags + no special flags - recurse into subdirectories + recurse into subdirectories - use paths + use paths argument only if none of the environment variables is set - interpret + interpret filename argument as filter suffix and check all matching files in the directory @@ -30396,67 +47077,96 @@ The cache is flushed every time the registry is rebuilt. value="8" c:identifier="GST_PLUGIN_DEPENDENCY_FLAG_FILE_NAME_IS_PREFIX" glib:nick="file-name-is-prefix"> - interpret + interpret filename argument as filter prefix and check all matching files in - the directory. Since 1.8. + the directory. Since: 1.8. - interpret + interpret non-absolute paths as relative to the main executable directory. Since 1.14. - A plugin should export a variable of this type called plugin_desc. The plugin + 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. The @licence parameter must be one of: LGPL, GPL, QPL, GPL/QPL, MPL, BSD, MIT/X11, Proprietary, unknown. + - the major version number of core that plugin was compiled for + the major version number of core that plugin was compiled for - the minor version number of core that plugin was compiled for + the minor version number of core that plugin was compiled for - a unique name of the plugin + a unique name of the plugin - description of plugin + description of plugin - pointer to the init function of this plugin. + pointer to the init function of this plugin. - version of the plugin + version of the plugin - effective license of plugin + effective license of plugin - source module plugin belongs to + source module plugin belongs to - shipped package plugin belongs to + shipped package plugin belongs to - URL to provider of plugin + URL to provider of plugin - date time string in ISO 8601 + date time string in ISO 8601 format (or rather, a subset thereof), or %NULL. Allowed are the following formats: "YYYY-MM-DD" and "YYY-MM-DDTHH:MMZ" (with 'T' a separator and 'Z' indicating UTC/Zulu time). This field @@ -30465,7 +47175,7 @@ BSD, MIT/X11, Proprietary, unknown. - + @@ -30475,29 +47185,41 @@ BSD, MIT/X11, Proprietary, unknown. glib:get-type="gst_plugin_error_get_type" c:type="GstPluginError" glib:error-domain="gst_plugin_error"> - The plugin loading errors + The plugin loading errors - The plugin could not be loaded + The plugin could not be loaded - The plugin has unresolved dependencies + The plugin has unresolved dependencies - The plugin has already be loaded from a different file + The plugin has already be loaded from a different file - Get the error quark. + Get the error quark. - The error quark used in GError messages + The error quark used in GError messages @@ -30510,12 +47232,20 @@ BSD, MIT/X11, Proprietary, unknown. glib:type-name="GstPluginFeature" glib:get-type="gst_plugin_feature_get_type" glib:type-struct="PluginFeatureClass"> - This is a base class for anything that can be added to a #GstPlugin. + This is a base class for anything that can be added to a #GstPlugin. + - Copies the list of features. Caller should call @gst_plugin_feature_list_free + Copies the list of features. Caller should call @gst_plugin_feature_list_free when done with the list. + - a copy of @list, + a copy of @list, with each feature's reference count incremented. @@ -30523,7 +47253,9 @@ when done with the list. - list + list of #GstPluginFeature @@ -30532,13 +47264,18 @@ when done with the list. - Debug the plugin feature names in @list. + Debug the plugin feature names in @list. + - a #GList of + a #GList of plugin features @@ -30547,13 +47284,18 @@ when done with the list. - Unrefs each member of @list, then frees the list. + Unrefs each member of @list, then frees the list. + - list + list of #GstPluginFeature @@ -30563,10 +47305,15 @@ when done with the list. - Compares the two given #GstPluginFeature instances. This function can be + Compares the two given #GstPluginFeature instances. This function can be used as a #GCompareFunc when sorting by rank and then by name. + - negative value if the rank of p1 > the rank of p2 or the ranks are + negative value if the rank of p1 > the rank of p2 or the ranks are 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 before the name of p1 @@ -30577,57 +47324,81 @@ ranks are equal but the name of p2 comes before the name of p1 transfer-ownership="none" nullable="1" allow-none="1"> - a #GstPluginFeature + a #GstPluginFeature - a #GstPluginFeature + a #GstPluginFeature - Checks whether the given plugin feature is at least + Checks whether the given plugin feature is at least the required version + - %TRUE if the plugin feature has at least + %TRUE if the plugin feature has at least the required version, otherwise %FALSE. - a feature + a feature - minimum required major version + minimum required major version - minimum required minor version + minimum required minor version - minimum required micro version + minimum required micro version - Get the plugin that provides this feature. + Get the plugin that provides this feature. + - the plugin that provides this + the plugin that provides this feature, or %NULL. Unref with gst_object_unref() when no longer needed. - a feature + a feature @@ -30635,35 +47406,51 @@ ranks are equal but the name of p2 comes before the name of p1 - Get the name of the plugin that provides this feature. + Get the name of the plugin that provides this feature. + - the name of the plugin that provides this + the name of the plugin that provides this feature, or %NULL if the feature is not associated with a plugin. - a feature + a feature - Gets the rank of a plugin feature. + Gets the rank of a plugin feature. + - The rank of the feature + The rank of the feature - a feature + a feature - Loads the plugin containing @feature if it's not already loaded. @feature is + 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: @@ -30675,31 +47462,43 @@ loaded_feature = gst_plugin_feature_load (feature); gst_object_unref (feature); feature = loaded_feature; ]| + - a reference to the loaded + a reference to the loaded feature, or %NULL on error - the plugin feature to check + the plugin feature to check - Specifies a rank for a plugin feature, so that autoplugging uses + Specifies a rank for a plugin feature, so that autoplugging uses the most appropriate feature. + - feature to rank + feature to rank - rank value - higher number means more priority rank + rank value - higher number means more priority rank @@ -30709,17 +47508,25 @@ the most appropriate feature. c:type="GstPluginFeatureClass" disguised="1" glib:is-gtype-struct-for="PluginFeature"> + - A function that can be used with e.g. gst_registry_feature_filter() + 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 + %TRUE for a positive match, %FALSE otherwise - the pluginfeature to check + the pluginfeature to check nullable="1" allow-none="1" closure="1"> - the user_data that has been passed on e.g. + 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() + 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 + %TRUE for a positive match, %FALSE otherwise - the plugin to check + the plugin to check nullable="1" allow-none="1" closure="1"> - the user_data that has been passed on e.g. gst_registry_plugin_filter() + the user_data that has been passed on e.g. gst_registry_plugin_filter() @@ -30759,33 +47577,46 @@ to get a list of plugins that match certain criteria. glib:type-name="GstPluginFlags" glib:get-type="gst_plugin_flags_get_type" c:type="GstPluginFlags"> - The plugin loading state + The plugin loading state - Temporarily loaded plugins + Temporarily loaded plugins - The plugin won't be scanned (again) + The plugin won't be scanned (again) - A plugin should provide a pointer to a function of either #GstPluginInitFunc + 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 + %TRUE if plugin initialised successfully - The plugin object + The plugin object nullable="1" allow-none="1" closure="1"> - extra data + extra data - A plugin should provide a pointer to a function of this type in the + 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 + %TRUE if plugin initialised successfully - The plugin object + The plugin object - A #GstPoll keeps track of file descriptors much like fd_set (used with -select()) or a struct pollfd array (used with poll()). Once created with + A #GstPoll keeps track of file descriptors much like fd_set (used with +select ()) or a struct pollfd array (used with poll ()). Once created with gst_poll_new(), the set can be used to wait for file descriptors to be readable and/or writable. It is possible to make this wait be controlled by specifying %TRUE for the @controllable flag when creating the set (or @@ -30838,53 +47680,81 @@ gst_poll_fd_has_error() to see if it has generated an error, gst_poll_fd_can_read() to see if it is possible to read from the file descriptor, and gst_poll_fd_can_write() to see if it is possible to write to it. + - Add a file descriptor to the file descriptor set. + Add a file descriptor to the file descriptor set. + - %TRUE if the file descriptor was successfully added to the set. + %TRUE if the file descriptor was successfully added to the set. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - Check if @fd in @set has data to be read. + Check if @fd in @set has data to be read. + - %TRUE if the descriptor has data to be read. + %TRUE if the descriptor has data to be read. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - Check if @fd in @set can be used for writing. + Check if @fd in @set can be used for writing. + - %TRUE if the descriptor can be used for writing. + %TRUE if the descriptor can be used for writing. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. @@ -30892,103 +47762,154 @@ write to it. - Control whether the descriptor @fd in @set will be monitored for + Control whether the descriptor @fd in @set will be monitored for exceptional conditions (POLLPRI). Not implemented on Windows (will just return %FALSE there). + - %TRUE if the descriptor was successfully updated. + %TRUE if the descriptor was successfully updated. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - a new status. + a new status. - Control whether the descriptor @fd in @set will be monitored for + Control whether the descriptor @fd in @set will be monitored for readability. + - %TRUE if the descriptor was successfully updated. + %TRUE if the descriptor was successfully updated. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - a new status. + a new status. - Control whether the descriptor @fd in @set will be monitored for + Control whether the descriptor @fd in @set will be monitored for writability. + - %TRUE if the descriptor was successfully updated. + %TRUE if the descriptor was successfully updated. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - a new status. + a new status. - Check if @fd in @set has closed the connection. + Check if @fd in @set has closed the connection. + - %TRUE if the connection was closed. + %TRUE if the connection was closed. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - Check if @fd in @set has an error. + Check if @fd in @set has an error. + - %TRUE if the descriptor has an error. + %TRUE if the descriptor has an error. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. @@ -30996,26 +47917,37 @@ writability. - Check if @fd in @set has an exceptional condition (POLLPRI). + Check if @fd in @set has an exceptional condition (POLLPRI). Not implemented on Windows (will just return %FALSE there). + - %TRUE if the descriptor has an exceptional condition. + %TRUE if the descriptor has an exceptional condition. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - Mark @fd as ignored so that the next call to gst_poll_wait() will yield + 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(). @@ -31023,56 +47955,78 @@ 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 set. + a file descriptor set. - a file descriptor. + a file descriptor. - Free a file descriptor set. + Free a file descriptor set. + - a file descriptor set. + a file descriptor set. - Get a GPollFD for the reading part of the control socket. This is useful when + Get a GPollFD for the reading part of the control socket. This is useful when integrating with a GSource and GMainLoop. + - a #GstPoll + a #GstPoll - a #GPollFD + a #GPollFD - Read a byte from the control socket of the controllable @set. + Read a byte from the control socket of the controllable @set. This function only works for timer #GstPoll objects created with gst_poll_new_timer(). + - %TRUE on success. %FALSE when when there was no byte to read or + %TRUE on success. %FALSE when when there was no byte to read or reading the byte failed. If there was no byte to read, and only then, errno will contain EWOULDBLOCK or EAGAIN. For all other values of errno this always signals a critical error. @@ -31080,92 +48034,126 @@ critical error. - a #GstPoll. + a #GstPoll. - Remove a file descriptor from the file descriptor set. + Remove a file descriptor from the file descriptor set. + - %TRUE if the file descriptor was successfully removed from the set. + %TRUE if the file descriptor was successfully removed from the set. - a file descriptor set. + a file descriptor set. - a file descriptor. + a file descriptor. - Restart any gst_poll_wait() that is in progress. This function is typically + 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. This function only works for non-timer #GstPoll objects created with gst_poll_new(). + - a #GstPoll. + a #GstPoll. - When @controllable is %TRUE, this function ensures that future calls to + 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(). This function only works for non-timer #GstPoll objects created with gst_poll_new(). + - %TRUE if the controllability of @set could be updated. + %TRUE if the controllability of @set could be updated. - a #GstPoll. + a #GstPoll. - new controllable state. + new controllable state. - When @flushing is %TRUE, this function ensures that current and future calls + 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. This function only works for non-timer #GstPoll objects created with gst_poll_new(). + - a #GstPoll. + a #GstPoll. - new flushing state. + new flushing state. - Wait for activity on the file descriptors in @set. This function waits up to + 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 @@ -31175,25 +48163,34 @@ called from a single thread at a time. If called from multiple threads, This is not true for timer #GstPoll objects created with gst_poll_new_timer(), where it is allowed to have multiple threads waiting simultaneously. + - The number of #GstPollFD in @set that have activity or 0 when no + The number of #GstPollFD in @set that have activity or 0 when no activity was detected after @timeout. If an error occurs, -1 is returned and errno is set. - a #GstPoll. + a #GstPoll. - a timeout in nanoseconds. + a timeout in nanoseconds. - Write a byte to the control socket of the controllable @set. + 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(). @@ -31204,33 +48201,45 @@ block again until their timeout expired. This function only works for timer #GstPoll objects created with gst_poll_new_timer(). + - %TRUE on success. %FALSE when when the byte could not be written. + %TRUE on success. %FALSE when when the byte could not be written. errno contains the detailed error code but will never be EAGAIN, EINTR or EWOULDBLOCK. %FALSE always signals a critical error. - a #GstPoll. + a #GstPoll. - Create a new file descriptor set. If @controllable, it + 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-function: gst_poll_free + - a new #GstPoll, or %NULL in + a new #GstPoll, or %NULL in case of an error. Free with gst_poll_free(). - whether it should be possible to control a wait. + whether it should be possible to control a wait. @@ -31238,38 +48247,53 @@ Free-function: gst_poll_free - Create a new poll object that can be used for scheduling cancellable + 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-function: gst_poll_free + - a new #GstPoll, or %NULL in + a new #GstPoll, or %NULL in case of an error. Free with gst_poll_free(). - A file descriptor object. + A file descriptor object. + - a file descriptor + a file descriptor - Initializes @fd. Alternatively you can initialize it with + Initializes @fd. Alternatively you can initialize it with #GST_POLL_FD_INIT. + - a #GstPollFD + a #GstPollFD @@ -31281,7 +48305,9 @@ Free-function: gst_poll_free glib:type-name="GstPreset" glib:get-type="gst_preset_get_type" glib:type-struct="PresetInterface"> - This interface offers methods to query and manipulate parameter preset sets. + This interface offers methods to query and manipulate parameter preset sets. A preset is a bunch of property settings, together with meta data and a name. The name of a preset serves as key for subsequent method calls to manipulate single presets. @@ -31304,81 +48330,121 @@ a list of presets individual presets are read and overlaid in 1) system, later entries will be updated. Since 1.8 you can also provide extra paths where to find presets through the GST_PRESET_PATH environment variable. Presets found in those paths will be considered as "app presets". + - Gets the directory for application specific presets if set by the + Gets the directory for application specific presets if set by the application. + - the directory or %NULL, don't free or modify + the directory or %NULL, don't free or modify the string - Sets an extra directory as an absolute path that should be considered when + Sets an extra directory as an absolute path that should be considered when looking for presets. Any presets in the application dir will shadow the system presets. + - %TRUE for success, %FALSE if the dir already has been set + %TRUE for success, %FALSE if the dir already has been set - the application specific preset dir + the application specific preset dir - Delete the given preset. + Delete the given preset. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to remove + preset name to remove - Gets the @value for an existing meta data @tag. Meta data @tag names can be + 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. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name + preset name - meta data item name + meta data item name - value + value - Get a copy of preset names as a %NULL terminated string array. + Get a copy of preset names as a %NULL terminated string array. + - + list with names, use g_strfreev() after usage. @@ -31386,15 +48452,22 @@ or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - Get a the names of the GObject properties that can be used for presets. + Get a the names of the GObject properties that can be used for presets. + - an + an array of property names which should be freed with g_strfreev() after use. @@ -31402,150 +48475,221 @@ or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - Load the given preset. + Load the given preset. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to load + preset name to load - Renames a preset. If there is already a preset by the @new_name it will be + 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 + %TRUE for success, %FALSE if e.g. there is no preset with @old_name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - current preset name + current preset name - new preset name + new preset name - Save the current object settings as a preset under the given name. If there + 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 + %TRUE for success, %FALSE - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to save + preset name to save - Sets a new @value for an existing meta data item or adds a new item. Meta + 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 @value will unset an existing value. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name + preset name - meta data item name + meta data item name - new value + new value - Delete the given preset. + Delete the given preset. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to remove + preset name to remove - Gets the @value for an existing meta data @tag. Meta data @tag names can be + 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. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name + preset name - meta data item name + meta data item name - value + value - Get a copy of preset names as a %NULL terminated string array. + Get a copy of preset names as a %NULL terminated string array. + - + list with names, use g_strfreev() after usage. @@ -31553,16 +48697,23 @@ or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - Get a the names of the GObject properties that can be used for presets. + Get a the names of the GObject properties that can be used for presets. + - an + an array of property names which should be freed with g_strfreev() after use. @@ -31570,7 +48721,9 @@ or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset @@ -31578,101 +48731,150 @@ or no value for the given @tag - Check if one can add new presets, change existing ones and remove presets. + Check if one can add new presets, change existing ones and remove presets. + - %TRUE if presets are editable or %FALSE if they are static + %TRUE if presets are editable or %FALSE if they are static - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - Load the given preset. + Load the given preset. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to load + preset name to load - Renames a preset. If there is already a preset by the @new_name it will be + 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 + %TRUE for success, %FALSE if e.g. there is no preset with @old_name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - current preset name + current preset name - new preset name + new preset name - Save the current object settings as a preset under the given name. If there + 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 + %TRUE for success, %FALSE - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to save + preset name to save - Sets a new @value for an existing meta data item or adds a new item. Meta + 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 @value will unset an existing value. + - %TRUE for success, %FALSE if e.g. there is no preset with that @name + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name + preset name - meta data item name + meta data item name - new value + new value @@ -31681,15 +48883,23 @@ data @tag names can be something like e.g. "comment". Supplying %NULL for the - #GstPreset interface. + #GstPreset interface. + - parent interface type. + parent interface type. + - + list with names, use g_strfreev() after usage. @@ -31697,7 +48907,9 @@ data @tag names can be something like e.g. "comment". Supplying %NULL for the - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset @@ -31705,8 +48917,11 @@ data @tag names can be something like e.g. "comment". Supplying %NULL for the + - an + an array of property names which should be freed with g_strfreev() after use. @@ -31714,7 +48929,9 @@ data @tag names can be something like e.g. "comment". Supplying %NULL for the - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset @@ -31722,17 +48939,24 @@ 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 + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to load + preset name to load @@ -31740,17 +48964,24 @@ data @tag names can be something like e.g. "comment". Supplying %NULL for the + - %TRUE for success, %FALSE + %TRUE for success, %FALSE - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to save + preset name to save @@ -31758,21 +48989,30 @@ 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 @old_name + %TRUE for success, %FALSE if e.g. there is no preset with @old_name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - current preset name + current preset name - new preset name + new preset name @@ -31780,17 +49020,24 @@ 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 + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name to remove + preset name to remove @@ -31798,28 +49045,39 @@ 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 + %TRUE for success, %FALSE if e.g. there is no preset with that @name - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name + preset name - meta data item name + meta data item name - new value + new value @@ -31827,36 +49085,47 @@ 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 + %TRUE for success, %FALSE if e.g. there is no preset with that @name or no value for the given @tag - a #GObject that implements #GstPreset + a #GObject that implements #GstPreset - preset name + preset name - meta data item name + meta data item name - value + value - + @@ -31865,37 +49134,49 @@ or no value for the given @tag glib:type-name="GstProgressType" glib:get-type="gst_progress_type_get_type" c:type="GstProgressType"> - The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the + The type of a %GST_MESSAGE_PROGRESS. The progress messages inform the application of the status of asynchronous tasks. - A new task started. + A new task started. - A task completed and a new one continues. + A task completed and a new one continues. - A task completed. + A task completed. - A task was canceled. + A task was canceled. - A task caused an error. An error message is also + A task caused an error. An error message is also posted on the bus. @@ -31905,16 +49186,20 @@ application of the status of asynchronous tasks. glib:type-name="GstPromise" glib:get-type="gst_promise_get_type" c:symbol-prefix="promise"> - The #GstPromise object implements the container for values that may + The #GstPromise object implements the container for values that may be available later. i.e. a Future or a Promise in -<ulink url="https://en.wikipedia.org/wiki/Futures_and_promises">https://en.wikipedia.org/wiki/Futures_and_promises</ulink> +<https://en.wikipedia.org/wiki/Futures_and_promises>. As with all Future/Promise-like functionality, there is the concept of the producer of the value and the consumer of the value. A #GstPromise is created with gst_promise_new() by the consumer and passed to the producer to avoid thread safety issues with the change callback. A #GstPromise can be replied to with a value (or an error) by the producer -with gst_promise_reply(). gst_promise_interrupt() is for the consumer to +with gst_promise_reply(). The exact value returned is defined by the API +contract of the producer and %NULL may be a valid reply. +gst_promise_interrupt() is for the consumer to indicate to the producer that the value is not needed anymore and producing that value can stop. The @GST_PROMISE_RESULT_EXPIRED state set by a call to gst_promise_expire() indicates to the consumer that a value will never @@ -31956,24 +49241,35 @@ gst_promise_interrupt() or gst_promise_expire() and can be called from an arbitrary thread. #GstPromise using APIs can restrict this to a single thread or a subset of threads but that is entirely up to the API that uses #GstPromise. + - parent #GstMiniObject + parent #GstMiniObject + - a new #GstPromise + a new #GstPromise - @func will be called exactly once when transitioning out of + @func will be called exactly once when transitioning out of %GST_PROMISE_RESULT_PENDING into any of the other #GstPromiseResult states. + - a new #GstPromise + a new #GstPromise @@ -31982,32 +49278,43 @@ states. scope="notified" closure="1" destroy="2"> - a #GstPromiseChangeFunc to call + a #GstPromiseChangeFunc to call - argument to call @func with + argument to call @func with - notification function that @user_data is no longer needed + notification function that @user_data is no longer needed - Expire a @promise. This will wake up any waiters with + Expire a @promise. This will wake up any waiters with %GST_PROMISE_RESULT_EXPIRED. Called by a message loop when the parent message is handled and/or destroyed (possibly unanswered). + - a #GstPromise + a #GstPromise @@ -32015,15 +49322,22 @@ message is handled and/or destroyed (possibly unanswered). - Retrieve the reply set on @promise. @promise must be in + Retrieve the reply set on @promise. @promise must be in %GST_PROMISE_RESULT_REPLIED and the returned structure is owned by @promise - - The reply set on @promise + + + The reply set on @promise - a #GstPromise + a #GstPromise @@ -32031,26 +49345,34 @@ message is handled and/or destroyed (possibly unanswered). - Interrupt waiting for a @promise. This will wake up any waiters with + Interrupt waiting for a @promise. This will wake up any waiters with %GST_PROMISE_RESULT_INTERRUPTED. Called when the consumer does not want the value produced anymore. + - a #GstPromise + a #GstPromise - Set a reply on @promise. This will wake up any waiters with + Set a reply on @promise. This will wake up any waiters with %GST_PROMISE_RESULT_REPLIED. Called by the producer of the value to indicate success (or failure). If @promise has already been interrupted by the consumer, then this reply is not visible to the consumer. + @@ -32059,26 +49381,40 @@ is not visible to the consumer. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstPromise + a #GstPromise - - a #GstStructure with the the reply contents + + a #GstStructure with the the reply contents - Wait for @promise to move out of the %GST_PROMISE_RESULT_PENDING state. + Wait for @promise to move out of the %GST_PROMISE_RESULT_PENDING state. If @promise is not in %GST_PROMISE_RESULT_PENDING then it will return immediately with the current result. + - the result of the promise + the result of the promise - a #GstPromise + a #GstPromise @@ -32087,12 +49423,15 @@ immediately with the current result. + - a #GstPromise + a #GstPromise nullable="1" allow-none="1" closure="1"> - user data + user data @@ -32110,47 +49451,65 @@ immediately with the current result. glib:type-name="GstPromiseResult" glib:get-type="gst_promise_result_get_type" c:type="GstPromiseResult"> - The result of a #GstPromise + The result of a #GstPromise - Initial state. Waiting for transition to any + Initial state. Waiting for transition to any other state. - Interrupted by the consumer as it doesn't + Interrupted by the consumer as it doesn't want the value anymore. - A producer marked a reply + A producer marked a reply - The promise expired (the carrying object + The promise expired (the carrying object lost all refs) and the promise will never be fulfilled. - Metadata type that holds information about a sample from a protection-protected + Metadata type that holds information about a sample from a protection-protected track, including the information needed to decrypt it (if it is encrypted). + - the parent #GstMeta. + the parent #GstMeta. - the cryptographic information needed to decrypt the sample. + the cryptographic information needed to decrypt the sample. + @@ -32163,27 +49522,39 @@ track, including the information needed to decrypt it (if it is encrypted). + - Invoke the default chain function of the proxy pad. + Invoke the default chain function of the proxy pad. + - a #GstFlowReturn from the pad. + a #GstFlowReturn from the pad. - a sink #GstPad, returns GST_FLOW_ERROR if not. + a sink #GstPad, returns GST_FLOW_ERROR if not. - the parent of @pad or %NULL + the parent of @pad or %NULL - the #GstBuffer to send, return GST_FLOW_ERROR + the #GstBuffer to send, return GST_FLOW_ERROR if not. @@ -32191,25 +49562,36 @@ track, including the information needed to decrypt it (if it is encrypted). - Invoke the default chain list function of the proxy pad. + Invoke the default chain list function of the proxy pad. + - a #GstFlowReturn from the pad. + a #GstFlowReturn from the pad. - a sink #GstPad, returns GST_FLOW_ERROR if not. + a sink #GstPad, returns GST_FLOW_ERROR if not. - the parent of @pad or %NULL + the parent of @pad or %NULL - the #GstBufferList to send, return GST_FLOW_ERROR + the #GstBufferList to send, return GST_FLOW_ERROR if not. @@ -32217,33 +49599,48 @@ track, including the information needed to decrypt it (if it is encrypted). - Invoke the default getrange function of the proxy pad. + Invoke the default getrange function of the proxy pad. + - a #GstFlowReturn from the pad. + a #GstFlowReturn from the pad. - a src #GstPad, returns #GST_FLOW_ERROR if not. + a src #GstPad, returns #GST_FLOW_ERROR if not. - the parent of @pad + the parent of @pad - The start offset of the buffer + The start offset of the buffer - The length of the buffer + The length of the buffer - a pointer to hold the #GstBuffer, + a pointer to hold the #GstBuffer, returns #GST_FLOW_ERROR if %NULL. @@ -32251,39 +49648,55 @@ track, including the information needed to decrypt it (if it is encrypted). - Invoke the default iterate internal links function of the proxy pad. + Invoke the default iterate internal links function of the proxy pad. + - a #GstIterator of #GstPad, or %NULL if @pad + a #GstIterator of #GstPad, or %NULL if @pad has no parent. Unref each returned pad with gst_object_unref(). - the #GstPad to get the internal links of. + the #GstPad to get the internal links of. - the parent of @pad or %NULL + the parent of @pad or %NULL - Get the internal pad of @pad. Unref target pad after usage. + Get the internal pad of @pad. Unref target pad after usage. The internal pad of a #GstGhostPad is the internally used pad of opposite direction, which is used to link to the target. + - the target #GstProxyPad, can + the target #GstProxyPad, can be %NULL. Unref target pad after usage. - the #GstProxyPad + the #GstProxyPad @@ -32298,28 +49711,34 @@ be %NULL. Unref target pad after usage. + - + + - The different types of QoS events that can be given to the + The different types of QoS events that can be given to the gst_event_new_qos() method. - The QoS event type that is produced when upstream + The QoS event type that is produced when upstream elements are producing data too quickly and the element can't keep up processing the data. Upstream should reduce their production rate. This type is also used when buffers arrive early or in time. @@ -32328,7 +49747,9 @@ gst_event_new_qos() method. value="1" c:identifier="GST_QOS_TYPE_UNDERFLOW" glib:nick="underflow"> - The QoS event type that is produced when upstream + The QoS event type that is produced when upstream elements are producing data too slowly and need to speed up their production rate. @@ -32336,23 +49757,143 @@ gst_event_new_qos() method. value="2" c:identifier="GST_QOS_TYPE_THROTTLE" glib:nick="throttle"> - The QoS event type that is produced when the + The QoS event type that is produced when the application enabled throttling to limit the data rate. + + + + + + + + + + + + + + + + Check if an query can travel downstream. + + + + the query to query + + + + + Check if an query is serialized with the data stream. + + + + the query to query + + + + + Check if an query can travel upstream. + + + + the query to query + + + + + when making custom query types, use this macro with the num and +the given flags + + + + the query number to create + + + the query flags + + + + + + Get the #GstQueryType of the query. + + + + the query to query + + + - The same thing as #GST_QUERY_TYPE_UPSTREAM | #GST_QUERY_TYPE_DOWNSTREAM. + The same thing as #GST_QUERY_TYPE_UPSTREAM | #GST_QUERY_TYPE_DOWNSTREAM. + + + Get a constant string representation of the #GstQueryType of the query. + + + + the query to query + + + - Queries can be performed on pads (gst_pad_query()) and elements + Queries can be performed on pads (gst_pad_query()) and elements (gst_element_query()). Please note that some queries might need a running pipeline to work. @@ -32375,46 +49916,67 @@ The following example shows how to query the duration of a pipeline: } gst_query_unref (query); ]| + - The parent #GstMiniObject type + The parent #GstMiniObject type - the #GstQueryType + the #GstQueryType - Constructs a new query object for querying if @caps are accepted. + Constructs a new query object for querying if @caps are accepted. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - a fixed #GstCaps + a fixed #GstCaps - Constructs a new query object for querying the allocation properties. + Constructs a new query object for querying the allocation properties. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the negotiated caps + the negotiated caps - return a pool + return a pool @@ -32422,32 +49984,46 @@ Free-function: gst_query_unref() - Constructs a new query object for querying the bitrate. + Constructs a new query object for querying the bitrate. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - Constructs a new query object for querying the buffering status of + Constructs a new query object for querying the buffering status of a stream. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the default #GstFormat for the new query + the default #GstFormat for the new query - Constructs a new query object for querying the caps. + Constructs a new query object for querying the caps. The CAPS query 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 @@ -32467,13 +50043,18 @@ The @filter is used to restrict the result caps, only the caps matching greatly reduce the amount of processing an element needs to do. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - a filter + a filter @@ -32481,326 +50062,486 @@ Free-function: gst_query_unref() - Constructs a new query object for querying the pipeline-local context. + Constructs a new query object for querying the pipeline-local context. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - Context type to query + Context type to query - Constructs a new convert query object. Use gst_query_unref() + 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. Free-function: gst_query_unref() + - a #GstQuery + a #GstQuery - the source #GstFormat for the new query + the source #GstFormat for the new query - the value to convert + the value to convert - the target #GstFormat + the target #GstFormat - Constructs a new custom query object. Use gst_query_unref() + Constructs a new custom query object. Use gst_query_unref() when done with it. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the query type + the query type - a structure for the query + a structure for the query - Constructs a new query object for querying the drain state. + Constructs a new query object for querying the drain state. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - Constructs a new stream duration query object to query in the given format. + 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. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the #GstFormat for this duration query + the #GstFormat for this duration query - Constructs a new query object for querying formats of + Constructs a new query object for querying formats of the stream. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - Constructs a new latency query object. + 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. Free-function: gst_query_unref() + - a #GstQuery + a #GstQuery - Constructs a new query stream position query object. Use gst_query_unref() + 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. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the default #GstFormat for the new query + the default #GstFormat for the new query - Constructs a new query object for querying the scheduling properties. + Constructs a new query object for querying the scheduling properties. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - Constructs a new query object for querying seeking properties of + Constructs a new query object for querying seeking properties of the stream. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the default #GstFormat for the new query + the default #GstFormat for the new query - Constructs a new segment query object. Use gst_query_unref() + 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. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - the #GstFormat for the new query + the #GstFormat for the new query - Constructs a new query URI query object. Use gst_query_unref() + 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. Free-function: gst_query_unref() + - a new #GstQuery + a new #GstQuery - Add @api with @params as one of the supported metadata API to @query. + Add @api with @params as one of the supported metadata API to @query. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - the metadata API + the metadata API - API specific parameters + API specific parameters - Add @allocator and its @params as a supported memory allocator. + Add @allocator and its @params as a supported memory allocator. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - the memory allocator + the memory allocator - a #GstAllocationParams + a #GstAllocationParams - Set the pool parameters in @query. + Set the pool parameters in @query. + - A valid #GstQuery of type GST_QUERY_ALLOCATION. + A valid #GstQuery of type GST_QUERY_ALLOCATION. - the #GstBufferPool + the #GstBufferPool - the buffer size + the buffer size - the min buffers + the min buffers - the max buffers + the max buffers - Set the buffering-ranges array field in @query. The current last + Set the buffering-ranges array field in @query. The current last start position of the array should be inferior to @start. + - a #gboolean indicating if the range was added or not. + a #gboolean indicating if the range was added or not. - a GST_QUERY_BUFFERING type query #GstQuery + a GST_QUERY_BUFFERING type query #GstQuery - start position of the range + start position of the range - stop position of the range + stop position of the range - Add @mode as one of the supported scheduling modes to @query. + Add @mode as one of the supported scheduling modes to @query. + - a GST_QUERY_SCHEDULING type query #GstQuery + a GST_QUERY_SCHEDULING type query #GstQuery - a #GstPadMode + a #GstPadMode + + Copies the given query using the copy function of the parent #GstStructure. + +Free-function: gst_query_unref + + + a new copy of @q. + + + + + a #GstQuery to copy. + + + + - Check if @query has metadata @api set. When this function returns %TRUE, + Check if @query has metadata @api set. When this function returns %TRUE, @index will contain the index where the requested API and the parameters can be found. + - %TRUE when @api is in the list of metadata. + %TRUE when @api is in the list of metadata. - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - the metadata API + the metadata API transfer-ownership="none" optional="1" allow-none="1"> - the index + the index - Retrieve the number of values currently stored in the + Retrieve the number of values currently stored in the meta API array of the query's structure. + - the metadata API array size as a #guint. + the metadata API array size as a #guint. - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - Retrieve the number of values currently stored in the + Retrieve the number of values currently stored in the allocator params array of the query's structure. If no memory allocator is specified, the downstream element can handle the default memory allocator. The first memory allocator in the query should be generic and allow mapping to system memory, all following allocators should be ordered by preference with the preferred one first. + - the allocator array size as a #guint. + the allocator array size as a #guint. - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - Retrieve the number of values currently stored in the + Retrieve the number of values currently stored in the pool array of the query's structure. + - the pool array size as a #guint. + the pool array size as a #guint. - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - Retrieve the number of values currently stored in the + Retrieve the number of values currently stored in the buffered-ranges array of the query's structure. + - the range array size as a #guint. + the range array size as a #guint. - a GST_QUERY_BUFFERING type query #GstQuery + a GST_QUERY_BUFFERING type query #GstQuery - Retrieve the number of values currently stored in the + Retrieve the number of values currently stored in the scheduling mode array of the query's structure. + - the scheduling mode array size as a #guint. + the scheduling mode array size as a #guint. - a GST_QUERY_SCHEDULING type query #GstQuery + a GST_QUERY_SCHEDULING type query #GstQuery - Get the structure of a query. + Get the structure of a query. + - the #GstStructure of the query. The + the #GstStructure of the query. The structure is still owned by the query and will therefore be freed when the query is unreffed. - a #GstQuery + a #GstQuery - Check if @query has scheduling mode set. + Check if @query has scheduling mode set. > When checking if upstream supports pull mode, it is usually not > enough to just check for GST_PAD_MODE_PULL with this function, you > also want to check whether the scheduling flags returned by > gst_query_parse_scheduling() have the seeking flag set (meaning > random access is supported, not only sequential pulls). + - %TRUE when @mode is in the list of scheduling modes. + %TRUE when @mode is in the list of scheduling modes. - a GST_QUERY_SCHEDULING type query #GstQuery + a GST_QUERY_SCHEDULING type query #GstQuery - the scheduling mode + the scheduling mode - Check if @query has scheduling mode set and @flags is set in + Check if @query has scheduling mode set and @flags is set in query scheduling flags. + - %TRUE when @mode is in the list of scheduling modes + %TRUE when @mode is in the list of scheduling modes and @flags are compatible with query flags. - a GST_QUERY_SCHEDULING type query #GstQuery + a GST_QUERY_SCHEDULING type query #GstQuery - the scheduling mode + the scheduling mode - #GstSchedulingFlags + #GstSchedulingFlags - Get the caps from @query. The caps remains valid as long as @query remains + Get the caps from @query. The caps remains valid as long as @query remains valid. + - The query to parse + The query to parse - A pointer to the caps + A pointer to the caps - Parse the result from @query and store in @result. + Parse the result from @query and store in @result. + - a GST_QUERY_ACCEPT_CAPS type query #GstQuery + a GST_QUERY_ACCEPT_CAPS type query #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - location for the result + location for the result - Parse an allocation query, writing the requested caps in @caps and + Parse an allocation query, writing the requested caps in @caps and whether a pool is needed in @need_pool, if the respective parameters are non-%NULL. Pool details can be retrieved using gst_query_get_n_allocation_pools() and gst_query_parse_nth_allocation_pool(). + - a #GstQuery + a #GstQuery transfer-ownership="none" optional="1" allow-none="1"> - The #GstCaps + The #GstCaps transfer-ownership="full" optional="1" allow-none="1"> - Whether a #GstBufferPool is needed + Whether a #GstBufferPool is needed @@ -33039,13 +50867,18 @@ gst_query_parse_nth_allocation_pool(). - Get the results of a bitrate query. See also gst_query_set_bitrate(). + Get the results of a bitrate query. See also gst_query_set_bitrate(). + - a GST_QUERY_BITRATE type #GstQuery + a GST_QUERY_BITRATE type #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - The resulting bitrate in bits per second + The resulting bitrate in bits per second - Get the percentage of buffered data. This is a value between 0 and 100. + Get the percentage of buffered data. This is a value between 0 and 100. The @busy indicator is %TRUE when the buffering is in progress. + - A valid #GstQuery of type GST_QUERY_BUFFERING. + A valid #GstQuery of type GST_QUERY_BUFFERING. transfer-ownership="full" optional="1" allow-none="1"> - if buffering is busy, or %NULL + if buffering is busy, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - a buffering percent, or %NULL + a buffering percent, or %NULL - Parse an available query, writing the format into @format, and + Parse an available query, writing the format into @format, and other results into the passed parameters, if the respective parameters are non-%NULL + - a GST_QUERY_BUFFERING type query #GstQuery + a GST_QUERY_BUFFERING type query #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the format to set for the @segment_start + the format to set for the @segment_start and @segment_end values, or %NULL @@ -33120,7 +50971,9 @@ are non-%NULL transfer-ownership="full" optional="1" allow-none="1"> - the start to set, or %NULL + the start to set, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the stop to set, or %NULL + the stop to set, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - estimated total amount of download + estimated total amount of download time remaining in milliseconds, or %NULL @@ -33146,13 +51003,18 @@ are non-%NULL - Extracts the buffering stats values from @query. + Extracts the buffering stats values from @query. + - A valid #GstQuery of type GST_QUERY_BUFFERING. + A valid #GstQuery of type GST_QUERY_BUFFERING. transfer-ownership="full" optional="1" allow-none="1"> - a buffering mode, or %NULL + a buffering mode, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the average input rate, or %NULL + the average input rate, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the average output rat, or %NULL + the average output rat, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - amount of buffering time left in + amount of buffering time left in milliseconds, or %NULL - Get the filter from the caps @query. The caps remains valid as long as + Get the filter from the caps @query. The caps remains valid as long as @query remains valid. + - The query to parse + The query to parse - A pointer to the caps filter + A pointer to the caps filter - Get the caps result from @query. The caps remains valid as long as + Get the caps result from @query. The caps remains valid as long as @query remains valid. + - The query to parse + The query to parse - A pointer to the caps + A pointer to the caps @@ -33238,21 +51122,28 @@ are non-%NULL - Get the context from the context @query. The context remains valid as long as + Get the context from the context @query. The context remains valid as long as @query remains valid. + - The query to parse + The query to parse - A pointer to store the #GstContext + A pointer to store the #GstContext @@ -33260,14 +51151,21 @@ are non-%NULL - Parse a context type from an existing GST_QUERY_CONTEXT query. + Parse a context type from an existing GST_QUERY_CONTEXT query. + - a #gboolean indicating if the parsing succeeded. + a #gboolean indicating if the parsing succeeded. - a GST_QUERY_CONTEXT type query + a GST_QUERY_CONTEXT type query transfer-ownership="none" optional="1" allow-none="1"> - the context type, or %NULL + the context type, or %NULL - Parse a convert query answer. Any of @src_format, @src_value, @dest_format, + 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. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the storage for the #GstFormat of the + the storage for the #GstFormat of the source value, or %NULL @@ -33308,7 +51215,9 @@ and @dest_value may be %NULL, in which case that value is omitted. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the source value, or %NULL + the storage for the source value, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the storage for the #GstFormat of the + the storage for the #GstFormat of the destination value, or %NULL @@ -33327,21 +51238,28 @@ and @dest_value may be %NULL, in which case that value is omitted. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the destination value, + the storage for the destination value, or %NULL - Parse a duration query answer. Write the format of the duration into @format, + 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. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the storage for the #GstFormat of the duration + the storage for the #GstFormat of the duration value, or %NULL. @@ -33360,19 +51280,26 @@ and the value into @duration, if the respective variables are non-%NULL. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the total duration, or %NULL. + the storage for the total duration, or %NULL. - Parse a latency query answer. + Parse a latency query answer. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - storage for live or %NULL + storage for live or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the storage for the min latency or %NULL + the storage for the min latency or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the storage for the max latency or %NULL + the storage for the max latency or %NULL - Parse the number of formats in the formats @query. + Parse the number of formats in the formats @query. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the number of formats in this query. + the number of formats in this query. - Parse an available query and get the metadata API + Parse an available query and get the metadata API at @index of the metadata API array. + - a #GType of the metadata API at @index. + a #GType of the metadata API at @index. - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - position in the metadata API array to read + position in the metadata API array to read transfer-ownership="none" optional="1" allow-none="1"> - API specific parameters + API specific parameters - Parse an available query and get the allocator and its params + Parse an available query and get the allocator and its params at @index of the allocator array. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - position in the allocator array to read + position in the allocator array to read transfer-ownership="full" optional="1" allow-none="1"> - variable to hold the result + variable to hold the result transfer-ownership="none" optional="1" allow-none="1"> - parameters for the allocator + parameters for the allocator - Get the pool parameters in @query. + Get the pool parameters in @query. Unref @pool with gst_object_unref() when it's not needed any more. + - A valid #GstQuery of type GST_QUERY_ALLOCATION. + A valid #GstQuery of type GST_QUERY_ALLOCATION. - index to parse + index to parse transfer-ownership="full" optional="1" allow-none="1"> - the #GstBufferPool + the #GstBufferPool transfer-ownership="full" optional="1" allow-none="1"> - the buffer size + the buffer size transfer-ownership="full" optional="1" allow-none="1"> - the min buffers + the min buffers transfer-ownership="full" optional="1" allow-none="1"> - the max buffers + the max buffers - Parse an available query and get the start and stop values stored + Parse an available query and get the start and stop values stored at the @index of the buffered ranges array. + - a #gboolean indicating if the parsing succeeded. + a #gboolean indicating if the parsing succeeded. - a GST_QUERY_BUFFERING type query #GstQuery + a GST_QUERY_BUFFERING type query #GstQuery - position in the buffered-ranges array to read + position in the buffered-ranges array to read transfer-ownership="full" optional="1" allow-none="1"> - the start position to set, or %NULL + the start position to set, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the stop position to set, or %NULL + the stop position to set, or %NULL - Parse the format query and retrieve the @nth format from it into + Parse the format query and retrieve the @nth format from it into @format. If the list contains less elements than @nth, @format will be set to GST_FORMAT_UNDEFINED. + - a #GstQuery + a #GstQuery - the nth format to retrieve. + the nth format to retrieve. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the nth format + a pointer to store the nth format - Parse an available query and get the scheduling mode + Parse an available query and get the scheduling mode at @index of the scheduling modes array. + - a #GstPadMode of the scheduling mode at @index. + a #GstPadMode of the scheduling mode at @index. - a GST_QUERY_SCHEDULING type query #GstQuery + a GST_QUERY_SCHEDULING type query #GstQuery - position in the scheduling modes array to read + position in the scheduling modes array to read - Parse a position query, writing the format into @format, and the position + Parse a position query, writing the format into @format, and the position into @cur, if the respective parameters are non-%NULL. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the storage for the #GstFormat of the + the storage for the #GstFormat of the position values (may be %NULL) @@ -33655,20 +51670,27 @@ into @cur, if the respective parameters are non-%NULL. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the current position (may be %NULL) + the storage for the current position (may be %NULL) - Set the scheduling properties. + Set the scheduling properties. + - A valid #GstQuery of type GST_QUERY_SCHEDULING. + A valid #GstQuery of type GST_QUERY_SCHEDULING. transfer-ownership="full" optional="1" allow-none="1"> - #GstSchedulingFlags + #GstSchedulingFlags transfer-ownership="full" optional="1" allow-none="1"> - the suggested minimum size of pull requests + the suggested minimum size of pull requests transfer-ownership="full" optional="1" allow-none="1"> - the suggested maximum size of pull requests: + the suggested maximum size of pull requests: transfer-ownership="full" optional="1" allow-none="1"> - the suggested alignment of pull requests + the suggested alignment of pull requests - Parse a seeking query, writing the format into @format, and + Parse a seeking query, writing the format into @format, and other results into the passed parameters, if the respective parameters are non-%NULL + - a GST_QUERY_SEEKING type query #GstQuery + a GST_QUERY_SEEKING type query #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the format to set for the @segment_start + the format to set for the @segment_start and @segment_end values, or %NULL @@ -33737,7 +51774,9 @@ are non-%NULL transfer-ownership="full" optional="1" allow-none="1"> - the seekable flag to set, or %NULL + the seekable flag to set, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the segment_start to set, or %NULL + the segment_start to set, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the segment_end to set, or %NULL + the segment_end to set, or %NULL - Parse a segment query answer. Any of @rate, @format, @start_value, and + Parse a segment query answer. Any of @rate, @format, @start_value, and @stop_value may be %NULL, which will cause this value to be omitted. See gst_query_set_segment() for an explanation of the function arguments. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the storage for the rate of the segment, or %NULL + the storage for the rate of the segment, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the storage for the #GstFormat of the values, + the storage for the #GstFormat of the values, or %NULL @@ -33798,7 +51850,9 @@ See gst_query_set_segment() for an explanation of the function arguments. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the start value, or %NULL + the storage for the start value, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - the storage for the stop value, or %NULL + the storage for the stop value, or %NULL - Parse an URI query, writing the URI into @uri as a newly + 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. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the storage for the current URI + the storage for the current URI (may be %NULL) @@ -33839,15 +51902,20 @@ Free the string with g_free() after usage. - Parse an URI query, writing the URI into @uri as a newly + 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. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the storage for the redirect URI + the storage for the redirect URI (may be %NULL) @@ -33865,16 +51935,21 @@ Free the string with g_free() after usage. - Parse an URI query, and set @permanent to %TRUE if there is a redirection + Parse an URI query, and set @permanent to %TRUE if there is a redirection and it should be considered permanent. If a redirection is permanent, applications should update their internal storage of the URI, otherwise they should make all future requests to the original URI. + - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - if the URI redirection is permanent + if the URI redirection is permanent (may be %NULL) @@ -33891,17 +51968,24 @@ they should make all future requests to the original URI. - Remove the metadata API at @index of the metadata API array. + Remove the metadata API at @index of the metadata API array. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - position in the metadata API array to remove + position in the metadata API array to remove @@ -33909,17 +51993,24 @@ they should make all future requests to the original URI. - Remove the allocation param at @index of the allocation param array. + Remove the allocation param at @index of the allocation param array. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - position in the allocation param array to remove + position in the allocation param array to remove @@ -33927,34 +52018,48 @@ they should make all future requests to the original URI. - Remove the allocation pool at @index of the allocation pool array. + Remove the allocation pool at @index of the allocation pool array. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - position in the allocation pool array to remove + position in the allocation pool array to remove - Set @result as the result for the @query. + Set @result as the result for the @query. + - a GST_QUERY_ACCEPT_CAPS type query #GstQuery + a GST_QUERY_ACCEPT_CAPS type query #GstQuery - the result to set + the result to set @@ -33962,70 +52067,99 @@ they should make all future requests to the original URI. - Set the results of a bitrate query. The nominal bitrate is the average + Set the results of a bitrate query. The nominal bitrate is the average bitrate expected over the length of the stream as advertised in file headers (or similar). + - a GST_QUERY_BITRATE type #GstQuery + a GST_QUERY_BITRATE type #GstQuery - the nominal bitrate in bits per second + the nominal bitrate in bits per second - Set the percentage of buffered data. This is a value between 0 and 100. + Set the percentage of buffered data. This is a value between 0 and 100. The @busy indicator is %TRUE when the buffering is in progress. + - A valid #GstQuery of type GST_QUERY_BUFFERING. + A valid #GstQuery of type GST_QUERY_BUFFERING. - if buffering is busy + if buffering is busy - a buffering percent + a buffering percent - Set the available query result fields in @query. + Set the available query result fields in @query. + - a #GstQuery + a #GstQuery - the format to set for the @start and @stop values + the format to set for the @start and @stop values - the start to set + the start to set - the stop to set + the stop to set - estimated total amount of download time remaining in + estimated total amount of download time remaining in milliseconds @@ -34033,45 +52167,65 @@ The @busy indicator is %TRUE when the buffering is in progress. - Configures the buffering stats values in @query. + Configures the buffering stats values in @query. + - A valid #GstQuery of type GST_QUERY_BUFFERING. + A valid #GstQuery of type GST_QUERY_BUFFERING. - a buffering mode + a buffering mode - the average input rate + the average input rate - the average output rate + the average output rate - amount of buffering time left in milliseconds + amount of buffering time left in milliseconds - Set the @caps result in @query. + Set the @caps result in @query. + - The query to use + The query to use - A pointer to the caps + A pointer to the caps @@ -34079,65 +52233,94 @@ The @busy indicator is %TRUE when the buffering is in progress. - Answer a context query by setting the requested context. + Answer a context query by setting the requested context. + - a #GstQuery with query type GST_QUERY_CONTEXT + a #GstQuery with query type GST_QUERY_CONTEXT - the requested #GstContext + the requested #GstContext - Answer a convert query by setting the requested values. + Answer a convert query by setting the requested values. + - a #GstQuery + a #GstQuery - the source #GstFormat + the source #GstFormat - the source value + the source value - the destination #GstFormat + the destination #GstFormat - the destination value + the destination value - Answer a duration query by setting the requested value in the given format. + Answer a duration query by setting the requested value in the given format. + - a #GstQuery + a #GstQuery - the #GstFormat for the duration + the #GstFormat for the duration - the duration of the stream + the duration of the stream @@ -34145,43 +52328,61 @@ The @busy indicator is %TRUE when the buffering is in progress. - Set the formats query result fields in @query. The number of formats passed + Set the formats query result fields in @query. The number of formats passed must be equal to @n_formats. + - a #GstQuery + a #GstQuery - the number of formats to set. + the number of formats to set. - A number of @GstFormats equal to @n_formats. + A number of @GstFormats equal to @n_formats. - Set the formats query result fields in @query. The number of formats passed + Set the formats query result fields in @query. The number of formats passed in the @formats array must be equal to @n_formats. + - a #GstQuery + a #GstQuery - the number of formats to set. + the number of formats to set. - an array containing @n_formats + an array containing @n_formats @GstFormat values. @@ -34190,175 +52391,249 @@ in the @formats array must be equal to @n_formats. - Answer a latency query by setting the requested values in the given format. + Answer a latency query by setting the requested values in the given format. + - a #GstQuery + a #GstQuery - if there is a live element upstream + if there is a live element upstream - the minimal latency of the upstream elements + the minimal latency of the upstream elements - the maximal latency of the upstream elements + the maximal latency of the upstream elements - Parse an available query and get the allocator and its params + Parse an available query and get the allocator and its params at @index of the allocator array. + - a GST_QUERY_ALLOCATION type query #GstQuery + a GST_QUERY_ALLOCATION type query #GstQuery - position in the allocator array to set + position in the allocator array to set - new allocator to set + new allocator to set - parameters for the allocator + parameters for the allocator - Set the pool parameters in @query. + Set the pool parameters in @query. + - A valid #GstQuery of type GST_QUERY_ALLOCATION. + A valid #GstQuery of type GST_QUERY_ALLOCATION. - index to modify + index to modify - the #GstBufferPool + the #GstBufferPool - the buffer size + the buffer size - the min buffers + the min buffers - the max buffers + the max buffers - Answer a position query by setting the requested value in the given format. + Answer a position query by setting the requested value in the given format. + - a #GstQuery with query type GST_QUERY_POSITION + a #GstQuery with query type GST_QUERY_POSITION - the requested #GstFormat + the requested #GstFormat - the position to set + the position to set - Set the scheduling properties. + Set the scheduling properties. + - A valid #GstQuery of type GST_QUERY_SCHEDULING. + A valid #GstQuery of type GST_QUERY_SCHEDULING. - #GstSchedulingFlags + #GstSchedulingFlags - the suggested minimum size of pull requests + the suggested minimum size of pull requests - the suggested maximum size of pull requests + the suggested maximum size of pull requests - the suggested alignment of pull requests + the suggested alignment of pull requests - Set the seeking query result fields in @query. + Set the seeking query result fields in @query. + - a #GstQuery + a #GstQuery - the format to set for the @segment_start and @segment_end values + the format to set for the @segment_start and @segment_end values - the seekable flag to set + the seekable flag to set - the segment_start to set + the segment_start to set - the segment_end to set + the segment_end to set - Answer a segment query by setting the requested values. The normal + 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. @@ -34369,44 +52644,62 @@ The values are always between 0 and the duration of the media and @start_value <= @stop_value. @rate will contain the playback rate. For negative rates, playback will actually happen from @stop_value to @start_value. + - a #GstQuery + a #GstQuery - the rate of the segment + the rate of the segment - the #GstFormat of the segment values (@start_value and @stop_value) + the #GstFormat of the segment values (@start_value and @stop_value) - the start value + the start value - the stop value + the stop value - Answer a URI query by setting the requested URI. + Answer a URI query by setting the requested URI. + - a #GstQuery with query type GST_QUERY_URI + a #GstQuery with query type GST_QUERY_URI - the URI to set + the URI to set @@ -34414,17 +52707,24 @@ negative rates, playback will actually happen from @stop_value to - Answer a URI query by setting the requested URI redirection. + Answer a URI query by setting the requested URI redirection. + - a #GstQuery with query type GST_QUERY_URI + a #GstQuery with query type GST_QUERY_URI - the URI to set + the URI to set @@ -34432,201 +52732,339 @@ negative rates, playback will actually happen from @stop_value to - Answer a URI query by setting the requested URI redirection + Answer a URI query by setting the requested URI redirection to permanent or not. + - a #GstQuery with query type %GST_QUERY_URI + a #GstQuery with query type %GST_QUERY_URI - whether the redirect is permanent or not + whether the redirect is permanent or not + + Decreases the refcount of the query. If the refcount reaches 0, the query +will be freed. + + + + + + + a #GstQuery to decrease the refcount of. + + + + - Get the structure of a query. This method should be called with a writable + Get the structure of a query. This method should be called with a writable @query so that the returned structure is guaranteed to be writable. + - the #GstStructure of the query. The structure is + the #GstStructure of the query. The structure is still owned by the query and will therefore be freed when the query is unreffed. - a #GstQuery + a #GstQuery + + Modifies a pointer to a #GstQuery to point to a different #GstQuery. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +query is unreffed, the new one is reffed). + +Either @new_query or the #GstQuery pointed to by @old_query may be %NULL. + + + %TRUE if @new_query was different from @old_query + + + + + pointer to a pointer to a + #GstQuery to be replaced. + + + + pointer to a #GstQuery that will + replace the query pointed to by @old_query. + + + + - Standard predefined Query types + Standard predefined Query types - unknown query type + unknown query type - current position in stream + current position in stream - total duration of the stream + total duration of the stream - latency of stream + latency of stream - current jitter of stream + current jitter of stream - current rate of the stream + current rate of the stream - seeking capabilities + seeking capabilities - segment start/stop positions + segment start/stop positions - convert values between formats + convert values between formats - query supported formats for convert + query supported formats for convert - query available media for efficient seeking. + query available media for efficient seeking. - a custom application or element defined query. + a custom application or element defined query. - query the URI of the source or sink. + query the URI of the source or sink. - the buffer allocation properties + the buffer allocation properties - the scheduling properties + the scheduling properties - the accept caps query + the accept caps query - the caps query + the caps query - wait till all serialized data is consumed downstream + wait till all serialized data is consumed downstream - query the pipeline-local context from + query the pipeline-local context from downstream or upstream (since 1.2) - the bitrate query (since 1.16) + the bitrate query (since 1.16) - Gets the #GstQueryTypeFlags associated with @type. + Gets the #GstQueryTypeFlags associated with @type. + - a #GstQueryTypeFlags. + a #GstQueryTypeFlags. - a #GstQueryType + a #GstQueryType - Get a printable name for the given query type. Do not modify or free. + Get a printable name for the given query type. Do not modify or free. + - a reference to the static name of the query. + a reference to the static name of the query. - the query type + the query type - Get the unique quark for the given query type. + Get the unique quark for the given query type. + - the quark associated with the query type + the quark associated with the query type - the query type + the query type @@ -34636,34 +53074,460 @@ to permanent or not. glib:type-name="GstQueryTypeFlags" glib:get-type="gst_query_type_flags_get_type" c:type="GstQueryTypeFlags"> - #GstQueryTypeFlags indicate the aspects of the different #GstQueryType + #GstQueryTypeFlags indicate the aspects of the different #GstQueryType values. You can get the type flags of a #GstQueryType with the gst_query_type_get_flags() function. - Set if the query can travel upstream. + Set if the query can travel upstream. - Set if the query can travel downstream. + Set if the query can travel downstream. - Set if the query should be serialized with data + Set if the query should be serialized with data flow. + + Read a 16 bit unsigned integer value in big endian format from the memory buffer. + + + + memory location + + + + + Read a 16 bit unsigned integer value in little endian format from the memory buffer. + + + + memory location + + + + + Read a 24 bit unsigned integer value in big endian format from the memory buffer. + + + + memory location + + + + + Read a 24 bit unsigned integer value in little endian format from the memory buffer. + + + + memory location + + + + + Read a 32 bit unsigned integer value in big endian format from the memory buffer. + + + + memory location + + + + + Read a 32 bit unsigned integer value in little endian format from the memory buffer. + + + + memory location + + + + + Read a 64 bit unsigned integer value in big endian format from the memory buffer. + + + + memory location + + + + + Read a 64 bit unsigned integer value in little endian format from the memory buffer. + + + + memory location + + + + + Read an 8 bit unsigned integer value from the memory buffer. + + + + memory location + + + + + + + + + + + + + + + + + + + + + + + + + + Rounds an integer value down to the next multiple of 128. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of 16. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of 2. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of 32. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of 4. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of 64. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of 8. + + + + integer value to round down + + + + + Rounds an integer value down to the next multiple of @align. @align MUST be a +power of two. + + + + integrer value to round down + + + a power of two to round down to + + + + + Rounds an integer value up to the next multiple of 128. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of 16. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of 2. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of 32. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of 4. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of 64. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of 8. + + + + integer value to round up + + + + + Rounds an integer value up to the next multiple of @align. @align MUST be a +power of two. + + + + integrer value to round up + + + a power of two to round up to + + + - Element priority ranks. Defines the order in which the autoplugger (or + 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. @@ -34674,31 +53538,41 @@ These constants serve as a rough guidance for defining the rank of a value="0" c:identifier="GST_RANK_NONE" glib:nick="none"> - will be chosen last or not at all + will be chosen last or not at all - unlikely to be chosen + unlikely to be chosen - likely to be chosen + likely to be chosen - will be chosen first + will be chosen first - #GstReferenceTimestampMeta can be used to attach alternative timestamps and + #GstReferenceTimestampMeta can be used to attach alternative timestamps and possibly durations to a #GstBuffer. These are generally not according to the pipeline clock and could be e.g. the NTP timestamp when the media was captured. @@ -34708,28 +53582,42 @@ references would be "timestamp/x-drivername-stream" for timestamps that are loca generated by some driver named "drivername" when generating the stream, e.g. based on a frame counter, or "timestamp/x-ntp, host=pool.ntp.org, port=123" for timestamps based on a specific NTP server. + - the parent #GstMeta structure + the parent #GstMeta structure - identifier for the timestamp reference. + identifier for the timestamp reference. - timestamp + timestamp - duration, or %GST_CLOCK_TIME_NONE + duration, or %GST_CLOCK_TIME_NONE - Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + - The #GstMetaInfo + The #GstMetaInfo @@ -34741,7 +53629,9 @@ port=123" for timestamps based on a specific NTP server. glib:type-name="GstRegistry" glib:get-type="gst_registry_get_type" glib:type-struct="RegistryClass"> - One registry holds the metadata of a set of plugins. + One registry holds the metadata of a set of plugins. <emphasis role="bold">Design:</emphasis> @@ -34799,128 +53689,182 @@ different sets of plugins. For various reasons, at init time, the cache is stored in the default registry, and plugins not relevant to the current process are marked with the %GST_PLUGIN_FLAG_CACHED bit. These plugins are removed at the end of initialization. + - By default GStreamer will perform scanning and rebuilding of the + 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. + - %TRUE if GStreamer will use the child helper process when + %TRUE if GStreamer will use the child helper process when rebuilding the registry. - Applications might want to disable/enable spawning of a child helper process + 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. + whether rebuilding the registry can use a temporary child helper process. - Retrieves the singleton plugin registry. The caller does not own a + Retrieves the singleton plugin registry. The caller does not own a reference on the registry, as it is alive as long as GStreamer is initialized. + - the #GstRegistry. + the #GstRegistry. - Add the feature to the registry. The feature-added signal will be emitted. + Add the feature to the registry. The feature-added signal will be emitted. @feature's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink()) + - %TRUE on success. + %TRUE on success. MT safe. - the registry to add the plugin to + the registry to add the plugin to - the feature to add + the feature to add - Add the plugin to the registry. The plugin-added signal will be emitted. + Add the plugin to the registry. The plugin-added signal will be emitted. @plugin's reference count will be incremented, and any floating reference will be removed (see gst_object_ref_sink()) + - %TRUE on success. + %TRUE on success. MT safe. - the registry to add the plugin to + the registry to add the plugin to - the plugin to add + the plugin to add - Checks whether a plugin feature by the given name exists in + Checks whether a plugin feature by the given name exists in @registry and whether its version is at least the version required. + - %TRUE if the feature could be found and the version is + %TRUE if the feature could be found and the version is the same as the required version or newer, and %FALSE otherwise. - a #GstRegistry + a #GstRegistry - the name of the feature (e.g. "oggdemux") + the name of the feature (e.g. "oggdemux") - the minimum major version number + the minimum major version number - the minimum minor version number + the minimum minor version number - the minimum micro version number + the minimum micro version number - Runs a filter against all features of the plugins in the registry + 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). + - a #GList of + a #GList of #GstPluginFeature. Use gst_plugin_feature_list_free() after usage. MT safe. @@ -34930,33 +53874,46 @@ MT safe. - registry to query + registry to query - the filter to use + the filter to use - only return first match + only return first match - user data passed to the filter function + user data passed to the filter function - Find the pluginfeature with the given name and type in the registry. + Find the pluginfeature with the given name and type in the registry. + - the pluginfeature with the + the pluginfeature with the given name and type or %NULL if the plugin was not found. gst_object_unref() after usage. @@ -34965,24 +53922,35 @@ MT safe. - the registry to search + the registry to search - the pluginfeature name to find + the pluginfeature name to find - the pluginfeature type to find + the pluginfeature type to find - Find the plugin with the given name in the registry. + Find the plugin with the given name in the registry. The plugin will be reffed; caller is responsible for unreffing. + - the plugin with the given name + the plugin with the given name or %NULL if the plugin was not found. gst_object_unref() after usage. @@ -34991,20 +53959,29 @@ MT safe. - the registry to search + the registry to search - the plugin name to find + the plugin name to find - Retrieves a #GList of #GstPluginFeature of @type. + Retrieves a #GList of #GstPluginFeature of @type. + - a #GList of + a #GList of #GstPluginFeature of @type. Use gst_plugin_feature_list_free() after use MT safe. @@ -35014,20 +53991,29 @@ MT safe. - a #GstRegistry + a #GstRegistry - a #GType. + a #GType. - Retrieves a #GList of features of the plugin with name @name. + Retrieves a #GList of features of the plugin with name @name. + - a #GList of + a #GList of #GstPluginFeature. Use gst_plugin_feature_list_free() after usage. @@ -35035,36 +54021,52 @@ MT safe. - a #GstRegistry. + a #GstRegistry. - a plugin name. + a plugin name. - Returns the registry's feature list cookie. This changes + Returns the registry's feature list cookie. This changes every time a feature is added or removed from the registry. + - the feature list cookie. + the feature list cookie. - the registry + the registry - Get a copy of all plugins registered in the given registry. The refcount + Get a copy of all plugins registered in the given registry. The refcount of each element in the list in incremented. + - a #GList of #GstPlugin. + a #GList of #GstPlugin. Use gst_plugin_list_free() after usage. MT safe. @@ -35074,34 +54076,50 @@ MT safe. - the registry to search + the registry to search - Look up a plugin in the given registry with the given filename. + Look up a plugin in the given registry with the given filename. If found, plugin is reffed. + - the #GstPlugin if found, or + the #GstPlugin if found, or %NULL if not. gst_object_unref() after usage. - the registry to look up in + the registry to look up in - the name of the file to look up + the name of the file to look up - Find a #GstPluginFeature with @name in @registry. + Find a #GstPluginFeature with @name in @registry. + - a #GstPluginFeature with its refcount incremented, + a #GstPluginFeature with its refcount incremented, use gst_object_unref() after usage. MT safe. @@ -35109,23 +54127,32 @@ MT safe. - a #GstRegistry + a #GstRegistry - a #GstPluginFeature name + a #GstPluginFeature name - Runs a filter against all plugins in the registry and returns a #GList with + 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. + - a #GList of #GstPlugin. + a #GList of #GstPlugin. Use gst_plugin_list_free() after usage. MT safe. @@ -35135,79 +54162,110 @@ MT safe. - registry to query + registry to query - the filter to use + the filter to use - only return first match + only return first match - user data passed to the filter function + user data passed to the filter function - Remove the feature from the registry. + Remove the feature from the registry. MT safe. + - the registry to remove the feature from + the registry to remove the feature from - the feature to remove + the feature to remove - Remove the plugin from the registry. + Remove the plugin from the registry. MT safe. + - the registry to remove the plugin from + the registry to remove the plugin from - the plugin to remove + the plugin to remove - Scan the given path for plugins to add to the registry. The syntax of the + 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 + %TRUE if registry changed - the registry to add found plugins to + the registry to add found plugins to - the path to scan + the path to scan @@ -35219,27 +54277,35 @@ path is specific to the registry. - Signals that a feature has been added to the registry (possibly + 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 + the feature that has been added - Signals that a plugin has been added to the registry (possibly + 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 + the plugin that has been added @@ -35248,158 +54314,540 @@ replacing a previously-added one by the same name) + + - Resource errors are for any resource used by an element: + 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. - a general error which doesn't fit in any other + a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. - do not use this except as a placeholder for + do not use this except as a placeholder for deciding where to go while developing code. - used when the resource could not be found. + used when the resource could not be found. - used when resource is busy. + used when resource is busy. - used when resource fails to open for reading. + used when resource fails to open for reading. - used when resource fails to open for writing. + used when resource fails to open for writing. - used when resource cannot be opened for + used when resource cannot be opened for both reading and writing, or either (but unspecified which). - used when the resource can't be closed. + used when the resource can't be closed. - used when the resource can't be read from. + used when the resource can't be read from. - used when the resource can't be written to. + used when the resource can't be written to. - used when a seek on the resource fails. + used when a seek on the resource fails. - used when a synchronize on the resource fails. + used when a synchronize on the resource fails. - used when settings can't be manipulated on. + used when settings can't be manipulated on. - used when the resource has no space left. + used when the resource has no space left. - used when the resource can't be opened + used when the resource can't be opened due to missing authorization. - (Since 1.2.4) + (Since: 1.2.4) - the number of resource error types. + the number of resource error types. + + + + + + + + + + + + + + + - Constant that defines one GStreamer second. + Constant that defines one GStreamer second. + - printf format type used to debug GStreamer segments. You can use this in + printf format type used to debug GStreamer segments. You can use this in combination with GStreamer's debug logging system as well as the functions gst_info_vasprintf(), gst_info_strdup_vprintf() and gst_info_strdup_printf() to pretty-print #GstSegment structures. This can only be used on pointers to GstSegment structures. + + + + + - A value which is guaranteed to never be returned by + A value which is guaranteed to never be returned by gst_util_seqnum_next(). Can be used as a default value in variables used to store seqnum. + + + This macro returns the current #GstState of the element. + + + + a #GstElement to return state for. + + + + + + + + + + + + Get the conditional used to signal the completion of a state change. + + + + a #GstElement + + + + + Get a reference to the state lock of @elem. +This lock is used by the core. It is taken while getting or setting +the state, during state changes, and while finalizing. + + + + a #GstElement + + + + + Given a current state @cur and a target state @pending, calculate the next (intermediate) +#GstState. + + + + A starting #GstState + + + A target #GstState + + + + + + + + + + + + This macro returns the next #GstState of the element. + + + + a #GstElement to return the next state for. + + + + + This macro returns the currently pending #GstState of the element. + + + + a #GstElement to return the pending state for. + + + + + This macro returns the last #GstStateChangeReturn value. + + + + a #GstElement to return the last state result for. + + + + + + + + + + + + This macro returns the target #GstState of the element. + + + + a #GstElement to return the target state for. + + + + + Given a current state @cur and a next state @next, calculate the associated +#GstStateChange transition. + + + + A current state + + + A next state + + + + + Given a state transition @trans, extract the current #GstState. + + + + A #GstStateChange + + + + + Given a state transition @trans, extract the next #GstState. + + + + A #GstStateChange + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Creates a new #GstCaps static caps from an input string. +This can be used in pad templates. + + + + the string describing the caps + + + + + Convenience macro to fill the values of a #GstStaticPadTemplate +structure. +Example: +|[<!-- language="C" --> +static GstStaticPadTemplate my_src_template = * GST_STATIC_PAD_TEMPLATE("src", GST_PAD_SRC, GST_PAD_ALWAYS, +, + GST_STATIC_CAPS_ANY); +]| + + + + the name template of the pad + + + the GstPadDirection of the pad + + + the GstPadPresence of the pad + + + the GstStaticCaps of the pad + + + + + Format @t for the #GST_STIME_FORMAT format string. Note: @t will be +evaluated more than once. + + + + a #GstClockTimeDiff or #gint64 + + + - A string that can be used in printf-like format strings to display a signed + A string that can be used in printf-like format strings to display a signed #GstClockTimeDiff or #gint64 value in h:m:s format. Use GST_TIME_ARGS() to construct the matching arguments. @@ -35407,21 +54855,195 @@ Example: |[ printf("%" GST_STIME_FORMAT "\n", GST_STIME_ARGS(ts)); ]| + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Transform an input string into a #guint32 fourcc value with host +endianness. +Caller is responsible for ensuring the input string consists of at least +four characters. + +|[ +guint32 fourcc = GST_STR_FOURCC ("MJPG"); +]| + + + + a string with at least four characters + + + + + Macro to use when a string must not be %NULL, but may be %NULL. If the string +is %NULL, "(NULL)" is printed instead. +In GStreamer printf string arguments may not be %NULL, because on some +platforms (ie Solaris) the libc crashes in that case. This includes debugging +strings. + + + + The string to check. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - A #GstSample is a small object containing data, a type, timing and + A #GstSample is a small object containing data, a type, timing and extra arbitrary information. + - Create a new #GstSample with the provided details. + Create a new #GstSample with the provided details. Free-function: gst_sample_unref + - the new #GstSample. gst_sample_unref() + the new #GstSample. gst_sample_unref() after usage. @@ -35430,36 +55052,73 @@ Free-function: gst_sample_unref transfer-ownership="none" nullable="1" allow-none="1"> - a #GstBuffer, or %NULL + a #GstBuffer, or %NULL - a #GstCaps, or %NULL + a #GstCaps, or %NULL - a #GstSegment, or %NULL + a #GstSegment, or %NULL - a #GstStructure, or %NULL + a #GstStructure, or %NULL + + Create a copy of the given sample. This will also make a newly allocated +copy of the data the source sample contains. + + + a new copy of @buf. + + + + + a #GstSample. + + + + - Get the buffer associated with @sample + Get the buffer associated with @sample + - the buffer of @sample or %NULL + the buffer of @sample or %NULL when there is no buffer. The buffer remains valid as long as @sample is valid. If you need to hold on to it for longer than that, take a ref to the buffer with gst_buffer_ref(). @@ -35467,7 +55126,9 @@ Free-function: gst_sample_unref - a #GstSample + a #GstSample @@ -35475,9 +55136,14 @@ Free-function: gst_sample_unref - Get the buffer list associated with @sample + Get the buffer list associated with @sample + - the buffer list of @sample or %NULL + the buffer list of @sample or %NULL when there is no buffer list. The buffer list remains valid as long as @sample is valid. If you need to hold on to it for longer than that, take a ref to the buffer list with gst_mini_object_ref (). @@ -35485,15 +55151,22 @@ Free-function: gst_sample_unref - a #GstSample + a #GstSample - Get the caps associated with @sample + Get the caps associated with @sample + - the caps of @sample or %NULL + the caps of @sample or %NULL when there is no caps. The caps remain valid as long as @sample is valid. If you need to hold on to the caps for longer than that, take a ref to the caps with gst_caps_ref(). @@ -35501,35 +55174,71 @@ Free-function: gst_sample_unref - a #GstSample + a #GstSample - Get extra information associated with @sample. + Get extra information associated with @sample. + - the extra info of @sample. + the extra info of @sample. The info remains valid as long as @sample is valid. - a #GstSample + a #GstSample - Get the segment associated with @sample + Get the segment associated with @sample + - the segment of @sample. + the segment of @sample. The segment remains valid as long as @sample is valid. - a #GstSample + a #GstSample + + + + + + Increases the refcount of the given sample by one. + + + @sample + + + + + a #GstSample @@ -35537,17 +55246,24 @@ Free-function: gst_sample_unref - Set the buffer associated with @sample. @sample must be writable. + Set the buffer associated with @sample. @sample must be writable. + - A #GstSample + A #GstSample - A #GstBuffer + A #GstBuffer @@ -35555,17 +55271,24 @@ Free-function: gst_sample_unref - Set the buffer list associated with @sample. @sample must be writable. + Set the buffer list associated with @sample. @sample must be writable. + - a #GstSample + a #GstSample - a #GstBufferList + a #GstBufferList @@ -35573,17 +55296,24 @@ Free-function: gst_sample_unref - Set the caps associated with @sample. @sample must be writable. + Set the caps associated with @sample. @sample must be writable. + - A #GstSample + A #GstSample - A #GstCaps + A #GstCaps @@ -35591,18 +55321,25 @@ Free-function: gst_sample_unref - Set the info structure associated with @sample. @sample must be writable, + Set the info structure associated with @sample. @sample must be writable, and @info must not have a parent set already. + - A #GstSample + A #GstSample - A #GstStructure + A #GstStructure @@ -35610,75 +55347,118 @@ and @info must not have a parent set already. - Set the segment associated with @sample. @sample must be writable. + Set the segment associated with @sample. @sample must be writable. + - A #GstSample + A #GstSample - A #GstSegment + A #GstSegment + + Decreases the refcount of the sample. If the refcount reaches 0, the +sample will be freed. + + + + + + + a #GstSample + + + + - The different scheduling flags. + The different scheduling flags. - if seeking is possible + if seeking is possible - if sequential access is recommended + if sequential access is recommended - if bandwidth is limited and buffering possible (since 1.2) + if bandwidth is limited and buffering possible (since 1.2) - The different search modes. + The different search modes. - Only search for exact matches. + Only search for exact matches. - Search for an exact match or the element just before. + Search for an exact match or the element just before. - Search for an exact match or the element just after. + Search for an exact match or the element just after. - Flags to be used with gst_element_seek() or gst_event_new_seek(). All flags + 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 @@ -35695,6 +55475,16 @@ 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 seamless looping or simple linear editing. +When only changing the playback rate and not the direction, the +%GST_SEEK_FLAG_INSTANT_RATE_CHANGE flag can be used for a non-flushing seek +to signal that the rate change should be applied immediately. This requires +special support in the seek handlers (e.g. demuxers) and any elements +synchronizing to the clock, and in general can't work in all cases (for example +UDP streaming where the delivery rate is controlled by a remote server). The +instant-rate-change mode supports changing the trickmode-related GST_SEEK_ flags, +but can't be used in conjunction with other seek flags that affect the new +playback position - as the playback position will not be changing. + When doing fast forward (rate > 1.0) or fast reverse (rate < -1.0) trickmode playback, the %GST_SEEK_FLAG_TRICKMODE flag can be used to instruct decoders and demuxers to adjust the playback rate by skipping frames. This can improve @@ -35723,54 +55513,70 @@ elements that handle them. value="0" c:identifier="GST_SEEK_FLAG_NONE" glib:nick="none"> - no flag + no flag - flush pipeline + flush pipeline - accurate position is requested, this might + accurate position is requested, this might be considerably slower for some formats. - seek to the nearest keyframe. This might be + seek to the nearest keyframe. This might be faster but less accurate. - perform a segment seek. + perform a segment seek. - when doing fast forward or fast reverse playback, allow + when doing fast forward or fast reverse playback, allow elements to skip frames instead of generating all - frames. (Since 1.6) + frames. (Since: 1.6) - Deprecated backward compatibility flag, replaced + Deprecated backward compatibility flag, replaced by %GST_SEEK_FLAG_TRICKMODE - go to a location before the requested position, + go to a location before the requested position, if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at or before the requested position the one at or before the seek target. @@ -35778,7 +55584,9 @@ elements that handle them. value="64" c:identifier="GST_SEEK_FLAG_SNAP_AFTER" glib:nick="snap-after"> - go to a location after the requested position, + go to a location after the requested position, if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe at of after the requested position. @@ -35786,7 +55594,9 @@ elements that handle them. value="96" c:identifier="GST_SEEK_FLAG_SNAP_NEAREST" glib:nick="snap-nearest"> - go to a position near the requested position, + go to a position near the requested position, if %GST_SEEK_FLAG_KEY_UNIT this means the keyframe closest to the requested position, if both keyframes are at an equal distance, behaves like %GST_SEEK_FLAG_SNAP_BEFORE. @@ -35795,43 +55605,78 @@ elements that handle them. value="128" c:identifier="GST_SEEK_FLAG_TRICKMODE_KEY_UNITS" glib:nick="trickmode-key-units"> - when doing fast forward or fast reverse + when doing fast forward or fast reverse playback, request that elements only decode keyframes and skip all other content, for formats that have - keyframes. (Since 1.6) + keyframes. (Since: 1.6) - when doing fast forward or fast reverse + when doing fast forward or fast reverse playback, request that audio decoder elements skip - decoding and output only gap events or silence. (Since 1.6) + decoding and output only gap events or silence. (Since: 1.6) + + + When doing fast forward or fast reverse + playback, request that elements only decode keyframes and + forward predicted frames and skip all other content (for example + B-Frames), for formats that have keyframes and forward predicted + frames. (Since: 1.18) + + + Signals that a rate change should be + applied immediately. Only valid if start/stop position + are GST_CLOCK_TIME_NONE, the playback direction does not change + and the seek is not flushing. (Since: 1.18) - The different types of seek events. When constructing a seek event with + The different types of seek events. When constructing a seek event with gst_event_new_seek() or when doing gst_segment_do_seek (). - no change in position is required + no change in position is required - absolute position is requested + absolute position is requested - relative position to duration is requested + relative position to duration is requested glib:type-name="GstSegment" glib:get-type="gst_segment_get_type" c:symbol-prefix="segment"> - This helper structure holds the relevant values for tracking the region of + This helper structure holds the relevant values for tracking the region of interest in a media file, called a segment. The structure can be used for two purposes: @@ -35885,69 +55732,144 @@ any rate or applied_rate conversions. For elements that need to perform operations on media data in stream_time, gst_segment_to_stream_time() can be used to convert a timestamp and the segment info to stream time (which is always between 0 and the duration of the stream). + - flags for this segment + flags for this segment - the playback rate of the segment + the playback rate of the segment is set in response to a seek + event and, without any seek, the value should be `1.0`. This + value is used by elements that synchronize buffer [running + times](additional/design/synchronisation.md#running-time) on + the clock (usually the sink elements), leading to consuming + buffers faster (for a value `> 1.0`) or slower (for `0.0 < + value < 1.0`) than normal playback speed. The rate also + defines the playback direction, meaning that when the value is + lower than `0.0`, the playback happens in reverse, and the + [stream-time](additional/design/synchronisation.md#stream-time) + is going backward. The `rate` value should never be `0.0`. - the already applied rate to the segment + The applied rate is the rate that has been applied to the stream. + The effective/resulting playback rate of a stream is + `rate * applied_rate`. + The applied rate can be set by source elements when a server is + sending the stream with an already modified playback speed + rate. Filter elements that modify the stream in a way that + modifies the playback speed should also modify the applied + rate. For example the #videorate element when its + #videorate:rate property is set will set the applied rate of + the segment it pushed downstream. Also #scaletempo applies the + input segment rate to the stream and outputs a segment with + rate=1.0 and applied_rate=<inputsegment.rate>. - the format of the segment values + the unit used for all of the segment's values. - the running time (plus elapsed time, see offset) of the segment start + the running time (plus elapsed time, see offset) of the + segment [start](GstSegment.start) ([stop](GstSegment.stop) if + rate < 0.0). - the amount (in buffer timestamps) that has already been elapsed in - the segment + the offset expresses the elapsed time (in buffer timestamps) + before a seek with its start (stop if rate < 0.0) seek type + set to #GST_SEEK_TYPE_NONE, the value is set to the position + of the segment at the time of the seek. - the start of the segment in buffer timestamp time (PTS) + the start time of the segment (in buffer timestamps) + [(PTS)](GstBuffer.pts), that is the timestamp of the first + buffer to output inside the segment (last one during + reverse playback). For example decoders will + [clip](gst_segment_clip) out the buffers before the start + time. - the stop of the segment in buffer timestamp time (PTS) + the stop time of the segment (in buffer timestamps) + [(PTS)](GstBuffer.pts), that is the timestamp of the last + buffer to output inside the segment (first one during + reverse playback). For example decoders will + [clip](gst_segment_clip) out buffers after the stop time. - the stream time of the segment start + the stream time of the segment [start](GstSegment.start) + ([stop](GstSegment.stop) if rate < 0.0). - the buffer timestamp position in the segment (used internally by - elements such as sources, demuxers or parsers to track progress) + the buffer timestamp position in the segment is supposed to be + updated by elements such as sources, demuxers or parsers to + track progress by setting it to the last pushed buffer' end time + ([timestamp](GstBuffer.pts) + #GstBuffer.duration) for that + specific segment. The position is used when reconfiguring the + segment with #gst_segment_do_seek when the seek is only + updating the segment (see [offset](GstSegment.offset)). - the duration of the stream + the duration of the segment is the maximum absolute difference + between #GstSegment.start and #GstSegment.stop if stop is not + set, otherwise it should be the difference between those + two values. This should be set by elements that know the + overall stream duration (like demuxers) and will be used when + seeking with #GST_SEEK_TYPE_END. - + - Allocate a new #GstSegment structure and initialize it using + Allocate a new #GstSegment structure and initialize it using gst_segment_init(). Free-function: gst_segment_free + - a new #GstSegment, free with gst_segment_free(). + a new #GstSegment, free with gst_segment_free(). - Clip the given @start and @stop values to the segment boundaries given + 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. @@ -35960,27 +55882,38 @@ 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. + - %TRUE if the given @start and @stop times fall partially or + %TRUE if the given @start and @stop times fall partially or completely in @segment, %FALSE if the values are completely outside of the segment. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the start position in the segment + the start position in the segment - the stop position in the segment + the stop position in the segment transfer-ownership="full" optional="1" allow-none="1"> - the clipped start position in the segment + the clipped start position in the segment transfer-ownership="full" optional="1" allow-none="1"> - the clipped stop position in the segment + the clipped stop position in the segment - Create a copy of given @segment. + Create a copy of given @segment. Free-function: gst_segment_free + - a new #GstSegment, free with gst_segment_free(). + a new #GstSegment, free with gst_segment_free(). - a #GstSegment + a #GstSegment - Copy the contents of @src into @dest. + Copy the contents of @src into @dest. + - a #GstSegment + a #GstSegment - a #GstSegment + a #GstSegment - Update the segment structure with the field values of a seek event (see + Update the segment structure with the field values of a seek event (see gst_event_new_seek()). After calling this method, the segment field position and time will @@ -36062,41 +56015,60 @@ rate and applied_rate after calling this function. @update will be set to %TRUE if a seek should be performed to the segment position field. This field can be %FALSE if, for example, only the @rate has been changed but not the playback position. + - %TRUE if the seek could be performed. + %TRUE if the seek could be performed. - a #GstSegment structure. + a #GstSegment structure. - the rate of the segment. + the rate of the segment. - the format of the segment. + the format of the segment. - the segment flags for the segment + the segment flags for the segment - the seek method + the seek method - the seek start value + the seek start value - the seek method + the seek method - the seek stop value + the seek stop value transfer-ownership="full" optional="1" allow-none="1"> - boolean holding whether position was updated. + boolean holding whether position was updated. - Free the allocated segment @segment. + Free the allocated segment @segment. + - a #GstSegment + a #GstSegment - The start/position fields are set to 0 and the stop/duration + The start/position fields 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. + - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. @@ -36145,19 +56131,28 @@ Initialize @segment to its default values. - Checks for two segments being equal. Equality here is defined + Checks for two segments being equal. Equality here is defined as perfect equality, including floating point values. + - %TRUE if the segments are equal, %FALSE otherwise. + %TRUE if the segments are equal, %FALSE otherwise. - a #GstSegment structure. + a #GstSegment structure. - a #GstSegment structure. + a #GstSegment structure. @@ -36165,24 +56160,35 @@ as perfect equality, including floating point values. - Adjust the values in @segment so that @offset is applied to all + Adjust the values in @segment so that @offset is applied to all future running-time calculations. + - %TRUE if the segment could be updated successfully. If %FALSE is + %TRUE if the segment could be updated successfully. If %FALSE is returned, @offset is not in @segment. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the offset to apply in the segment + the offset to apply in the segment @@ -36190,24 +56196,35 @@ returned, @offset is not in @segment. - Convert @running_time into a position in the segment so that + Convert @running_time into a position in the segment so that gst_segment_to_running_time() with that position returns @running_time. + - the position in the segment for @running_time. This function returns + the position in the segment for @running_time. This function returns -1 when @running_time is -1 or when it is not inside @segment. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the running_time in the segment + the running_time in the segment @@ -36215,7 +56232,9 @@ gst_segment_to_running_time() with that position returns @running_time. - Translate @running_time to the segment position using the currently configured + Translate @running_time to the segment position using the currently configured segment. Compared to gst_segment_position_from_running_time() this function can return negative segment position. @@ -36231,28 +56250,39 @@ in @position. When this function returns -1, the returned @position was < 0, and the value in the position variable should be negated to get the real negative segment position. + - a 1 or -1 on success, 0 on failure. + a 1 or -1 on success, 0 on failure. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the running-time + the running-time - the resulting position in the segment + the resulting position in the segment @@ -36260,24 +56290,35 @@ position. - Convert @stream_time into a position in the segment so that + Convert @stream_time into a position in the segment so that gst_segment_to_stream_time() with that position returns @stream_time. + - the position in the segment for @stream_time. This function returns + the position in the segment for @stream_time. This function returns -1 when @stream_time is -1 or when it is not inside @segment. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the stream_time in the segment + the stream_time in the segment @@ -36285,7 +56326,9 @@ gst_segment_to_stream_time() with that position returns @stream_time. - Translate @stream_time to the segment position using the currently configured + Translate @stream_time to the segment position using the currently configured segment. Compared to gst_segment_position_from_stream_time() this function can return negative segment position. @@ -36300,52 +56343,74 @@ in @position. When this function returns -1, the returned @position should be negated to get the real negative segment position. + - a 1 or -1 on success, 0 on failure. + a 1 or -1 on success, 0 on failure. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the stream-time + the stream-time - the resulting position in the segment + the resulting position in the segment - Adjust the start/stop and base values of @segment such that the next valid + Adjust the start/stop and base values of @segment such that the next valid buffer will be one with @running_time. + - %TRUE if the segment could be updated successfully. If %FALSE is + %TRUE if the segment could be updated successfully. If %FALSE is returned, @running_time is -1 or not in @segment. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the running_time in the segment + the running_time in the segment @@ -36353,32 +56418,45 @@ returned, @running_time is -1 or not in @segment. - Convert @running_time into a position in the segment so that + Convert @running_time into a position in the segment so that gst_segment_to_running_time() with that position returns @running_time. Use gst_segment_position_from_running_time() instead. + - the position in the segment for @running_time. This function returns + the position in the segment for @running_time. This function returns -1 when @running_time is -1 or when it is not inside @segment. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the running_time in the segment + the running_time in the segment - Translate @position to the total running time using the currently configured + Translate @position to the total running time using the currently configured segment. Position is a value between @segment start and stop time. This function is typically used by elements that need to synchronize to the @@ -36387,22 +56465,31 @@ 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. + - the position as the total running time or -1 when an invalid position + the position as the total running time or -1 when an invalid position was given. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the position in the segment + the position in the segment @@ -36410,7 +56497,9 @@ was given. - Translate @position to the total running time using the currently configured + Translate @position to the total running time using the currently configured segment. Compared to gst_segment_to_running_time() this function can return negative running-time. @@ -36425,21 +56514,30 @@ in @running_time. When this function returns -1, the returned @running_time should be negated to get the real negative running time. + - a 1 or -1 on success, 0 on failure. + a 1 or -1 on success, 0 on failure. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the position in the segment + the position in the segment transfer-ownership="full" optional="1" allow-none="1"> - result running-time + result running-time @@ -36456,7 +56556,9 @@ to get the real negative running time. - Translate @position to stream time using the currently configured + Translate @position to stream time using the currently configured segment. The @position value must be between @segment start and stop value. @@ -36466,22 +56568,31 @@ 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. + - the position in stream_time or -1 when an invalid position + the position in stream_time or -1 when an invalid position was given. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the position in the segment + the position in the segment @@ -36489,7 +56600,9 @@ was given. - Translate @position to the total stream time using the currently configured + Translate @position to the total stream time using the currently configured segment. Compared to gst_segment_to_stream_time() this function can return negative stream-time. @@ -36504,28 +56617,39 @@ in @stream_time. When this function returns -1, the returned @stream_time should be negated to get the real negative stream time. + - a 1 or -1 on success, 0 on failure. + a 1 or -1 on success, 0 on failure. - a #GstSegment structure. + a #GstSegment structure. - the format of the segment. + the format of the segment. - the position in the segment + the position in the segment - result stream-time + result stream-time @@ -36535,53 +56659,78 @@ to get the real negative stream time. glib:type-name="GstSegmentFlags" glib:get-type="gst_segment_flags_get_type" c:type="GstSegmentFlags"> - Flags for the GstSegment structure. Currently mapped to the corresponding + Flags for the GstSegment structure. Currently mapped to the corresponding values of the seek flags. - no flags + no flags - reset the pipeline running_time to the segment + reset the pipeline running_time to the segment running_time - perform skip playback (Since 1.6) + perform skip playback (Since: 1.6) - Deprecated backward compatibility flag, replaced + Deprecated backward compatibility flag, replaced by @GST_SEGMENT_FLAG_TRICKMODE - send SEGMENT_DONE instead of EOS + send SEGMENT_DONE instead of EOS - Decode only keyframes, where - possible (Since 1.6) + Decode only keyframes, where + possible (Since: 1.6) + + + Decode only keyframes or forward + predicted frames, where possible (Since: 1.18) - Do not decode any audio, where - possible (Since 1.6) + Do not decode any audio, where + possible (Since: 1.6) glib:type-name="GstStackTraceFlags" glib:get-type="gst_stack_trace_flags_get_type" c:type="GstStackTraceFlags"> + + Try to retrieve the minimum information + available, which may be none on some platforms + (Since: 1.18) + - Try to retrieve as much information as - possible when getting the stack trace + Try to retrieve as much information as possible, + including source information when getting the + stack trace - The possible states an element can be in. States can be changed using + The possible states an element can be in. States can be changed using gst_element_set_state() and checked using gst_element_get_state(). - no pending state. + no pending state. - the NULL state or initial state of an element. + the NULL state or initial state of an element. - the element is ready to go to PAUSED. + the element is ready to go to PAUSED. - the element is PAUSED, it is ready to accept and + the element is PAUSED, it is ready to accept and process data. Sink elements however only accept one buffer and then block. @@ -36633,7 +56805,9 @@ gst_element_set_state() and checked using gst_element_get_state(). value="4" c:identifier="GST_STATE_PLAYING" glib:nick="playing"> - the element is PLAYING, the #GstClock is running and + the element is PLAYING, the #GstClock is running and the data is flowing. @@ -36641,14 +56815,18 @@ gst_element_set_state() and checked using gst_element_get_state(). glib:type-name="GstStateChange" glib:get-type="gst_state_change_get_type" c:type="GstStateChange"> - These are the different state changes an element goes through. + 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. - state change from NULL to READY. + state change from NULL to READY. * The element must check if the resources it needs are available. Device sinks and -sources typically try to probe the device to constrain their caps. @@ -36658,7 +56836,9 @@ and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - state change from READY to PAUSED. + state change from READY to PAUSED. * The element pads are activated in order to receive data in PAUSED. Streaming threads are started. * Some elements might need to return %GST_STATE_CHANGE_ASYNC and complete @@ -36673,7 +56853,9 @@ and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - state change from PAUSED to PLAYING. + state change from PAUSED to PLAYING. * Most elements ignore this state change. * The pipeline selects a #GstClock and distributes this to all the children before setting them to PLAYING. This means that it is only allowed to @@ -36693,7 +56875,9 @@ and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - state change from PLAYING to PAUSED. + state change from PLAYING to PAUSED. * Most elements ignore this state change. * The pipeline calculates the running_time based on the last selected #GstClock and the base_time. It stores this information to continue @@ -36711,7 +56895,9 @@ and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - state change from PAUSED to READY. + state change from PAUSED to READY. * Sinks unblock any waits in the preroll. * Elements unblock any waits on devices * Chain or get_range functions return %GST_FLOW_FLUSHING. @@ -36724,7 +56910,9 @@ and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - state change from READY to NULL. + state change from READY to NULL. * Elements close devices * Elements reset any internal state. @@ -36732,42 +56920,57 @@ and %GST_STATE_PLAYING &rArr; %GST_STATE_NULL a downwards state change. - state change from NULL to NULL. (Since 1.14) + state change from NULL to NULL. (Since: 1.14) - state change from READY to READY, + state change from READY to READY, This might happen when going to PAUSED asynchronously failed, in that case -elements should make sure they are in a proper, coherent READY state. (Since 1.14) +elements should make sure they are in a proper, coherent READY state. (Since: 1.14) - state change from PAUSED to PAUSED. + state change from PAUSED to PAUSED. This might happen when elements were in PLAYING state and 'lost state', -they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since 1.14) +they should make sure to go back to real 'PAUSED' state (prerolling for example). (Since: 1.14) - state change from PLAYING to PLAYING. (Since 1.14) + state change from PLAYING to PLAYING. (Since: 1.14) - Gets a string representing the given state transition. + Gets a string representing the given state transition. + - a string with the name of the state + a string with the name of the state result. - a #GstStateChange to get the name of. + a #GstStateChange to get the name of. @@ -36777,68 +56980,95 @@ they should make sure to go back to real 'PAUSED' state (prerolling for example) glib:type-name="GstStateChangeReturn" glib:get-type="gst_state_change_return_get_type" c:type="GstStateChangeReturn"> - The possible return values from a state change function such as + The possible return values from a state change function such as gst_element_set_state(). Only @GST_STATE_CHANGE_FAILURE is a real failure. - the state change failed + the state change failed - the state change succeeded + the state change succeeded - the state change will happen asynchronously + the state change will happen asynchronously - the state change succeeded but the element + the state change succeeded but the element cannot produce data in %GST_STATE_PAUSED. This typically happens with live sources. - Datastructure to initialize #GstCaps from a string description usually + 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. + - the cached #GstCaps + the cached #GstCaps - a string describing a caps + a string describing a caps - + - Clean up the cached caps contained in @static_caps. + Clean up the cached caps contained in @static_caps. + - the #GstStaticCaps to clean + the #GstStaticCaps to clean - Converts a #GstStaticCaps to a #GstCaps. + Converts a #GstStaticCaps to a #GstCaps. + - a pointer to the #GstCaps. Unref + a pointer to the #GstCaps. 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. @@ -36846,47 +57076,72 @@ instantiate a #GstCaps. - the #GstStaticCaps to convert + the #GstStaticCaps to convert - Structure describing the #GstStaticPadTemplate. + Structure describing the #GstStaticPadTemplate. + - the name of the template + the name of the template - the direction of the template + the direction of the template - the presence of the template + the presence of the template - the caps of the template. + the caps of the template. - Converts a #GstStaticPadTemplate into a #GstPadTemplate. + Converts a #GstStaticPadTemplate into a #GstPadTemplate. + - a new #GstPadTemplate. + a new #GstPadTemplate. - the static pad template + the static pad template - Gets the capabilities of the static pad template. + Gets the capabilities of the static pad template. + - the #GstCaps of the static pad template. + the #GstCaps 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. @@ -36894,7 +57149,9 @@ on the returned caps to modify it. - a #GstStaticPadTemplate to get capabilities of. + a #GstStaticPadTemplate to get capabilities of. @@ -36908,7 +57165,9 @@ on the returned caps to modify it. glib:type-name="GstStream" glib:get-type="gst_stream_get_type" glib:type-struct="StreamClass"> - A high-level object representing a single stream. It might be backed, or + A high-level object representing a single stream. It might be backed, or not, by an actual flow of data in a pipeline (#GstPad). A #GstStream does not care about data changes (such as decoding, encoding, @@ -36920,11 +57179,17 @@ stream-id, tags, caps, type, ... Elements can subclass a #GstStream for internal usage (to contain information pertinent to streams of data). + - Create a new #GstStream for the given @stream_id, @caps, @type + Create a new #GstStream for the given @stream_id, @caps, @type and @flags + - The new #GstStream + The new #GstStream @@ -36932,7 +57197,9 @@ and @flags transfer-ownership="none" nullable="1" allow-none="1"> - the id for the new stream. If %NULL, + the id for the new stream. If %NULL, a new one will be automatically generated @@ -36940,15 +57207,21 @@ a new one will be automatically generated transfer-ownership="none" nullable="1" allow-none="1"> - the #GstCaps of the stream + the #GstCaps of the stream - the #GstStreamType of the stream + the #GstStreamType of the stream - the #GstStreamFlags of the stream + the #GstStreamFlags of the stream @@ -36956,14 +57229,21 @@ a new one will be automatically generated - Retrieve the caps for @stream, if any + Retrieve the caps for @stream, if any + - The #GstCaps for @stream + The #GstCaps for @stream - a #GstStream + a #GstStream @@ -36971,14 +57251,21 @@ a new one will be automatically generated - Retrieve the current stream flags for @stream + Retrieve the current stream flags for @stream + - The #GstStreamFlags for @stream + The #GstStreamFlags for @stream - a #GstStream + a #GstStream @@ -36986,15 +57273,22 @@ a new one will be automatically generated - Returns the stream ID of @stream. + Returns the stream ID of @stream. + - the stream ID of @stream. Only valid + the stream ID of @stream. Only valid during the lifetime of @stream. - a #GstStream + a #GstStream @@ -37002,14 +57296,21 @@ during the lifetime of @stream. - Retrieve the stream type for @stream + Retrieve the stream type for @stream + - The #GstStreamType for @stream + The #GstStreamType for @stream - a #GstStream + a #GstStream @@ -37017,14 +57318,21 @@ during the lifetime of @stream. - Retrieve the tags for @stream, if any + Retrieve the tags for @stream, if any + - The #GstTagList for @stream + The #GstTagList for @stream - a #GstStream + a #GstStream @@ -37032,20 +57340,27 @@ during the lifetime of @stream. - Set the caps for the #GstStream + Set the caps for the #GstStream + - a #GstStream + a #GstStream - a #GstCaps + a #GstCaps @@ -37053,17 +57368,24 @@ during the lifetime of @stream. - Set the @flags for the @stream. + Set the @flags for the @stream. + - a #GstStream + a #GstStream - the flags to set on @stream + the flags to set on @stream @@ -37071,17 +57393,24 @@ during the lifetime of @stream. - Set the stream type of @stream + Set the stream type of @stream + - a #GstStream + a #GstStream - the type to set on @stream + the type to set on @stream @@ -37089,26 +57418,35 @@ during the lifetime of @stream. - Set the tags for the #GstStream + Set the tags for the #GstStream + - a #GstStream + a #GstStream - a #GstTagList + a #GstTagList - The #GstCaps of the #GstStream. + The #GstCaps of the #GstStream. writable="1" construct-only="1" transfer-ownership="none"> - The unique identifier of the #GstStream. Can only be set at construction + The unique identifier of the #GstStream. Can only be set at construction time. @@ -37129,25 +57469,31 @@ time. writable="1" construct="1" transfer-ownership="none"> - The #GstStreamType of the #GstStream. Can only be set at construction time. + The #GstStreamType of the #GstStream. Can only be set at construction time. - The #GstTagList of the #GstStream. + The #GstTagList of the #GstStream. - The Stream Identifier for this #GstStream + The Stream Identifier for this #GstStream - + @@ -37155,13 +57501,18 @@ time. - GstStream class structure + GstStream class structure + - the parent class structure + the parent class structure - + @@ -37174,7 +57525,9 @@ time. glib:type-name="GstStreamCollection" glib:get-type="gst_stream_collection_get_type" glib:type-struct="StreamCollectionClass"> - A collection of #GstStream that are available. + A collection of #GstStream that are available. A #GstStreamCollection will be provided by elements that can make those streams available. Applications can use the collection to show the user @@ -37190,12 +57543,18 @@ Several elements in a pipeline can provide #GstStreamCollection. Applications can activate streams from a collection by using the #GST_EVENT_SELECT_STREAMS event on a pipeline, bin or element. + - Create a new #GstStreamCollection. + Create a new #GstStreamCollection. + - The new #GstStreamCollection. + The new #GstStreamCollection. @@ -37203,12 +57562,15 @@ Applications can activate streams from a collection by using the transfer-ownership="none" nullable="1" allow-none="1"> - The stream id of the parent stream + The stream id of the parent stream + @@ -37227,18 +57589,27 @@ Applications can activate streams from a collection by using the - Add the given @stream to the @collection. + Add the given @stream to the @collection. + - %TRUE if the @stream was properly added, else %FALSE + %TRUE if the @stream was properly added, else %FALSE - a #GstStreamCollection + a #GstStreamCollection - the #GstStream to add + the #GstStream to add @@ -37246,14 +57617,21 @@ Applications can activate streams from a collection by using the - Get the number of streams this collection contains + Get the number of streams this collection contains + - The number of streams that @collection contains + The number of streams that @collection contains - a #GstStreamCollection + a #GstStreamCollection @@ -37261,20 +57639,29 @@ Applications can activate streams from a collection by using the - Retrieve the #GstStream with index @index from the collection. + Retrieve the #GstStream with index @index from the collection. The caller should not modify the returned #GstStream + - A #GstStream + A #GstStream - a #GstStreamCollection + a #GstStreamCollection - Index of the stream to retrieve + Index of the stream to retrieve @@ -37282,14 +57669,21 @@ The caller should not modify the returned #GstStream - Returns the upstream id of the @collection. + Returns the upstream id of the @collection. + - The upstream id + The upstream id - a #GstStreamCollection + a #GstStreamCollection @@ -37311,7 +57705,7 @@ The caller should not modify the returned #GstStream c:type="GstStreamCollectionPrivate*"/> - + @@ -37336,13 +57730,19 @@ The caller should not modify the returned #GstStream - GstStreamCollection class structure + GstStreamCollection class structure + - the parent class structure + the parent class structure + @@ -37360,7 +57760,7 @@ The caller should not modify the returned #GstStream - + @@ -37368,109 +57768,141 @@ The caller should not modify the returned #GstStream + - Stream errors are for anything related to the stream being processed: + Stream errors are for anything related to the stream being processed: format errors, media type errors, ... They're typically used by decoders, demuxers, converters, ... - a general error which doesn't fit in any other + a general error which doesn't fit in any other category. Make sure you add a custom message to the error call. - do not use this except as a placeholder for + do not use this except as a placeholder for deciding where to go while developing code. - use this when you do not want to implement + use this when you do not want to implement this functionality yet. - used when the element doesn't know the + used when the element doesn't know the stream's type. - used when the element doesn't handle this type + used when the element doesn't handle this type of stream. - used when there's no codec to handle the + used when there's no codec to handle the stream's type. - used when decoding fails. + used when decoding fails. - used when encoding fails. + used when encoding fails. - used when demuxing fails. + used when demuxing fails. - used when muxing fails. + used when muxing fails. - used when the stream is of the wrong format + used when the stream is of the wrong format (for example, wrong caps). - used when the stream is encrypted and can't be + used when the stream is encrypted and can't be decrypted because this is not supported by the element. - used when the stream is encrypted and + used when the stream is encrypted and can't be decrypted because no suitable key is available. - the number of stream error types. + the number of stream error types. + @@ -37485,13 +57917,17 @@ can't be decrypted because no suitable key is available. value="0" c:identifier="GST_STREAM_FLAG_NONE" glib:nick="none"> - This stream has no special attributes + This stream has no special attributes - This stream is a sparse stream (e.g. a subtitle + This stream is a sparse stream (e.g. a subtitle stream), data may flow only in irregular intervals with large gaps in between. @@ -37499,7 +57935,9 @@ can't be decrypted because no suitable key is available. value="2" c:identifier="GST_STREAM_FLAG_SELECT" glib:nick="select"> - This stream should be selected by default. This + This stream should be selected by default. This flag may be used by demuxers to signal that a stream should be selected by default in a playback scenario. @@ -37507,7 +57945,9 @@ can't be decrypted because no suitable key is available. value="4" c:identifier="GST_STREAM_FLAG_UNSELECT" glib:nick="unselect"> - This stream should not be selected by default. + This stream should not be selected by default. This flag may be used by demuxers to signal that a stream should not be selected by default in a playback scenario, but only if explicitly selected by the user (e.g. an audio track for the hard of hearing or @@ -37515,54 +57955,71 @@ can't be decrypted because no suitable key is available. + - The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the + The type of a %GST_MESSAGE_STREAM_STATUS. The stream status messages inform the application of new streaming threads and their status. - A new thread need to be created. + A new thread need to be created. - a thread entered its loop function + a thread entered its loop function - a thread left its loop function + a thread left its loop function - a thread is destroyed + a thread is destroyed - a thread is started + a thread is started - a thread is paused + a thread is paused - a thread is stopped + a thread is stopped glib:type-name="GstStreamType" glib:get-type="gst_stream_type_get_type" c:type="GstStreamType"> - #GstStreamType describes a high level classification set for + #GstStreamType describes a high level classification set for flows of data in #GstStream objects. Note that this is a flag, and therefore users should not assume it @@ -37580,43 +58039,60 @@ whether a stream is of a certain type. value="1" c:identifier="GST_STREAM_TYPE_UNKNOWN" glib:nick="unknown"> - The stream is of unknown (unclassified) type. + The stream is of unknown (unclassified) type. - The stream is of audio data + The stream is of audio data - The stream carries video data + The stream carries video data - The stream is a muxed container type + The stream is a muxed container type - The stream contains subtitle / subpicture data. + The stream contains subtitle / subpicture data. - Get a descriptive string for a given #GstStreamType + Get a descriptive string for a given #GstStreamType + - A string describing the stream type + A string describing the stream type - a #GstStreamType + a #GstStreamType @@ -37627,22 +58103,25 @@ whether a stream is of a certain type. glib:type-name="GstStructure" glib:get-type="gst_structure_get_type" c:symbol-prefix="structure"> - A #GstStructure is a collection of key/value pairs. The keys are expressed -as GQuarks and the values can be of any GType. + A #GstStructure is a collection of key/value pairs. The keys are expressed as +GQuarks and the values can be of any GType. In addition to the key/value pairs, a #GstStructure also has a name. The name -starts with a letter and can be filled by letters, numbers and any of "/-_.:". +starts with a letter and can be filled by letters, numbers and any of +"/-_.:". -#GstStructure is used by various GStreamer subsystems to store information -in a flexible and extensible way. A #GstStructure does not have a refcount +#GstStructure is used by various GStreamer subsystems to store information in +a flexible and extensible way. A #GstStructure does not have a refcount because it usually is part of a higher level object such as #GstCaps, #GstMessage, #GstEvent, #GstQuery. It provides a means to enforce mutability using the refcount of the parent with the gst_structure_set_parent_refcount() method. A #GstStructure can be created with gst_structure_new_empty() or -gst_structure_new(), which both take a name and an optional set of -key/value pairs along with the types of the values. +gst_structure_new(), which both take a name and an optional set of key/value +pairs along with the types of the values. Field values can be changed with gst_structure_set_value() or gst_structure_set(). @@ -37653,62 +58132,189 @@ convenient gst_structure_get_*() functions. Fields can be removed with gst_structure_remove_field() or gst_structure_remove_fields(). -Strings in structures must be ASCII or UTF-8 encoded. Other encodings are -not allowed. Strings may be %NULL however. +Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not +allowed. Strings may be %NULL however. -Be aware that the current #GstCaps / #GstStructure serialization into string -has limited support for nested #GstCaps / #GstStructure fields. It can only -support one level of nesting. Using more levels will lead to unexpected -behavior when using serialization features, such as gst_caps_to_string() or -gst_value_serialize() and their counterparts. +## The serialization format + +GstStructure serialization format serialize the GstStructure name, +keys/GType/values in a comma separated list with the structure name as first +field without value followed by separated key/value pairs in the form +`key=value`, for example: + +``` +a-structure, key=value +```` + +The values type will be inferred if not explicitly specified with the +`(GTypeName)value` syntax, for example the following struct will have one +field called 'is-string' which has the string 'true' as a value: + +``` +a-struct, field-is-string=(string)true, field-is-boolean=true +``` + +*Note*: without specifying `(string), `field-is-string` type would have been +inferred as boolean. + +*Note*: we specified `(string)` as a type even if `gchararray` is the actual +GType name as for convenience some well known types have been aliased or +abbreviated. + +To avoid specifying the type, you can give some hints to the "type system". +For example to specify a value as a double, you should add a decimal (ie. `1` +is an `int` while `1.0` is a `double`). + +*Note*: when a structure is serialized with #gst_structure_to_string, all +values are explicitly typed. + +Some types have special delimiters: + +- [GstValueArray](GST_TYPE_ARRAY) are inside curly brackets (`{` and `}`). + For example `a-structure, array={1, 2, 3}` +- Ranges are inside brackets (`[` and `]`). For example `a-structure, + range=[1, 6, 2]` 1 being the min value, 6 the maximum and 2 the step. To + specify a #GST_TYPE_INT64_RANGE you need to explicitly specify it like: + `a-structure, a-int64-range=(gint64) [1, 5]` +- [GstValueList](GST_TYPE_LIST) are inside "less and greater than" (`<` and + `>`). For example `a-structure, list=<1, 2, 3> + +Structures are delimited either by a null character `\0` or a semicolumn `;` +the latter allowing to store multiple structures in the same string (see +#GstCaps). + +Quotes are used as "default" delimiters and can be used around any types that +don't use other delimiters (for example `a-struct, i=(int)"1"`). They are use +to allow adding spaces or special characters (such as delimiters, +semicolumns, etc..) inside strings and you can use backslashes `\` to escape +characters inside them, for example: + +``` +a-struct, special="\"{[(;)]}\" can be used inside quotes" +``` + +They also allow for nested structure, such as: + +``` +a-struct, nested=(GstStructure)"nested-struct, nested=true" +``` + +Since 1.18, nested structures and caps can be specified using brackets +(`[` and `]`), for example: + +``` +a-struct, nested=[nested-struct, nested=true] +``` + +> *note*: For backward compatility reason, the serialization functions won't +> use that synthax. + - the GType of a structure + the GType of a structure + + 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. + +Free-function: gst_structure_free + + + a new #GstStructure or %NULL + when the string could not be parsed. Free with + gst_structure_free() after use. + + + + + a string representation of a #GstStructure. + + + + pointer to store the end of the string in. + + + + - Creates a new #GstStructure with the given name. Parses the + 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. Free-function: gst_structure_free + - a new #GstStructure + a new #GstStructure - name of new structure + name of new structure - name of first field to set + name of first field to set - additional arguments + additional arguments - Creates a new, empty #GstStructure with the given @name. + Creates a new, empty #GstStructure with the given @name. See gst_structure_set_name() for constraints on the @name parameter. Free-function: gst_structure_free + - a new, empty #GstStructure + a new, empty #GstStructure - name of new structure + name of new structure @@ -37716,7 +58322,9 @@ Free-function: gst_structure_free - Creates a #GstStructure from a string representation. + 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. @@ -37724,15 +58332,20 @@ The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. Free-function: gst_structure_free + - a new #GstStructure or %NULL + a new #GstStructure or %NULL when the string could not be parsed. Free with gst_structure_free() after use. - a string representation of a #GstStructure + a string representation of a #GstStructure @@ -37740,7 +58353,9 @@ Free-function: gst_structure_free - Creates a new #GstStructure with the given name as a GQuark, followed by + 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_new_id_empty() and gst_structure_id_set(). @@ -37748,37 +58363,53 @@ gst_structure_new_id_empty() and gst_structure_id_set(). The last variable argument must be %NULL (or 0). Free-function: gst_structure_free + - a new #GstStructure + a new #GstStructure - name of new structure + name of new structure - the GQuark for the name of the field to set + the GQuark for the name of the field to set - variable arguments + variable arguments - Creates a new, empty #GstStructure with the given name as a GQuark. + Creates a new, empty #GstStructure with the given name as a GQuark. Free-function: gst_structure_free + - a new, empty #GstStructure + a new, empty #GstStructure - name of new structure + name of new structure @@ -37786,61 +58417,88 @@ Free-function: gst_structure_free - Creates a new #GstStructure with the given @name. Structure fields + 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. Free-function: gst_structure_free + - a new #GstStructure + a new #GstStructure - name of new structure + name of new structure - name of first field to set + name of first field to set - variable argument list + variable argument list - Tries intersecting @struct1 and @struct2 and reports whether the result + Tries intersecting @struct1 and @struct2 and reports whether the result would not be empty. + - %TRUE if intersection would not be empty + %TRUE if intersection would not be empty - a #GstStructure + a #GstStructure - a #GstStructure + a #GstStructure - Duplicates a #GstStructure and all its fields and values. + Duplicates a #GstStructure and all its fields and values. Free-function: gst_structure_free + - a new #GstStructure. + a new #GstStructure. - a #GstStructure to duplicate + a #GstStructure to duplicate @@ -37848,24 +58506,31 @@ Free-function: gst_structure_free - Calls the provided function once for each field in the #GstStructure. In + Calls the provided function once for each field in the #GstStructure. In contrast to gst_structure_foreach(), the function may modify the fields. In contrast to gst_structure_map_in_place(), the field is removed from the structure if %FALSE is returned from the function. The structure must be mutable. + - a #GstStructure + a #GstStructure - a function to call for each field + a function to call for each field @@ -37873,180 +58538,262 @@ The structure must be mutable. transfer-ownership="none" nullable="1" allow-none="1"> - private data + private data - Fixate all values in @structure using gst_value_fixate(). + Fixate all values in @structure using gst_value_fixate(). @structure will be modified in-place and should be writable. + - a #GstStructure + a #GstStructure - Fixates a #GstStructure by changing the given field with its fixated value. + Fixates a #GstStructure by changing the given field with its fixated value. + - %TRUE if the structure field could be fixated + %TRUE if the structure field could be fixated - a #GstStructure + a #GstStructure - a field in @structure + a field in @structure - Fixates a #GstStructure by changing the given @field_name field to the given + Fixates a #GstStructure by changing the given @field_name field to the given @target boolean if that field is not fixed yet. + - %TRUE if the structure could be fixated + %TRUE if the structure could be fixated - a #GstStructure + a #GstStructure - a field in @structure + a field in @structure - the target value of the fixation + the target value of the fixation - Fixates a #GstStructure by changing the given field to the nearest + 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 + %TRUE if the structure could be fixated - a #GstStructure + a #GstStructure - a field in @structure + a field in @structure - the target value of the fixation + the target value of the fixation - Fixates a #GstStructure by changing the given field to the nearest + 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 + %TRUE if the structure could be fixated - a #GstStructure + a #GstStructure - a field in @structure + a field in @structure - The numerator of the target value of the fixation + The numerator of the target value of the fixation - The denominator 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 + 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 + %TRUE if the structure could be fixated - a #GstStructure + a #GstStructure - a field in @structure + a field in @structure - the target value of the fixation + the target value of the fixation - Fixates a #GstStructure by changing the given @field_name field to the given + Fixates a #GstStructure by changing the given @field_name field to the given @target string if that field is not fixed yet. + - %TRUE if the structure could be fixated + %TRUE if the structure could be fixated - a #GstStructure + a #GstStructure - a field in @structure + a field in @structure - the target value of the fixation + the target value of the fixation - Calls the provided function once for each field in the #GstStructure. The + 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() and gst_structure_filter_and_map_in_place(). + - %TRUE if the supplied function returns %TRUE For each of the fields, + %TRUE if the supplied function returns %TRUE For each of the fields, %FALSE otherwise. - a #GstStructure + a #GstStructure - a function to call for each field + a function to call for each field @@ -38054,143 +58801,196 @@ and gst_structure_filter_and_map_in_place(). transfer-ownership="none" nullable="1" allow-none="1"> - private data + private data - Frees a #GstStructure and all its fields and values. The structure must not + Frees a #GstStructure and all its fields and values. The structure must not have a parent when this function is called. + - the #GstStructure to free + the #GstStructure to free - Parses the variable arguments and reads fields from @structure accordingly. + 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 receive a new reference which -you must release with a suitable _unref() when no longer needed. For +you must release with a suitable _unref\() when no longer needed. For strings and boxed types you will receive a copy which you will need to release with either g_free() or the suitable function for the boxed type. + - %FALSE if there was a problem reading any of the fields (e.g. + %FALSE if there was a problem reading any of the fields (e.g. because the field requested did not exist, or was of a type other than the type specified), otherwise %TRUE. - a #GstStructure + a #GstStructure - the name of the first field to read + the name of the first field to read - variable arguments + variable arguments - This is useful in language bindings where unknown #GValue types are not + This is useful in language bindings where unknown #GValue types are not supported. This function will convert the %GST_TYPE_ARRAY into a newly allocated #GValueArray and return it through @array. Be aware that this is slower then getting the #GValue directly. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a %GST_TYPE_ARRAY, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GValueArray + a pointer to a #GValueArray - Sets the boolean pointed to by @value corresponding to the value of the + 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a boolean, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #gboolean to set + a pointer to a #gboolean to set - Sets the clock time pointed to by @value corresponding to the clock time + 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a #GstClockTime, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GstClockTime to set + a pointer to a #GstClockTime to set - Sets the date pointed to by @value corresponding to the date of the + 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. @@ -38198,32 +58998,43 @@ On success @value will point to a newly-allocated copy of the date which should be freed with g_date_free() when no longer needed (note: this is inconsistent with e.g. gst_structure_get_string() which doesn't return a copy of the string). + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a data, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GDate to set + a pointer to a #GDate to set - Sets the datetime pointed to by @value corresponding to the datetime of the + 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. @@ -38231,106 +59042,148 @@ 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). + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a data, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GstDateTime to set + a pointer to a #GstDateTime to set - Sets the double pointed to by @value corresponding to the value of the + 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a double, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a gdouble to set + a pointer to a gdouble to set - Sets the int pointed to by @value corresponding to the value of the + 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain an enum of the given type, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - the enum type of a field + the enum type of a field - a pointer to an int to set + a pointer to an int to set - Finds the field with the given name, and returns the type of the + 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 #GValue of the field - a #GstStructure + a #GstStructure - the name of the field + the name of the field @@ -38338,21 +59191,30 @@ returned. - Read the GstFlagSet flags and mask out of the structure into the + Read the GstFlagSet flags and mask out of the structure into the provided pointers. + - %TRUE if the values could be set correctly. If there was no field + %TRUE if the values could be set correctly. If there was no field with @fieldname or the existing field did not contain a GstFlagSet, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field transfer-ownership="full" optional="1" allow-none="1"> - a pointer to a guint for the flags field + a pointer to a guint for the flags field transfer-ownership="full" optional="1" allow-none="1"> - a pointer to a guint for the mask field + a pointer to a guint for the mask field - Sets the integers pointed to by @value_numerator and @value_denominator + 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. + - %TRUE if the values could be set correctly. If there was no field + %TRUE if the values could be set correctly. If there was no field with @fieldname or the existing field did not contain a GstFraction, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to an int to set + a pointer to an int to set - 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 + 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain an int, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to an int to set + a pointer to an int to set @@ -38441,137 +59331,193 @@ returns %FALSE. - Sets the #gint64 pointed to by @value corresponding to the value of the + Sets the #gint64 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a #gint64, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #gint64 to set + a pointer to a #gint64 to set - - This is useful in language bindings where unknown #GValue types are not + + This is useful in language bindings where unknown #GValue types are not supported. This function will convert the %GST_TYPE_LIST into a newly allocated GValueArray and return it through @array. Be aware that this is slower then getting the #GValue directly. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a %GST_TYPE_LIST, this -function returns %FALSE. - -Since 1.12 +function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GValueArray + a pointer to a #GValueArray - Get the name of @structure as a string. + Get the name of @structure as a string. + - the name of the structure. + the name of the structure. - a #GstStructure + a #GstStructure - Get the name of @structure as a GQuark. + Get the name of @structure as a GQuark. + - the quark representing the name of the structure. + the quark representing the name of the structure. - a #GstStructure + a #GstStructure - Finds the field corresponding to @fieldname, and returns the string + 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. + - a pointer to the string or %NULL when the + a pointer to the string or %NULL when the field did not exist or did not contain a string. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - Sets the uint pointed to by @value corresponding to the value of the + 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a uint, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a uint to set + a pointer to a uint to set @@ -38579,29 +59525,40 @@ returns %FALSE. - Sets the #guint64 pointed to by @value corresponding to the value of the + Sets the #guint64 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. + - %TRUE if the value could be set correctly. If there was no field + %TRUE if the value could be set correctly. If there was no field with @fieldname or the existing field did not contain a #guint64, this function returns %FALSE. - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #guint64 to set + a pointer to a #guint64 to set @@ -38609,98 +59566,147 @@ returns %FALSE. - Parses the variable arguments and reads fields from @structure accordingly. + 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 + %TRUE, or %FALSE if there was a problem reading any of the fields - a #GstStructure + a #GstStructure - the name of the first field to read + the name of the first field to read - variable arguments + variable arguments - Get the value of the field with name @fieldname. + Get the value of the field with name @fieldname. + - the #GValue corresponding to the field with the given + the #GValue corresponding to the field with the given name. - a #GstStructure + a #GstStructure - the name of the field to get + the name of the field to get - Check if @structure contains a field named @fieldname. + Check if @structure contains a field named @fieldname. + - %TRUE if the structure contains a field with the given name + %TRUE if the structure contains a field with the given name - a #GstStructure + a #GstStructure - the name of a field + the name of a field - Check if @structure contains a field named @fieldname and with GType @type. + 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 + %TRUE if the structure contains a field with the given name and type - a #GstStructure + a #GstStructure - the name of a field + the name of a field - the type of a value + the type of a value - Checks if the structure has the given name + Checks if the structure has the given name + - %TRUE if @name matches the name of the structure. + %TRUE if @name matches the name of the structure. - a #GstStructure + a #GstStructure - structure name to check for + structure name to check for @@ -38708,7 +59714,9 @@ name. - Parses the variable arguments and reads fields from @structure accordingly. + 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 @@ -38720,26 +59728,35 @@ more efficient since it saves the string-to-quark lookup in the global quark hashtable. For refcounted (mini)objects you will receive a new reference which -you must release with a suitable _unref() when no longer needed. For +you must release with a suitable _unref\() when no longer needed. For strings and boxed types you will receive a copy which you will need to release with either g_free() or the suitable function for the boxed type. + - %FALSE if there was a problem reading any of the fields (e.g. + %FALSE if there was a problem reading any of the fields (e.g. because the field requested did not exist, or was of a type other than the type specified), otherwise %TRUE. - a #GstStructure + a #GstStructure - the quark of the first field to read + the quark of the first field to read - variable arguments + variable arguments @@ -38747,81 +59764,121 @@ release with either g_free() or the suitable function for the boxed type. - Parses the variable arguments and reads fields from @structure accordingly. + 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 + %TRUE, or %FALSE if there was a problem reading any of the fields - a #GstStructure + a #GstStructure - the quark of the first field to read + the quark of the first field to read - variable arguments + variable arguments - Get the value of the field with GQuark @field. + Get the value of the field with GQuark @field. + - the #GValue corresponding to the field with the given + the #GValue corresponding to the field with the given name identifier. - a #GstStructure + a #GstStructure - the #GQuark of the field to get + the #GQuark of the field to get - Check if @structure contains a field named @field. + Check if @structure contains a field named @field. + - %TRUE if the structure contains a field with the given name + %TRUE if the structure contains a field with the given name - a #GstStructure + a #GstStructure - #GQuark of the field name + #GQuark of the field name - Check if @structure contains a field named @field and with GType @type. + 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 + %TRUE if the structure contains a field with the given name and type - a #GstStructure + a #GstStructure - #GQuark of the field name + #GQuark of the field name - the type of a value + the type of a value @@ -38829,25 +59886,34 @@ name identifier. - Identical to gst_structure_set, except that field names are + 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. + - a #GstStructure + a #GstStructure - the GQuark for the name of the field to set + the GQuark for the name of the field to set - variable arguments + variable arguments @@ -38855,209 +59921,302 @@ The last variable argument must be %NULL. - va_list form of gst_structure_id_set(). + va_list form of gst_structure_id_set(). + - a #GstStructure + a #GstStructure - the name of the field to set + the name of the field to set - variable arguments + variable arguments - Sets the field with the given GQuark @field to @value. If 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 #GstStructure + a #GstStructure - a #GQuark representing a field + a #GQuark representing a field - the new value of the field + the new value of the field - Sets the field with the given GQuark @field to @value. If 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 #GstStructure + a #GstStructure - a #GQuark representing a field + a #GQuark representing a field - the new value of the field + the new value of the field - Intersects @struct1 and @struct2 and returns the intersection. + Intersects @struct1 and @struct2 and returns the intersection. + - Intersection of @struct1 and @struct2 + Intersection of @struct1 and @struct2 - a #GstStructure + a #GstStructure - a #GstStructure + a #GstStructure - Tests if the two #GstStructure are equal. + Tests if the two #GstStructure are equal. + - %TRUE if the two structures have the same name and field. + %TRUE if the two structures have the same name and field. - a #GstStructure. + a #GstStructure. - a #GstStructure. + a #GstStructure. - Checks if @subset is a subset of @superset, i.e. has the same + Checks if @subset is a subset of @superset, i.e. has the same structure name and for all fields that are existing in @superset, @subset has a value that is a subset of the value in @superset. + - %TRUE if @subset is a subset of @superset + %TRUE if @subset is a subset of @superset - a #GstStructure + a #GstStructure - a potentially greater #GstStructure + a potentially greater #GstStructure - Calls the provided function once for each field in the #GstStructure. In + 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. + - %TRUE if the supplied function returns %TRUE For each of the fields, + %TRUE if the supplied function returns %TRUE For each of the fields, %FALSE otherwise. - a #GstStructure + a #GstStructure - a function to call for each field + a function to call for each field - private data + private data - Get the number of fields in the structure. + Get the number of fields in the structure. + - the number of fields in the structure + the number of fields in the structure - a #GstStructure + a #GstStructure - Get the name of the given field number, counting from 0 onwards. + Get the name of the given field number, counting from 0 onwards. + - the name of the given field number + the name of the given field number - a #GstStructure + a #GstStructure - the index to get the name of + the index to get the name of - Removes all fields in a GstStructure. + Removes all fields in a GstStructure. + - a #GstStructure + a #GstStructure - Removes the field with the given name. If the field with the given + Removes the field with the given name. If the field with the given name does not exist, the structure is unchanged. + - a #GstStructure + a #GstStructure - the name of the field to remove + the name of the field to remove @@ -39065,22 +60224,31 @@ name does not exist, the structure is unchanged. - Removes the fields with the given names. If a field does not exist, the + Removes the fields with the given names. If a field does not exist, the argument is ignored. + - a #GstStructure + a #GstStructure - the name of the field to remove + the name of the field to remove - %NULL-terminated list of more fieldnames to remove + %NULL-terminated list of more fieldnames to remove @@ -39088,133 +60256,185 @@ argument is ignored. - va_list form of gst_structure_remove_fields(). + va_list form of gst_structure_remove_fields(). + - a #GstStructure + a #GstStructure - the name of the field to remove + the name of the field to remove - %NULL-terminated list of more fieldnames to remove + %NULL-terminated list of more fieldnames to remove - Parses the variable arguments and sets fields accordingly. Fields that + Parses the variable arguments and sets fields accordingly. Fields that weren't already part of the structure are added as needed. Variable arguments should be in the form field name, field type (as a GType), value(s). The last variable argument should be %NULL. + - a #GstStructure + a #GstStructure - the name of the field to set + the name of the field to set - variable arguments + variable arguments - - This is useful in language bindings where unknown GValue types are not + + This is useful in language bindings where unknown GValue types are not supported. This function will convert a @array to %GST_TYPE_ARRAY and set the field specified by @fieldname. Be aware that this is slower then using -%GST_TYPE_ARRAY in a #GValue directly. - -Since 1.12 +%GST_TYPE_ARRAY in a #GValue directly. + - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GValueArray + a pointer to a #GValueArray - - This is useful in language bindings where unknown GValue types are not + + This is useful in language bindings where unknown GValue types are not supported. This function will convert a @array to %GST_TYPE_LIST and set the field specified by @fieldname. Be aware that this is slower then using -%GST_TYPE_LIST in a #GValue directly. - -Since 1.12 +%GST_TYPE_LIST in a #GValue directly. + - a #GstStructure + a #GstStructure - the name of a field + the name of a field - a pointer to a #GValueArray + a pointer to a #GValueArray - Sets the name of the structure to the given @name. The string + 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 "/-_.:". + - a #GstStructure + a #GstStructure - the new name of the structure + the new name of the structure - Sets the parent_refcount field of #GstStructure. This field is used to + 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. + - %TRUE if the parent refcount could be set. + %TRUE if the parent refcount could be set. - a #GstStructure + a #GstStructure - a pointer to the parent's refcount + a pointer to the parent's refcount @@ -39222,71 +60442,100 @@ the MT Refcounting section of the design documents. - va_list form of gst_structure_set(). + va_list form of gst_structure_set(). + - a #GstStructure + a #GstStructure - the name of the field to set + the name of the field to set - variable arguments + variable arguments - Sets the field with the given name @field to @value. If 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. + - a #GstStructure + a #GstStructure - the name of the field to set + the name of the field to set - the new value of the field + the new value of the field - Sets the field with the given name @field to @value. If 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. + - a #GstStructure + a #GstStructure - the name of the field to set + the name of the field to set - the new value of the field + the new value of the field - Converts @structure to a human-readable string representation. + Converts @structure to a human-readable string representation. For debugging purposes its easier to do something like this: |[<!-- language="C" --> @@ -39298,44 +60547,62 @@ The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. Free-function: g_free + - a pointer to string allocated by g_malloc(). + a pointer to string allocated by g_malloc(). g_free() after usage. - a #GstStructure + a #GstStructure - - 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. + + Atomically modifies a pointer to point to a new structure. +The #GstStructure @oldstr_ptr is pointing to is freed and +@newstr is taken ownership over. -Free-function: gst_structure_free - - a new #GstStructure or %NULL - when the string could not be parsed. Free with - gst_structure_free() after use. - +Either @newstr and the value pointed to by @oldstr_ptr may be %NULL. + +It is a programming error if both @newstr and the value pointed to by +@oldstr_ptr refer to the same, non-%NULL structure. + + + %TRUE if @newstr was different from @oldstr_ptr + - - a string representation of a #GstStructure. - - - - pointer to store the end of the string in. - + transfer-ownership="full" + nullable="1" + allow-none="1"> + pointer to a place of + a #GstStructure to take + + + + a new #GstStructure + @@ -39344,36 +60611,51 @@ Free-function: gst_structure_free glib:type-name="GstStructureChangeType" glib:get-type="gst_structure_change_type_get_type" c:type="GstStructureChangeType"> - The type of a %GST_MESSAGE_STRUCTURE_CHANGE. + The type of a %GST_MESSAGE_STRUCTURE_CHANGE. - Pad linking is starting or done. + Pad linking is starting or done. - Pad unlinking is starting or done. + Pad unlinking is starting or done. - A function that will be called in gst_structure_filter_and_map_in_place(). + A function that will be called in gst_structure_filter_and_map_in_place(). The function may modify @value, and the value will be removed from the structure if %FALSE is returned. + - %TRUE if the field should be preserved, %FALSE if it + %TRUE if the field should be preserved, %FALSE if it should be removed. - the #GQuark of the field name + the #GQuark of the field name - the #GValue of the field + the #GValue of the field nullable="1" allow-none="1" closure="2"> - user data + user data - A function that will be called in gst_structure_foreach(). The function may + A function that will be called in gst_structure_foreach(). The function may not modify @value. + - %TRUE if the foreach operation should continue, %FALSE if + %TRUE if the foreach operation should continue, %FALSE if the foreach operation should stop with %FALSE. - the #GQuark of the field name + the #GQuark of the field name - the #GValue of the field + the #GValue of the field nullable="1" allow-none="1" closure="2"> - user data + user data - A function that will be called in gst_structure_map_in_place(). The function + A function that will be called in gst_structure_map_in_place(). The function may modify @value. + - %TRUE if the map operation should continue, %FALSE if + %TRUE if the map operation should continue, %FALSE if the map operation should stop with %FALSE. - the #GQuark of the field name + the #GQuark of the field name - the #GValue of the field + the #GValue of the field nullable="1" allow-none="1" closure="2"> - user data + user data @@ -39447,7 +60753,9 @@ the map operation should stop with %FALSE. glib:type-name="GstSystemClock" glib:get-type="gst_system_clock_get_type" glib:type-struct="SystemClockClass"> - The GStreamer core provides a GstSystemClock based on the system time. + The GStreamer core provides a GstSystemClock based on the system time. Asynchronous callbacks are scheduled from an internal thread. Clock implementors are encouraged to subclass this systemclock as it @@ -39456,12 +60764,18 @@ implements the async notification. Subclasses can however override all of the important methods for sync and async notifications to implement their own callback methods or blocking wait operations. + - Get a handle to the default system clock. The refcount of the + 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. + - the default clock. + the default clock. MT safe. @@ -39470,7 +60784,9 @@ MT safe. - Sets the default system clock that can be obtained with + Sets the default system clock that can be obtained with gst_system_clock_obtain(). This is mostly used for testing and debugging purposes when you @@ -39478,6 +60794,7 @@ want to have control over the time reported by the default system clock. MT safe. + @@ -39486,7 +60803,9 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstClock + a #GstClock @@ -39501,7 +60820,7 @@ MT safe. - + @@ -39509,11 +60828,12 @@ MT safe. + - + @@ -39521,214 +60841,319 @@ MT safe. + - album containing this data (string) + album containing this data (string) The album name as it should be displayed, e.g. 'The Jazz Guitar' + - The artist of the entire album, as it should be displayed. + The artist of the entire album, as it should be displayed. + - The artist of the entire album, as it should be sorted. + The artist of the entire album, as it should be sorted. + - album gain in db (double) + album gain in db (double) + - peak of the album (double) + peak of the album (double) + - album containing this data, as used for sorting (string) + album containing this data, as used for sorting (string) The album name as it should be sorted, e.g. 'Jazz Guitar, The' + - count of discs inside collection this disc belongs to (unsigned integer) + count of discs inside collection this disc belongs to (unsigned integer) + - disc number inside a collection (unsigned integer) + disc number inside a collection (unsigned integer) + - Arbitrary application data (sample) + Arbitrary application data (sample) Some formats allow applications to add their own arbitrary data into files. This data is application dependent. + - Name of the application used to create the media (string) + Name of the application used to create the media (string) + - person(s) responsible for the recording (string) + person(s) responsible for the recording (string) The artist name as it should be displayed, e.g. 'Jimi Hendrix' or 'The Guitar Heroes' + - person(s) responsible for the recording, as used for sorting (string) + person(s) responsible for the recording, as used for sorting (string) The artist name as it should be sorted, e.g. 'Hendrix, Jimi' or 'Guitar Heroes, The' + - generic file attachment (sample) (sample taglist should specify the content + generic file attachment (sample) (sample taglist should specify the content type and if possible set "filename" to the file name of the attachment) + - codec the audio data is stored in (string) + codec the audio data is stored in (string) + - number of beats per minute in audio (double) + number of beats per minute in audio (double) + - exact or average bitrate in bits/s (unsigned integer) + exact or average bitrate in bits/s (unsigned integer) + - codec the data is stored in (string) + codec the data is stored in (string) + - free text commenting the data (string) + free text commenting the data (string) + - person(s) who composed the recording (string) + person(s) who composed the recording (string) + - The composer's name, used for sorting (string) + The composer's name, used for sorting (string) + - conductor/performer refinement (string) + conductor/performer refinement (string) + - contact information (string) + contact information (string) + - container format the data is stored in (string) + container format the data is stored in (string) + - copyright notice of the data (string) + copyright notice of the data (string) + - URI to location where copyright details can be found (string) + URI to location where copyright details can be found (string) + - date the data was created (#GDate structure) + date the data was created (#GDate structure) + - date and time the data was created (#GstDateTime structure) + date and time the data was created (#GstDateTime structure) + - short text describing the content of the data (string) + short text describing the content of the data (string) + - Manufacturer of the device used to create the media (string) + Manufacturer of the device used to create the media (string) + - Model of the device used to create the media (string) + Model of the device used to create the media (string) + - length in GStreamer time units (nanoseconds) (unsigned 64-bit integer) + length in GStreamer time units (nanoseconds) (unsigned 64-bit integer) + - name of the person or organisation that encoded the file. May contain a + name of the person or organisation that encoded the file. May contain a copyright message if the person or organisation also holds the copyright (string) Note: do not use this field to describe the encoding application. Use #GST_TAG_APPLICATION_NAME or #GST_TAG_COMMENT for that. + - encoder used to encode this stream (string) + encoder used to encode this stream (string) + - version of the encoder used to encode this stream (unsigned integer) + version of the encoder used to encode this stream (unsigned integer) + - key/value text commenting the data (string) + key/value text commenting the data (string) Must be in the form of 'key=comment' or 'key[lc]=comment' where 'lc' is an ISO-639 @@ -39736,118 +61161,175 @@ language code. This tag is used for unknown Vorbis comment tags, unknown APE tags and certain ID3v2 comment fields. + + + + + + + + - genre this data belongs to (string) + genre this data belongs to (string) + - Indicates the direction the device is pointing to when capturing + Indicates the direction the device is pointing to when capturing a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise (double from 0 to 360) See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION + - The city (english name) where the media has been produced (string). + The city (english name) where the media has been produced (string). + - The country (english name) where the media has been produced (string). + The country (english name) where the media has been produced (string). + - geo elevation of where the media has been recorded or produced in meters + geo elevation of where the media has been recorded or produced in meters according to WGS84 (zero is average sea level) (double). + - Represents the expected error on the horizontal positioning in + Represents the expected error on the horizontal positioning in meters (double). + - geo latitude location of where the media has been recorded or produced in + geo latitude location of where the media has been recorded or produced in degrees according to WGS84 (zero at the equator, negative values for southern latitudes) (double). + - geo longitude location of where the media has been recorded or produced in + geo longitude location of where the media has been recorded or produced in degrees according to WGS84 (zero at the prime meridian in Greenwich/UK, negative values for western longitudes). (double). + - Indicates the movement direction of the device performing the capture + Indicates the movement direction of the device performing the capture of a media. It is represented as degrees in floating point representation, 0 means the geographic north, and increases clockwise (double from 0 to 360) See also #GST_TAG_GEO_LOCATION_CAPTURE_DIRECTION + - Speed of the capturing device when performing the capture. + Speed of the capturing device when performing the capture. Represented in m/s. (double) See also #GST_TAG_GEO_LOCATION_MOVEMENT_DIRECTION + - human readable descriptive location of where the media has been recorded or + human readable descriptive location of where the media has been recorded or produced. (string). + - A location 'smaller' than GST_TAG_GEO_LOCATION_CITY that specifies better + A location 'smaller' than GST_TAG_GEO_LOCATION_CITY that specifies better where the media has been produced. (e.g. the neighborhood) (string). This tag has been added as this is how it is handled/named in XMP's Iptc4xmpcore schema. + - Groups together media that are related and spans multiple tracks. An + Groups together media that are related and spans multiple tracks. An example are multiple pieces of a concerto. (string) + - Homepage for this media (i.e. artist or movie homepage) (string) + Homepage for this media (i.e. artist or movie homepage) (string) + - image (sample) (sample taglist should specify the content type and preferably -also set "image-type" field as #GstTagImageType) + image (sample) (sample taglist should specify the content type and preferably +also set "image-type" field as `GstTagImageType`) + - Represents the 'Orientation' tag from EXIF. Defines how the image + Represents the 'Orientation' tag from EXIF. Defines how the image should be rotated and mirrored for display. (string) This tag has a predefined set of allowed values: @@ -39866,114 +61348,183 @@ yield the same result. Rotations indicated by the values are in clockwise direction and 'flip' means an horizontal mirroring. + - Information about the people behind a remix and similar + Information about the people behind a remix and similar interpretations of another existing piece (string) + - International Standard Recording Code - see http://www.ifpi.org/isrc/ (string) + International Standard Recording Code - see http://www.ifpi.org/isrc/ (string) + - comma separated keywords describing the content (string). + comma separated keywords describing the content (string). + - ISO-639-2 or ISO-639-1 code for the language the content is in (string) + ISO-639-2 or ISO-639-1 code for the language the content is in (string) There is utility API in libgsttag in gst-plugins-base to obtain a translated -language name from the language code: gst_tag_get_language_name() +language name from the language code: `gst_tag_get_language_name()` + - Name of the language the content is in (string) + Name of the language the content is in (string) Free-form name of the language the content is in, if a language code is not available. This tag should not be set in addition to a language code. It is undefined what language or locale the language name is in. + - license of data (string) + license of data (string) + - URI to location where license details can be found (string) + URI to location where license details can be found (string) + + + + + + + + - Origin of media as a URI (location, where the original of the file or stream + Origin of media as a URI (location, where the original of the file or stream is hosted) (string) + - The lyrics of the media (string) + The lyrics of the media (string) + - maximum bitrate in bits/s (unsigned integer) + maximum bitrate in bits/s (unsigned integer) + - <ulink url="http://en.wikipedia.org/wiki/Note#Note_designation_in_accordance_with_octave_name">Midi note number</ulink> + [Midi note number](http://en.wikipedia.org/wiki/Note#Note_designation_in_accordance_with_octave_name) of the audio track. This is useful for sample instruments and in particular for multi-samples. + - minimum bitrate in bits/s (unsigned integer) + minimum bitrate in bits/s (unsigned integer) + + + + + + + + - nominal bitrate in bits/s (unsigned integer). The actual bitrate might be + nominal bitrate in bits/s (unsigned integer). The actual bitrate might be different from this target bitrate. + - organization (string) + organization (string) + - person(s) performing (string) + person(s) performing (string) + - image that is meant for preview purposes, e.g. small icon-sized version + image that is meant for preview purposes, e.g. small icon-sized version (sample) (sample taglist should specify the content type) + - Any private data that may be contained in tags (sample). + Any private data that may be contained in tags (sample). It is represented by #GstSample in which #GstBuffer contains the binary data and the sample's info #GstStructure may contain any @@ -39983,116 +61534,454 @@ Private frames in ID3v2 tags ('PRIV' frames) will be represented using this tag, in which case the GstStructure will be named "ID3PrivateFrame" and contain a field named "owner" of type string which contains the owner-identification string from the tag. + - Name of the label or publisher (string) + Name of the label or publisher (string) + - reference level of track and album gain values (double) + reference level of track and album gain values (double) + - serial number of track (unsigned integer) + serial number of track (unsigned integer) + + + + + + + + + + + + + + + - Number of the episode within a season/show (unsigned integer) + Number of the episode within a season/show (unsigned integer) + - Name of the show, used for displaying (string) + Name of the show, used for displaying (string) + - Number of the season of a show/series (unsigned integer) + Number of the season of a show/series (unsigned integer) + - Name of the show, used for sorting (string) + Name of the show, used for sorting (string) + - codec/format the subtitle data is stored in (string) + codec/format the subtitle data is stored in (string) + - commonly used title (string) + commonly used title (string) The title as it should be displayed, e.g. 'The Doll House' + - commonly used title, as used for sorting (string) + commonly used title, as used for sorting (string) The title as it should be sorted, e.g. 'Doll House, The' + - count of tracks inside collection this track belongs to (unsigned integer) + count of tracks inside collection this track belongs to (unsigned integer) + - track gain in db (double) + track gain in db (double) + - track number inside a collection (unsigned integer) + track number inside a collection (unsigned integer) + - peak of the track (double) + peak of the track (double) + - Rating attributed by a person (likely the application user). + Rating attributed by a person (likely the application user). The higher the value, the more the user likes this media (unsigned int from 0 to 100) + - version of this data (string) + version of this data (string) + - codec the video data is stored in (string) + codec the video data is stored in (string) + + + + + + + + + + Send a broadcast signal to all waiting task conds + + + + Task to broadcast + + + + + + + + + + + + + + + + + + + + + + + + + + Get access to the cond of the task. + + + + Task to get the cond of + + + + + Get access to the task lock. + + + + Task to get the lock of + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Signal the task cond + + + + Task to signal + + + + + Get access to the state of the task. + + + + Task to get the state of + + + + + Wait for the task cond to be signalled + + + + Task to wait for + + + + + Convert a struct timespec (see man pselect) to a #GstClockTime. + + + + the timespec to convert + + + + + Convert a GTimeVal to a #GstClockTime. + + + + the timeval to convert + + + + + Format @t for the #GST_TIME_FORMAT format string. Note: @t will be +evaluated more than once. + + + + a #GstClockTime + + + + + Convert a #GstClockTime to milliseconds (1/1000 of a second). + + + + the time + + + + + Convert a #GstClockTime to nanoseconds (1/1000000000 of a second). + + + + the time + + + + + Convert a #GstClockTime to seconds. + + + + the time + + + + + Convert a #GstClockTime to microseconds (1/1000000 of a second). + + + + the time + + + - A string that can be used in printf-like format strings to display a + A string that can be used in printf-like format strings to display a #GstClockTime value in h:m:s format. Use GST_TIME_ARGS() to construct the matching arguments. @@ -40100,65 +61989,313 @@ Example: |[<!-- language="C" --> printf("%" GST_TIME_FORMAT "\n", GST_TIME_ARGS(ts)); ]| + + + Convert a #GstClockTime to a struct timespec (see man pselect) + + + + The #GstClockTime to convert + + + The target timespec + + + + + Convert a #GstClockTime to a GTimeVal + +> on 32-bit systems, a timeval has a range of only 2^32 - 1 seconds, +> which is about 68 years. Expect trouble if you want to schedule stuff +> in your pipeline for 2038. + + + + The #GstClockTime to convert + + + The target timeval + + + + + Checks if @entry_type indicates that its #GstTocEntry is an alternative. + + + + The #GstTocEntryType from a #GstTocEntry + + + + + Checks if @entry_type indicates that its #GstTocEntry is a sequence. + + + + The #GstTocEntryType from a #GstTocEntry + + + - Special value for the repeat_count set in gst_toc_entry_set_loop() or + Special value for the repeat_count set in gst_toc_entry_set_loop() or returned by gst_toc_entry_set_loop() to indicate infinite looping. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Extra tag flags used when registering tags. + Extra tag flags used when registering tags. - undefined flag + undefined flag - tag is meta data + tag is meta data - tag is encoded + tag is encoded - tag is decoded + tag is decoded - number of tag flags + number of tag flags - A function that will be called in gst_tag_list_foreach(). The function may + A function that will be called in gst_tag_list_foreach(). The function may not modify the tag list. + - the #GstTagList + the #GstTagList - a name of a tag in @list + a name of a tag in @list nullable="1" allow-none="1" closure="2"> - user data + user data @@ -40176,18 +62315,25 @@ not modify the tag list. glib:type-name="GstTagList" glib:get-type="gst_tag_list_get_type" c:symbol-prefix="tag_list"> - List of tags and values used to describe media metadata. + List of tags and values used to describe media metadata. Strings in structures must be ASCII or UTF-8 encoded. Other encodings are not allowed. Strings must not be empty or %NULL. + - the parent type + the parent type - Creates a new taglist and appends the values for the given tags. It expects + 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 @@ -40200,42 +62346,61 @@ taglist to signal if the contained tags are global or stream tags. By default stream scope is assumes. See gst_tag_list_set_scope(). Free-function: gst_tag_list_unref + - a new #GstTagList. Free with gst_tag_list_unref() + a new #GstTagList. Free with gst_tag_list_unref() when no longer needed. - tag + tag - %NULL-terminated list of values to set + %NULL-terminated list of values to set - Creates a new empty GstTagList. + Creates a new empty GstTagList. Free-function: gst_tag_list_unref + - An empty tag list + An empty tag list - Deserializes a tag list. + Deserializes a tag list. + - a new #GstTagList, or %NULL in case of an + a new #GstTagList, or %NULL in case of an error. - a string created with gst_tag_list_to_string() + a string created with gst_tag_list_to_string() @@ -40243,42 +62408,60 @@ error. - Just like gst_tag_list_new(), only that it takes a va_list argument. + Just like gst_tag_list_new(), only that it takes a va_list argument. Useful mostly for language bindings. Free-function: gst_tag_list_unref + - a new #GstTagList. Free with gst_tag_list_unref() + a new #GstTagList. Free with gst_tag_list_unref() when no longer needed. - tag / value pairs to set + tag / value pairs to set - Sets the values for the given tags using the specified mode. + Sets the values for the given tags using the specified mode. + - list to set tags in + list to set tags in - the mode to use + the mode to use - tag + tag - %NULL-terminated list of values to set + %NULL-terminated list of values to set @@ -40286,25 +62469,36 @@ Free-function: gst_tag_list_unref - Sets the values for the given tags using the specified mode. + Sets the values for the given tags using the specified mode. + - list to set tags in + list to set tags in - the mode to use + the mode to use - tag + tag - tag / value pairs to set + tag / value pairs to set @@ -40312,49 +62506,71 @@ Free-function: gst_tag_list_unref - Sets the GValues for the given tags using the specified mode. + Sets the GValues for the given tags using the specified mode. + - list to set tags in + list to set tags in - the mode to use + the mode to use - tag + tag - tag / GValue pairs to set + tag / GValue pairs to set - Sets the GValue for a given tag using the specified mode. + Sets the GValue for a given tag using the specified mode. + - list to set tags in + list to set tags in - the mode to use + the mode to use - tag + tag - GValue for this tag + GValue for this tag @@ -40362,201 +62578,308 @@ Free-function: gst_tag_list_unref - Sets the GValues for the given tags using the specified mode. + Sets the GValues for the given tags using the specified mode. + - list to set tags in + list to set tags in - the mode to use + the mode to use - tag + tag - GValues to set + GValues to set + + Creates a new #GstTagList as a copy of the old @taglist. The new taglist +will have a refcount of 1, owned by the caller, and will be writable as +a result. + +Note that this function is the semantic equivalent of a gst_tag_list_ref() +followed by a gst_tag_list_make_writable(). If you only want to hold on to a +reference to the data, you should use gst_tag_list_ref(). + +When you are finished with the taglist, call gst_tag_list_unref() on it. + + + the new #GstTagList + + + + + a #GstTagList. + + + + - Calls the given function for each tag inside the tag list. Note that if there + 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. + - list to iterate over + list to iterate over - function to be called for each tag + function to be called for each tag - user specified data + user specified data - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Copies the first date for the given tag in the taglist into the variable + 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. Free-function: g_date_free + - %TRUE, if a date was copied, %FALSE if the tag didn't exist in the + %TRUE, if a date was copied, %FALSE if the tag didn't exist in the given list or if it was %NULL. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - address of a GDate pointer + 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 + 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. Free-function: g_date_free + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list or if it was %NULL. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Copies the first datetime for the given tag in the taglist into the variable + 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. Free-function: gst_date_time_unref + - %TRUE, if a datetime was copied, %FALSE if the tag didn't exist in + %TRUE, if a datetime was copied, %FALSE if the tag didn't exist in the given list or if it was %NULL. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - address of a #GstDateTime + address of a #GstDateTime pointer variable to store the result into @@ -40564,280 +62887,398 @@ Free-function: gst_date_time_unref - Gets the datetime that is at the given index for the given tag in the given + 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. Free-function: gst_date_time_unref + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list or if it was %NULL. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out caller-allocates="0" transfer-ownership="none" nullable="1"> - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out caller-allocates="0" transfer-ownership="none" nullable="1"> - location for the result + location for the result - Copies the first sample for the given tag in the taglist into the variable + Copies the first sample for the given tag in the taglist into the variable pointed to by @sample. Free the sample with gst_sample_unref() when it is no longer needed. You can retrieve the buffer from the sample using gst_sample_get_buffer() and the associated caps (if any) with gst_sample_get_caps(). Free-function: gst_sample_unref + - %TRUE, if a sample was returned, %FALSE if the tag didn't exist in + %TRUE, if a sample was returned, %FALSE if the tag didn't exist in the given list or if it was %NULL. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - address of a GstSample + address of a GstSample pointer variable to store the result into @@ -40916,56 +63383,78 @@ Free-function: gst_sample_unref - Gets the sample that is at the given index for the given tag in the given + Gets the sample that is at the given index for the given tag in the given list and copies it into the variable pointed to by @sample. Free the sample with gst_sample_unref() when it is no longer needed. You can retrieve the buffer from the sample using gst_sample_get_buffer() and the associated caps (if any) with gst_sample_get_caps(). Free-function: gst_sample_unref + - %TRUE, if a sample was copied, %FALSE if the tag didn't exist in the + %TRUE, if a sample was copied, %FALSE if the tag didn't exist in the given list or if it was %NULL. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - address of a GstSample + address of a GstSample pointer variable to store the result into - Gets the scope of @list. + Gets the scope of @list. + - The scope of @list + The scope of @list - a #GstTagList + a #GstTagList - Copies the contents for the given tag into the value, possibly merging + 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 @@ -40976,32 +63465,43 @@ freed by the caller using g_free when no longer needed. The returned string is also guaranteed to be non-%NULL and non-empty. Free-function: g_free + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + 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 @@ -41009,245 +63509,354 @@ freed by the caller using g_free when no longer needed. The returned string is also guaranteed to be non-%NULL and non-empty. Free-function: g_free + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Checks how many value are stored in this tag list for the given tag. + Checks how many value are stored in this tag list for the given tag. + - The number of tags stored + The number of tags stored - a taglist + a taglist - the tag to query + the tag to query - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Copies the contents for the given tag into the value, merging multiple values + Copies the contents for the given tag into the value, merging multiple values into one if multiple values are associated with the tag. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result - Gets the value that is at the given index for the given tag in the given + Gets the value that is at the given index for the given tag in the given list. + - The GValue for the specified + The GValue for the specified entry or %NULL if the tag wasn't available or the tag doesn't have as many entries - a #GstTagList + a #GstTagList - tag to read out + tag to read out - number of entry to read out + number of entry to read out - Inserts the tags of the @from list into the first list using the given mode. + Inserts the tags of the @from list into the first list using the given mode. + - list to merge into + list to merge into - list to merge from + list to merge from - the mode to use + the mode to use - Checks if the given taglist is empty. + Checks if the given taglist is empty. + - %TRUE if the taglist is empty, otherwise %FALSE. + %TRUE if the taglist is empty, otherwise %FALSE. - A #GstTagList. + A #GstTagList. - Checks if the two given taglists are equal. + Checks if the two given taglists are equal. + - %TRUE if the taglists are equal, otherwise %FALSE + %TRUE if the taglists are equal, otherwise %FALSE - a #GstTagList. + a #GstTagList. - a #GstTagList. + a #GstTagList. - Merges the two given lists into a new list. If one of the lists is %NULL, a + 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. Free-function: gst_tag_list_unref + - the new list + the new list @@ -41255,142 +63864,248 @@ Free-function: gst_tag_list_unref transfer-ownership="none" nullable="1" allow-none="1"> - first list to merge + first list to merge - second list to merge + second list to merge - the mode to use + the mode to use - Get the number of tags in @list. + Get the number of tags in @list. + - The number of tags in @list. + The number of tags in @list. - A #GstTagList. + A #GstTagList. - Get the name of the tag in @list at @index. + Get the name of the tag in @list at @index. + - The name of the tag at @index. + The name of the tag at @index. - A #GstTagList. + A #GstTagList. - the index + the index - Peeks at the value that is at the given index for the given tag in the given + 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. + - %TRUE, if a value was set, %FALSE if the tag didn't exist in the + %TRUE, if a value was set, %FALSE if the tag didn't exist in the given list. - a #GstTagList to get the tag from + a #GstTagList to get the tag from - tag to read out + tag to read out - number of entry to read out + number of entry to read out - location for the result + location for the result + + Add a reference to a #GstTagList mini object. + +From this point on, until the caller calls gst_tag_list_unref() or +gst_tag_list_make_writable(), it is guaranteed that the taglist object will +not change. To use a #GstTagList object, you must always have a refcount on +it -- either the one made implicitly by e.g. gst_tag_list_new(), or via +taking one explicitly with this function. + + + the same #GstTagList mini object. + + + + + the #GstTagList to reference + + + + - Removes the given tag from the taglist. + Removes the given tag from the taglist. + - list to remove tag from + list to remove tag from - tag to remove + tag to remove - Sets the scope of @list to @scope. By default the scope + Sets the scope of @list to @scope. By default the scope of a taglist is stream scope. + - a #GstTagList + a #GstTagList - new scope for @list + new scope for @list - Serializes a tag list to a string. + Serializes a tag list to a string. + - a newly-allocated string, or %NULL in case of + a newly-allocated string, or %NULL in case of an error. The string must be freed with g_free() when no longer needed. - a #GstTagList + a #GstTagList + + Unref a #GstTagList, and and free all its memory when the refcount reaches 0. + + + + + + + a #GstTagList. + + + + - Copies the contents for the given tag into the value, + 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. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. @@ -41399,33 +64114,46 @@ You must g_value_unset() the value after use. direction="out" caller-allocates="1" transfer-ownership="none"> - uninitialized #GValue to copy into + uninitialized #GValue to copy into - list to get the tag from + list to get the tag from - tag to read out + tag to read out - A function for merging multiple values of a tag used when registering + A function for merging multiple values of a tag used when registering tags. + - the destination #GValue + the destination #GValue - the source #GValue + the source #GValue @@ -41434,7 +64162,9 @@ tags. glib:type-name="GstTagMergeMode" glib:get-type="gst_tag_merge_mode_get_type" c:type="GstTagMergeMode"> - The different tag merging modes are basically replace, overwrite and append, + The different tag merging modes are basically replace, overwrite and append, but they can be seen from two directions. Given two taglists: (A) the tags 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 @@ -41442,130 +64172,102 @@ e.g. via gst_tag_setter_merge_tags() / gst_tag_setter_add_tags() or a 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> +| merge mode | A + B | A + !B | !A + B | !A + !B | +| ----------- | ----- | ------ | ------ | ------- | +| REPLACE_ALL | B | ø | B | ø | +| REPLACE | B | A | B | ø | +| APPEND | A, B | A | B | ø | +| PREPEND | B, A | A | B | ø | +| KEEP | A | A | B | ø | +| KEEP_ALL | A | A | ø | ø | - undefined merge mode + undefined merge mode - replace all tags (clear list and append) + replace all tags (clear list and append) - replace tags + replace tags - append tags + append tags - prepend tags + prepend tags - keep existing tags + keep existing tags - keep all existing tags + keep all existing tags - the number of merge modes + the number of merge modes - GstTagScope specifies if a taglist applies to the complete + GstTagScope specifies if a taglist applies to the complete medium or only to one single stream. - tags specific to this single stream + tags specific to this single stream - global tags for the complete medium + global tags for the complete medium glib:type-name="GstTagSetter" glib:get-type="gst_tag_setter_get_type" glib:type-struct="TagSetterInterface"> - Element interface that allows setting of media metadata. + Element interface that allows setting of media metadata. Elements that support changing a stream's metadata will implement this interface. Examples of such elements are 'vorbisenc', 'theoraenc' and @@ -41614,30 +64318,42 @@ result = gst_tag_list_merge (application_tags, event_tags, merge_mode); GST_LOG_OBJECT (tagsetter, "final tags: %" GST_PTR_FORMAT, result); ]| + - Adds the given tag / value pairs on the setter using the given merge mode. + Adds the given tag / value pairs on the setter using the given merge mode. The list must be terminated with %NULL. + - a #GstTagSetter + a #GstTagSetter - the mode to use + the mode to use - tag to set + tag to set - tag / value pairs to set + tag / value pairs to set @@ -41645,50 +64361,72 @@ The list must be terminated with %NULL. - Adds the given tag / GValue pairs on the setter using the given merge mode. + Adds the given tag / GValue pairs on the setter using the given merge mode. The list must be terminated with %NULL. + - a #GstTagSetter + a #GstTagSetter - the mode to use + the mode to use - tag to set + tag to set - tag / GValue pairs to set + tag / GValue pairs to set - Adds the given tag / GValue pair on the setter using the given merge mode. + Adds the given tag / GValue pair on the setter using the given merge mode. + - a #GstTagSetter + a #GstTagSetter - the mode to use + the mode to use - tag to set + tag to set - GValue to set for the tag + GValue to set for the tag @@ -41696,26 +64434,37 @@ The list must be terminated with %NULL. - Adds the given tag / GValue pairs on the setter using the given merge mode. + Adds the given tag / GValue pairs on the setter using the given merge mode. The list must be terminated with %NULL. + - a #GstTagSetter + a #GstTagSetter - the mode to use + the mode to use - tag to set + tag to set - more tag / GValue pairs to set + more tag / GValue pairs to set @@ -41723,110 +64472,156 @@ The list must be terminated with %NULL. - Adds the given tag / value pairs on the setter using the given merge mode. + Adds the given tag / value pairs on the setter using the given merge mode. The list must be terminated with %NULL. + - a #GstTagSetter + a #GstTagSetter - the mode to use + the mode to use - tag to set + tag to set - more tag / value pairs to set + more tag / value pairs to set - Returns the current list of tags the setter uses. The list should not be + Returns the current list of tags the setter uses. The list should not be modified or freed. This function is not thread-safe. + - a current snapshot of the + a current snapshot of the taglist used in the setter or %NULL if none is used. - a #GstTagSetter + a #GstTagSetter - Queries the mode by which tags inside the setter are overwritten by tags + Queries the mode by which tags inside the setter are overwritten by tags from events + - the merge mode used inside the element. + the merge mode used inside the element. - a #GstTagSetter + a #GstTagSetter - Merges the given list into the setter's list using the given mode. + Merges the given list into the setter's list using the given mode. + - a #GstTagSetter + a #GstTagSetter - a tag list to merge from + a tag list to merge from - the mode to merge with + the mode to merge with - Reset the internal taglist. Elements should call this from within the + Reset the internal taglist. Elements should call this from within the state-change handler. + - a #GstTagSetter + a #GstTagSetter - Sets the given merge mode that is used for adding tags from events to tags + 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. + - a #GstTagSetter + a #GstTagSetter - The mode with which tags are added + The mode with which tags are added @@ -41835,9 +64630,14 @@ the tags set with this interface and discards tags from events. - #GstTagSetterInterface interface. + #GstTagSetterInterface interface. + - parent interface type. + parent interface type. @@ -41848,7 +64648,9 @@ the tags set with this interface and discards tags from events. glib:type-name="GstTask" glib:get-type="gst_task_get_type" glib:type-struct="TaskClass"> - #GstTask is used by #GstElement and #GstPad to provide the data passing + #GstTask is used by #GstElement and #GstPad to provide the data passing threads in a #GstPipeline. A #GstPad will typically start a #GstTask to push or pull data to/from the @@ -41887,8 +64689,11 @@ For debugging purposes, the task will configure its object name as the thread name on Linux. Please note that the object name should be configured before the task is started; changing the object name after the task has been started, has no effect on the thread name. + - Create a new Task that will repeatedly call the provided @func + Create a new Task that will repeatedly call the provided @func with @user_data as a parameter. Typically the task will run in a new thread. @@ -41901,8 +64706,11 @@ gst_task_pause() to create and start the GThread. Before the task can be used, a #GRecMutex must be configured using the gst_task_set_lock() function. This lock will always be acquired while @func is called. + - A new #GstTask. + A new #GstTask. MT safe. @@ -41913,65 +64721,90 @@ MT safe. scope="notified" closure="1" destroy="2"> - The #GstTaskFunction to use + The #GstTaskFunction to use - User data to pass to @func + User data to pass to @func - the function to call when @user_data is no longer needed. + the function to call when @user_data is no longer needed. - Wait for all tasks to be stopped. This is mainly used internally + 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. + - Get the #GstTaskPool that this task will use for its streaming + Get the #GstTaskPool that this task will use for its streaming threads. MT safe. + - the #GstTaskPool used by @task. gst_object_unref() + the #GstTaskPool used by @task. gst_object_unref() after usage. - a #GstTask + a #GstTask - Get the current state of the task. + Get the current state of the task. + - The #GstTaskState of the task + The #GstTaskState of the task MT safe. - The #GstTask to query + The #GstTask to query - Joins @task. After this call, it is safe to unref 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. @@ -41979,48 +64812,88 @@ 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. + - %TRUE if the task could be joined. + %TRUE if the task could be joined. MT safe. - The #GstTask to join + The #GstTask to join - Pauses @task. This method can also be called on a task in the + 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. + - %TRUE if the task could be paused. + %TRUE if the task could be paused. MT safe. - The #GstTask to pause + The #GstTask to pause + + + + + + Resume @task in case it was paused. If the task was stopped, it will +remain in that state and this function will return %FALSE. + + + %TRUE if the task could be resumed. + +MT safe. + + + + + The #GstTask to resume - Call @enter_func when the task function of @task is entered. @user_data will + Call @enter_func when the task function of @task is entered. @user_data will be passed to @enter_func and @notify will be called when @user_data is no longer referenced. + - The #GstTask to use + The #GstTask to use scope="notified" closure="1" destroy="2"> - a #GstTaskThreadFunc + a #GstTaskThreadFunc - user data passed to @enter_func + user data passed to @enter_func - called when @user_data is no longer referenced + called when @user_data is no longer referenced - Call @leave_func when the task function of @task is left. @user_data will + Call @leave_func when the task function of @task is left. @user_data will be passed to @leave_func and @notify will be called when @user_data is no longer referenced. + - The #GstTask to use + The #GstTask to use scope="notified" closure="1" destroy="2"> - a #GstTaskThreadFunc + a #GstTaskThreadFunc - user data passed to @leave_func + user data passed to @leave_func - called when @user_data is no longer referenced + called when @user_data is no longer referenced - Set the mutex used by the task. The mutex will be acquired before + 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 #GstTask to use + The #GstTask to use - The #GRecMutex to use + The #GRecMutex to use - Set @pool as the new GstTaskPool for @task. Any new streaming threads that + 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 #GstTask + a #GstTask - a #GstTaskPool + a #GstTaskPool - Sets the state of @task to @state. + 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. + %TRUE if the state could be changed. - a #GstTask + a #GstTask - the new task state + the new task state - Starts @task. The @task must have a lock associated with it using + Starts @task. The @task must have a lock associated with it using gst_task_set_lock() or this function will return %FALSE. + - %TRUE if the task could be started. + %TRUE if the task could be started. MT safe. - The #GstTask to start + The #GstTask to start - Stops @task. This method merely schedules the task to stop and + 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. + - %TRUE if the task could be stopped. + %TRUE if the task could be stopped. MT safe. - The #GstTask to stop + The #GstTask to stop @@ -42179,31 +65106,45 @@ MT safe. - the state of the task + the state of the task - used to pause/resume the task + used to pause/resume the task - The lock taken when iterating the task function + The lock taken when iterating the task function - the function executed by this task + the function executed by this task - user_data passed to the task function + user_data passed to the task function - GDestroyNotify for @user_data + GDestroyNotify for @user_data - a flag indicating that the task is running + a flag indicating that the task is running @@ -42213,7 +65154,7 @@ MT safe. - + @@ -42221,6 +65162,7 @@ MT safe. + @@ -42228,14 +65170,17 @@ MT safe. - + - A function that will repeatedly be called in the thread created by + A function that will repeatedly be called in the thread created by a #GstTask. + @@ -42245,7 +65190,9 @@ a #GstTask. nullable="1" allow-none="1" closure="0"> - user data passed to the function + user data passed to the function @@ -42257,85 +65204,119 @@ a #GstTask. glib:type-name="GstTaskPool" glib:get-type="gst_task_pool_get_type" glib:type-struct="TaskPoolClass"> - This object provides an abstraction for creating threads. The default + This object provides an abstraction for creating threads. The default implementation uses a regular GThreadPool to start tasks. Subclasses can be made to create custom threads. + - Create a new default task pool. The default task pool will use a regular + 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. + a new #GstTaskPool. gst_object_unref() after usage. - Wait for all tasks to be stopped. This is mainly used internally + 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. + - a #GstTaskPool + a #GstTaskPool - Join a task and/or return it to the pool. @id is the id obtained from + Join a task and/or return it to the pool. @id is the id obtained from gst_task_pool_push(). + - a #GstTaskPool + a #GstTaskPool - the id + the id - Prepare the taskpool for accepting gst_task_pool_push() operations. + Prepare the taskpool for accepting gst_task_pool_push() operations. MT safe. + - a #GstTaskPool + a #GstTaskPool - Start the execution of a new thread from @pool. + Start the execution of a new thread from @pool. + - a pointer that should be used + a pointer that should be used for the gst_task_pool_join function. This pointer can be %NULL, you must check @error to detect errors. - a #GstTaskPool + a #GstTaskPool - the function to call + the function to call nullable="1" allow-none="1" closure="1"> - data to pass to @func + data to pass to @func - Wait for all tasks to be stopped. This is mainly used internally + 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. + - a #GstTaskPool + a #GstTaskPool - Join a task and/or return it to the pool. @id is the id obtained from + Join a task and/or return it to the pool. @id is the id obtained from gst_task_pool_push(). + - a #GstTaskPool + a #GstTaskPool - the id + the id - Prepare the taskpool for accepting gst_task_pool_push() operations. + Prepare the taskpool for accepting gst_task_pool_push() operations. MT safe. + - a #GstTaskPool + a #GstTaskPool - Start the execution of a new thread from @pool. + Start the execution of a new thread from @pool. + - a pointer that should be used + a pointer that should be used for the gst_task_pool_join function. This pointer can be %NULL, you must check @error to detect errors. - a #GstTaskPool + a #GstTaskPool - the function to call + the function to call - data to pass to @func + data to pass to @func @@ -42433,7 +65444,7 @@ must check @error to detect errors. - + @@ -42441,19 +65452,27 @@ must check @error to detect errors. - The #GstTaskPoolClass object. + The #GstTaskPoolClass object. + - the parent class structure + the parent class structure + - a #GstTaskPool + a #GstTaskPool @@ -42461,12 +65480,15 @@ must check @error to detect errors. + - a #GstTaskPool + a #GstTaskPool @@ -42474,22 +65496,29 @@ must check @error to detect errors. + - a pointer that should be used + a pointer that should be used for the gst_task_pool_join function. This pointer can be %NULL, you must check @error to detect errors. - a #GstTaskPool + a #GstTaskPool - the function to call + the function to call nullable="1" allow-none="1" closure="2"> - data to pass to @func + data to pass to @func @@ -42505,32 +65536,40 @@ must check @error to detect errors. + - a #GstTaskPool + a #GstTaskPool - the id + the id - + - Task function, see gst_task_pool_push(). + Task function, see gst_task_pool_push(). + @@ -42540,49 +65579,67 @@ must check @error to detect errors. nullable="1" allow-none="1" closure="0"> - user data for the task function + user data for the task function + - The different states a task can be in + The different states a task can be in - the task is started and running + the task is started and running - the task is stopped + the task is stopped - the task is paused + the task is paused - Custom GstTask thread callback functions that can be installed. + Custom GstTask thread callback functions that can be installed. + - The #GstTask + The #GstTask - The #GThread + The #GThread nullable="1" allow-none="1" closure="2"> - user data + user data - Structure for saving a timestamp and a value. + Structure for saving a timestamp and a value. + - timestamp of the value change + timestamp of the value change - the corresponding value + the corresponding value @@ -42611,7 +65677,9 @@ must check @error to detect errors. glib:type-name="GstToc" glib:get-type="gst_toc_get_type" c:symbol-prefix="toc"> - #GstToc functions are used to create/free #GstToc and #GstTocEntry structures. + #GstToc functions are used to create/free #GstToc and #GstTocEntry structures. Also they are used to convert #GstToc into #GstStructure and vice versa. #GstToc lets you to inform other elements in pipeline or application that playing @@ -42656,37 +65724,53 @@ alternative type entry) with track entries underneath that node; or even multiple top-level edition nodes (or some other alternative type entries) each with track entries underneath, in case the source file has extracted a track listing from different sources). + - Create a new #GstToc structure. + Create a new #GstToc structure. + - newly allocated #GstToc structure, free it + newly allocated #GstToc structure, free it with gst_toc_unref(). - scope of this TOC + scope of this TOC - Appends the #GstTocEntry @entry to @toc. + Appends the #GstTocEntry @entry to @toc. + - A #GstToc instance + A #GstToc instance - A #GstTocEntry + A #GstTocEntry + @@ -42697,101 +65781,145 @@ a track listing from different sources). - Find #GstTocEntry with given @uid in the @toc. + Find #GstTocEntry with given @uid in the @toc. + - #GstTocEntry with specified + #GstTocEntry with specified @uid from the @toc, or %NULL if not found. - #GstToc to search in. + #GstToc to search in. - UID to find #GstTocEntry with. + UID to find #GstTocEntry with. - Gets the list of #GstTocEntry of @toc. + Gets the list of #GstTocEntry of @toc. + - A #GList of #GstTocEntry for @entry + A #GList of #GstTocEntry for @entry - A #GstToc instance + A #GstToc instance + - scope of @toc + scope of @toc - a #GstToc instance + a #GstToc instance - Gets the tags for @toc. + Gets the tags for @toc. + - A #GstTagList for @entry + A #GstTagList for @entry - A #GstToc instance + A #GstToc instance - Merge @tags into the existing tags of @toc using @mode. + Merge @tags into the existing tags of @toc using @mode. + - A #GstToc instance + A #GstToc instance - A #GstTagList or %NULL + A #GstTagList or %NULL - A #GstTagMergeMode + A #GstTagMergeMode - Set a #GstTagList with tags for the complete @toc. + Set a #GstTagList with tags for the complete @toc. + - A #GstToc instance + A #GstToc instance - A #GstTagList or %NULL + A #GstTagList or %NULL @@ -42802,49 +65930,71 @@ a track listing from different sources). glib:type-name="GstTocEntry" glib:get-type="gst_toc_entry_get_type" c:symbol-prefix="toc_entry"> + - Create new #GstTocEntry structure. + Create new #GstTocEntry structure. + - newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref(). + newly allocated #GstTocEntry structure, free it with gst_toc_entry_unref(). - entry type. + entry type. - unique ID (UID) in the whole TOC. + unique ID (UID) in the whole TOC. - Appends the #GstTocEntry @subentry to @entry. + Appends the #GstTocEntry @subentry to @entry. + - A #GstTocEntry instance + A #GstTocEntry instance - A #GstTocEntry + A #GstTocEntry + - @entry's entry type + @entry's entry type - a #GstTocEntry + a #GstTocEntry @@ -42852,18 +66002,25 @@ a track listing from different sources). - Get @loop_type and @repeat_count values from the @entry and write them into + Get @loop_type and @repeat_count values from the @entry and write them into appropriate storages. Loops are e.g. used by sampled instruments. GStreamer is not automatically applying the loop. The application can process this meta data and use it e.g. to send a seek-event to loop a section. + - %TRUE if all non-%NULL storage pointers were filled with appropriate + %TRUE if all non-%NULL storage pointers were filled with appropriate values, %FALSE otherwise. - #GstTocEntry to get values from. + #GstTocEntry to get values from. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the loop_type + the storage for the loop_type value, leave %NULL if not need. @@ -42882,37 +66041,53 @@ values, %FALSE otherwise. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the repeat_count + the storage for the repeat_count value, leave %NULL if not need. - Gets the parent #GstTocEntry of @entry. + Gets the parent #GstTocEntry of @entry. + - The parent #GstTocEntry of @entry + The parent #GstTocEntry of @entry - A #GstTocEntry instance + A #GstTocEntry instance - Get @start and @stop values from the @entry and write them into appropriate + Get @start and @stop values from the @entry and write them into appropriate storages. + - %TRUE if all non-%NULL storage pointers were filled with appropriate + %TRUE if all non-%NULL storage pointers were filled with appropriate values, %FALSE otherwise. - #GstTocEntry to get values from. + #GstTocEntry to get values from. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the start value, leave + the storage for the start value, leave %NULL if not need. @@ -42931,7 +66108,9 @@ values, %FALSE otherwise. transfer-ownership="full" optional="1" allow-none="1"> - the storage for the stop value, leave + the storage for the stop value, leave %NULL if not need. @@ -42939,103 +66118,150 @@ values, %FALSE otherwise. - Gets the sub-entries of @entry. + Gets the sub-entries of @entry. + - A #GList of #GstTocEntry of @entry + A #GList of #GstTocEntry of @entry - A #GstTocEntry instance + A #GstTocEntry instance - Gets the tags for @entry. + Gets the tags for @entry. + - A #GstTagList for @entry + A #GstTagList for @entry - A #GstTocEntry instance + A #GstTocEntry instance - Gets the parent #GstToc of @entry. + Gets the parent #GstToc of @entry. + - The parent #GstToc of @entry + The parent #GstToc of @entry - A #GstTocEntry instance + A #GstTocEntry instance - Gets the UID of @entry. + Gets the UID of @entry. + - The UID of @entry + The UID of @entry - A #GstTocEntry instance + A #GstTocEntry instance + - %TRUE if @entry's type is an alternative type, otherwise %FALSE + %TRUE if @entry's type is an alternative type, otherwise %FALSE - a #GstTocEntry + a #GstTocEntry + - %TRUE if @entry's type is a sequence type, otherwise %FALSE + %TRUE if @entry's type is a sequence type, otherwise %FALSE - a #GstTocEntry + a #GstTocEntry - Merge @tags into the existing tags of @entry using @mode. + Merge @tags into the existing tags of @entry using @mode. + - A #GstTocEntry instance + A #GstTocEntry instance - A #GstTagList or %NULL + A #GstTagList or %NULL - A #GstTagMergeMode + A #GstTagMergeMode @@ -43043,61 +66269,86 @@ values, %FALSE otherwise. - Set @loop_type and @repeat_count values for the @entry. + Set @loop_type and @repeat_count values for the @entry. + - #GstTocEntry to set values. + #GstTocEntry to set values. - loop_type value to set. + loop_type value to set. - repeat_count value to set. + repeat_count value to set. - Set @start and @stop values for the @entry. + Set @start and @stop values for the @entry. + - #GstTocEntry to set values. + #GstTocEntry to set values. - start value to set. + start value to set. - stop value to set. + stop value to set. - Set a #GstTagList with tags for the complete @entry. + Set a #GstTagList with tags for the complete @entry. + - A #GstTocEntry instance + A #GstTocEntry instance - A #GstTagList or %NULL + A #GstTagList or %NULL @@ -43107,62 +66358,85 @@ values, %FALSE otherwise. glib:type-name="GstTocEntryType" glib:get-type="gst_toc_entry_type_get_type" c:type="GstTocEntryType"> - The different types of TOC entries (see #GstTocEntry). + The different types of TOC entries (see #GstTocEntry). There are two types of TOC entries: alternatives or parts in a sequence. - entry is an angle (i.e. an alternative) + entry is an angle (i.e. an alternative) - entry is a version (i.e. alternative) + entry is a version (i.e. alternative) - entry is an edition (i.e. alternative) + entry is an edition (i.e. alternative) - invalid entry type value + invalid entry type value - entry is a title (i.e. a part of a sequence) + entry is a title (i.e. a part of a sequence) - entry is a track (i.e. a part of a sequence) + entry is a track (i.e. a part of a sequence) - entry is a chapter (i.e. a part of a sequence) + entry is a chapter (i.e. a part of a sequence) - Converts @type to a string representation. + Converts @type to a string representation. + - Returns a human-readable string for @type. This string is + Returns a human-readable string for @type. This string is only for debugging purpose and should not be displayed in a user interface. - a #GstTocEntryType. + a #GstTocEntryType. @@ -43173,50 +66447,66 @@ There are two types of TOC entries: alternatives or parts in a sequence. glib:type-name="GstTocLoopType" glib:get-type="gst_toc_loop_type_get_type" c:type="GstTocLoopType"> - How a #GstTocEntry should be repeated. By default, entries are played a + How a #GstTocEntry should be repeated. By default, entries are played a single time. - single forward playback + single forward playback - repeat forward + repeat forward - repeat backward + repeat backward - repeat forward and backward + repeat forward and backward - The scope of a TOC. + The scope of a TOC. - global TOC representing all selectable options + global TOC representing all selectable options (this is what applications are usually interested in) - TOC for the currently active/selected stream + TOC for the currently active/selected stream (this is a TOC representing the current stream from start to EOS, and is what a TOC writer / muxer is usually interested in; it will usually be a subset of the global TOC, e.g. just the chapters of @@ -43230,7 +66520,9 @@ single time. glib:type-name="GstTocSetter" glib:get-type="gst_toc_setter_get_type" glib:type-struct="TocSetterInterface"> - Element interface that allows setting of the TOC. + Element interface that allows setting of the TOC. Elements that support some kind of chapters or editions (or tracks like in the FLAC cue sheet) will implement this interface. @@ -43244,51 +66536,71 @@ and set TOC using gst_toc_setter_set_toc(). Elements implementing the #GstTocSetter interface can extend existing TOC by getting extend UID for that (you can use gst_toc_find_entry() to retrieve it) with any TOC entries received from downstream. + - Return current TOC the setter uses. The TOC should not be + Return current TOC the setter uses. The TOC should not be modified without making it writable first. + - TOC set, or %NULL. Unref with + TOC set, or %NULL. Unref with gst_toc_unref() when no longer needed - a #GstTocSetter. + a #GstTocSetter. - Reset the internal TOC. Elements should call this from within the + Reset the internal TOC. Elements should call this from within the state-change handler. + - a #GstTocSetter. + a #GstTocSetter. - Set the given TOC on the setter. Previously set TOC will be + Set the given TOC on the setter. Previously set TOC will be unreffed before setting a new one. + - a #GstTocSetter. + a #GstTocSetter. - a #GstToc to set. + a #GstToc to set. @@ -43297,24 +66609,69 @@ unreffed before setting a new one. - #GstTocSetterInterface interface. + #GstTocSetterInterface interface. + - parent interface type. + parent interface type. - Tracing modules will subclass #GstTracer and register through + Tracing modules will subclass #GstTracer and register through gst_tracer_register(). Modules can attach to various hook-types - see gst_tracing_register_hook(). When invoked they receive hook specific contextual data, which they must not modify. + + + Create a new tracer-factory capable of instantiating objects of the +@type and add the factory to @plugin. + + + %TRUE, if the registering succeeded, %FALSE on error + + + + + A #GstPlugin, or %NULL for a static typefind function + + + + The name for registering + + + + GType of tracer to register + + + + - + @@ -43336,11 +66693,12 @@ contextual data, which they must not modify. + - + @@ -43353,19 +66711,27 @@ contextual data, which they must not modify. glib:type-name="GstTracerFactory" glib:get-type="gst_tracer_factory_get_type" glib:type-struct="TracerFactoryClass"> - Use gst_tracer_factory_get_list() to get a list of tracer factories known to + Use gst_tracer_factory_get_list() to get a list of tracer factories known to GStreamer. + - Gets the list of all registered tracer factories. You must free the + Gets the list of all registered tracer factories. You must free the list using gst_plugin_feature_list_free(). The returned factories are sorted by factory name. Free-function: gst_plugin_feature_list_free + - the list of all + the list of all registered #GstTracerFactory. @@ -43374,17 +66740,24 @@ Free-function: gst_plugin_feature_list_free - Get the #GType for elements managed by this factory. The type can + 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 #GType for tracers managed by this factory or 0 if + the #GType for tracers managed by this factory or 0 if the factory is not loaded. - factory to get managed #GType from + factory to get managed #GType from @@ -43394,41 +66767,135 @@ the factory is not loaded. c:type="GstTracerFactoryClass" disguised="1" glib:is-gtype-struct-for="TracerFactory"> + + - Tracing modules will create instances of this class to announce the data they + Tracing modules will create instances of this class to announce the data they will log and create a log formatter. + + + Create a new tracer record. The record instance can be used to efficiently +log entries using gst_tracer_record_log(). + +The @name without the ".class" suffix will be used for the log records. +There must be fields for each value that gets logged where the field name is +the value name. The field must be a #GstStructure describing the value. The +sub structure must contain a field called 'type' of %G_TYPE_GTYPE that +contains the GType of the value. The resulting #GstTracerRecord will take +ownership of the field structures. + +The way to deal with optional values is to log an additional boolean before +the optional field, that if %TRUE signals that the optional field is valid +and %FALSE signals that the optional field should be ignored. One must still +log a placeholder value for the optional field though. Please also note, that +pointer type values must not be NULL - the underlying serialisation can not +handle that right now. + +> Please note that this is still under discussion and subject to change. + + + a new #GstTracerRecord + + + + + name of new record, must end on ".class". + + + + name of first field to set + + + + additional arguments + + + + + + Serialzes the trace event into the log. + +Right now this is using the gstreamer debug log with the level TRACE (7) and +the category "GST_TRACER". + +> Please note that this is still under discussion and subject to change. + + + + + + + the tracer-record + + + + the args as described in the spec- + + + + + - Flag that describe the value. These flags help applications processing the + Flag that describe the value. These flags help applications processing the logs to understand the values. - no flags + no flags - the value is optional. When using this flag + the value is optional. When using this flag one need to have an additional boolean arg before this value in the var-args list passed to gst_tracer_record_log(). @@ -43436,7 +66903,9 @@ logs to understand the values. value="2" c:identifier="GST_TRACER_VALUE_FLAGS_AGGREGATED" glib:nick="aggregated"> - the value is a combined figure, since the + the value is a combined figure, since the start of tracing. Examples are averages or timestamps. @@ -43445,7 +66914,9 @@ logs to understand the values. glib:type-name="GstTracerValueScope" glib:get-type="gst_tracer_value_scope_get_type" c:type="GstTracerValueScope"> - Tracing record will contain fields that contain a measured value or extra + Tracing record will contain fields that contain a measured value or extra meta-data. One such meta data are values that tell where a measurement was taken. This enumerating declares to which scope such a meta data field relates to. If it is e.g. %GST_TRACER_VALUE_SCOPE_PAD, then each of the log @@ -43454,32 +66925,44 @@ events may contain values for different #GstPads. value="0" c:identifier="GST_TRACER_VALUE_SCOPE_PROCESS" glib:nick="process"> - the value is related to the process + the value is related to the process - the value is related to a thread + the value is related to a thread - the value is related to an #GstElement + the value is related to an #GstElement - the value is related to a #GstPad + the value is related to a #GstPad - The following functions allow you to detect the media type of an unknown + The following functions allow you to detect the media type of an unknown stream. + + @@ -43498,6 +66981,7 @@ stream. + @@ -43515,11 +66999,14 @@ stream. - The data used by the caller of the typefinding function. + The data used by the caller of the typefinding function. + @@ -43531,31 +67018,43 @@ stream. - + - Get the length of the data stream. + Get the length of the data stream. + - The length of the data stream, or 0 if it is not available. + The length of the data stream, or 0 if it is not available. - The #GstTypeFind the function was called with + The #GstTypeFind the function was called with - Returns the @size bytes of the stream to identify beginning at offset. If + 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. + - the + the requested data, or %NULL if that data is not available. @@ -43563,41 +67062,56 @@ returns and must not be freed. - The #GstTypeFind object the function was called with + The #GstTypeFind object the function was called with - The offset + The offset - The number of bytes to return + The number of bytes to return - If a #GstTypeFindFunction calls this function it suggests the caps with the + 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 #GstTypeFind object the function was called with + The #GstTypeFind object the function was called with - The probability in percent that the suggestion is right + The probability in percent that the suggestion is right - The fixed #GstCaps to suggest + The fixed #GstCaps to suggest @@ -43605,7 +67119,9 @@ It is up to the caller of the #GstTypeFindFunction to interpret these values. - If a #GstTypeFindFunction calls this function it suggests the caps with the + 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. @@ -43618,31 +67134,42 @@ 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 #GstTypeFind object the function was called with + The #GstTypeFind object the function was called with - The probability in percent that the suggestion is right + The probability in percent that the suggestion is right - the media type of the suggested caps + the media type of the suggested caps - first field of the suggested caps, or %NULL + first field of the suggested caps, or %NULL - additional arguments to the suggested caps in the same format as the + additional arguments to the suggested caps in the same format as the arguments passed to gst_structure_new() (ie. triplets of field name, field GType and field value) @@ -43650,11 +67177,16 @@ guint64 arguments). - Registers a new typefind function to be used for typefinding. After + 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 + %TRUE on success, %FALSE otherwise @@ -43662,15 +67194,21 @@ This function is typically called during an element's plugin initialization. - A #GstPlugin, or %NULL for a static typefind function + A #GstPlugin, or %NULL for a static typefind function - The name for registering + The name for registering - The rank (or importance) of this typefind function + The rank (or importance) of this typefind function - The #GstTypeFindFunction to use + The #GstTypeFindFunction to use - Optional comma-separated list of extensions + Optional comma-separated list of extensions that could belong to this type - Optionally the caps that could be returned when typefinding + Optionally the caps that could be returned when typefinding succeeds @@ -43698,14 +67242,18 @@ This function is typically called during an element's plugin initialization. - Optional user data. This user data must be available until the plugin + 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 + a #GDestroyNotify that will be called on @data when the plugin is unloaded. @@ -43719,7 +67267,9 @@ This function is typically called during an element's plugin initialization. - These functions allow querying information about registered typefind + These functions allow querying information about registered typefind functions. How to create and register these functions is described in the section <link linkend="gstreamer-Writing-typefind-functions"> "Writing typefind functions"</link>. @@ -43768,16 +67318,22 @@ that though. return find.caps; }; ]| + - Gets the list of all registered typefind factories. You must free the + 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. Free-function: gst_plugin_feature_list_free + - the list of all + the list of all registered #GstTypeFindFactory. @@ -43786,43 +67342,62 @@ Free-function: gst_plugin_feature_list_free - Calls the #GstTypeFindFunction associated with this factory. + Calls the #GstTypeFindFunction associated with this factory. + - A #GstTypeFindFactory + A #GstTypeFindFactory - a properly setup #GstTypeFind entry. The get_data + a properly setup #GstTypeFind entry. The get_data and suggest_type members must be set. - Gets the #GstCaps associated with a typefind factory. + Gets the #GstCaps associated with a typefind factory. + - the #GstCaps associated with this factory + the #GstCaps associated with this factory - A #GstTypeFindFactory + A #GstTypeFindFactory - Gets the extensions associated with a #GstTypeFindFactory. The returned + 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. + - + a %NULL-terminated array of extensions associated with this factory @@ -43830,23 +67405,32 @@ a 0-length list. - A #GstTypeFindFactory + A #GstTypeFindFactory - Check whether the factory has a typefind function. Typefind factories + Check whether the factory has a typefind function. Typefind factories without typefind functions are a last-effort fallback mechanism to e.g. assume a certain media type based on the file extension. + - %TRUE if the factory has a typefind functions set, otherwise %FALSE + %TRUE if the factory has a typefind functions set, otherwise %FALSE - A #GstTypeFindFactory + A #GstTypeFindFactory @@ -43856,15 +67440,21 @@ e.g. assume a certain media type based on the file extension. c:type="GstTypeFindFactoryClass" disguised="1" glib:is-gtype-struct-for="TypeFindFactory"> + - A function that will be called by typefinding. + A function that will be called by typefinding. + - A #GstTypeFind structure + A #GstTypeFind structure nullable="1" allow-none="1" closure="1"> - optional data to pass to the function + optional data to pass to the function @@ -43881,78 +67473,110 @@ e.g. assume a certain media type based on the file extension. glib:type-name="GstTypeFindProbability" glib:get-type="gst_type_find_probability_get_type" c:type="GstTypeFindProbability"> - The probability of the typefind function. Higher values have more certainty + The probability of the typefind function. Higher values have more certainty in doing a reliable typefind. - type undetected. + type undetected. - unlikely typefind. + unlikely typefind. - possible type detected. + possible type detected. - likely a type was detected. + likely a type was detected. - nearly certain that a type was detected. + nearly certain that a type was detected. - very certain a type was detected. + very certain a type was detected. + + + + + + + - Different URI-related errors that can occur. + Different URI-related errors that can occur. - The protocol is not supported + The protocol is not supported - There was a problem with the URI + There was a problem with the URI - Could not set or change the URI because the + Could not set or change the URI because the URI handler was in a state where that is not possible or not permitted - There was a problem with the entity that + There was a problem with the entity that the URI references + @@ -43964,7 +67588,9 @@ in doing a reliable typefind. glib:type-name="GstURIHandler" glib:get-type="gst_uri_handler_get_type" glib:type-struct="URIHandlerInterface"> - The #GstURIHandler is an interface that is implemented by Source and Sink + The #GstURIHandler is an interface that is implemented by Source and Sink #GstElement to unify handling of URI. An application can use the following functions to quickly get an element @@ -43972,10 +67598,16 @@ that handles the given URI for reading or writing (gst_element_make_from_uri()). Source and Sink plugins should implement this interface when possible. + - Gets the currently handled URI. + Gets the currently handled URI. + - the URI currently handled by + the URI currently handled by the @handler. Returns %NULL if there are no URI currently handled. The returned string must be freed with g_free() when no longer needed. @@ -43983,34 +67615,50 @@ Source and Sink plugins should implement this interface when possible. - A #GstURIHandler + A #GstURIHandler - Tries to set the URI of the given handler. + Tries to set the URI of the given handler. + - %TRUE if the URI was set successfully, else %FALSE. + %TRUE if the URI was set successfully, else %FALSE. - A #GstURIHandler + A #GstURIHandler - URI to set + URI to set - Gets the list of protocols supported by @handler. This list may not be + Gets the list of protocols supported by @handler. This list may not be modified. + - the + the supported protocols. Returns %NULL if the @handler isn't implemented properly, or the @handler doesn't support any protocols. @@ -44020,15 +67668,22 @@ modified. - A #GstURIHandler. + A #GstURIHandler. - Gets the currently handled URI. + Gets the currently handled URI. + - the URI currently handled by + the URI currently handled by the @handler. Returns %NULL if there are no URI currently handled. The returned string must be freed with g_free() when no longer needed. @@ -44036,38 +67691,56 @@ modified. - A #GstURIHandler + A #GstURIHandler - Gets the type of the given URI handler + Gets the type of the given URI handler + - the #GstURIType of the URI handler. + the #GstURIType of the URI handler. Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - A #GstURIHandler. + A #GstURIHandler. - Tries to set the URI of the given handler. + Tries to set the URI of the given handler. + - %TRUE if the URI was set successfully, else %FALSE. + %TRUE if the URI was set successfully, else %FALSE. - A #GstURIHandler + A #GstURIHandler - URI to set + URI to set @@ -44076,13 +67749,19 @@ Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - Any #GstElement using this interface should implement these methods. + Any #GstElement using this interface should implement these methods. + - The parent interface type + The parent interface type + @@ -44095,6 +67774,7 @@ Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. + @@ -44109,8 +67789,11 @@ Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. + - the URI currently handled by + the URI currently handled by the @handler. Returns %NULL if there are no URI currently handled. The returned string must be freed with g_free() when no longer needed. @@ -44118,7 +67801,9 @@ Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. - A #GstURIHandler + A #GstURIHandler @@ -44126,17 +67811,24 @@ Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. + - %TRUE if the URI was set successfully, else %FALSE. + %TRUE if the URI was set successfully, else %FALSE. - A #GstURIHandler + A #GstURIHandler - URI to set + URI to set @@ -44147,29 +67839,94 @@ Returns #GST_URI_UNKNOWN if the @handler isn't implemented correctly. glib:type-name="GstURIType" glib:get-type="gst_uri_type_get_type" c:type="GstURIType"> - The different types of URI direction. + The different types of URI direction. - The URI direction is unknown + The URI direction is unknown - The URI is a consumer. + The URI is a consumer. - The URI is a producer. + The URI is a producer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Value for #GstUri<!-- -->.port to indicate no port number. + Value for #GstUri<!-- -->.port to indicate no port number. + + + Tests if the type direction is valid. + + + + A #GstURIType + + + - Constant that defines one GStreamer microsecond. + Constant that defines one GStreamer microsecond. + glib:type-name="GstUri" glib:get-type="gst_uri_get_type" c:symbol-prefix="uri"> - A #GstUri object can be used to parse and split a URI string into its + A #GstUri object can be used to parse and split a URI string into its constituent parts. Two #GstUri objects can be joined to make a new #GstUri using the algorithm described in RFC3986. + - Creates a new #GstUri object with the given URI parts. The path and query + Creates a new #GstUri object with the given URI parts. The path and query strings will be broken down into their elements. All strings should not be escaped except where indicated. + - A new #GstUri object. + A new #GstUri object. @@ -44193,32 +67958,42 @@ escaped except where indicated. transfer-ownership="none" nullable="1" allow-none="1"> - The scheme for the new URI. + The scheme for the new URI. - The user-info for the new URI. + The user-info for the new URI. - The host name for the new URI. + The host name for the new URI. - The port number for the new URI or %GST_URI_NO_PORT. + The port number for the new URI or %GST_URI_NO_PORT. - The path for the new URI with '/' separating path + The path for the new URI with '/' separating path elements. @@ -44226,7 +68001,9 @@ escaped except where indicated. transfer-ownership="none" nullable="1" allow-none="1"> - The query string for the new URI with '&' separating + The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "&percnt;26". @@ -44235,7 +68012,9 @@ escaped except where indicated. transfer-ownership="none" nullable="1" allow-none="1"> - The fragment name for the new URI. + The fragment name for the new URI. @@ -44243,10 +68022,15 @@ escaped except where indicated. - Append a path onto the end of the path in the URI. The path is not + Append a path onto the end of the path in the URI. The path is not normalized, call #gst_uri_normalize() to normalize the path. + - %TRUE if the path was appended successfully. + %TRUE if the path was appended successfully. @@ -44254,11 +68038,15 @@ normalized, call #gst_uri_normalize() to normalize the path. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - Relative path to append to the end of the current path. + Relative path to append to the end of the current path. @@ -44266,9 +68054,14 @@ normalized, call #gst_uri_normalize() to normalize the path. - Append a single path segment onto the end of the URI path. + Append a single path segment onto the end of the URI path. + - %TRUE if the path was appended successfully. + %TRUE if the path was appended successfully. @@ -44276,29 +68069,42 @@ normalized, call #gst_uri_normalize() to normalize the path. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The path segment string to append to the URI path. + The path segment string to append to the URI path. - Compares two #GstUri objects to see if they represent the same normalized + Compares two #GstUri objects to see if they represent the same normalized URI. + - %TRUE if the normalized versions of the two URI's would be equal. + %TRUE if the normalized versions of the two URI's would be equal. - First #GstUri to compare. + First #GstUri to compare. - Second #GstUri to compare. + Second #GstUri to compare. @@ -44306,9 +68112,14 @@ URI. - Like gst_uri_from_string() but also joins with a base URI. + Like gst_uri_from_string() but also joins with a base URI. + - A new #GstUri object. + A new #GstUri object. @@ -44316,11 +68127,15 @@ URI. transfer-ownership="none" nullable="1" allow-none="1"> - The base URI to join the new URI with. + The base URI to join the new URI with. - The URI string to parse. + The URI string to parse. @@ -44328,10 +68143,15 @@ URI. - Get the fragment name from the URI or %NULL if it doesn't exist. + Get the fragment name from the URI or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. + - The host name from the #GstUri object or %NULL. + The host name from the #GstUri object or %NULL. @@ -44339,16 +68159,23 @@ If @uri is %NULL then returns %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - This #GstUri object. + This #GstUri object. - Get the host name from the URI or %NULL if it doesn't exist. + Get the host name from the URI or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. + - The host name from the #GstUri object or %NULL. + The host name from the #GstUri object or %NULL. @@ -44356,7 +68183,9 @@ If @uri is %NULL then returns %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - This #GstUri object. + This #GstUri object. @@ -44364,7 +68193,9 @@ If @uri is %NULL then returns %NULL. - Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0". + Get the media fragment table from the URI, as defined by "Media Fragments URI 1.0". Hash table returned by this API is a list of "key-value" pairs, and the each pair is generated by splitting "URI fragment" per "&" sub-delims, then "key" and "value" are split by "=" sub-delims. The "key" returned by this API may @@ -44375,8 +68206,11 @@ with #g_hash_table_unref() when it is no longer required. Modifying this hash table does not affect the fragment in the URI. See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frags/ + - The + The fragment hash table from the URI. @@ -44388,21 +68222,30 @@ See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frag transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to get the fragment table from. + The #GstUri to get the fragment table from. - Extract the path string from the URI object. + Extract the path string from the URI object. + - The path from the URI. Once finished + The path from the URI. Once finished with the string should be g_free()'d. - The #GstUri to get the path from. + The #GstUri to get the path from. @@ -44410,9 +68253,14 @@ See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frag - Get a list of path segments from the URI. + Get a list of path segments from the URI. + - A #GList of path segment + A #GList of path segment strings or %NULL if no path segments are available. Free the list when no longer needed with g_list_free_full(list, g_free). @@ -44424,7 +68272,9 @@ See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frag transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to get the path from. + The #GstUri to get the path from. @@ -44432,24 +68282,36 @@ See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frag - Extract the path string from the URI object as a percent encoded URI path. + Extract the path string from the URI object as a percent encoded URI path. + - The path from the URI. Once finished + The path from the URI. Once finished with the string should be g_free()'d. - The #GstUri to get the path from. + The #GstUri to get the path from. - Get the port number from the URI or %GST_URI_NO_PORT if it doesn't exist. + Get the port number from the URI or %GST_URI_NO_PORT if it doesn't exist. If @uri is %NULL then returns %GST_URI_NO_PORT. + - The port number from the #GstUri object or %GST_URI_NO_PORT. + The port number from the #GstUri object or %GST_URI_NO_PORT. @@ -44457,7 +68319,9 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. transfer-ownership="none" nullable="1" allow-none="1"> - This #GstUri object. + This #GstUri object. @@ -44465,9 +68329,14 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. - Get a list of the query keys from the URI. + Get a list of the query keys from the URI. + - A list of keys from + A list of keys from the URI query. Free the list with g_list_free(). @@ -44478,7 +68347,9 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to examine. + The #GstUri to examine. @@ -44486,9 +68357,14 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. - Get a percent encoded URI query string from the @uri. + Get a percent encoded URI query string from the @uri. + - A percent encoded query string. Use + A percent encoded query string. Use g_free() when no longer needed. @@ -44497,7 +68373,9 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to get the query string from. + The #GstUri to get the query string from. @@ -44505,14 +68383,19 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. - Get the query table from the URI. Keys and values in the table are freed + Get the query table from the URI. Keys and values in the table are freed with g_free when they are deleted. A value may be %NULL to indicate that the key should appear in the query string in the URI, but does not have a value. Free the returned #GHashTable with #g_hash_table_unref() when it is no longer required. Modifying this hash table will modify the query in the URI. + - The query + The query hash table from the URI. @@ -44524,7 +68407,9 @@ URI. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to get the query table from. + The #GstUri to get the query table from. @@ -44532,13 +68417,18 @@ URI. - Get the value associated with the @query_key key. Will return %NULL if the + Get the value associated with the @query_key key. Will return %NULL if the key has no value or if the key does not exist in the URI query table. Because %NULL is returned for both missing keys and keys with no value, you should use gst_uri_query_has_key() to determine if a key is present in the URI query. + - The value for the given key, or %NULL if not found. + The value for the given key, or %NULL if not found. @@ -44546,20 +68436,29 @@ query. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to examine. + The #GstUri to examine. - The key to lookup. + The key to lookup. - Get the scheme name from the URI or %NULL if it doesn't exist. + Get the scheme name from the URI or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. + - The scheme from the #GstUri object or %NULL. + The scheme from the #GstUri object or %NULL. @@ -44567,7 +68466,9 @@ If @uri is %NULL then returns %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - This #GstUri object. + This #GstUri object. @@ -44575,10 +68476,15 @@ If @uri is %NULL then returns %NULL. - Get the userinfo (usually in the form "username:password") from the URI + Get the userinfo (usually in the form "username:password") from the URI or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. + - The userinfo from the #GstUri object or %NULL. + The userinfo from the #GstUri object or %NULL. @@ -44586,7 +68492,9 @@ or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - This #GstUri object. + This #GstUri object. @@ -44594,15 +68502,22 @@ or %NULL if it doesn't exist. If @uri is %NULL then returns %NULL. - Tests the @uri to see if it is normalized. A %NULL @uri is considered to be + Tests the @uri to see if it is normalized. A %NULL @uri is considered to be normalized. + - TRUE if the URI is normalized or is %NULL. + TRUE if the URI is normalized or is %NULL. - The #GstUri to test to see if it is normalized. + The #GstUri to test to see if it is normalized. @@ -44610,30 +68525,42 @@ normalized. - Check if it is safe to write to this #GstUri. + Check if it is safe to write to this #GstUri. Check if the refcount of @uri is exactly 1, meaning that no other reference exists to the #GstUri and that the #GstUri is therefore writable. Modification of a #GstUri should only be done after verifying that it is writable. + - %TRUE if it is safe to write to the object. + %TRUE if it is safe to write to the object. - The #GstUri object to test. + The #GstUri object to test. - Join a reference URI onto a base URI using the method from RFC 3986. + Join a reference URI onto a base URI using the method from RFC 3986. If either URI is %NULL then the other URI will be returned with the ref count increased. + - A #GstUri which represents the base + A #GstUri which represents the base with the reference URI joined on. @@ -44642,14 +68569,18 @@ increased. transfer-ownership="none" nullable="1" allow-none="1"> - The base URI to join another to. + The base URI to join another to. - The reference URI to join onto the + The reference URI to join onto the base URI. @@ -44658,19 +68589,26 @@ increased. - Make the #GstUri writable. + Make the #GstUri writable. Checks if @uri is writable, and if so the original object is returned. If not, then a writable copy is made and returned. This gives away the reference to @uri and returns a reference to the new #GstUri. If @uri is %NULL then %NULL is returned. + - A writable version of @uri. + A writable version of @uri. - The #GstUri object to make writable. + The #GstUri object to make writable. @@ -44678,9 +68616,14 @@ If @uri is %NULL then %NULL is returned. - Like gst_uri_new(), but joins the new URI onto a base URI. + Like gst_uri_new(), but joins the new URI onto a base URI. + - The new URI joined onto @base. + The new URI joined onto @base. @@ -44688,39 +68631,51 @@ If @uri is %NULL then %NULL is returned. transfer-ownership="none" nullable="1" allow-none="1"> - The base URI to join the new URI to. + The base URI to join the new URI to. - The scheme for the new URI. + The scheme for the new URI. - The user-info for the new URI. + The user-info for the new URI. - The host name for the new URI. + The host name for the new URI. - The port number for the new URI or %GST_URI_NO_PORT. + The port number for the new URI or %GST_URI_NO_PORT. - The path for the new URI with '/' separating path + The path for the new URI with '/' separating path elements. @@ -44728,7 +68683,9 @@ If @uri is %NULL then %NULL is returned. transfer-ownership="none" nullable="1" allow-none="1"> - The query string for the new URI with '&' separating + The query string for the new URI with '&' separating query elements. Elements containing '&' characters should encode them as "&percnt;26". @@ -44737,25 +68694,34 @@ If @uri is %NULL then %NULL is returned. transfer-ownership="none" nullable="1" allow-none="1"> - The fragment name for the new URI. + The fragment name for the new URI. - Normalization will remove extra path segments ("." and "..") from the URI. It + Normalization will remove extra path segments ("." and "..") from the URI. It will also convert the scheme and host name to lower case and any percent-encoded values to uppercase. The #GstUri object must be writable. Check with gst_uri_is_writable() or use gst_uri_make_writable() first. + - TRUE if the URI was modified. + TRUE if the URI was modified. - The #GstUri to normalize. + The #GstUri to normalize. @@ -44763,9 +68729,14 @@ gst_uri_make_writable() first. - Check if there is a query table entry for the @query_key key. + Check if there is a query table entry for the @query_key key. + - %TRUE if @query_key exists in the URI query table. + %TRUE if @query_key exists in the URI query table. @@ -44773,11 +68744,15 @@ gst_uri_make_writable() first. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to examine. + The #GstUri to examine. - The key to lookup. + The key to lookup. @@ -44785,9 +68760,14 @@ gst_uri_make_writable() first. - Remove an entry from the query table by key. + Remove an entry from the query table by key. + - %TRUE if the key existed in the table and was removed. + %TRUE if the key existed in the table and was removed. @@ -44795,11 +68775,15 @@ gst_uri_make_writable() first. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The key to remove. + The key to remove. @@ -44807,10 +68791,15 @@ gst_uri_make_writable() first. - Sets the fragment string in the URI. Use a value of %NULL in @fragment to + Sets the fragment string in the URI. Use a value of %NULL in @fragment to unset the fragment string. + - %TRUE if the fragment was set/unset successfully. + %TRUE if the fragment was set/unset successfully. @@ -44818,22 +68807,31 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The fragment string to set. + The fragment string to set. - Set or unset the host for the URI. + Set or unset the host for the URI. + - %TRUE if the host was set/unset successfully. + %TRUE if the host was set/unset successfully. @@ -44841,19 +68839,28 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new host string to set or %NULL to unset. + The new host string to set or %NULL to unset. - Sets or unsets the path in the URI. + Sets or unsets the path in the URI. + - %TRUE if the path was set successfully. + %TRUE if the path was set successfully. @@ -44861,11 +68868,15 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new path to set with path segments separated by '/', or use %NULL + The new path to set with path segments separated by '/', or use %NULL to unset the path. @@ -44874,9 +68885,14 @@ unset the fragment string. - Replace the path segments list in the URI. + Replace the path segments list in the URI. + - %TRUE if the path segments were set successfully. + %TRUE if the path segments were set successfully. @@ -44884,14 +68900,18 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new + The new path list to set. @@ -44902,9 +68922,14 @@ unset the fragment string. - Sets or unsets the path in the URI. + Sets or unsets the path in the URI. + - %TRUE if the path was set successfully. + %TRUE if the path was set successfully. @@ -44912,20 +68937,29 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new percent encoded path to set with path segments separated by + The new percent encoded path to set with path segments separated by '/', or use %NULL to unset the path. - Set or unset the port number for the URI. + Set or unset the port number for the URI. + - %TRUE if the port number was set/unset successfully. + %TRUE if the port number was set/unset successfully. @@ -44933,11 +68967,15 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new port number to set or %GST_URI_NO_PORT to unset. + The new port number to set or %GST_URI_NO_PORT to unset. @@ -44945,9 +68983,14 @@ unset the fragment string. - Sets or unsets the query table in the URI. + Sets or unsets the query table in the URI. + - %TRUE if the query table was set successfully. + %TRUE if the query table was set successfully. @@ -44955,11 +68998,15 @@ unset the fragment string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new percent encoded query string to use to populate the query + The new percent encoded query string to use to populate the query table, or use %NULL to unset the query table. @@ -44968,11 +69015,16 @@ unset the fragment string. - Set the query table to use in the URI. The old table is unreferenced and a + Set the query table to use in the URI. The old table is unreferenced and a reference to the new one is used instead. A value if %NULL for @query_table will remove the query string from the URI. + - %TRUE if the new table was successfully used for the query table. + %TRUE if the new table was successfully used for the query table. @@ -44980,14 +69032,18 @@ will remove the query string from the URI. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new + The new query table to use. @@ -44999,11 +69055,16 @@ will remove the query string from the URI. - This inserts or replaces a key in the query table. A @query_value of %NULL + This inserts or replaces a key in the query table. A @query_value of %NULL indicates that the key has no associated value, but will still be present in the query string. + - %TRUE if the query table was successfully updated. + %TRUE if the query table was successfully updated. @@ -45011,18 +69072,24 @@ the query string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The key for the query entry. + The key for the query entry. - The value for the key. + The value for the key. @@ -45030,9 +69097,14 @@ the query string. - Set or unset the scheme for the URI. + Set or unset the scheme for the URI. + - %TRUE if the scheme was set/unset successfully. + %TRUE if the scheme was set/unset successfully. @@ -45040,11 +69112,15 @@ the query string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new scheme to set or %NULL to unset the scheme. + The new scheme to set or %NULL to unset the scheme. @@ -45052,9 +69128,14 @@ the query string. - Set or unset the user information for the URI. + Set or unset the user information for the URI. + - %TRUE if the user information was set/unset successfully. + %TRUE if the user information was set/unset successfully. @@ -45062,28 +69143,39 @@ the query string. transfer-ownership="none" nullable="1" allow-none="1"> - The #GstUri to modify. + The #GstUri to modify. - The new user-information string to set or %NULL to unset. + The new user-information string to set or %NULL to unset. - Convert the URI to a string. + Convert the URI to a string. Returns the URI as held in this object as a #gchar* nul-terminated string. The caller should g_free() the string once they are finished with it. The string is put together as described in RFC 3986. + - The string version of the URI. + The string version of the URI. - This #GstUri to convert to a string. + This #GstUri to convert to a string. @@ -45091,22 +69183,31 @@ The string is put together as described in RFC 3986. - Constructs a URI for a given valid protocol and location. + Constructs a URI for a given valid protocol and location. Free-function: g_free Use GstURI instead. + - a new string for this URI. Returns %NULL if the + a new string for this URI. Returns %NULL if the given URI protocol is not valid, or the given location is %NULL. - Protocol for URI + Protocol for URI - Location for URI + Location for URI @@ -45114,80 +69215,117 @@ Free-function: g_free - Parses a URI string into a new #GstUri object. Will return NULL if the URI + Parses a URI string into a new #GstUri object. Will return NULL if the URI cannot be parsed. + - A new #GstUri object, or NULL. + A new #GstUri object, or NULL. - The URI string to parse. + The URI string to parse. - Extracts the location out of a given valid URI, ie. the protocol and "://" + 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(). Free-function: g_free + - the location for this URI. Returns + the location for this URI. Returns %NULL if the URI isn't valid. If the URI does not contain a location, an empty string is returned. - A URI string + A URI string - Extracts the protocol out of a given valid URI. The returned string must be + Extracts the protocol out of a given valid URI. The returned string must be freed using g_free(). + - The protocol for this URI. + The protocol for this URI. - A URI string + A URI string - Checks if the protocol of a given valid URI matches @protocol. + Checks if the protocol of a given valid URI matches @protocol. + - %TRUE if the protocol matches. + %TRUE if the protocol matches. - a URI string + a URI string - a protocol string (e.g. "http") + a protocol string (e.g. "http") - Tests if the given string is a valid URI identifier. URIs start with a valid + 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 + %TRUE if the string is a valid URI - A URI string + A URI string @@ -45195,98 +69333,373 @@ scheme followed by ":" and maybe a string identifying the location. - This is a convenience function to join two URI strings and return the result. + This is a convenience function to join two URI strings and return the result. The returned string should be g_free()'d after use. + - A string representing the percent-encoded join of + A string representing the percent-encoded join of the two URIs. - The percent-encoded base URI. + The percent-encoded base URI. - The percent-encoded reference URI to join to the @base_uri. + The percent-encoded reference URI to join to the @base_uri. - Checks if an element exists that supports the given URI protocol. Note + 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 + %TRUE - Whether to check for a source or a sink + Whether to check for a source or a sink - Protocol that should be checked for (e.g. "http" or "smb") + Protocol that should be checked for (e.g. "http" or "smb") - Tests if the given string is a valid protocol identifier. Protocols + 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. + %TRUE if the string is a valid protocol identifier, %FALSE otherwise. - A string + A string - Indicates that the first value provided to a comparison function + Indicates that the first value provided to a comparison function (gst_value_compare()) is equal to the second one. + - Indicates that the first value provided to a comparison function + Indicates that the first value provided to a comparison function (gst_value_compare()) is greater than the second one. + + + Checks if the given #GValue contains a #GST_TYPE_ARRAY value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_BITMASK value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_BUFFER value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_CAPS value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_CAPS_FEATURES value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_DATE_TIME value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_DOUBLE_RANGE value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_FLAG_SET value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_FRACTION value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_FRACTION_RANGE value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_INT64_RANGE value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_INT_RANGE value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_LIST value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_SAMPLE value. + + + + the #GValue to check + + + + + Checks if the given #GValue contains a #GST_TYPE_STRUCTURE value. + + + + the #GValue to check + + + - Indicates that the first value provided to a comparison function + Indicates that the first value provided to a comparison function (gst_value_compare()) is lesser than the second one. + - Indicates that the comparison function (gst_value_compare()) can not + Indicates that the comparison function (gst_value_compare()) can not determine a order for the two provided values. + - The major version of GStreamer at compile time: + The major version of GStreamer at compile time: + - The micro version of GStreamer at compile time: + The micro version of GStreamer at compile time: + - The minor version of GStreamer at compile time: + The minor version of GStreamer at compile time: + - The nano version of GStreamer at compile time: + The nano version of GStreamer at compile time: Actual releases have 0, GIT versions have 1, prerelease versions have 2-... + + A fundamental type that describes an ordered list of #GValue - Appends @append_value to the GstValueArray in @value. + Appends @append_value to the GstValueArray in @value. + - a #GValue of type #GST_TYPE_ARRAY + a #GValue of type #GST_TYPE_ARRAY - the value to append + the value to append - Appends @append_value to the GstValueArray in @value. + Appends @append_value to the GstValueArray in @value. + - a #GValue of type #GST_TYPE_ARRAY + a #GValue of type #GST_TYPE_ARRAY - the value to append + the value to append - Gets the number of values contained in @value. + Gets the number of values contained in @value. + - the number of values + the number of values - a #GValue of type #GST_TYPE_ARRAY + a #GValue of type #GST_TYPE_ARRAY - Gets the value that is a member of the array contained in @value and + Gets the value that is a member of the array contained in @value and has the index @index. + - the value at the given index + the value at the given index - a #GValue of type #GST_TYPE_ARRAY + a #GValue of type #GST_TYPE_ARRAY - index of value to get from the array + index of value to get from the array + + + + + + Initializes and pre-allocates a #GValue of type #GST_VALUE_ARRAY. + + + The #GValue structure that has been passed in + + + + + A zero-filled (uninitialized) #GValue structure + + + + The number of entries to pre-allocate in the array - Prepends @prepend_value to the GstValueArray in @value. + Prepends @prepend_value to the GstValueArray in @value. + - a #GValue of type #GST_TYPE_ARRAY + a #GValue of type #GST_TYPE_ARRAY - the value to prepend + the value to prepend - Used together with gst_value_compare() to compare #GValue items. + Used together with gst_value_compare() to compare #GValue items. + - one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN + one of GST_VALUE_LESS_THAN, GST_VALUE_EQUAL, GST_VALUE_GREATER_THAN or GST_VALUE_UNORDERED - first value for comparison + first value for comparison - second value for comparison + second value for comparison - Used by gst_value_deserialize() to parse a non-binary form into the #GValue. + Used by gst_value_deserialize() to parse a non-binary form into the #GValue. + - %TRUE for success + %TRUE for success - a #GValue + a #GValue - a string + a string @@ -45419,44 +69916,64 @@ or GST_VALUE_UNORDERED glib:type-name="GstValueList" glib:get-type="gst_value_list_get_type" glib:fundamental="1"> + A fundamental type that describes an unordered list of #GValue - Appends @append_value to the GstValueList in @value. + Appends @append_value to the GstValueList in @value. + - a #GValue of type #GST_TYPE_LIST + a #GValue of type #GST_TYPE_LIST - the value to append + the value to append - Appends @append_value to the GstValueList in @value. + Appends @append_value to the GstValueList in @value. + - a #GValue of type #GST_TYPE_LIST + a #GValue of type #GST_TYPE_LIST - the value to append + the value to append - Concatenates copies of @value1 and @value2 into a list. Values that are not + 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. @dest will be initialized to the type #GST_TYPE_LIST. + @@ -45465,57 +69982,108 @@ of type #GST_TYPE_LIST are treated as if they were lists of length 1. direction="out" caller-allocates="1" transfer-ownership="none"> - an uninitialized #GValue to take the result + an uninitialized #GValue to take the result - a #GValue + a #GValue - a #GValue + a #GValue - Gets the number of values contained in @value. + Gets the number of values contained in @value. + - the number of values + the number of values - a #GValue of type #GST_TYPE_LIST + a #GValue of type #GST_TYPE_LIST - Gets the value that is a member of the list contained in @value and + Gets the value that is a member of the list contained in @value and has the index @index. + - the value at the given index + the value at the given index - a #GValue of type #GST_TYPE_LIST + a #GValue of type #GST_TYPE_LIST - index of value to get from the list + index of value to get from the list + + + + + + Initializes and pre-allocates a #GValue of type #GST_VALUE_LIST. + + + The #GValue structure that has been passed in + + + + + A zero-filled (uninitialized) #GValue structure + + + + The number of entries to pre-allocate in the list - Merges copies of @value1 and @value2. Values that are not + 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). + @@ -45524,95 +70092,492 @@ were equal). direction="out" caller-allocates="1" transfer-ownership="none"> - an uninitialized #GValue to take the result + an uninitialized #GValue to take the result - a #GValue + a #GValue - a #GValue + a #GValue - Prepends @prepend_value to the GstValueList in @value. + Prepends @prepend_value to the GstValueList in @value. + - a #GValue of type #GST_TYPE_LIST + a #GValue of type #GST_TYPE_LIST - the value to prepend + the value to prepend - Used by gst_value_serialize() to obtain a non-binary form of the #GValue. + Used by gst_value_serialize() to obtain a non-binary form of the #GValue. Free-function: g_free + - the string representation of the value + the string representation of the value - a #GValue + a #GValue - VTable for the #GValue @type. + VTable for the #GValue @type. + - a #GType + a #GType - a #GstValueCompareFunc + a #GstValueCompareFunc - a #GstValueSerializeFunc + a #GstValueSerializeFunc - a #GstValueDeserializeFunc + a #GstValueDeserializeFunc - + + + Store a 16 bit unsigned integer value in big endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 16 bit unsigned integer value in little endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 24 bit unsigned integer value in big endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 24 bit unsigned integer value in little endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 32 bit unsigned integer value in big endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 32 bit unsigned integer value in little endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 64 bit unsigned integer value in big endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store a 64 bit unsigned integer value in little endian format into the memory buffer. + + + + memory location + + + value to store + + + + + Store an 8 bit unsigned integer value into the memory buffer. + + + + memory location + + + value to store + + + - Get the maximum amount of memory blocks that a buffer can hold. This is a + Get the maximum amount of memory blocks that a buffer can hold. This is a compile time constant that can be queried with the function. When more memory blocks are added, existing memory blocks will be merged together to make room for the new block. + - the maximum amount of memory blocks that a buffer can hold. + the maximum amount of memory blocks that a buffer can hold. + + Find and return a #GstParentBufferMeta if one exists on the +buffer + + + + a #GstBuffer + + + + + + + + + + + + Tests if you can safely write to a buffer's metadata or its memory array. +It is only safe to change buffer metadata when the current reference is +writable, i.e. nobody can see the modifications you will make. + + + + a #GstBuffer + + + + + Append @b at the end of @l. + + + + a #GstBufferList + + + a #GstBuffer + + + + + Tests if you can safely add buffers and groups into a buffer list. + + + + a #GstBufferList + + + + + Makes a writable buffer list from the given buffer list. If the source buffer +list is already writable, this will simply return the same buffer list. A +copy will otherwise be made using gst_buffer_list_copy(). + + + + a #GstBufferList + + + + + Returns a writable copy of @buf. If the source buffer is +already writable, this will simply return the same buffer. + +Use this function to ensure that a buffer can be safely modified before +making changes to it, including changing the metadata such as PTS/DTS. + +If the reference count of the source buffer @buf is exactly one, the caller +is the sole owner and this function will return the buffer object unchanged. + +If there is more than one reference on the object, a copy will be made using +gst_buffer_copy(). The passed-in @buf will be unreffed in that case, and the +caller will now own a reference to the new returned buffer object. Note +that this just copies the buffer structure itself, the underlying memory is +not copied if it can be shared amongst multiple buffers. + +In short, this function unrefs the buf in the argument and refs the buffer +that it returns. Don't access the argument after calling this function unless +you have an additional reference to it. + + + + a #GstBuffer + + + + + + + + + + + + Modifies a pointer to a #GstBuffer to point to a different #GstBuffer. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +buffer is unreffed, the new is reffed). + +Either @nbuf or the #GstBuffer pointed to by @obuf may be %NULL. + + + %TRUE when @obuf was different from @nbuf. + + + + + pointer to a pointer to + a #GstBuffer to be replaced. + + + + pointer to a #GstBuffer that will + replace the buffer pointed to by @obuf. + + + + - Calculates the linear regression of the values @xy and places the + Calculates the linear regression of the values @xy and places the result in @m_num, @m_denom, @b and @xbase, representing the function y(x) = m_num/m_denom * (x - xbase) + b that has the least-square distance from all points @x and @y. @@ -45628,56 +70593,75 @@ amount of memory allocated as @xy, i.e. 2*n*sizeof(GstClockTime). > between them. It will not calculate the exact results if the differences > between neighbouring values are too small due to not being able to > represent sub-integer values during the calculations. + - %TRUE if the linear regression was successfully calculated + %TRUE if the linear regression was successfully calculated - Pairs of (x,y) values + Pairs of (x,y) values - Temporary scratch space used by the function + Temporary scratch space used by the function - number of (x,y) pairs + number of (x,y) pairs - numerator of calculated slope + numerator of calculated slope - denominator of calculated slope + denominator of calculated slope - Offset at Y-axis + Offset at Y-axis - Offset at X-axis + Offset at X-axis - R-squared + R-squared @@ -45686,18 +70670,25 @@ amount of memory allocated as @xy, i.e. 2*n*sizeof(GstClockTime). c:identifier="gst_caps_features_from_string" moved-to="CapsFeatures.from_string" version="1.2"> - Creates a #GstCapsFeatures from a string representation. + Creates a #GstCapsFeatures from a string representation. Free-function: gst_caps_features_free + - a new #GstCapsFeatures or + a new #GstCapsFeatures or %NULL when the string could not be parsed. Free with gst_caps_features_free() after use. - a string representation of a #GstCapsFeatures. + a string representation of a #GstCapsFeatures. @@ -45705,26 +70696,159 @@ Free-function: gst_caps_features_free - Converts @caps from a string representation. + Converts @caps from a string representation. The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. + - a newly allocated #GstCaps + a newly allocated #GstCaps - a string to convert to #GstCaps + a string to convert to #GstCaps + + Tests if you can safely modify @caps. It is only safe to modify caps when +there is only one owner of the caps - ie, the object is writable. + + + + a #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 +also: gst_caps_ref(). + + + + a #GstCaps + + + + + Modifies a pointer to a #GstCaps to point to a different #GstCaps. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +caps is unreffed, the new is reffed). + +Either @new_caps or the #GstCaps pointed to by @old_caps may be %NULL. + + + %TRUE if @new_caps was different from @old_caps + + + + + pointer to a pointer + to a #GstCaps to be replaced. + + + + pointer to a #GstCaps that will + replace the caps pointed to by @old_caps. + + + + + + Modifies a pointer to a #GstCaps to point to a different #GstCaps. This +function is similar to gst_caps_replace() except that it takes ownership +of @new_caps. + + + %TRUE if @new_caps was different from @old_caps + + + + + pointer to a pointer to a #GstCaps to be + replaced. + + + + pointer to a #GstCaps that will + replace the caps pointed to by @old_caps. + + + + - Clears a reference to a #GstMiniObject. + Clears a reference to a #GstMiniObject. @object_ptr must not be %NULL. @@ -45734,12 +70858,15 @@ gst_mini_object_unref() and the pointer is set to %NULL. A macro is also included that allows this function to be used without pointer casts. + - a pointer to a #GstMiniObject reference + a pointer to a #GstMiniObject reference @@ -45748,7 +70875,9 @@ pointer casts. c:identifier="gst_clear_object" version="1.16" introspectable="0"> - Clears a reference to a #GstObject. + Clears a reference to a #GstObject. @object_ptr must not be %NULL. @@ -45758,12 +70887,15 @@ gst_object_unref() and the pointer is set to %NULL. A macro is also included that allows this function to be used without pointer casts. + - a pointer to a #GstObject reference + a pointer to a #GstObject reference @@ -45772,7 +70904,9 @@ pointer casts. c:identifier="gst_clear_structure" version="1.16" introspectable="0"> - Clears a reference to a #GstStructure. + Clears a reference to a #GstStructure. @structure_ptr must not be %NULL. @@ -45782,27 +70916,66 @@ pointer is set to %NULL. A macro is also included that allows this function to be used without pointer casts. + - a pointer to a #GstStructure reference + a pointer to a #GstStructure reference + + Tests if you can safely write into a context's structure or validly +modify the seqnum and timestamp fields. + + + + a #GstContext + + + + + Checks if a context is writable. If not, a writable copy is made and +returned. + + + + the context to make writable + + + + - Adds the logging function to the list of logging functions. + Adds the logging function to the list of logging functions. Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. + @@ -45812,18 +70985,24 @@ Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. scope="notified" closure="1" destroy="2"> - the function to use + the function to use - user data + user data - called when @user_data is not used anymore + called when @user_data is not used anymore @@ -45831,138 +71010,192 @@ Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. - Adds a memory ringbuffer based debug logger that stores up to + Adds a memory ringbuffer based debug logger that stores up to @max_size_per_thread bytes of logs per thread and times out threads after @thread_timeout seconds of inactivity. Logs can be fetched with gst_debug_ring_buffer_logger_get_logs() and the logger can be removed again with gst_debug_remove_ring_buffer_logger(). Only one logger at a time is possible. + - Maximum size of log per thread in bytes + Maximum size of log per thread in bytes - Timeout for threads in seconds + Timeout for threads in seconds - To aid debugging applications one can use this method to obtain the whole + To aid debugging applications one can use this method to obtain the whole network of gstreamer elements that form the pipeline into an dot file. This data can be processed with graphviz to get an image. + - a string containing the pipeline in graphviz + a string containing the pipeline in graphviz dot format. - the top-level pipeline that should be analyzed + the top-level pipeline that should be analyzed - type of #GstDebugGraphDetails to use + type of #GstDebugGraphDetails to use - To aid debugging applications one can use this method to write out the whole + To aid debugging applications one can use this method to write out the whole network of gstreamer elements that form the pipeline into an dot file. This file can be processed with graphviz to get an image. -<informalexample><programlisting> + +``` shell dot -Tpng -oimage.png graph_lowlevel.dot -</programlisting></informalexample> +``` + - the top-level pipeline that should be analyzed + the top-level pipeline that should be analyzed - type of #GstDebugGraphDetails to use + type of #GstDebugGraphDetails to use - output base filename (e.g. "myplayer") + output base filename (e.g. "myplayer") - This works like gst_debug_bin_to_dot_file(), but adds the current timestamp + This works like gst_debug_bin_to_dot_file(), but adds the current timestamp to the filename, so that it can be used to take multiple snapshots. + - the top-level pipeline that should be analyzed + the top-level pipeline that should be analyzed - type of #GstDebugGraphDetails to use + type of #GstDebugGraphDetails to use - output base filename (e.g. "myplayer") + output base filename (e.g. "myplayer") - Constructs a string that can be used for getting the desired color in color + Constructs a string that can be used for getting the desired color in color terminals. You need to free the string after use. + - a string containing the color + a string containing the color definition - the color info + the color info - Constructs an integer that can be used for getting the desired color in + 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 + an integer containing the color definition - the color info + the color info - Returns a snapshot of a all categories that are currently in use . This list + 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. + - the list of + the list of debug categories @@ -45972,111 +71205,164 @@ The caller has to free the list after use. - Changes the coloring mode for debug output. + Changes the coloring mode for debug output. + - see @GstDebugColorMode for possible values. + see @GstDebugColorMode for possible values. - Returns the default threshold that is used for new categories. + Returns the default threshold that is used for new categories. + - the default threshold level + the default threshold level + - a stack trace, if libunwind or glibc backtrace are + a stack trace, if libunwind or glibc backtrace are present, else %NULL. - A set of #GstStackTraceFlags to determine how the stack -trace should look like. Pass 0 to retrieve a minimal backtrace. + A set of #GstStackTraceFlags to determine how the stack trace should +look like. Pass #GST_STACK_TRACE_SHOW_NONE to retrieve a minimal backtrace. - Checks if debugging output is activated. + Checks if debugging output is activated. + - %TRUE, if debugging is activated + %TRUE, if debugging is activated - Checks if the debugging output should be colored. + Checks if the debugging output should be colored. + - %TRUE, if the debug output should be colored. + %TRUE, if the debug output should be colored. - Get the string representation of a debugging level + Get the string representation of a debugging level + - the name + the name - the level to get the name for + the level to get the name for - Logs the given message using the currently registered debugging handlers. + Logs the given message using the currently registered debugging handlers. + - category to log + category to log - level of the message is in + level of the message is in - the file that emitted the message, usually the __FILE__ identifier + the file that emitted the message, usually the __FILE__ identifier - the function that emitted the message + the function that emitted the message - the line from that the message was emitted, usually __LINE__ + the line from that the message was emitted, usually __LINE__ - the object this message relates to, + the object this message relates to, or %NULL if none - a printf style format string + a printf style format string - optional arguments for the format + optional arguments for the format - The default logging handler used by GStreamer. Logging functions get called + The default logging handler used by GStreamer. Logging functions get called whenever a macro like GST_DEBUG or similar is used. By default this function is setup to output the message and additional info to stderr (or the log file specified via the GST_DEBUG_FILE environment variable) as received via @@ -46085,110 +71371,217 @@ specified via the GST_DEBUG_FILE environment variable) as received via 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 + category to log - level of the message + level of the message - the file that emitted the message, usually the __FILE__ identifier + the file that emitted the message, usually the __FILE__ identifier - the function that emitted the message + the function that emitted the message - the line from that the message was emitted, usually __LINE__ + the line from that the message was emitted, usually __LINE__ - the object this message relates to, + the object this message relates to, or %NULL if none - the actual message + the actual message - the FILE* to log to + the FILE* to log to - - Logs the given message using the currently registered debugging handlers. - - + + Returns the string representation for the specified debug log message +formatted in the same way as gst_debug_log_default() (the default handler), +without color. The purpose is to make it easy for custom log output +handlers to get a log output that is identical to what the default handler +would write out. + + + - category to log + category to log - level of the message is in + level of the message - the file that emitted the message, usually the __FILE__ identifier + the file that emitted the message, usually the __FILE__ identifier - the function that emitted the message + the function that emitted the message - the line from that the message was emitted, usually __LINE__ + the line from that the message was emitted, usually __LINE__ - the object this message relates to, + the object this message relates to, + or %NULL if none + + + + the actual message + + + + + + 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 + a printf style format string - optional arguments for the format + optional arguments for the format - If libunwind, glibc backtrace or DbgHelp are present + If libunwind, glibc backtrace or DbgHelp are present a stack trace is printed. + - Removes all registered instances of the given logging functions. + Removes all registered instances of the given logging functions. + - How many instances of the function were removed + How many instances of the function were removed @@ -46197,7 +71590,9 @@ a stack trace is printed. nullable="1" allow-none="1" scope="call"> - the log function to remove, or %NULL to + the log function to remove, or %NULL to remove the default log function @@ -46205,9 +71600,14 @@ a stack trace is printed. - Removes all registered instances of log functions with the given user data. + Removes all registered instances of log functions with the given user data. + - How many instances of the function were removed + How many instances of the function were removed @@ -46215,7 +71615,9 @@ a stack trace is printed. transfer-ownership="none" nullable="1" allow-none="1"> - user data of the log function to remove + user data of the log function to remove @@ -46223,8 +71625,11 @@ a stack trace is printed. - Removes any previously added ring buffer logger with + Removes any previously added ring buffer logger with gst_debug_add_ring_buffer_logger(). + @@ -46232,10 +71637,15 @@ gst_debug_add_ring_buffer_logger(). - Fetches the current logs per thread from the ring buffer logger. See + Fetches the current logs per thread from the ring buffer logger. See gst_debug_add_ring_buffer_logger() for details. + - NULL-terminated array of + NULL-terminated array of strings with the debug output per thread @@ -46243,17 +71653,22 @@ strings with the debug output per thread - If activated, debugging messages are sent to the debugging + If activated, debugging messages are sent to the debugging handlers. It makes sense to deactivate it for speed issues. > This function is not threadsafe. It makes sense to only call it during initialization. + - Whether to use debugging output or not + Whether to use debugging output or not @@ -46261,15 +71676,20 @@ during initialization. - Changes the coloring mode for debug output. + Changes the coloring mode for debug output. This function may be called before gst_init(). + - The coloring mode for debug output. See @GstDebugColorMode. + The coloring mode for debug output. See @GstDebugColorMode. @@ -46277,66 +71697,88 @@ This function may be called before gst_init(). - Changes the coloring mode for debug output. + Changes the coloring mode for debug output. This function may be called before gst_init(). + - The coloring mode for debug output. One of the following: + The coloring mode for debug output. One of the following: "on", "auto", "off", "disable", "unix". - Sets or unsets the use of coloured debugging output. + Sets or unsets the use of coloured debugging output. Same as gst_debug_set_color_mode () with the argument being being GST_DEBUG_COLOR_MODE_ON or GST_DEBUG_COLOR_MODE_OFF. This function may be called before gst_init(). + - Whether to use colored output or not + Whether to use colored output or not - Sets the default threshold to the given level and updates all categories to + 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 + level to set - Sets all categories which match the given glob style pattern to the given + Sets all categories which match the given glob style pattern to the given level. + - name of the categories to set + name of the categories to set - level to set them to + level to set them to @@ -46344,21 +71786,28 @@ level. - Sets the debug logging wanted in the same form as with the GST_DEBUG + Sets the debug logging wanted in the same form as with the GST_DEBUG environment variable. You can use wildcards such as '*', but note that the order matters when you use wild cards, e.g. "foosrc:6,*src:3,*:2" sets everything to log level 2. + - comma-separated list of "category:level" pairs to be used + comma-separated list of "category:level" pairs to be used as debug logging levels - %TRUE to clear all previously-set debug levels before setting + %TRUE to clear all previously-set debug levels before setting new thresholds %FALSE if adding the threshold described by @list to the one already set. @@ -46367,19 +71816,26 @@ everything to log level 2. - Resets all categories with the given name back to the default level. + Resets all categories with the given name back to the default level. + - name of the categories to set + name of the categories to set - Clean up any resources created by GStreamer in gst_init(). + 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. @@ -46387,53 +71843,357 @@ 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. + + Registers a new #GstDynamicTypeFactory in the registry + + The #GstPlugin to register @dyn_type for + The #GType to register dynamically + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns a copy of the name of @elem. +Caller should g_free() the return value after usage. +For a nameless element, this returns %NULL, which you can safely g_free() +as well. + + + + a #GstElement to get the name of @elem. + + + + + Get the parent of an element. + + + + a #GstElement to get the parent of. + + + + + Sets the name of the element, getting rid of the old name if there was one. + + + + a #GstElement to set the name of. + + + the new name + + + + + Sets the parent of an element. + + + + a #GstElement to set the parent of. + + + the new parent #GstObject of the element. + + + - Get a string describing the error message in the current locale. + Get a string describing the error message in the current locale. + - a newly allocated string describing + a newly allocated string describing the error message (in UTF-8 encoding) - the GStreamer error domain this error belongs to. + the GStreamer error domain this error belongs to. - the error code belonging to the domain. + the error code belonging to the domain. + + Tests if you can safely write data into a event's structure or validly +modify the seqnum and timestamp field. + + + + a #GstEvent + + + + + Makes a writable event from the given event. If the source event is +already writable, this will simply return the same event. A copy will +otherwise be made using gst_event_copy(). + + + + a #GstEvent + + + + + Modifies a pointer to a #GstEvent to point to a different #GstEvent. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +event is unreffed, the new one is reffed). + +Either @new_event or the #GstEvent pointed to by @old_event may be %NULL. + + + %TRUE if @new_event was different from @old_event + + + + + pointer to a + pointer to a #GstEvent to be replaced. + + + + pointer to a #GstEvent that will + replace the event pointed to by @old_event. + + + + + + Atomically replace the #GstEvent pointed to by @old_event with %NULL and +return the original event. + + + the #GstEvent that was in @old_event + + + + + pointer to a + pointer to a #GstEvent to be stolen. + + + + + + Modifies a pointer to a #GstEvent to point to a different #GstEvent. This +function is similar to gst_event_replace() except that it takes ownership of +@new_event. + +Either @new_event or the #GstEvent pointed to by @old_event may be %NULL. + + + %TRUE if @new_event was different from @old_event + + + + + pointer to a + pointer to a #GstEvent to be stolen. + + + + pointer to a #GstEvent that will + replace the event pointed to by @old_event. + + + + - Gets the #GstEventTypeFlags associated with @type. + Gets the #GstEventTypeFlags associated with @type. + - a #GstEventTypeFlags. + a #GstEventTypeFlags. - a #GstEventType + a #GstEventType @@ -46441,14 +72201,21 @@ After this call GStreamer (including this method) should not be used anymore. - Get a printable name for the given event type. Do not modify or free. + Get a printable name for the given event type. Do not modify or free. + - a reference to the static name of the event. + a reference to the static name of the event. - the event type + the event type @@ -46456,14 +72223,21 @@ After this call GStreamer (including this method) should not be used anymore. - Get the unique quark for the given event type. + Get the unique quark for the given event type. + - the quark associated with the event type + the quark associated with the event type - the event type + the event type @@ -46471,47 +72245,68 @@ After this call GStreamer (including this method) should not be used anymore. - Similar to g_filename_to_uri(), but attempts to handle relative file paths + Similar to g_filename_to_uri(), but attempts to handle relative file paths as well. Before converting @filename into an URI, it will be prefixed by the current working directory if it is a relative path, and then the path will be canonicalised so that it doesn't contain any './' or '../' segments. -On Windows #filename should be in UTF-8 encoding. +On Windows @filename should be in UTF-8 encoding. + - newly-allocated URI string, or NULL on error. The caller must + newly-allocated URI string, or NULL on error. The caller must free the URI string with g_free() when no longer needed. - absolute or relative file name path + absolute or relative file name path - Gets a string representing the given flow return. + Gets a string representing the given flow return. + - a static string with the name of the flow return. + a static string with the name of the flow return. - a #GstFlowReturn to get the name of. + a #GstFlowReturn to get the name of. - Get the unique quark for the given GstFlowReturn. + Get the unique quark for the given GstFlowReturn. + - the quark associated with the flow return or 0 if an + the quark associated with the flow return or 0 if an invalid return was specified. - a #GstFlowReturn to get the quark of. + a #GstFlowReturn to get the quark of. @@ -46519,15 +72314,22 @@ invalid return was specified. - Return the format registered with the given nick. + Return the format registered with the given nick. + - The format with @nick or GST_FORMAT_UNDEFINED + The format with @nick or GST_FORMAT_UNDEFINED if the format was not registered. - The nick of the format + The nick of the format @@ -46535,9 +72337,14 @@ if the format was not registered. - Get details about the given format. + Get details about the given format. + - The #GstFormatDefinition for @format or %NULL + The #GstFormatDefinition for @format or %NULL on failure. MT safe. @@ -46545,7 +72352,9 @@ MT safe. - The format to get details of + The format to get details of @@ -46553,15 +72362,22 @@ MT safe. - Get a printable name for the given format. Do not modify or free. + Get a printable name for the given format. Do not modify or free. + - a reference to the static name of the format + a reference to the static name of the format or %NULL if the format is unknown. - a #GstFormat + a #GstFormat @@ -46569,20 +72385,30 @@ or %NULL if the format is unknown. - Iterate all the registered formats. The format definition is read + Iterate all the registered formats. The format definition is read only. + - a GstIterator of #GstFormatDefinition. + a GstIterator of #GstFormatDefinition. - Create a new GstFormat based on the nick or return an + Create a new GstFormat based on the nick or return an already registered format with that nick. + - A new GstFormat or an already registered format + A new GstFormat or an already registered format with the same nick. MT safe. @@ -46590,11 +72416,15 @@ MT safe. - The nick of the new format + The nick of the new format - The description of the new format + The description of the new format @@ -46602,75 +72432,135 @@ MT safe. - Get the unique quark for the given format. + Get the unique quark for the given format. + - the quark associated with the format or 0 if the format + the quark associated with the format or 0 if the format is unknown. - a #GstFormat + a #GstFormat - See if the given format is inside the format array. + See if the given format is inside the format array. + - %TRUE if the format is found inside the array + %TRUE if the format is found inside the array - The format array to search + The format array to search - the format to find + the format to find + + Convert @value to a guint64. + + + + the #gdouble value to convert + + + - This helper is mostly helpful for plugins that need to + This helper is mostly helpful for plugins that need to inspect the folder of the main executable to determine their set of features. When a plugin is initialized from the gst-plugin-scanner external process, the returned path will be the same as from the parent process. + - The path of the executable that + The path of the executable that initialized GStreamer, or %NULL if it could not be determined. + + Convert @value to a gdouble. + + + + the #guint64 value to convert + + + - Allocates, fills and returns a 0-terminated string from the printf style + Allocates, fills and returns a 0-terminated string from the printf style @format string and corresponding arguments. See gst_info_vasprintf() for when this function is required. Free with g_free(). + - a newly allocated null terminated string or %NULL on any error + a newly allocated null terminated string or %NULL on any error - a printf style format string + a printf style format string - the printf arguments for @format + the printf arguments for @format @@ -46679,23 +72569,32 @@ Free with g_free(). c:identifier="gst_info_strdup_vprintf" version="1.8" introspectable="0"> - Allocates, fills and returns a null terminated string from the printf style + Allocates, fills and returns a null terminated string from the printf style @format string and @args. See gst_info_vasprintf() for when this function is required. Free with g_free(). + - a newly allocated null terminated string or %NULL on any error + a newly allocated null terminated string or %NULL on any error - a printf style format string + a printf style format string - the va_list of printf arguments for @format + the va_list of printf arguments for @format @@ -46704,7 +72603,9 @@ Free with g_free(). c:identifier="gst_info_vasprintf" version="1.8" introspectable="0"> - Allocates and fills a string large enough (including the terminating null + Allocates and fills a string large enough (including the terminating null byte) to hold the specified printf style @format and @args. This function deals with the GStreamer specific printf specifiers @@ -46713,8 +72614,11 @@ in your @format string, you do not need to use this function and can use alternatives such as g_vasprintf(). Free @result with g_free(). + - the length of the string allocated into @result or -1 on any error + the length of the string allocated into @result or -1 on any error @@ -46722,21 +72626,29 @@ Free @result with g_free(). direction="out" caller-allocates="0" transfer-ownership="full"> - the resulting string + the resulting string - a printf style format string + a printf style format string - the va_list of printf arguments for @format + the va_list of printf arguments for @format - Initializes the GStreamer library, setting up internal path lists, + 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 @@ -46754,6 +72666,7 @@ WARNING: This function does not work in the same way as corresponding functions in other glib-style libraries, such as gtk_init\(\). In particular, unknown command line options cause this function to abort program execution. + @@ -46764,7 +72677,9 @@ abort program execution. transfer-ownership="full" nullable="1" allow-none="1"> - pointer to application's argc + pointer to application's argc transfer-ownership="full" nullable="1" allow-none="1"> - pointer to application's argv + pointer to application's argv @@ -46781,14 +72698,19 @@ abort program execution. - Initializes the GStreamer library, setting up internal path lists, + 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. + - %TRUE if GStreamer could be initialized. + %TRUE if GStreamer could be initialized. @@ -46798,7 +72720,9 @@ use gst_init() instead. transfer-ownership="full" nullable="1" allow-none="1"> - pointer to application's argc + pointer to application's argc transfer-ownership="full" nullable="1" allow-none="1"> - pointer to application's argv + pointer to application's argv @@ -46817,7 +72743,9 @@ use gst_init() instead. - Returns a #GOptionGroup with GStreamer's argument specifications. The + 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. @@ -46828,13 +72756,23 @@ 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. + a pointer to GStreamer's option group. + Checks if @obj is a #GstCapsFeatures + + %TRUE if @obj is a #GstCapsFeatures %FALSE otherwise @@ -46847,16 +72785,22 @@ threading system as one of the very first things in your program - Use this function to check if GStreamer has been initialized with gst_init() + 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. + %TRUE if initialization has been done, %FALSE otherwise. + @@ -46864,29 +72808,188 @@ or gst_init_check(). + Create a #GstStructure to be used with #gst_element_message_full_with_details + + Name of the first field to set + variable arguments in the same form as #GstStructure + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Tests if you can safely write into a message's structure or validly +modify the seqnum and timestamp fields. + + + + a #GstMessage + + + + + Checks if a message is writable. If not, a writable copy is made and +returned. + + + + the message to make writable + + + + + + + + + + + + + + + + + + + + + + + + + + + Modifies a pointer to a #GstMessage to point to a different #GstMessage. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +message is unreffed, the new one is reffed). + +Either @new_message or the #GstMessage pointed to by @old_message may be %NULL. + + + %TRUE if @new_message was different from @old_message + + + + + pointer to a + pointer to a #GstMessage to be replaced. + + + + pointer to a #GstMessage that will + replace the message pointed to by @old_message. + + + + - Get a printable name for the given message type. Do not modify or free. + Get a printable name for the given message type. Do not modify or free. + - a reference to the static name of the message. + a reference to the static name of the message. - the message type + the message type @@ -46894,14 +72997,21 @@ or gst_init_check(). - Get the unique quark for the given message type. + Get the unique quark for the given message type. + - the quark associated with the message type + the quark associated with the message type - the message type + the message type @@ -46910,15 +73020,20 @@ or gst_init_check(). c:identifier="gst_meta_api_type_get_tags" moved-to="Meta.api_type_get_tags" version="1.2"> + - an array of tags as strings. + an array of tags as strings. - an API + an API @@ -46926,18 +73041,27 @@ or gst_init_check(). - Check if @api was registered with @tag. + Check if @api was registered with @tag. + - %TRUE if @api was registered with @tag. + %TRUE if @api was registered with @tag. - an API + an API - the tag to check + the tag to check @@ -46945,19 +73069,28 @@ or gst_init_check(). - Register and return a GType for the @api and associate it with + Register and return a GType for the @api and associate it with @tags. + - a unique GType for @api. + a unique GType for @api. - an API to register + an API to register - tags for @api + tags for @api @@ -46967,16 +73100,23 @@ or gst_init_check(). - Lookup a previously registered meta info structure by its implementation name + Lookup a previously registered meta info structure by its implementation name @impl. + - a #GstMetaInfo with @impl, or + a #GstMetaInfo with @impl, or %NULL when no such metainfo exists. - the name + the name @@ -46984,40 +73124,57 @@ or gst_init_check(). - Register a new #GstMeta implementation. + Register a new #GstMeta implementation. The same @info can be retrieved later with gst_meta_get_info() by using @impl as the key. + - a #GstMetaInfo that can be used to + a #GstMetaInfo that can be used to access metadata. - the type of the #GstMeta API + the type of the #GstMeta API - the name of the #GstMeta implementation + the name of the #GstMeta implementation - the size of the #GstMeta structure + the size of the #GstMeta structure - a #GstMetaInitFunction + a #GstMetaInitFunction - a #GstMetaFreeFunction + a #GstMetaFreeFunction - a #GstMetaTransformFunction + a #GstMetaTransformFunction @@ -47026,13 +73183,18 @@ access metadata. - Atomically modifies a pointer to point to a new mini-object. + Atomically modifies a pointer to point to a new mini-object. The reference count of @olddata is decreased and the reference count of @newdata is increased. Either @newdata and the value pointed to by @olddata may be %NULL. + - %TRUE if @newdata was different from @olddata + %TRUE if @newdata was different from @olddata @@ -47042,7 +73204,9 @@ Either @newdata and the value pointed to by @olddata may be %NULL. transfer-ownership="full" nullable="1" allow-none="1"> - pointer to a pointer to a + pointer to a pointer to a mini-object to be replaced @@ -47050,7 +73214,9 @@ Either @newdata and the value pointed to by @olddata may be %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - pointer to new mini-object + pointer to new mini-object @@ -47059,10 +73225,15 @@ Either @newdata and the value pointed to by @olddata may be %NULL. c:identifier="gst_mini_object_steal" moved-to="MiniObject.steal" introspectable="0"> - Replace the current #GstMiniObject pointer to by @olddata with %NULL and + Replace the current #GstMiniObject pointer to by @olddata with %NULL and return the old value. + - the #GstMiniObject at @oldata + the #GstMiniObject at @oldata @@ -47070,7 +73241,9 @@ return the old value. direction="inout" caller-allocates="0" transfer-ownership="full"> - pointer to a pointer to a mini-object to + pointer to a pointer to a mini-object to be stolen @@ -47079,14 +73252,19 @@ return the old value. - Modifies a pointer to point to a new mini-object. The modification + Modifies a pointer to point to a new mini-object. The modification is done atomically. This version is similar to gst_mini_object_replace() except that it does not increase the refcount of @newdata and thus takes ownership of @newdata. Either @newdata and the value pointed to by @olddata may be %NULL. + - %TRUE if @newdata was different from @olddata + %TRUE if @newdata was different from @olddata @@ -47094,120 +73272,458 @@ Either @newdata and the value pointed to by @olddata may be %NULL. direction="inout" caller-allocates="0" transfer-ownership="full"> - pointer to a pointer to a mini-object to + pointer to a pointer to a mini-object to be replaced - pointer to new mini-object + pointer to new mini-object + + + + + + + + + Get a copy of the name of the pad. g_free() after usage. + +MT safe. + + + + the pad to get the name from + + + + + Get the parent of @pad. This function increases the refcount +of the parent object so you should gst_object_unref() it after usage. +Can return %NULL if the pad did not have a parent. + +MT safe. + + + + the pad to get the parent of + + + - Return the name of a pad mode, for use in debug messages mostly. + Return the name of a pad mode, for use in debug messages mostly. + - short mnemonic for pad mode @mode + short mnemonic for pad mode @mode - the pad mode + the pad mode + + + + + + + + + Calls gst_pad_set_activate_function_full() with %NULL for the user_data and +notify. + + + + a #GstPad. + + + the #GstPadActivateFunction to set. + + + + + Calls gst_pad_set_activatemode_function_full() with %NULL for the user_data and +notify. + + + + a #GstPad. + + + the #GstPadActivateModeFunction to set. + + + + + Calls gst_pad_set_chain_function_full() with %NULL for the user_data and +notify. + + + + a sink #GstPad. + + + the #GstPadChainFunction to set. + + + + + Calls gst_pad_set_chain_list_function_full() with %NULL for the user_data and +notify. + + + + a sink #GstPad. + + + the #GstPadChainListFunction to set. + + + + + Calls gst_pad_set_event_full_function_full() with %NULL for the user_data and +notify. + + + + a #GstPad of either direction. + + + the #GstPadEventFullFunction to set. + + + + + Calls gst_pad_set_event_function_full() with %NULL for the user_data and +notify. + + + + a #GstPad of either direction. + + + the #GstPadEventFunction to set. + + + + + Calls gst_pad_set_getrange_function_full() with %NULL for the user_data and +notify. + + + + a source #GstPad. + + + the #GstPadGetRangeFunction to set. + + + + + Calls gst_pad_set_iterate_internal_links_function_full() with %NULL +for the user_data and notify. + + + + a #GstPad of either direction. + + + the #GstPadIterIntLinkFunction to set. + + + + + Calls gst_pad_set_link_function_full() with %NULL +for the user_data and notify. + + + + a #GstPad. + + + the #GstPadLinkFunction to set. + + + + + Calls gst_pad_set_query_function_full() with %NULL for the user_data and +notify. + + + + a #GstPad of either direction. + + + the #GstPadQueryFunction to set. + + + + + Calls gst_pad_set_unlink_function_full() with %NULL +for the user_data and notify. + + + + a #GstPad. + + + the #GstPadUnlinkFunction to set. + + + - This function creates a GstArray GParamSpec for use by objects/elements + This function creates a GstArray GParamSpec for use by objects/elements that want to expose properties of GstArray 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 + a newly created parameter specification - canonical name of the property specified + canonical name of the property specified - nick name for the property specified + nick name for the property specified - description of the property specified + description of the property specified - GParamSpec of the array + GParamSpec of the array - flags for the property specified + flags for the property specified - This function creates a fraction GParamSpec for use by objects/elements + 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 + a newly created parameter specification - canonical name of the property specified + canonical name of the property specified - nick name for the property specified + nick name for the property specified - description of the property specified + description of the property specified - minimum value (fraction numerator) + minimum value (fraction numerator) - minimum value (fraction denominator) + minimum value (fraction denominator) - maximum value (fraction numerator) + maximum value (fraction numerator) - maximum value (fraction denominator) + maximum value (fraction denominator) - default value (fraction numerator) + default value (fraction numerator) - default value (fraction denominator) + default value (fraction denominator) - flags for the property specified + flags for the property specified + + @@ -47216,16 +73732,23 @@ instance_init function. c:identifier="gst_parent_buffer_meta_get_info" moved-to="ParentBufferMeta.get_info" version="1.6"> - Get the global #GstMetaInfo describing the #GstParentBufferMeta meta. + Get the global #GstMetaInfo describing the #GstParentBufferMeta meta. + - The #GstMetaInfo + The #GstMetaInfo - This is a convenience wrapper around gst_parse_launch() to create a + 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 @@ -47234,18 +73757,25 @@ 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 + a newly-created bin, or %NULL if an error occurred. - command line describing the bin + command line describing the bin - whether to automatically create ghost pads + whether to automatically create ghost pads for unlinked source or sink pads within the bin @@ -47254,7 +73784,9 @@ yourself). - This is a convenience wrapper around gst_parse_launch() to create a + 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 @@ -47263,8 +73795,11 @@ 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 + a newly-created element, which is guaranteed to be a bin unless GST_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or %NULL if an error occurred. @@ -47272,11 +73807,15 @@ yourself). - command line describing the bin + command line describing the bin - whether to automatically create ghost pads + whether to automatically create ghost pads for unlinked source or sink pads within the bin @@ -47284,12 +73823,16 @@ yourself). transfer-ownership="none" nullable="1" allow-none="1"> - a parse context allocated with + a parse context allocated with gst_parse_context_new(), or %NULL - parsing options, or #GST_PARSE_FLAG_NONE + parsing options, or #GST_PARSE_FLAG_NONE @@ -47297,19 +73840,31 @@ yourself). - Get the error quark used by the parsing subsystem. + Get the error quark used by the parsing subsystem. - the quark of the parse errors. + the quark of the parse errors. - Create a new pipeline based on command line syntax. + 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. +can try to play the pipeline. + +To create a sub-pipeline (bin) for embedding into an existing pipeline +use gst_parse_bin_from_description(). + - a new element on success, %NULL on + a new element on success, %NULL on failure. If more than one toplevel element is specified by the @pipeline_description, all elements are put into a #GstPipeline, which than is returned. @@ -47317,7 +73872,9 @@ can try to play the pipeline. - the command line describing the pipeline + the command line describing the pipeline @@ -47325,12 +73882,20 @@ can try to play the pipeline. - Create a new pipeline based on command line syntax. + 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. +can try to play the pipeline. + +To create a sub-pipeline (bin) for embedding into an existing pipeline +use gst_parse_bin_from_description_full(). + - a new element on success, %NULL on + a new element on success, %NULL on failure. If more than one toplevel element is specified by the @pipeline_description, all elements are put into a #GstPipeline, which then is returned (unless the GST_PARSE_FLAG_PLACE_IN_BIN flag is set, in @@ -47339,35 +73904,48 @@ can try to play the pipeline. - the command line describing the pipeline + the command line describing the pipeline - a parse context allocated with + a parse context allocated with gst_parse_context_new(), or %NULL - parsing options, or #GST_PARSE_FLAG_NONE + parsing options, or #GST_PARSE_FLAG_NONE - Create a new element based on command line syntax. + Create a new element based on command line syntax. @error will contain an error message if an erroneous pipeline is specified. An error does not mean that the pipeline could not be constructed. + - a new element on success and %NULL + a new element on success and %NULL on failure. - null-terminated array of arguments + null-terminated array of arguments @@ -47377,11 +73955,16 @@ on failure. - Create a new element based on command line syntax. + Create a new element based on command line syntax. @error will contain an error message if an erroneous pipeline is specified. An error does not mean that the pipeline could not be constructed. + - a new element on success; on + a new element on success; on failure, either %NULL 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 @@ -47390,7 +73973,9 @@ An error does not mean that the pipeline could not be constructed. - null-terminated array of arguments + null-terminated array of arguments @@ -47399,12 +73984,16 @@ An error does not mean that the pipeline could not be constructed. transfer-ownership="none" nullable="1" allow-none="1"> - a parse context allocated with + a parse context allocated with gst_parse_context_new(), or %NULL - parsing options, or #GST_PARSE_FLAG_NONE + parsing options, or #GST_PARSE_FLAG_NONE @@ -47412,29 +74001,76 @@ An error does not mean that the pipeline could not be constructed. - Get the error quark. + Get the error quark. - The error quark used in GError messages + The error quark used in GError messages + + Returns the name of @feature. +For a nameless plugin feature, this returns %NULL. + + + + a #GstPluginFeature to get the name of @feature. + + + + + Sets the name of the plugin feature, getting rid of the old name if there was one. + + + + a #GstPluginFeature to set the name of. + + + the new name + + + - Create a new file descriptor set. If @controllable, it + 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-function: gst_poll_free + - a new #GstPoll, or %NULL in + a new #GstPoll, or %NULL in case of an error. Free with gst_poll_free(). - whether it should be possible to control a wait. + whether it should be possible to control a wait. @@ -47443,15 +74079,20 @@ Free-function: gst_poll_free c:identifier="gst_poll_new_timer" moved-to="Poll.new_timer" introspectable="0"> - Create a new poll object that can be used for scheduling cancellable + 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-function: gst_poll_free + - a new #GstPoll, or %NULL in + a new #GstPoll, or %NULL in case of an error. Free with gst_poll_free(). @@ -47459,10 +74100,15 @@ Free-function: gst_poll_free - Gets the directory for application specific presets if set by the + Gets the directory for application specific presets if set by the application. + - the directory or %NULL, don't free or modify + the directory or %NULL, don't free or modify the string @@ -47470,16 +74116,23 @@ the string - Sets an extra directory as an absolute path that should be considered when + Sets an extra directory as an absolute path that should be considered when looking for presets. Any presets in the application dir will shadow the system presets. + - %TRUE for success, %FALSE if the dir already has been set + %TRUE for success, %FALSE if the dir already has been set - the application specific preset dir + the application specific preset dir @@ -47488,7 +74141,9 @@ system presets. c:identifier="gst_print" version="1.12" introspectable="0"> - Outputs a formatted message via the GLib print handler. The default print + Outputs a formatted message via the GLib print handler. The default print handler simply outputs the message to stdout. This function will not append a new-line character at the end, unlike @@ -47501,16 +74156,21 @@ printf specifiers that are supported by GStreamer's debug logging system, such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT. This function is primarily for printing debug output. + - a printf style format string + a printf style format string - the printf arguments for @format + the printf arguments for @format @@ -47519,7 +74179,9 @@ This function is primarily for printing debug output. c:identifier="gst_printerr" version="1.12" introspectable="0"> - Outputs a formatted message via the GLib error message handler. The default + Outputs a formatted message via the GLib error message handler. The default handler simply outputs the message to stderr. This function will not append a new-line character at the end, unlike @@ -47532,16 +74194,21 @@ printf specifiers that are supported by GStreamer's debug logging system, such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT. This function is primarily for printing debug output. + - a printf style format string + a printf style format string - the printf arguments for @format + the printf arguments for @format @@ -47550,7 +74217,9 @@ This function is primarily for printing debug output. c:identifier="gst_printerrln" version="1.12" introspectable="0"> - Outputs a formatted message via the GLib error message handler. The default + Outputs a formatted message via the GLib error message handler. The default handler simply outputs the message to stderr. This function will append a new-line character at the end, unlike @@ -47563,16 +74232,21 @@ printf specifiers that are supported by GStreamer's debug logging system, such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT. This function is primarily for printing debug output. + - a printf style format string + a printf style format string - the printf arguments for @format + the printf arguments for @format @@ -47581,7 +74255,9 @@ This function is primarily for printing debug output. c:identifier="gst_println" version="1.12" introspectable="0"> - Outputs a formatted message via the GLib print handler. The default print + Outputs a formatted message via the GLib print handler. The default print handler simply outputs the message to stdout. This function will append a new-line character at the end, unlike @@ -47594,16 +74270,21 @@ printf specifiers that are supported by GStreamer's debug logging system, such as #GST_PTR_FORMAT and #GST_SEGMENT_FORMAT. This function is primarily for printing debug output. + - a printf style format string + a printf style format string - the printf arguments for @format + the printf arguments for @format @@ -47611,10 +74292,15 @@ This function is primarily for printing debug output. - Iterates the supplied list of UUIDs and checks the GstRegistry for + Iterates the supplied list of UUIDs and checks the GstRegistry for all the decryptors supporting one of the supplied UUIDs. + - + A null terminated array containing all the @system_identifiers supported by the set of available decryptors, or %NULL if no matches were found. @@ -47624,7 +74310,9 @@ the @system_identifiers supported by the set of available decryptors, or - + A null terminated array of strings that contains the UUID values of each protection system that is to be checked. @@ -47635,6 +74323,8 @@ protection system that is to be checked. + + @@ -47642,6 +74332,7 @@ protection system that is to be checked. + @@ -47649,11 +74340,16 @@ protection system that is to be checked. - Iterates the supplied list of UUIDs and checks the GstRegistry for + Iterates the supplied list of UUIDs and checks the GstRegistry for an element that supports one of the supplied UUIDs. If more than one element matches, the system ID of the highest ranked element is selected. + - One of the strings from + One of the strings from @system_identifiers that indicates the highest ranked element that implements the protection system indicated by that system ID, or %NULL if no element has been found. @@ -47661,7 +74357,9 @@ element has been found. - A null terminated array of strings + A null terminated array of strings that contains the UUID values of each protection system that is to be checked. @@ -47670,17 +74368,98 @@ checked. + + Tests if you can safely write data into a query's structure. + + + + a #GstQuery + + + + + Makes a writable query from the given query. + + + + a #GstQuery to make writable + + + + + Modifies a pointer to a #GstQuery to point to a different #GstQuery. The +modification is done atomically (so this is useful for ensuring thread safety +in some cases), and the reference counts are updated appropriately (the old +query is unreffed, the new one is reffed). + +Either @new_query or the #GstQuery pointed to by @old_query may be %NULL. + + + %TRUE if @new_query was different from @old_query + + + + + pointer to a pointer to a + #GstQuery to be replaced. + + + + pointer to a #GstQuery that will + replace the query pointed to by @old_query. + + + + - Gets the #GstQueryTypeFlags associated with @type. + Gets the #GstQueryTypeFlags associated with @type. + - a #GstQueryTypeFlags. + a #GstQueryTypeFlags. - a #GstQueryType + a #GstQueryType @@ -47688,14 +74467,21 @@ checked. - Get a printable name for the given query type. Do not modify or free. + Get a printable name for the given query type. Do not modify or free. + - a reference to the static name of the query. + a reference to the static name of the query. - the query type + the query type @@ -47703,20 +74489,29 @@ checked. - Get the unique quark for the given query type. + Get the unique quark for the given query type. + - the quark associated with the query type + the quark associated with the query type - the query type + the query type + + @@ -47725,42 +74520,105 @@ checked. c:identifier="gst_reference_timestamp_meta_get_info" moved-to="ReferenceTimestampMeta.get_info" version="1.14"> - Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + - The #GstMetaInfo + The #GstMetaInfo + + + Tests if you can safely set the buffer and / or buffer list of @sample. + + + + A #GstSample + + + + + Returns a writable copy of @sample. If the source sample is +already writable, this will simply return the same sample. + +Use this function to ensure that a sample can be safely modified before +making changes to it, for example before calling gst_sample_set_buffer() + +If the reference count of the source sample @sample is exactly one, the caller +is the sole owner and this function will return the sample object unchanged. + +If there is more than one reference on the object, a copy will be made using +gst_sample_copy(). The passed-in @sample will be unreffed in that case, and the +caller will now own a reference to the new returned sample object. + +In short, this function unrefs the sample in the argument and refs the sample +that it returns. Don't access the argument after calling this function unless +you have an additional reference to it. + + + + A #GstSample + + + - Some functions in the GStreamer core might install a custom SIGSEGV handler + 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. + %TRUE if GStreamer is allowed to install a custom SIGSEGV handler. - Applications might want to disable/enable the SIGSEGV handling of + 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. + whether a custom SIGSEGV handler should be installed. @@ -47769,27 +74627,38 @@ the GStreamer core. See gst_segtrap_is_enabled() for more information. c:identifier="gst_state_change_get_name" moved-to="StateChange.get_name" version="1.14"> - Gets a string representing the given state transition. + Gets a string representing the given state transition. + - a string with the name of the state + a string with the name of the state result. - a #GstStateChange to get the name of. + a #GstStateChange to get the name of. + + + + @@ -47797,6 +74666,7 @@ the GStreamer core. See gst_segtrap_is_enabled() for more information. + @@ -47805,127 +74675,190 @@ the GStreamer core. See gst_segtrap_is_enabled() for more information. c:identifier="gst_stream_type_get_name" moved-to="StreamType.get_name" version="1.10"> - Get a descriptive string for a given #GstStreamType + Get a descriptive string for a given #GstStreamType + - A string describing the stream type + A string describing the stream type - a #GstStreamType + a #GstStreamType - - 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. + + Atomically modifies a pointer to point to a new structure. +The #GstStructure @oldstr_ptr is pointing to is freed and +@newstr is taken ownership over. -Free-function: gst_structure_free - - a new #GstStructure or %NULL - when the string could not be parsed. Free with - gst_structure_free() after use. - +Either @newstr and the value pointed to by @oldstr_ptr may be %NULL. + +It is a programming error if both @newstr and the value pointed to by +@oldstr_ptr refer to the same, non-%NULL structure. + + + %TRUE if @newstr was different from @oldstr_ptr + - - a string representation of a #GstStructure. - - - - pointer to store the end of the string in. - + transfer-ownership="full" + nullable="1" + allow-none="1"> + pointer to a place of + a #GstStructure to take + + + + a new #GstStructure + - Checks if the given type is already registered. + Checks if the given type is already registered. + - %TRUE if the type is already registered + %TRUE if the type is already registered - name of the tag + name of the tag - Returns the human-readable description of this tag, You must not change or + Returns the human-readable description of this tag, You must not change or free this string. + - the human-readable description of this tag + the human-readable description of this tag - the tag + the tag - Gets the flag of @tag. + Gets the flag of @tag. + - the flag of this tag. + the flag of this tag. - the tag + the tag - Returns the human-readable name of this tag, You must not change or free + Returns the human-readable name of this tag, You must not change or free this string. + - the human-readable name of this tag + the human-readable name of this tag - the tag + the tag - Gets the #GType used for this tag. + Gets the #GType used for this tag. + - the #GType of this tag + the #GType of this tag - the tag + the tag - Checks if the given tag is fixed. A fixed tag can only contain one value. + 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. + %TRUE, if the given tag is fixed. - tag to check + tag to check @@ -47933,12 +74866,17 @@ Unfixed tags can contain lists of values. - Copies the contents for the given tag into the value, + 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. + - %TRUE, if a value was copied, %FALSE if the tag didn't exist in the + %TRUE, if a value was copied, %FALSE if the tag didn't exist in the given list. @@ -47947,24 +74885,84 @@ You must g_value_unset() the value after use. direction="out" caller-allocates="1" transfer-ownership="none"> - uninitialized #GValue to copy into + uninitialized #GValue to copy into - list to get the tag from + list to get the tag from - tag to read out + tag to read out + + + + + + + + + Tests if you can safely modify @taglist. It is only safe to modify taglist +when there is only one owner of the taglist - ie, the refcount is 1. + + + + a #GstTagList + + + + + Returns a writable copy of @taglist. + +If there is only one reference count on @taglist, the caller must be the +owner, and so this function will return the taglist object unchanged. If on +the other hand there is more than one reference on the object, a new taglist +object will be returned (which will be a copy of @taglist). The caller's +reference on @taglist will be removed, and instead the caller will own a +reference to the returned object. + +In short, this function unrefs the taglist in the argument and refs the +taglist that it returns. Don't access the argument after calling this +function. See also: gst_tag_list_ref(). + + + + a #GstTagList + + + - This is a convenience function for the func argument of gst_tag_register(). + 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. + @@ -47973,19 +74971,26 @@ as a G_TYPE_STRING or this function will fail. direction="out" caller-allocates="1" transfer-ownership="none"> - uninitialized GValue to store result in + uninitialized GValue to store result in - GValue to copy from + GValue to copy from - This is a convenience function for the func argument of gst_tag_register(). + This is a convenience function for the func argument of gst_tag_register(). It creates a copy of the first value from the list. + @@ -47994,11 +74999,15 @@ It creates a copy of the first value from the list. direction="out" caller-allocates="1" transfer-ownership="none"> - uninitialized GValue to store result in + uninitialized GValue to store result in - GValue to copy from + GValue to copy from @@ -48006,7 +75015,9 @@ It creates a copy of the first value from the list. - Registers a new tag type for the use with GStreamer's type system. If a type + 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. @@ -48027,35 +75038,48 @@ merge function was supplied and if so which one. Two default merge functions are provided: gst_tag_merge_use_first() and gst_tag_merge_strings_with_comma(). + - the name or identifier string + the name or identifier string - a flag describing the type of tag info + a flag describing the type of tag info - the type this data is in + the type this data is in - human-readable name + human-readable name - a human-readable description about this tag + a human-readable description about this tag - function for merging multiple values of this tag, or %NULL + function for merging multiple values of this tag, or %NULL @@ -48063,63 +75087,220 @@ gst_tag_merge_strings_with_comma(). - Registers a new tag type for the use with GStreamer's type system. + Registers a new tag type for the use with GStreamer's type system. Same as gst_tag_register(), but @name, @nick, and @blurb must be static strings or inlined strings, as they will not be copied. (GStreamer plugins will be made resident once loaded, so this function can be used even from dynamically loaded plugins.) + - the name or identifier string (string constant) + the name or identifier string (string constant) - a flag describing the type of tag info + a flag describing the type of tag info - the type this data is in + the type this data is in - human-readable name or short description (string constant) + human-readable name or short description (string constant) - a human-readable description for this tag (string constant) + a human-readable description for this tag (string constant) - function for merging multiple values of this tag, or %NULL + function for merging multiple values of this tag, or %NULL + + Copy #GstToc with all subentries (deep copy). + + + + #GstToc to copy. + + + + + Copy #GstTocEntry with all subentries (deep copy). + + + + #GstTocEntry to copy. + + + + + + + + + + + + + + + + + - Converts @type to a string representation. + Converts @type to a string representation. + - Returns a human-readable string for @type. This string is + Returns a human-readable string for @type. This string is only for debugging purpose and should not be displayed in a user interface. - a #GstTocEntryType. + a #GstTocEntryType. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get a list of all active tracer objects owned by the tracing framework for +the entirety of the run-time of the process or till gst_deinit() is called. + + + A #GList of +#GstTracer objects + + + + + + + Register @func to be called when the trace hook @detail is getting invoked. +Use %NULL for @detail to register to all hooks. + + + + + + + the tracer + + + + the detailed hook + + + + the callback + + + + + + @@ -48127,11 +75308,16 @@ even from dynamically loaded plugins.) - Registers a new typefind function to be used for typefinding. After + 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 + %TRUE on success, %FALSE otherwise @@ -48139,15 +75325,21 @@ This function is typically called during an element's plugin initialization. - A #GstPlugin, or %NULL for a static typefind function + A #GstPlugin, or %NULL for a static typefind function - The name for registering + The name for registering - The rank (or importance) of this typefind function + The rank (or importance) of this typefind function - The #GstTypeFindFunction to use + The #GstTypeFindFunction to use - Optional comma-separated list of extensions + Optional comma-separated list of extensions that could belong to this type - Optionally the caps that could be returned when typefinding + Optionally the caps that could be returned when typefinding succeeds @@ -48175,19 +75373,92 @@ This function is typically called during an element's plugin initialization. - Optional user data. This user data must be available until the plugin + 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 + a #GDestroyNotify that will be called on @data when the plugin is unloaded. + + Checks if @type is plugin API. See gst_type_mark_as_plugin_api() for +details. + + + %TRUE if @type is plugin API or %FALSE otherwise. + + + + + a GType + + + + What #GstPluginAPIFlags the plugin was marked with + + + + + + Marks @type as plugin API. This should be called in `class_init` of +elements that expose new types (i.e. enums, flags or internal GObjects) via +properties, signals or pad templates. + +Types exposed by plugins are not automatically added to the documentation +as they might originate from another library and should in that case be +documented via that library instead. + +By marking a type as plugin API it will be included in the documentation of +the plugin that defines it. + + + + + + + a GType + + + + a set of #GstPluginAPIFlags to further inform cache generation. + + + + - Forces GStreamer to re-scan its plugin paths and update the default + 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 @@ -48203,8 +75474,11 @@ 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. + - %TRUE if the registry has been updated successfully (does not + %TRUE if the registry has been updated successfully (does not imply that there were changes), otherwise %FALSE. @@ -48213,22 +75487,31 @@ Note that this function may block for a significant amount of time. c:identifier="gst_uri_construct" moved-to="Uri.construct" deprecated="1"> - Constructs a URI for a given valid protocol and location. + Constructs a URI for a given valid protocol and location. Free-function: g_free Use GstURI instead. + - a new string for this URI. Returns %NULL if the + a new string for this URI. Returns %NULL if the given URI protocol is not valid, or the given location is %NULL. - Protocol for URI + Protocol for URI - Location for URI + Location for URI @@ -48236,6 +75519,7 @@ Free-function: g_free + @@ -48244,15 +75528,22 @@ Free-function: g_free c:identifier="gst_uri_from_string" moved-to="Uri.from_string" version="1.6"> - Parses a URI string into a new #GstUri object. Will return NULL if the URI + Parses a URI string into a new #GstUri object. Will return NULL if the URI cannot be parsed. + - A new #GstUri object, or NULL. + A new #GstUri object, or NULL. - The URI string to parse. + The URI string to parse. @@ -48260,21 +75551,28 @@ cannot be parsed. - Extracts the location out of a given valid URI, ie. the protocol and "://" + 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(). Free-function: g_free + - the location for this URI. Returns + the location for this URI. Returns %NULL if the URI isn't valid. If the URI does not contain a location, an empty string is returned. - A URI string + A URI string @@ -48282,15 +75580,22 @@ Free-function: g_free - Extracts the protocol out of a given valid URI. The returned string must be + Extracts the protocol out of a given valid URI. The returned string must be freed using g_free(). + - The protocol for this URI. + The protocol for this URI. - A URI string + A URI string @@ -48298,18 +75603,27 @@ freed using g_free(). - Checks if the protocol of a given valid URI matches @protocol. + Checks if the protocol of a given valid URI matches @protocol. + - %TRUE if the protocol matches. + %TRUE if the protocol matches. - a URI string + a URI string - a protocol string (e.g. "http") + a protocol string (e.g. "http") @@ -48317,15 +75631,22 @@ freed using g_free(). - Tests if the given string is a valid URI identifier. URIs start with a valid + 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 + %TRUE if the string is a valid URI - A URI string + A URI string @@ -48334,20 +75655,29 @@ scheme followed by ":" and maybe a string identifying the location. c:identifier="gst_uri_join_strings" moved-to="Uri.join_strings" version="1.6"> - This is a convenience function to join two URI strings and return the result. + This is a convenience function to join two URI strings and return the result. The returned string should be g_free()'d after use. + - A string representing the percent-encoded join of + A string representing the percent-encoded join of the two URIs. - The percent-encoded base URI. + The percent-encoded base URI. - The percent-encoded reference URI to join to the @base_uri. + The percent-encoded reference URI to join to the @base_uri. @@ -48355,20 +75685,29 @@ The returned string should be g_free()'d after use. - Checks if an element exists that supports the given URI protocol. Note + 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 + %TRUE - Whether to check for a source or a sink + Whether to check for a source or a sink - Protocol that should be checked for (e.g. "http" or "smb") + Protocol that should be checked for (e.g. "http" or "smb") @@ -48376,31 +75715,43 @@ gst_element_make_from_uri() is guaranteed to work. - Tests if the given string is a valid protocol identifier. Protocols + 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. + %TRUE if the string is a valid protocol identifier, %FALSE otherwise. - A string + A string - Searches inside @array for @search_data by using the comparison function + Searches inside @array for @search_data by using the comparison function @search_func. @array must be sorted ascending. 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 + The address of the found element or %NULL if nothing was found @@ -48409,68 +75760,91 @@ element or %NULL if nothing was found transfer-ownership="none" nullable="1" allow-none="1"> - the sorted input array + the sorted input array - number of elements in the array + number of elements in the array - size of every element in bytes + size of every element in bytes - function to compare two elements, @search_data will always be passed as second argument + function to compare two elements, @search_data will always be passed as second argument - search mode that should be used + search mode that should be used - element that should be found + element that should be found - data to pass to @search_func + data to pass to @search_func - Transforms a #gdouble to a fraction and simplifies + Transforms a #gdouble to a fraction and simplifies the result. + - #gdouble to transform + #gdouble to transform - pointer to a #gint to hold the result numerator + pointer to a #gint to hold the result numerator - pointer to a #gint to hold the result denominator + pointer to a #gint to hold the result denominator @@ -48478,174 +75852,249 @@ the result. - Dumps the buffer memory into a hex representation. Useful for debugging. + Dumps the buffer memory into a hex representation. Useful for debugging. + - a #GstBuffer whose memory to dump + a #GstBuffer whose memory to dump - Dumps the memory block into a hex representation. Useful for debugging. + Dumps the memory block into a hex representation. Useful for debugging. + - a pointer to the memory to dump + a pointer to the memory to dump - the size of the memory block to dump + the size of the memory block to dump - Adds the fractions @a_n/@a_d and @b_n/@b_d and stores + 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. + %FALSE on overflow, %TRUE otherwise. - Numerator of first value + Numerator of first value - Denominator of first value + Denominator of first value - Numerator of second value + Numerator of second value - Denominator of second value + Denominator of second value - Pointer to #gint to hold the result numerator + Pointer to #gint to hold the result numerator - Pointer to #gint to hold the result denominator + Pointer to #gint to hold the result denominator - Compares the fractions @a_n/@a_d and @b_n/@b_d and returns + 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. + -1 if a < b; 0 if a = b; 1 if a > b. - Numerator of first value + Numerator of first value - Denominator of first value + Denominator of first value - Numerator of second value + Numerator of second value - Denominator of second value + Denominator of second value - Multiplies the fractions @a_n/@a_d and @b_n/@b_d and stores + 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. + %FALSE on overflow, %TRUE otherwise. - Numerator of first value + Numerator of first value - Denominator of first value + Denominator of first value - Numerator of second value + Numerator of second value - Denominator of second value + Denominator of second value - Pointer to #gint to hold the result numerator + Pointer to #gint to hold the result numerator - Pointer to #gint to hold the result denominator + Pointer to #gint to hold the result denominator - Transforms a fraction to a #gdouble. + Transforms a fraction to a #gdouble. + - Fraction numerator as #gint + Fraction numerator as #gint - Fraction denominator #gint + Fraction denominator #gint - pointer to a #gdouble for the result + pointer to a #gdouble for the result + + @value casted to #guint64 + The #gdouble value to convert guint64 double @@ -48653,123 +76102,178 @@ the result in @res_n and @res_d. - Get a property of type %GST_TYPE_ARRAY and transform it into a + Get a property of type %GST_TYPE_ARRAY and transform it into a #GValueArray. This allow language bindings to get GST_TYPE_ARRAY properties which are otherwise not an accessible type. + - the object to set the array to + the object to set the array to - the name of the property to set + the name of the property to set - a return #GValueArray + a return #GValueArray - Get a timestamp as GstClockTime to be used for interval measurements. + Get a timestamp as GstClockTime to be used for interval measurements. The timestamp should not be interpreted in any other way. + - the timestamp + the timestamp - Calculates the greatest common divisor of @a + Calculates the greatest common divisor of @a and @b. + - Greatest common divisor of @a and @b + Greatest common divisor of @a and @b - First value as #gint + First value as #gint - Second value as #gint + Second value as #gint - Calculates the greatest common divisor of @a + Calculates the greatest common divisor of @a and @b. + - Greatest common divisor of @a and @b + Greatest common divisor of @a and @b - First value as #gint64 + First value as #gint64 - Second value as #gint64 + Second value as #gint64 - Return a constantly incrementing group id. + Return a constantly incrementing group id. This function is used to generate a new group-id for the stream-start event. This function never returns %GST_GROUP_ID_INVALID (which is 0) + - A constantly incrementing unsigned integer, which might + A constantly incrementing unsigned integer, which might overflow back to 0 at some point. + + @value casted to #gdouble + The #guint64 value to convert to double - Compare two sequence numbers, handling wraparound. + Compare two sequence numbers, handling wraparound. The current implementation just returns (gint32)(@s1 - @s2). + - A negative number if @s1 is before @s2, 0 if they are equal, or a + A negative number if @s1 is before @s2, 0 if they are equal, or a positive number if @s1 is after @s2. - A sequence number. + A sequence number. - Another sequence number. + Another sequence number. - Return a constantly incrementing 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 @@ -48777,8 +76281,11 @@ 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. This function never returns %GST_SEQNUM_INVALID (which is 0). + - A constantly incrementing 32-bit unsigned integer, which might + A constantly incrementing 32-bit unsigned integer, which might overflow at some point. Use gst_util_seqnum_compare() to make sure you handle wraparound correctly. @@ -48786,25 +76293,34 @@ you handle wraparound correctly. - Converts the string value to the type of the objects argument and + Converts 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 @name or when @value cannot be converted to the type of the property. + - the object to set the argument of + the object to set the argument of - the name of the argument to set + the name of the argument to set - the string value to set + the string value to set @@ -48812,34 +76328,46 @@ Note that this function silently returns if @object has no property named - Transfer a #GValueArray to %GST_TYPE_ARRAY and set this value on the + Transfer a #GValueArray to %GST_TYPE_ARRAY and set this value on the specified property name. This allow language bindings to set GST_TYPE_ARRAY properties which are otherwise not an accessible type. + - the object to set the array to + the object to set the array to - the name of the property to set + the name of the property to set - a #GValueArray containing the values + a #GValueArray containing the values - Converts the string to the type of the value and + 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. + @@ -48848,23 +76376,32 @@ if the conversion worked or not. direction="out" caller-allocates="1" transfer-ownership="none"> - the value to set + the value to set - the string to get the value from + the string to get the value from - Scale @val by the rational number @num / @denom, avoiding overflows and + 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. + - @val * @num / @denom. In the case of an overflow, this + @val * @num / @denom. In the case of an overflow, this 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(), @@ -48874,28 +76411,39 @@ gst_util_uint64_scale_int_ceil(). - the number to scale + the number to scale - the numerator of the scale ratio + the numerator of the scale ratio - the denominator of the scale ratio + the denominator of the scale ratio - Scale @val by the rational number @num / @denom, avoiding overflows and + 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. + - @val * @num / @denom. In the case of an overflow, this + @val * @num / @denom. In the case of an overflow, this 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(), @@ -48905,26 +76453,37 @@ gst_util_uint64_scale_int_ceil(). - the number to scale + the number to scale - the numerator of the scale ratio + the numerator of the scale ratio - the denominator of the scale ratio + the denominator of the scale ratio - Scale @val by the rational number @num / @denom, avoiding overflows and + Scale @val by the rational number @num / @denom, avoiding overflows and underflows and without loss of precision. @num must be non-negative and @denom must be positive. + - @val * @num / @denom. In the case of an overflow, this + @val * @num / @denom. In the case of an overflow, this 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(), @@ -48934,26 +76493,37 @@ gst_util_uint64_scale_ceil(). - guint64 (such as a #GstClockTime) to scale. + guint64 (such as a #GstClockTime) to scale. - numerator of the scale factor. + numerator of the scale factor. - denominator of the scale factor. + denominator of the scale factor. - Scale @val by the rational number @num / @denom, avoiding overflows and + Scale @val by the rational number @num / @denom, avoiding overflows and underflows and without loss of precision. @num must be non-negative and @denom must be positive. + - @val * @num / @denom. In the case of an overflow, this + @val * @num / @denom. In the case of an overflow, this 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(), @@ -48963,26 +76533,37 @@ gst_util_uint64_scale_ceil(). - guint64 (such as a #GstClockTime) to scale. + guint64 (such as a #GstClockTime) to scale. - numerator of the scale factor. + numerator of the scale factor. - denominator of the scale factor. + denominator of the scale factor. - Scale @val by the rational number @num / @denom, avoiding overflows and + Scale @val by the rational number @num / @denom, avoiding overflows and underflows and without loss of precision. @num must be non-negative and @denom must be positive. + - @val * @num / @denom. In the case of an overflow, this + @val * @num / @denom. In the case of an overflow, this 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(), @@ -48992,28 +76573,39 @@ gst_util_uint64_scale_round(), gst_util_uint64_scale_ceil(). - guint64 (such as a #GstClockTime) to scale. + guint64 (such as a #GstClockTime) to scale. - numerator of the scale factor. + numerator of the scale factor. - denominator of the scale factor. + denominator of the scale factor. - Scale @val by the rational number @num / @denom, avoiding overflows and + 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. + - @val * @num / @denom. In the case of an overflow, this + @val * @num / @denom. In the case of an overflow, this 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(), @@ -49023,123 +76615,179 @@ gst_util_uint64_scale_int_round(), gst_util_uint64_scale_int_ceil(). - the number to scale + the number to scale - the numerator of the scale ratio + the numerator of the scale ratio - the denominator of the scale ratio + the denominator of the scale ratio - Determines if @value1 and @value2 can be compared. + Determines if @value1 and @value2 can be compared. + - %TRUE if the values can be compared + %TRUE if the values can be compared - a value to compare + a value to compare - another value to compare + another value to compare - Determines if intersecting two values will produce a valid result. + Determines if intersecting two values will produce a valid result. Two values will produce a valid intersection if they have the same type. + - %TRUE if the values can intersect + %TRUE if the values can intersect - a value to intersect + a value to intersect - another value to intersect + another value to intersect - Checks if it's possible to subtract @subtrahend from @minuend. + Checks if it's possible to subtract @subtrahend from @minuend. + - %TRUE if a subtraction is possible + %TRUE if a subtraction is possible - the value to subtract from + the value to subtract from - the value to subtract + the value to subtract - Determines if @value1 and @value2 can be non-trivially unioned. + 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. + - %TRUE if there is a function allowing the two values to + %TRUE if there is a function allowing the two values to be unioned. - a value to union + a value to union - another value to union + another value to union - Compares @value1 and @value2. If @value1 and @value2 cannot be + 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 + comparison result - a value to compare + a value to compare - another value to compare + another value to compare - Tries to deserialize a string into the type specified by the given GValue. + 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 + %TRUE on success @@ -49147,147 +76795,234 @@ If the operation succeeds, %TRUE is returned, %FALSE otherwise. direction="out" caller-allocates="1" transfer-ownership="none"> - #GValue to fill with contents of + #GValue to fill with contents of deserialization - string to deserialize + string to deserialize - Fixate @src into a new value @dest. + Fixate @src into a new value @dest. For ranges, the first element is taken. For lists and arrays, the first item is fixated and returned. If @src is already fixed, this function returns %FALSE. + - %TRUE if @dest contains a fixated version of @src. + %TRUE if @dest contains a fixated version of @src. - the #GValue destination + the #GValue destination - the #GValue to fixate + the #GValue to fixate - Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets + Multiplies the two #GValue items containing a #GST_TYPE_FRACTION and sets @product to the product of the two fractions. + - %FALSE in case of an error (like integer overflow), %TRUE otherwise. + %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 + 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. + Subtracts the @subtrahend from the @minuend and sets @dest to the result. + - %FALSE in case of an error (like integer overflow), %TRUE otherwise. + %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 + a GValue initialized to #GST_TYPE_FRACTION - a GValue initialized to #GST_TYPE_FRACTION + a GValue initialized to #GST_TYPE_FRACTION - Gets the bitmask specified by @value. + Gets the bitmask specified by @value. + - the bitmask. + the bitmask. - a GValue initialized to #GST_TYPE_BITMASK + a GValue initialized to #GST_TYPE_BITMASK + + Receives a #GstBuffer as the value of @v. Does not return a reference to +the buffer, so the pointer is only valid for as long as the caller owns +a reference to @v. + + + + a #GValue to query + + + - Gets the contents of @value. The reference count of the returned + 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 + the contents of @value - a GValue initialized to GST_TYPE_CAPS + a GValue initialized to GST_TYPE_CAPS - Gets the contents of @value. + Gets the contents of @value. + - the contents of @value + the contents of @value - a GValue initialized to GST_TYPE_CAPS_FEATURES + a GValue initialized to GST_TYPE_CAPS_FEATURES - Gets the maximum of the range specified by @value. + Gets the maximum of the range specified by @value. + - the maximum of the range + the maximum of the range - a GValue initialized to GST_TYPE_DOUBLE_RANGE + a GValue initialized to GST_TYPE_DOUBLE_RANGE - Gets the minimum of the range specified by @value. + Gets the minimum of the range specified by @value. + - the minimum of the range + the minimum of the range - a GValue initialized to GST_TYPE_DOUBLE_RANGE + a GValue initialized to GST_TYPE_DOUBLE_RANGE @@ -49295,14 +77030,21 @@ before getting rid of the @value. - Retrieve the flags field of a GstFlagSet @value. + Retrieve the flags field of a GstFlagSet @value. + - the flags field of the flagset instance. + the flags field of the flagset instance. - a GValue initialized to #GST_TYPE_FLAG_SET + a GValue initialized to #GST_TYPE_FLAG_SET @@ -49310,176 +77052,280 @@ before getting rid of the @value. - Retrieve the mask field of a GstFlagSet @value. + Retrieve the mask field of a GstFlagSet @value. + - the mask field of the flagset instance. + the mask field of the flagset instance. - a GValue initialized to #GST_TYPE_FLAG_SET + a GValue initialized to #GST_TYPE_FLAG_SET - Gets the denominator of the fraction specified by @value. + Gets the denominator of the fraction specified by @value. + - the denominator of the fraction. + the denominator of the fraction. - a GValue initialized to #GST_TYPE_FRACTION + a GValue initialized to #GST_TYPE_FRACTION - Gets the numerator of the fraction specified by @value. + Gets the numerator of the fraction specified by @value. + - the numerator of the fraction. + the numerator of the fraction. - a GValue initialized to #GST_TYPE_FRACTION + a GValue initialized to #GST_TYPE_FRACTION - Gets the maximum of the range specified by @value. + Gets the maximum of the range specified by @value. + - the maximum of the range + the maximum of the range - a GValue initialized to GST_TYPE_FRACTION_RANGE + a GValue initialized to GST_TYPE_FRACTION_RANGE - Gets the minimum of the range specified by @value. + Gets the minimum of the range specified by @value. + - the minimum of the range + the minimum of the range - a GValue initialized to GST_TYPE_FRACTION_RANGE + a GValue initialized to GST_TYPE_FRACTION_RANGE - Gets the maximum of the range specified by @value. + Gets the maximum of the range specified by @value. + - the maximum of the range + the maximum of the range - a GValue initialized to GST_TYPE_INT64_RANGE + a GValue initialized to GST_TYPE_INT64_RANGE - Gets the minimum of the range specified by @value. + Gets the minimum of the range specified by @value. + - the minimum of the range + the minimum of the range - a GValue initialized to GST_TYPE_INT64_RANGE + a GValue initialized to GST_TYPE_INT64_RANGE - Gets the step of the range specified by @value. + Gets the step of the range specified by @value. + - the step of the range + the step of the range - a GValue initialized to GST_TYPE_INT64_RANGE + a GValue initialized to GST_TYPE_INT64_RANGE - Gets the maximum of the range specified by @value. + Gets the maximum of the range specified by @value. + - the maximum of the range + the maximum of the range - a GValue initialized to GST_TYPE_INT_RANGE + a GValue initialized to GST_TYPE_INT_RANGE - Gets the minimum of the range specified by @value. + Gets the minimum of the range specified by @value. + - the minimum of the range + the minimum of the range - a GValue initialized to GST_TYPE_INT_RANGE + a GValue initialized to GST_TYPE_INT_RANGE - Gets the step of the range specified by @value. + Gets the step of the range specified by @value. + - the step of the range + the step of the range - a GValue initialized to GST_TYPE_INT_RANGE + a GValue initialized to GST_TYPE_INT_RANGE + + Receives a #GstSample as the value of @v. Does not return a reference to +the sample, so the pointer is only valid for as long as the caller owns +a reference to @v. + + + + a #GValue to query + + + - Gets the contents of @value. + Gets the contents of @value. + - the contents of @value + the contents of @value - a GValue initialized to GST_TYPE_STRUCTURE + a GValue initialized to GST_TYPE_STRUCTURE - Initialises the target value to be of the same type as source and then copies + Initialises the target value to be of the same type as source and then copies the contents from source to target. + @@ -49488,22 +77334,31 @@ the contents from source to target. direction="out" caller-allocates="1" transfer-ownership="none"> - the target value + the target value - the source value + the source value - Calculates the intersection of two values. If the values have + Calculates the intersection of two values. If the values have a non-empty intersection, the value representing the intersection is placed in @dest, unless %NULL. If the intersection is non-empty, @dest is not modified. + - %TRUE if the intersection is non-empty + %TRUE if the intersection is non-empty @@ -49513,152 +77368,236 @@ is placed in @dest, unless %NULL. If the intersection is non-empty, transfer-ownership="full" optional="1" allow-none="1"> - + a uninitialized #GValue that will hold the calculated intersection value. May be %NULL if the resulting set if not needed. - a value to intersect + a value to intersect - another value to intersect + another value to intersect - Tests if the given GValue, if available in a GstStructure (or any other + Tests if the given GValue, if available in a GstStructure (or any other container) contains a "fixed" (which means: one value) or an "unfixed" (which means: multiple possible values, such as data lists or data ranges) value. + - true if the value is "fixed". + true if the value is "fixed". - the #GValue to check + the #GValue to check - Check that @value1 is a subset of @value2. + Check that @value1 is a subset of @value2. + - %TRUE is @value1 is a subset of @value2 + %TRUE is @value1 is a subset of @value2 - a #GValue + a #GValue - a #GValue + a #GValue - Registers functions to perform calculations on #GValue items of a given + Registers functions to perform calculations on #GValue items of a given type. Each type can only be added once. + - structure containing functions to register + structure containing functions to register - tries to transform the given @value into a string representation that allows + tries to transform the given @value into a string representation that allows getting back this string later on using gst_value_deserialize(). Free-function: g_free + - the serialization for @value + the serialization for @value or %NULL if none exists - a #GValue to serialize + a #GValue to serialize - Sets @value to the bitmask specified by @bitmask. + Sets @value to the bitmask specified by @bitmask. + - a GValue initialized to #GST_TYPE_BITMASK + a GValue initialized to #GST_TYPE_BITMASK - the bitmask + the bitmask + + Sets @b as the value of @v. Caller retains reference to buffer. + + + + a #GValue to receive the data + + + a #GstBuffer to assign to the GstValue + + + - Sets the contents of @value to @caps. A reference to the + 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 + a GValue initialized to GST_TYPE_CAPS - the caps to set the value to + the caps to set the value to - Sets the contents of @value to @features. + Sets the contents of @value to @features. + - a GValue initialized to GST_TYPE_CAPS_FEATURES + a GValue initialized to GST_TYPE_CAPS_FEATURES - the features to set the value to + the features to set the value to - Sets @value to the range specified by @start and @end. + Sets @value to the range specified by @start and @end. + - a GValue initialized to GST_TYPE_DOUBLE_RANGE + a GValue initialized to GST_TYPE_DOUBLE_RANGE - the start of the range + the start of the range - the end of the range + the end of the range @@ -49666,214 +77605,326 @@ provided @caps will be taken by the @value. - Sets @value to the flags and mask values provided in @flags and @mask. + Sets @value to the flags and mask values provided in @flags and @mask. The @flags value indicates the values of flags, the @mask represents which bits in the flag value have been set, and which are "don't care" + - a GValue initialized to %GST_TYPE_FLAG_SET + a GValue initialized to %GST_TYPE_FLAG_SET - The value of the flags set or unset + The value of the flags set or unset - The mask indicate which flags bits must match for comparisons + The mask indicate which flags bits must match for comparisons - Sets @value to the fraction specified by @numerator over @denominator. + 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 + a GValue initialized to #GST_TYPE_FRACTION - the numerator of the fraction + the numerator of the fraction - the denominator of the fraction + the denominator of the fraction - Sets @value to the range specified by @start and @end. + Sets @value to the range specified by @start and @end. + - a GValue initialized to GST_TYPE_FRACTION_RANGE + a GValue initialized to GST_TYPE_FRACTION_RANGE - the start of the range (a GST_TYPE_FRACTION GValue) + the start of the range (a GST_TYPE_FRACTION GValue) - the end 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 + Sets @value to the range specified by @numerator_start/@denominator_start and @numerator_end/@denominator_end. + - a GValue initialized to GST_TYPE_FRACTION_RANGE + a GValue initialized to GST_TYPE_FRACTION_RANGE - the numerator start of the range + the numerator start of the range - the denominator start of the range + the denominator start of the range - the numerator end of the range + the numerator end of the range - the denominator end of the range + the denominator end of the range - Sets @value to the range specified by @start and @end. + Sets @value to the range specified by @start and @end. + - a GValue initialized to GST_TYPE_INT64_RANGE + a GValue initialized to GST_TYPE_INT64_RANGE - the start of the range + the start of the range - the end of the range + the end of the range - Sets @value to the range specified by @start, @end and @step. + Sets @value to the range specified by @start, @end and @step. + - a GValue initialized to GST_TYPE_INT64_RANGE + a GValue initialized to GST_TYPE_INT64_RANGE - the start of the range + the start of the range - the end of the range + the end of the range - the step of the range + the step of the range - Sets @value to the range specified by @start and @end. + Sets @value to the range specified by @start and @end. + - a GValue initialized to GST_TYPE_INT_RANGE + a GValue initialized to GST_TYPE_INT_RANGE - the start of the range + the start of the range - the end of the range + the end of the range - Sets @value to the range specified by @start, @end and @step. + Sets @value to the range specified by @start, @end and @step. + - a GValue initialized to GST_TYPE_INT_RANGE + a GValue initialized to GST_TYPE_INT_RANGE - the start of the range + the start of the range - the end of the range + the end of the range - the step of the range + the step of the range + + Sets @b as the value of @v. Caller retains reference to sample. + + + + a #GValue to receive the data + + + a #GstSample to assign to the GstValue + + + - Sets the contents of @value to @structure. + Sets the contents of @value to @structure. + - a GValue initialized to GST_TYPE_STRUCTURE + a GValue initialized to GST_TYPE_STRUCTURE - the structure to set the value to + the structure to set the value to - Subtracts @subtrahend from @minuend and stores the result in @dest. + 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 + %TRUE if the subtraction is not empty @@ -49883,26 +77934,77 @@ Note that this means subtraction as in sets, not as in mathematics. transfer-ownership="none" optional="1" allow-none="1"> - the destination value + the destination value for the result if the subtraction is not empty. May be %NULL, in which case the resulting set will not be computed, which can give a fair speedup. - the value to subtract from + the value to subtract from - the value to subtract + the value to subtract + + Sets @b as the value of @v. Caller gives away reference to buffer. + + + + a #GValue to receive the data + + + a #GstBuffer to assign to the GstValue + + + + + Sets @b as the value of @v. Caller gives away reference to sample. + + + + a #GValue to receive the data + + + a #GstSample to assign to the GstValue + + + - Creates a GValue corresponding to the union of @value1 and @value2. + Creates a GValue corresponding to the union of @value1 and @value2. + - %TRUE if the union succeeded. + %TRUE if the union succeeded. @@ -49910,21 +78012,30 @@ Note that this means subtraction as in sets, not as in mathematics. direction="out" caller-allocates="1" transfer-ownership="none"> - the destination value + the destination value - a value to union + a value to union - another value to union + another value to union - Gets the version number of the GStreamer library. + Gets the version number of the GStreamer library. + @@ -49933,37 +78044,50 @@ Note that this means subtraction as in sets, not as in mathematics. direction="out" caller-allocates="0" transfer-ownership="full"> - pointer to a guint to store the major version number + 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 minor version number - pointer to a guint to store the micro version number + pointer to a guint to store the micro version number - pointer to a guint to store the nano version number + pointer to a guint to store the nano version number - This function returns a string that is useful for describing this version + This function returns a string that is useful for describing this version of GStreamer to the outside world: user agent strings, logging, ... + - a newly allocated string describing this version + a newly allocated string describing this version of GStreamer. diff --git a/girs/GstApp-1.0.gir b/girs/GstApp-1.0.gir index 775b6d294a..b8c04eb4f8 100644 --- a/girs/GstApp-1.0.gir +++ b/girs/GstApp-1.0.gir @@ -15,6 +15,60 @@ and/or use gtk-doc annotations. --> shared-library="libgstapp-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstAppSink" glib:get-type="gst_app_sink_get_type" glib:type-struct="AppSinkClass"> - Appsink is a sink plugin that supports many different methods for making + Appsink is a sink plugin that supports many different methods for making the application get a handle on the GStreamer data in a pipeline. Unlike most GStreamer elements, Appsink provides external API functions. @@ -58,8 +114,10 @@ is stopped or in the EOS state. You can check for the EOS state with the The eos signal can also be used to be informed when the EOS state is reached to avoid polling. + + @@ -70,6 +128,7 @@ to avoid polling. + @@ -80,6 +139,7 @@ to avoid polling. + @@ -90,7 +150,9 @@ to avoid polling. - Get the last preroll sample in @appsink. This was the sample that caused the + Get the last preroll sample in @appsink. This was the sample that caused the appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED @@ -108,20 +170,27 @@ If an EOS event was received before any buffers, this function returns This function blocks until a preroll sample or EOS is received or the appsink element is set to the READY/NULL state. + - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - This function blocks until a sample or EOS becomes available or the appsink + This function blocks until a sample or EOS becomes available or the appsink element is set to the READY/NULL state. This function will only return samples when the appsink is in the PLAYING @@ -132,14 +201,19 @@ especially when dealing with raw video frames. If an EOS event was received before any buffers, this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. + - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink @@ -147,7 +221,9 @@ If an EOS event was received before any buffers, this function returns - Get the last preroll sample in @appsink. This was the sample that caused the + Get the last preroll sample in @appsink. This was the sample that caused the appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED @@ -166,18 +242,25 @@ condition. This function blocks until a preroll sample or EOS is received, the appsink element is set to the READY/NULL state, or the timeout expires. + - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - the maximum amount of time to wait for the preroll sample + the maximum amount of time to wait for the preroll sample @@ -185,7 +268,9 @@ element is set to the READY/NULL state, or the timeout expires. - This function blocks until a sample or EOS becomes available or the appsink + This function blocks until a sample or EOS becomes available or the appsink element is set to the READY/NULL state or the timeout expires. This function will only return samples when the appsink is in the PLAYING @@ -197,18 +282,25 @@ especially when dealing with raw video frames. If an EOS event was received before any buffers or the timeout expires, this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. + - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - the maximum amount of time to wait for a sample + the maximum amount of time to wait for a sample @@ -216,110 +308,161 @@ Call gst_sample_unref() after usage. - Check if @appsink supports buffer lists. + Check if @appsink supports buffer lists. + - %TRUE if @appsink supports buffer lists. + %TRUE if @appsink supports buffer lists. - a #GstAppSink + a #GstAppSink - Get the configured caps on @appsink. + Get the configured caps on @appsink. + - the #GstCaps accepted by the sink. gst_caps_unref() after usage. + the #GstCaps accepted by the sink. gst_caps_unref() after usage. - a #GstAppSink + a #GstAppSink - Check if @appsink will drop old buffers when the maximum amount of queued + Check if @appsink will drop old buffers when the maximum amount of queued buffers is reached. + - %TRUE if @appsink is dropping old buffers when the queue is + %TRUE if @appsink is dropping old buffers when the queue is filled. - a #GstAppSink + a #GstAppSink - Check if appsink will emit the "new-preroll" and "new-sample" signals. + Check if appsink will emit the "new-preroll" and "new-sample" signals. + - %TRUE if @appsink is emiting the "new-preroll" and "new-sample" + %TRUE if @appsink is emitting the "new-preroll" and "new-sample" signals. - a #GstAppSink + a #GstAppSink - Get the maximum amount of buffers that can be queued in @appsink. + Get the maximum amount of buffers that can be queued in @appsink. + - The maximum amount of buffers that can be queued. + The maximum amount of buffers that can be queued. - a #GstAppSink + a #GstAppSink - Check if @appsink will wait for all buffers to be consumed when an EOS is + Check if @appsink will wait for all buffers to be consumed when an EOS is received. + - %TRUE if @appsink will wait for all buffers to be consumed when an + %TRUE if @appsink will wait for all buffers to be consumed when an EOS is received. - a #GstAppSink + a #GstAppSink - Check if @appsink is EOS, which is when no more samples can be pulled because + Check if @appsink is EOS, which is when no more samples can be pulled because an EOS event was received. This function also returns %TRUE when the appsink is not in the PAUSED or PLAYING state. + - %TRUE if no more samples can be pulled and the appsink is EOS. + %TRUE if no more samples can be pulled and the appsink is EOS. - a #GstAppSink + a #GstAppSink - Get the last preroll sample in @appsink. This was the sample that caused the + Get the last preroll sample in @appsink. This was the sample that caused the appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED @@ -337,20 +480,27 @@ If an EOS event was received before any buffers, this function returns This function blocks until a preroll sample or EOS is received or the appsink element is set to the READY/NULL state. + - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - This function blocks until a sample or EOS becomes available or the appsink + This function blocks until a sample or EOS becomes available or the appsink element is set to the READY/NULL state. This function will only return samples when the appsink is in the PLAYING @@ -361,14 +511,19 @@ especially when dealing with raw video frames. If an EOS event was received before any buffers, this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. + - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink @@ -376,20 +531,27 @@ If an EOS event was received before any buffers, this function returns - Instruct @appsink to enable or disable buffer list support. + Instruct @appsink to enable or disable buffer list support. For backwards-compatibility reasons applications need to opt in to indicate that they will be able to handle buffer lists. + - a #GstAppSink + a #GstAppSink - enable or disable buffer list support + enable or disable buffer list support @@ -397,124 +559,173 @@ to indicate that they will be able to handle buffer lists. - Set callbacks which will be executed for each new preroll, new sample and eos. + Set callbacks which will be executed for each new preroll, new sample and eos. This is an alternative to using the signals, it has lower overhead and is thus less expensive, but also less flexible. If callbacks are installed, no signals will be emitted for performance -reasons. +reasons. + +Before 1.16.3 it was not possible to change the callbacks in a thread-safe +way. + - a #GstAppSink + a #GstAppSink - the callbacks + the callbacks - a user_data argument for the callbacks + a user_data argument for the callbacks - a destroy notify function + a destroy notify function - Set the capabilities on the appsink element. This function takes + Set the capabilities on the appsink element. This function takes a copy of the caps structure. After calling this method, the sink will only accept caps that match @caps. If @caps is non-fixed, or incomplete, you must check the caps on the samples to get the actual used caps. + - a #GstAppSink + a #GstAppSink - caps to set + caps to set - Instruct @appsink to drop old buffers when the maximum amount of queued + Instruct @appsink to drop old buffers when the maximum amount of queued buffers is reached. + - a #GstAppSink + a #GstAppSink - the new state + the new state - Make appsink emit the "new-preroll" and "new-sample" signals. This option is + Make appsink emit the "new-preroll" and "new-sample" signals. This option is by default disabled because signal emission is expensive and unneeded when the application prefers to operate in pull mode. + - a #GstAppSink + a #GstAppSink - the new state + the new state - Set the maximum amount of buffers that can be queued in @appsink. After this + Set the maximum amount of buffers that can be queued in @appsink. After this amount of buffers are queued in appsink, any more buffers will block upstream elements until a sample is pulled from @appsink. + - a #GstAppSink + a #GstAppSink - the maximum number of buffers to queue + the maximum number of buffers to queue - Instruct @appsink to wait for all buffers to be consumed when an EOS is received. + Instruct @appsink to wait for all buffers to be consumed when an EOS is received. + - a #GstAppSink + a #GstAppSink - the new state + the new state @@ -522,7 +733,9 @@ elements until a sample is pulled from @appsink. - Get the last preroll sample in @appsink. This was the sample that caused the + Get the last preroll sample in @appsink. This was the sample that caused the appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED @@ -541,18 +754,25 @@ condition. This function blocks until a preroll sample or EOS is received, the appsink element is set to the READY/NULL state, or the timeout expires. + - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - the maximum amount of time to wait for the preroll sample + the maximum amount of time to wait for the preroll sample @@ -560,7 +780,9 @@ element is set to the READY/NULL state, or the timeout expires. - This function blocks until a sample or EOS becomes available or the appsink + This function blocks until a sample or EOS becomes available or the appsink element is set to the READY/NULL state or the timeout expires. This function will only return samples when the appsink is in the PLAYING @@ -572,18 +794,25 @@ especially when dealing with raw video frames. If an EOS event was received before any buffers or the timeout expires, this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. + - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - the maximum amount of time to wait for a sample + the maximum amount of time to wait for a sample @@ -616,19 +845,23 @@ Call gst_sample_unref() after usage. - + - Signal that the end-of-stream has been reached. This signal is emitted from + Signal that the end-of-stream has been reached. This signal is emitted from the streaming thread. - Signal that a new preroll sample is available. + Signal that a new preroll sample is available. This signal is emitted from the streaming thread and only when the "emit-signals" property is %TRUE. @@ -644,7 +877,9 @@ set to %TRUE, which it is not by default for performance reasons. - Signal that a new sample is available. + Signal that a new sample is available. This signal is emitted from the streaming thread and only when the "emit-signals" property is %TRUE. @@ -660,7 +895,9 @@ set to %TRUE, which it is not by default for performance reasons. - Get the last preroll sample in @appsink. This was the sample that caused the + Get the last preroll sample in @appsink. This was the sample that caused the appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED @@ -679,12 +916,16 @@ If an EOS event was received before any buffers, this function returns This function blocks until a preroll sample or EOS is received or the appsink element is set to the READY/NULL state. - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. - This function blocks until a sample or EOS becomes available or the appsink + This function blocks until a sample or EOS becomes available or the appsink element is set to the READY/NULL state. This function will only return samples when the appsink is in the PLAYING @@ -699,7 +940,9 @@ the "drop" and "max-buffers" properties. If an EOS event was received before any buffers, this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. @@ -707,7 +950,9 @@ If an EOS event was received before any buffers, this function returns when="last" action="1" version="1.10"> - Get the last preroll sample in @appsink. This was the sample that caused the + Get the last preroll sample in @appsink. This was the sample that caused the appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED @@ -727,12 +972,16 @@ condition. This function blocks until a preroll sample or EOS is received, the appsink element is set to the READY/NULL state, or the timeout expires. - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - the maximum amount of time to wait for the preroll sample + the maximum amount of time to wait for the preroll sample @@ -741,7 +990,9 @@ element is set to the READY/NULL state, or the timeout expires. when="last" action="1" version="1.10"> - This function blocks until a sample or EOS becomes available or the appsink + This function blocks until a sample or EOS becomes available or the appsink element is set to the READY/NULL state or the timeout expires. This function will only return samples when the appsink is in the PLAYING @@ -757,12 +1008,16 @@ If an EOS event was received before any buffers or the timeout expires, this function returns %NULL. Use gst_app_sink_is_eos () to check for the EOS condition. - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. - the maximum amount of time to wait for a sample + the maximum amount of time to wait for a sample @@ -771,10 +1026,14 @@ for the EOS condition. - A set of callbacks that can be installed on the appsink with + A set of callbacks that can be installed on the appsink with gst_app_sink_set_callbacks(). + + @@ -794,6 +1053,7 @@ gst_app_sink_set_callbacks(). + @@ -813,6 +1073,7 @@ gst_app_sink_set_callbacks(). + @@ -831,7 +1092,7 @@ gst_app_sink_set_callbacks(). - + @@ -839,11 +1100,13 @@ gst_app_sink_set_callbacks(). + + @@ -856,6 +1119,7 @@ gst_app_sink_set_callbacks(). + @@ -868,6 +1132,7 @@ gst_app_sink_set_callbacks(). + @@ -880,14 +1145,19 @@ gst_app_sink_set_callbacks(). + - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink @@ -895,14 +1165,19 @@ gst_app_sink_set_callbacks(). + - a #GstSample or NULL when the appsink is stopped or EOS. + a #GstSample or NULL when the appsink is stopped or EOS. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink @@ -910,18 +1185,25 @@ gst_app_sink_set_callbacks(). + - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - the maximum amount of time to wait for the preroll sample + the maximum amount of time to wait for the preroll sample @@ -929,30 +1211,38 @@ gst_app_sink_set_callbacks(). + - a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. + a #GstSample or NULL when the appsink is stopped or EOS or the timeout expires. Call gst_sample_unref() after usage. - a #GstAppSink + a #GstAppSink - the maximum amount of time to wait for a sample + the maximum amount of time to wait for a sample - + + glib:type-name="GstAppSrc" glib:get-type="gst_app_src_get_type" glib:type-struct="AppSrcClass"> - The appsrc element can be used by applications to insert data into a + The appsrc element can be used by applications to insert data into a GStreamer pipeline. Unlike most GStreamer elements, appsrc provides external API functions. @@ -1012,7 +1304,7 @@ mode when implementing various network protocols or hardware devices. The pull mode, in which the need-data signal triggers the next push-buffer call. This mode is typically used in the "random-access" stream-type. Use this -mode for file access or other randomly accessable sources. In this mode, a +mode for file access or other randomly accessible sources. In this mode, a buffer of exactly the amount of bytes given by the need-data signal should be pushed into appsrc. @@ -1025,23 +1317,32 @@ When the application has finished pushing data into appsrc, it should call gst_app_src_end_of_stream() or emit the end-of-stream action signal. After this call, no more buffers can be pushed into appsrc until a flushing seek occurs or the state of the appsrc has gone through READY. + - Indicates to the appsrc element that the last buffer queued in the + Indicates to the appsrc element that the last buffer queued in the element is the last buffer of the stream. + - #GST_FLOW_OK when the EOS was successfuly queued. + #GST_FLOW_OK when the EOS was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - a #GstAppSrc + a #GstAppSrc + @@ -1052,6 +1353,7 @@ element is the last buffer of the stream. + @@ -1065,24 +1367,33 @@ element is the last buffer of the stream. - Adds a buffer to the queue of buffers that the appsrc element will + Adds a buffer to the queue of buffers that the appsrc element will push to its source pad. This function takes ownership of the buffer. When the block property is TRUE, this function can block until free space becomes available in the queue. + - #GST_FLOW_OK when the buffer was successfuly queued. + #GST_FLOW_OK when the buffer was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstBuffer to push + a #GstBuffer to push @@ -1090,31 +1401,42 @@ space becomes available in the queue. - Adds a buffer list to the queue of buffers and buffer lists that the + Adds a buffer list to the queue of buffers and buffer lists that the appsrc element will push to its source pad. This function takes ownership of @buffer_list. When the block property is TRUE, this function can block until free space becomes available in the queue. + - #GST_FLOW_OK when the buffer list was successfuly queued. + #GST_FLOW_OK when the buffer list was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstBufferList to push + a #GstBufferList to push - Extract a buffer from the provided sample and adds it to the queue of + Extract a buffer from the provided sample and adds it to the queue of buffers that the appsrc element will push to its source pad. Any previous caps that were set on appsrc will be replaced by the caps associated with the sample if not equal. @@ -1124,25 +1446,33 @@ sample so the sample needs to be unreffed after calling this function. When the block property is TRUE, this function can block until free space becomes available in the queue. + - #GST_FLOW_OK when the buffer was successfuly queued. + #GST_FLOW_OK when the buffer was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstSample from which buffer and caps may be + a #GstSample from which buffer and caps may be extracted + @@ -1156,29 +1486,43 @@ extracted - Indicates to the appsrc element that the last buffer queued in the + Indicates to the appsrc element that the last buffer queued in the element is the last buffer of the stream. + - #GST_FLOW_OK when the EOS was successfuly queued. + #GST_FLOW_OK when the EOS was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - a #GstAppSrc + a #GstAppSrc - Get the configured caps on @appsrc. + Get the configured caps on @appsrc. + - the #GstCaps produced by the source. gst_caps_unref() after usage. + the #GstCaps produced by the source. gst_caps_unref() after usage. - a #GstAppSrc + a #GstAppSrc @@ -1186,14 +1530,21 @@ element is the last buffer of the stream. - Get the number of currently queued bytes inside @appsrc. + Get the number of currently queued bytes inside @appsrc. + - The number of currently queued bytes. + The number of currently queued bytes. - a #GstAppSrc + a #GstAppSrc @@ -1201,121 +1552,174 @@ element is the last buffer of the stream. - Get the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is + Get the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is not known. + - the duration of the stream previously set with gst_app_src_set_duration(); + the duration of the stream previously set with gst_app_src_set_duration(); - a #GstAppSrc + a #GstAppSrc - Check if appsrc will emit the "new-preroll" and "new-buffer" signals. + Check if appsrc will emit the "new-preroll" and "new-buffer" signals. + - %TRUE if @appsrc is emitting the "new-preroll" and "new-buffer" + %TRUE if @appsrc is emitting the "new-preroll" and "new-buffer" signals. - a #GstAppSrc + a #GstAppSrc - Retrieve the min and max latencies in @min and @max respectively. + Retrieve the min and max latencies in @min and @max respectively. + - a #GstAppSrc + a #GstAppSrc - the min latency + the min latency - the max latency + the max latency - Get the maximum amount of bytes that can be queued in @appsrc. + Get the maximum amount of bytes that can be queued in @appsrc. + - The maximum amount of bytes that can be queued. + The maximum amount of bytes that can be queued. - a #GstAppSrc + a #GstAppSrc - Get the size of the stream in bytes. A value of -1 means that the size is + Get the size of the stream in bytes. A value of -1 means that the size is not known. + - the size of the stream previously set with gst_app_src_set_size(); + the size of the stream previously set with gst_app_src_set_size(); - a #GstAppSrc + a #GstAppSrc - Get the stream type. Control the stream type of @appsrc + Get the stream type. Control the stream type of @appsrc with gst_app_src_set_stream_type(). + - the stream type. + the stream type. - a #GstAppSrc + a #GstAppSrc - Adds a buffer to the queue of buffers that the appsrc element will + Adds a buffer to the queue of buffers that the appsrc element will push to its source pad. This function takes ownership of the buffer. When the block property is TRUE, this function can block until free space becomes available in the queue. + - #GST_FLOW_OK when the buffer was successfuly queued. + #GST_FLOW_OK when the buffer was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstBuffer to push + a #GstBuffer to push @@ -1323,25 +1727,34 @@ space becomes available in the queue. - Adds a buffer list to the queue of buffers and buffer lists that the + Adds a buffer list to the queue of buffers and buffer lists that the appsrc element will push to its source pad. This function takes ownership of @buffer_list. When the block property is TRUE, this function can block until free space becomes available in the queue. + - #GST_FLOW_OK when the buffer list was successfuly queued. + #GST_FLOW_OK when the buffer list was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstBufferList to push + a #GstBufferList to push @@ -1349,7 +1762,9 @@ space becomes available in the queue. - Extract a buffer from the provided sample and adds it to the queue of + Extract a buffer from the provided sample and adds it to the queue of buffers that the appsrc element will push to its source pad. Any previous caps that were set on appsrc will be replaced by the caps associated with the sample if not equal. @@ -1359,19 +1774,26 @@ sample so the sample needs to be unreffed after calling this function. When the block property is TRUE, this function can block until free space becomes available in the queue. + - #GST_FLOW_OK when the buffer was successfuly queued. + #GST_FLOW_OK when the buffer was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstSample from which buffer and caps may be + a #GstSample from which buffer and caps may be extracted @@ -1380,53 +1802,74 @@ extracted - Set callbacks which will be executed when data is needed, enough data has + Set callbacks which will be executed when data is needed, enough data has been collected or when a seek should be performed. This is an alternative to using the signals, it has lower overhead and is thus less expensive, but also less flexible. If callbacks are installed, no signals will be emitted for performance -reasons. +reasons. + +Before 1.16.3 it was not possible to change the callbacks in a thread-safe +way. + - a #GstAppSrc + a #GstAppSrc - the callbacks + the callbacks - a user_data argument for the callbacks + a user_data argument for the callbacks - a destroy notify function + a destroy notify function - Set the capabilities on the appsrc element. This function takes + Set the capabilities on the appsrc element. This function takes a copy of the caps structure. After calling this method, the source will only produce caps that match @caps. @caps must be fixed and the caps on the buffers must match the caps or left NULL. + - a #GstAppSrc + a #GstAppSrc - caps to set + caps to set @@ -1434,113 +1877,157 @@ buffers must match the caps or left NULL. - Set the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is + Set the duration of the stream in nanoseconds. A value of GST_CLOCK_TIME_NONE means that the duration is not known. + - a #GstAppSrc + a #GstAppSrc - the duration to set + the duration to set - Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is + Make appsrc emit the "new-preroll" and "new-buffer" signals. This option is by default disabled because signal emission is expensive and unneeded when the application prefers to operate in pull mode. + - a #GstAppSrc + a #GstAppSrc - the new state + the new state - Configure the @min and @max latency in @src. If @min is set to -1, the + Configure the @min and @max latency in @src. If @min is set to -1, the default latency calculations for pseudo-live sources will be used. + - a #GstAppSrc + a #GstAppSrc - the min latency + the min latency - the max latency + the max latency - Set the maximum amount of bytes that can be queued in @appsrc. + Set the maximum amount of bytes that can be queued in @appsrc. After the maximum amount of bytes are queued, @appsrc will emit the "enough-data" signal. + - a #GstAppSrc + a #GstAppSrc - the maximum number of bytes to queue + the maximum number of bytes to queue - Set the size of the stream in bytes. A value of -1 means that the size is + Set the size of the stream in bytes. A value of -1 means that the size is not known. + - a #GstAppSrc + a #GstAppSrc - the size to set + the size to set - Set the stream type on @appsrc. For seekable streams, the "seek" signal must + Set the stream type on @appsrc. For seekable streams, the "seek" signal must be connected to. A stream_type stream + - a #GstAppSrc + a #GstAppSrc - the new state + the new state @@ -1591,18 +2078,22 @@ A stream_type stream - + - Notify @appsrc that no more buffer are available. + Notify @appsrc that no more buffer are available. - Signal that the source has enough data. It is recommended that the + Signal that the source has enough data. It is recommended that the application stops calling push-buffer until the need-data signal is emitted again to avoid excessive buffer queueing. @@ -1610,7 +2101,9 @@ emitted again to avoid excessive buffer queueing. - Signal that the source needs more data. In the callback or from another + Signal that the source needs more data. In the callback or from another thread you should call push-buffer or end-of-stream. @length is just a hint and when it is set to -1, any number of bytes can be @@ -1623,13 +2116,17 @@ fired. - the amount of bytes needed. + the amount of bytes needed. - Adds a buffer to the queue of buffers that the appsrc element will + Adds a buffer to the queue of buffers that the appsrc element will push to its source pad. This function does not take ownership of the buffer so the buffer needs to be unreffed after calling this function. @@ -1640,7 +2137,9 @@ becomes available in the queue. - a buffer to push + a buffer to push @@ -1649,7 +2148,9 @@ becomes available in the queue. when="last" action="1" version="1.14"> - Adds a buffer list to the queue of buffers and buffer lists that the + Adds a buffer list to the queue of buffers and buffer lists that the appsrc element will push to its source pad. This function does not take ownership of the buffer list so the buffer list needs to be unreffed after calling this function. @@ -1661,13 +2162,17 @@ becomes available in the queue. - a buffer list to push + a buffer list to push - Extract a buffer from the provided sample and adds the extracted buffer + Extract a buffer from the provided sample and adds the extracted buffer to the queue of buffers that the appsrc element will push to its source pad. This function set the appsrc caps based on the caps in the sample and reset the caps if they change. @@ -1683,22 +2188,30 @@ becomes available in the queue. - a sample from which extract buffer to push + a sample from which extract buffer to push - Seek to the given offset. The next push-buffer should produce buffers from + Seek to the given offset. The next push-buffer should produce buffers from the new @offset. This callback is only called for seekable stream types. - %TRUE if the seek succeeded. + %TRUE if the seek succeeded. - the offset to seek to + the offset to seek to @@ -1707,10 +2220,14 @@ This callback is only called for seekable stream types. - A set of callbacks that can be installed on the appsrc with + A set of callbacks that can be installed on the appsrc with gst_app_src_set_callbacks(). + + @@ -1733,6 +2250,7 @@ gst_app_src_set_callbacks(). + @@ -1752,6 +2270,7 @@ gst_app_src_set_callbacks(). + @@ -1773,7 +2292,7 @@ gst_app_src_set_callbacks(). - + @@ -1781,11 +2300,13 @@ gst_app_src_set_callbacks(). + + @@ -1801,6 +2322,7 @@ gst_app_src_set_callbacks(). + @@ -1813,6 +2335,7 @@ gst_app_src_set_callbacks(). + @@ -1828,19 +2351,26 @@ gst_app_src_set_callbacks(). + - #GST_FLOW_OK when the buffer was successfuly queued. + #GST_FLOW_OK when the buffer was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstBuffer to push + a #GstBuffer to push @@ -1848,14 +2378,19 @@ gst_app_src_set_callbacks(). + - #GST_FLOW_OK when the EOS was successfuly queued. + #GST_FLOW_OK when the EOS was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. - a #GstAppSrc + a #GstAppSrc @@ -1863,19 +2398,26 @@ gst_app_src_set_callbacks(). + - #GST_FLOW_OK when the buffer was successfuly queued. + #GST_FLOW_OK when the buffer was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstSample from which buffer and caps may be + a #GstSample from which buffer and caps may be extracted @@ -1884,58 +2426,110 @@ extracted + - #GST_FLOW_OK when the buffer list was successfuly queued. + #GST_FLOW_OK when the buffer list was successfully queued. #GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. -#GST_FLOW_EOS when EOS occured. +#GST_FLOW_EOS when EOS occurred. - a #GstAppSrc + a #GstAppSrc - a #GstBufferList to push + a #GstBufferList to push - + + - The stream type. + The stream type. - No seeking is supported in the stream, such as a + No seeking is supported in the stream, such as a live stream. - The stream is seekable but seeking might not + The stream is seekable but seeking might not be very fast, such as data from a webserver. - The stream is seekable and seeking is fast, + The stream is seekable and seeking is fast, such as in a local file. + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/girs/GstAudio-1.0.gir b/girs/GstAudio-1.0.gir index 81348a6b34..6a11bf0228 100644 --- a/girs/GstAudio-1.0.gir +++ b/girs/GstAudio-1.0.gir @@ -18,24 +18,474 @@ and/or use gtk-doc annotations. --> shared-library="libgstaudio-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get the #GstClock of @obj. + + + + a #GstAudioBaseSink + + + + + + + + + + + + Get the sink #GstPad of @obj. + + + + a #GstAudioBaseSink + + + + + + + + + + + + + + + + + + + + + + + + + + Get the #GstClock of @obj. + + + + a #GstAudioBaseSrc + + + + + + + + + + + + Get the source #GstPad of @obj. + + + + a #GstAudioBaseSrc + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Generic caps string for audio, for use in pad templates. + + + + string format that describes the sample layout, as string + (e.g. "S16LE", "S8", etc.) + + + + + + + + + + + + + + + + + + + + + + + + - Maximum range of allowed channels, for use in template caps strings. + Maximum range of allowed channels, for use in template caps strings. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - #GST_TYPE_AUDIO_DITHER_METHOD, The dither method to use when + #GstAudioDitherMethod, The dither method to use when changing bit depth. Default is #GST_AUDIO_DITHER_NONE. + - #GST_TYPE_VALUE_LIST, The channel mapping matrix. + #GST_TYPE_LIST, The channel mapping matrix. The matrix coefficients must be between -1 and 1: the number of rows is equal to the number of output channels and the number of columns is equal to the @@ -62,94 +512,884 @@ g_value_unset (&v2); g_object_set_property (G_OBJECT (audiomixmatrix), "matrix", &v); g_value_unset (&v); ]| + - #GST_TYPE_AUDIO_NOISE_SHAPING_METHOD, The noise shaping method to use + #GstAudioNoiseShapingMethod, The noise shaping method to use to mask noise from quantization errors. Default is #GST_AUDIO_NOISE_SHAPING_NONE. + - #G_TYPE_UINT, The quantization amount. Components will be + #G_TYPE_UINT, The quantization amount. Components will be quantized to multiples of this value. Default is 1 + - #GST_TYPE_AUDIO_RESAMPLER_METHOD, The resampler method to use when + #GstAudioResamplerMethod, The resampler method to use when changing sample rates. Default is #GST_AUDIO_RESAMPLER_METHOD_BLACKMAN_NUTTALL. + + + + + + + + + + + + + + + + + + + + + + + + Utility function that audio decoder elements can use in case they encountered +a data processing error that may be fatal for the current "data unit" but +need not prevent subsequent decoding. Such errors are counted and if there +are too many, as configured in the context's max_errors, the pipeline will +post an error message and the application will be requested to stop further +media processing. Otherwise, it is considered a "glitch" and only a warning +is logged. In either case, @ret is set to the proper value to +return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK). + + + + the base audio decoder element that generates the error + + + element defined weight of the error, added to error count + + + like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError) + + + error code defined for that domain (see #gstreamer-GstGError) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + variable to receive return value + + + + + + + + + + + + Gives the input segment of the element. + + + + audio decoder instance + + + - Default maximum number of errors tolerated before signaling error. + Default maximum number of errors tolerated before signaling error. + + + Gives the output segment of the element. + + + + audio decoder instance + + + - The name of the templates for the sink pad. + The name of the templates for the sink pad. + + + Gives the pointer to the sink #GstPad object of the element. + + + + base audio codec instance + + + - The name of the templates for the source pad. + The name of the templates for the source pad. + + + Gives the pointer to the source #GstPad object of the element. + + + + base audio codec instance + + + + + + + + + + + + + + + + + - Standard number of channels used in consumer audio. + Standard number of channels used in consumer audio. + - Standard format used in consumer audio. + Standard format used in consumer audio. + - Standard sampling rate used in consumer audio. + Standard sampling rate used in consumer audio. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives the input segment of the element. + + + + base parse instance + + + + + Gives the output segment of the element. + + + + base parse instance + + + - the name of the templates for the sink pad + the name of the templates for the sink pad + + + Gives the pointer to the sink #GstPad object of the element. + + + + audio encoder instance + + + - the name of the templates for the source pad + the name of the templates for the source pad + + + Gives the pointer to the source #GstPad object of the element. + + + + audio encoder instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - List of all audio formats, for use in template caps strings. + List of all audio formats, for use in template caps strings. + +Formats are sorted by decreasing "quality", using these criteria by priority: + - depth + - width + - Float > Signed > Unsigned + - native endianness preferred + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Turns audio format string @s into the format string for native endianness. + + + + format string without endianness marker + + + + + Turns audio format string @s into the format string for other endianness. + + + + format string without endianness marker + + + - Maximum range of allowed sample rates, for use in template caps strings. + Maximum range of allowed sample rates, for use in template caps strings. + - G_TYPE_DOUBLE, B parameter of the cubic filter. + G_TYPE_DOUBLE, B parameter of the cubic filter. Values between 0.0 and 2.0 are accepted. 1.0 is the default. Below are some values of popular filters: @@ -157,107 +1397,292 @@ Below are some values of popular filters: Hermite 0.0 0.0 Spline 1.0 0.0 Catmull-Rom 0.0 1/2 + - G_TYPE_DOUBLE, C parameter of the cubic filter. + G_TYPE_DOUBLE, C parameter of the cubic filter. Values between 0.0 and 2.0 are accepted. 0.0 is the default. See #GST_AUDIO_RESAMPLER_OPT_CUBIC_B for some more common values + - G_TYPE_DOUBLE, Cutoff parameter for the filter. 0.940 is the default. + G_TYPE_DOUBLE, Cutoff parameter for the filter. 0.940 is the default. + - GST_TYPE_AUDIO_RESAMPLER_INTERPOLATION: how the filter coeficients should be + GST_TYPE_AUDIO_RESAMPLER_INTERPOLATION: how the filter coefficients should be interpolated. GST_AUDIO_RESAMPLER_FILTER_INTERPOLATION_CUBIC is default. + - GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE: how the filter tables should be + GST_TYPE_AUDIO_RESAMPLER_FILTER_MODE: how the filter tables should be constructed. GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO is the default. + - G_TYPE_UINT: the amount of memory to use for full filter tables before + G_TYPE_UINT: the amount of memory to use for full filter tables before switching to interpolated filter tables. 1048576 is the default. + - G_TYPE_UINT, oversampling to use when interpolating filters + G_TYPE_UINT, oversampling to use when interpolating filters 8 is the default. + - G_TYPE_DOUBLE: The maximum allowed phase error when switching sample + G_TYPE_DOUBLE: The maximum allowed phase error when switching sample rates. 0.1 is the default. + - G_TYPE_INT: the number of taps to use for the filter. + G_TYPE_INT: the number of taps to use for the filter. 0 is the default and selects the taps automatically. + - G_TYPE_DOUBLE, stopband attenuation in decibels. The attenuation + G_TYPE_DOUBLE, stopband attenuation in decibels. The attenuation after the stopband for the kaiser window. 85 dB is the default. + - G_TYPE_DOUBLE, transition bandwidth. The width of the + G_TYPE_DOUBLE, transition bandwidth. The width of the transition band for the kaiser window. 0.087 is the default. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Subclasses must use (a subclass of) #GstAudioAggregatorPad for both + Subclasses must use (a subclass of) #GstAudioAggregatorPad for both their source and sink pads, gst_element_class_add_static_pad_template_with_gtype() is a convenient helper. @@ -287,7 +1712,11 @@ A notable exception for now is the sample rate, sink pads must have the same sample rate as either the downstream requirement, or the first configured pad, or a combination of both (when downstream specifies a range or a set of acceptable rates). + + @@ -316,6 +1745,8 @@ downstream specifies a range or a set of acceptable rates). + @@ -330,6 +1761,8 @@ downstream specifies a range or a set of acceptable rates). + @@ -358,11 +1791,22 @@ downstream specifies a range or a set of acceptable rates). transfer-ownership="none"> + + Output block size in nanoseconds, expressed as a fraction. + + - The caps set by the subclass + The caps set by the subclass @@ -370,19 +1814,24 @@ downstream specifies a range or a set of acceptable rates). c:type="GstAudioAggregatorPrivate*"/> - + + glib:is-gtype-struct-for="AudioAggregator" + version="1.14"> + + @@ -398,6 +1847,8 @@ downstream specifies a range or a set of acceptable rates). + @@ -427,7 +1878,7 @@ downstream specifies a range or a set of acceptable rates). - + @@ -435,13 +1886,18 @@ downstream specifies a range or a set of acceptable rates). - An implementation of GstPad that can be used with #GstAudioAggregator. + An implementation of GstPad that can be used with #GstAudioAggregator. See #GstAudioAggregator for more details. + @@ -453,20 +1909,23 @@ See #GstAudioAggregator for more details. c:type="GstAudioAggregatorConvertPadPrivate*"/> - + + glib:is-gtype-struct-for="AudioAggregatorConvertPad" + version="1.14"> + - + @@ -474,16 +1933,25 @@ See #GstAudioAggregator for more details. + - The default implementation of GstPad used with #GstAudioAggregator + The default implementation of GstPad used with #GstAudioAggregator + + @@ -503,6 +1971,8 @@ See #GstAudioAggregator for more details. + @@ -516,7 +1986,9 @@ See #GstAudioAggregator for more details. - The audio info for this pad set from the incoming caps + The audio info for this pad set from the incoming caps @@ -524,20 +1996,25 @@ See #GstAudioAggregator for more details. c:type="GstAudioAggregatorPadPrivate*"/> - + + glib:is-gtype-struct-for="AudioAggregatorPad" + version="1.14"> + + @@ -559,6 +2036,8 @@ See #GstAudioAggregator for more details. + @@ -570,7 +2049,7 @@ See #GstAudioAggregator for more details. - + @@ -578,10 +2057,14 @@ See #GstAudioAggregator for more details. + + glib:type-name="GstAudioBaseSink" glib:get-type="gst_audio_base_sink_get_type" glib:type-struct="AudioBaseSinkClass"> - This is the base class for audio sinks. Subclasses need to implement the + This is the base class for audio sinks. Subclasses need to implement the ::create_ringbuffer vmethod. This base class will then take care of writing samples to the ringbuffer, synchronisation, clipping and flushing. + - Create and return the #GstAudioRingBuffer for @sink. This function will + Create and return the #GstAudioRingBuffer for @sink. This function will call the ::create_ringbuffer vmethod and will set @sink as the parent of the returned buffer (see gst_object_set_parent()). + - The new ringbuffer of @sink. + The new ringbuffer of @sink. - a #GstAudioBaseSink. + a #GstAudioBaseSink. + @@ -623,88 +2120,136 @@ the returned buffer (see gst_object_set_parent()). - Create and return the #GstAudioRingBuffer for @sink. This function will + Create and return the #GstAudioRingBuffer for @sink. This function will call the ::create_ringbuffer vmethod and will set @sink as the parent of the returned buffer (see gst_object_set_parent()). + - The new ringbuffer of @sink. + The new ringbuffer of @sink. - a #GstAudioBaseSink. + a #GstAudioBaseSink. - Get the current alignment threshold, in nanoseconds, used by @sink. + Get the current alignment threshold, in nanoseconds, used by @sink. + - The current alignment threshold used by @sink. + The current alignment threshold used by @sink. - a #GstAudioBaseSink + a #GstAudioBaseSink - Get the current discont wait, in nanoseconds, used by @sink. + Get the current discont wait, in nanoseconds, used by @sink. + - The current discont wait used by @sink. + The current discont wait used by @sink. - a #GstAudioBaseSink + a #GstAudioBaseSink - Get the current drift tolerance, in microseconds, used by @sink. + Get the current drift tolerance, in microseconds, used by @sink. + - The current drift tolerance used by @sink. + The current drift tolerance used by @sink. - a #GstAudioBaseSink + a #GstAudioBaseSink - Queries whether @sink will provide a clock or not. See also + Queries whether @sink will provide a clock or not. See also gst_audio_base_sink_set_provide_clock. + - %TRUE if @sink will provide a clock. + %TRUE if @sink will provide a clock. - a #GstAudioBaseSink + a #GstAudioBaseSink - Get the current slave method used by @sink. + Get the current slave method used by @sink. + - The current slave method used by @sink. + The current slave method used by @sink. - a #GstAudioBaseSink + a #GstAudioBaseSink @@ -712,34 +2257,48 @@ gst_audio_base_sink_set_provide_clock. - Informs this base class that the audio output device has failed for + Informs this base class that the audio output device has failed for some reason, causing a discontinuity (for example, because the device recovered from the error, but lost all contents of its ring buffer). This function is typically called by derived classes, and is useful for the custom slave method. + - a #GstAudioBaseSink + a #GstAudioBaseSink - Controls the sink's alignment threshold. + Controls the sink's alignment threshold. + - a #GstAudioBaseSink + a #GstAudioBaseSink - the new alignment threshold in nanoseconds + the new alignment threshold in nanoseconds @@ -747,7 +2306,9 @@ for the custom slave method. - Sets the custom slaving callback. This callback will + Sets the custom slaving callback. This callback will be invoked if the slave-method property is set to GST_AUDIO_BASE_SINK_SLAVE_CUSTOM and the audio sink receives and plays samples. @@ -755,12 +2316,16 @@ receives and plays samples. Setting the callback to NULL causes the sink to behave as if the GST_AUDIO_BASE_SINK_SLAVE_NONE method were used. + - a #GstAudioBaseSink + a #GstAudioBaseSink scope="notified" closure="1" destroy="2"> - a #GstAudioBaseSinkCustomSlavingCallback + a #GstAudioBaseSinkCustomSlavingCallback @@ -776,82 +2343,118 @@ method were used. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the callback + user data passed to the callback - called when user_data becomes unused + called when user_data becomes unused - Controls how long the sink will wait before creating a discontinuity. + Controls how long the sink will wait before creating a discontinuity. + - a #GstAudioBaseSink + a #GstAudioBaseSink - the new discont wait in nanoseconds + the new discont wait in nanoseconds - Controls the sink's drift tolerance. + Controls the sink's drift tolerance. + - a #GstAudioBaseSink + a #GstAudioBaseSink - the new drift tolerance in microseconds + the new drift tolerance in microseconds - Controls whether @sink will provide a clock or not. If @provide is %TRUE, + Controls whether @sink will provide a clock or not. If @provide is %TRUE, gst_element_provide_clock() will return a clock that reflects the datarate of @sink. If @provide is %FALSE, gst_element_provide_clock() will return NULL. + - a #GstAudioBaseSink + a #GstAudioBaseSink - new state + new state - Controls how clock slaving will be performed in @sink. + Controls how clock slaving will be performed in @sink. + - a #GstAudioBaseSink + a #GstAudioBaseSink - the new slave method + the new slave method @@ -871,12 +2474,16 @@ NULL. - A window of time in nanoseconds to wait before creating a discontinuity as + A window of time in nanoseconds to wait before creating a discontinuity as a result of breaching the drift-tolerance. - Controls the amount of time in microseconds that clocks are allowed + Controls the amount of time in microseconds that clocks are allowed to drift before resynchronisation happens. @@ -914,7 +2521,7 @@ to drift before resynchronisation happens. - + @@ -922,21 +2529,33 @@ to drift before resynchronisation happens. - #GstAudioBaseSink class. Override the vmethod to implement + #GstAudioBaseSink class. Override the vmethod to implement functionality. + - the parent class. + the parent class. + - The new ringbuffer of @sink. + The new ringbuffer of @sink. - a #GstAudioBaseSink. + a #GstAudioBaseSink. @@ -944,6 +2563,8 @@ functionality. + @@ -958,7 +2579,7 @@ functionality. - + @@ -966,7 +2587,9 @@ functionality. - This function is set with gst_audio_base_sink_set_custom_slaving_callback() + This function is set with gst_audio_base_sink_set_custom_slaving_callback() and is called during playback. It receives the current time of external and internal clocks, which the callback can then use to apply any custom slaving/synchronization schemes. @@ -989,28 +2612,40 @@ The sink may experience discontinuities. If one happens, discont is TRUE, itime, etime are set to GST_CLOCK_TIME_NONE, and requested_skew is NULL. This makes it possible to reset custom clock slaving algorithms when a discontinuity happens. + - a #GstAudioBaseSink + a #GstAudioBaseSink - external clock time + external clock time - internal clock time + internal clock time - skew amount requested by the callback + skew amount requested by the callback - reason for discontinuity (if any) + reason for discontinuity (if any) @@ -1019,7 +2654,9 @@ discontinuity happens. nullable="1" allow-none="1" closure="5"> - user data + user data @@ -1029,79 +2666,105 @@ discontinuity happens. glib:type-name="GstAudioBaseSinkDiscontReason" glib:get-type="gst_audio_base_sink_discont_reason_get_type" c:type="GstAudioBaseSinkDiscontReason"> - Different possible reasons for discontinuities. This enum is useful for the custom + Different possible reasons for discontinuities. This enum is useful for the custom slave method. - No discontinuity occurred + No discontinuity occurred - New caps are set, causing renegotiotion + New caps are set, causing renegotiotion - Samples have been flushed + Samples have been flushed - Sink was synchronized to the estimated latency (occurs during initialization) + Sink was synchronized to the estimated latency (occurs during initialization) - Aligning buffers failed because the timestamps are too discontinuous + Aligning buffers failed because the timestamps are too discontinuous - Audio output device experienced and recovered from an error but introduced latency in the process (see also @gst_audio_base_sink_report_device_failure()) + Audio output device experienced and recovered from an error but introduced latency in the process (see also @gst_audio_base_sink_report_device_failure()) + - Different possible clock slaving algorithms used when the internal audio + Different possible clock slaving algorithms used when the internal audio clock is not selected as the pipeline master clock. - Resample to match the master clock + Resample to match the master clock - Adjust playout pointer when master clock + Adjust playout pointer when master clock drifts too much. - No adjustment is done. + No adjustment is done. - Use custom clock slaving algorithm (Since: 1.6) + Use custom clock slaving algorithm (Since: 1.6) glib:type-name="GstAudioBaseSrc" glib:get-type="gst_audio_base_src_get_type" glib:type-struct="AudioBaseSrcClass"> - This is the base class for audio sources. Subclasses need to implement the + This is the base class for audio sources. Subclasses need to implement the ::create_ringbuffer vmethod. This base class will then take care of reading samples from the ringbuffer, synchronisation and flushing. + - Create and return the #GstAudioRingBuffer for @src. This function will call + Create and return the #GstAudioRingBuffer for @src. This function will call the ::create_ringbuffer vmethod and will set @src as the parent of the returned buffer (see gst_object_set_parent()). + - The new ringbuffer of @src. + The new ringbuffer of @src. - a #GstAudioBaseSrc. + a #GstAudioBaseSrc. - Create and return the #GstAudioRingBuffer for @src. This function will call + Create and return the #GstAudioRingBuffer for @src. This function will call the ::create_ringbuffer vmethod and will set @src as the parent of the returned buffer (see gst_object_set_parent()). + - The new ringbuffer of @src. + The new ringbuffer of @src. - a #GstAudioBaseSrc. + a #GstAudioBaseSrc. - Queries whether @src will provide a clock or not. See also + Queries whether @src will provide a clock or not. See also gst_audio_base_src_set_provide_clock. + - %TRUE if @src will provide a clock. + %TRUE if @src will provide a clock. - a #GstAudioBaseSrc + a #GstAudioBaseSrc - Get the current slave method used by @src. + Get the current slave method used by @src. + - The current slave method used by @src. + The current slave method used by @src. - a #GstAudioBaseSrc + a #GstAudioBaseSrc - Controls whether @src will provide a clock or not. If @provide is %TRUE, + Controls whether @src will provide a clock or not. If @provide is %TRUE, gst_element_provide_clock() will return a clock that reflects the datarate of @src. If @provide is %FALSE, gst_element_provide_clock() will return NULL. + - a #GstAudioBaseSrc + a #GstAudioBaseSrc - new state + new state - Controls how clock slaving will be performed in @src. + Controls how clock slaving will be performed in @src. + - a #GstAudioBaseSrc + a #GstAudioBaseSrc - the new slave method + the new slave method - Actual configured size of audio buffer in microseconds. + Actual configured size of audio buffer in microseconds. - Actual configured audio latency in microseconds. + Actual configured audio latency in microseconds. @@ -1254,7 +2973,7 @@ of @src. If @provide is %FALSE, gst_element_provide_clock() will return NULL. - + @@ -1262,28 +2981,40 @@ of @src. If @provide is %FALSE, gst_element_provide_clock() will return NULL. - #GstAudioBaseSrc class. Override the vmethod to implement + #GstAudioBaseSrc class. Override the vmethod to implement functionality. + - the parent class. + the parent class. + - The new ringbuffer of @src. + The new ringbuffer of @src. - a #GstAudioBaseSrc. + a #GstAudioBaseSrc. - + @@ -1291,42 +3022,56 @@ functionality. + - Different possible clock slaving algorithms when the internal audio clock was + Different possible clock slaving algorithms when the internal audio clock was not selected as the pipeline clock. - Resample to match the master clock. + Resample to match the master clock. - Retimestamp output buffers with master + Retimestamp output buffers with master clock time. - Adjust capture pointer when master clock + Adjust capture pointer when master clock drifts too much. - No adjustment is done. + No adjustment is done. - A structure containing the result of an audio buffer map operation, + A structure containing the result of an audio buffer map operation, which is executed with gst_audio_buffer_map(). For non-interleaved (planar) buffers, the beginning of each channel in the buffer has its own pointer in the @planes array. For interleaved buffers, the @planes array only contains @@ -1334,47 +3079,60 @@ one item, which is the pointer to the beginning of the buffer, and @n_planes equals 1. The different channels in @planes are always in the GStreamer channel order. + - a #GstAudioInfo describing the audio properties of this buffer + a #GstAudioInfo describing the audio properties of this buffer - the size of the buffer in samples + the size of the buffer in samples - the number of planes available + the number of planes available - an array of @n_planes pointers pointing to the start of each + an array of @n_planes pointers pointing to the start of each plane in the mapped buffer - the mapped buffer + the mapped buffer - + - + - + - Maps an audio @gstbuffer so that it can be read or written and stores the + Maps an audio @gstbuffer so that it can be read or written and stores the result of the map operation in @buffer. This is especially useful when the @gstbuffer is in non-interleaved (planar) @@ -1398,25 +3156,37 @@ memories in the buffer before calling this function. Note: The actual #GstBuffer is not ref'ed, but it is required to stay valid as long as it's mapped. + - %TRUE if the map operation succeeded or %FALSE on failure + %TRUE if the map operation succeeded or %FALSE on failure - pointer to a #GstAudioBuffer + pointer to a #GstAudioBuffer - the audio properties of the buffer + the audio properties of the buffer - the #GstBuffer to be mapped + the #GstBuffer to be mapped - the access mode for the memory + the access mode for the memory @@ -1424,25 +3194,36 @@ as long as it's mapped. - Unmaps an audio buffer that was previously mapped with + Unmaps an audio buffer that was previously mapped with gst_audio_buffer_map(). + - the #GstAudioBuffer to unmap + the #GstAudioBuffer to unmap - Clip the buffer to the given %GstSegment. + Clip the buffer to the given %GstSegment. After calling this function the caller does not own a reference to @buffer anymore. + - %NULL if the buffer is completely outside the configured segment, + %NULL if the buffer is completely outside the configured segment, otherwise the clipped buffer is returned. If the buffer has no timestamp, it is assumed to be inside the segment and @@ -1451,20 +3232,28 @@ is not clipped - The buffer to clip. + The buffer to clip. - Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which + Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which the buffer should be clipped. - sample rate. + sample rate. - size of one audio frame in bytes. This is the size of one sample * + size of one audio frame in bytes. This is the size of one sample * number of channels. @@ -1472,29 +3261,43 @@ number of channels. - Reorders @buffer from the channel positions @from to the channel + Reorders @buffer from the channel positions @from to the channel positions @to. @from and @to must contain the same number of positions and the same positions, only in a different order. @buffer must be writable. + - %TRUE if the reordering was possible. + %TRUE if the reordering was possible. - The buffer to reorder. + The buffer to reorder. - The %GstAudioFormat of the buffer. + The %GstAudioFormat of the buffer. - The number of channels. + The number of channels. - The channel positions in the buffer. + The channel positions in the buffer. @@ -1503,7 +3306,9 @@ positions and the same positions, only in a different order. - The channel positions to convert to. + The channel positions to convert to. @@ -1516,33 +3321,46 @@ positions and the same positions, only in a different order. - Truncate the buffer to finally have @samples number of samples, removing + Truncate the buffer to finally have @samples number of samples, removing the necessary amount of samples from the end and @trim number of samples from the beginning. After calling this function the caller does not own a reference to @buffer anymore. + - the truncated buffer or %NULL if the arguments + the truncated buffer or %NULL if the arguments were invalid - The buffer to truncate. + The buffer to truncate. - size of one audio frame in bytes. This is the size of one sample * + size of one audio frame in bytes. This is the size of one sample * number of channels. - the number of samples to remove from the beginning of the buffer + the number of samples to remove from the beginning of the buffer - the final number of samples that should exist in this buffer or -1 + the final number of samples that should exist in this buffer or -1 to use all the remaining samples if you are only removing samples from the beginning. @@ -1557,7 +3375,9 @@ beginning. glib:type-name="GstAudioCdSrc" glib:get-type="gst_audio_cd_src_get_type" glib:type-struct="AudioCdSrcClass"> - Provides a base class for CD digital audio (CDDA) sources, which handles + Provides a base class for CD digital audio (CDDA) sources, which handles things like seeking, querying, discid calculation, tags, and buffer timestamping. @@ -1600,8 +3420,12 @@ each track, with information about each track. The duration for each track can be retrieved via the #GST_TAG_DURATION tag from each entry's tag list, or calculated via gst_toc_entry_get_start_stop_times(). The track entries in the TOC will be sorted by track number. + + @@ -1612,6 +3436,8 @@ The track entries in the TOC will be sorted by track number. + @@ -1625,6 +3451,8 @@ The track entries in the TOC will be sorted by track number. + @@ -1638,21 +3466,31 @@ The track entries in the TOC will be sorted by track number. - CDDA sources use this function from their start vfunc to announce the + CDDA sources use this function from their start vfunc to announce the available data and audio tracks to the base source class. The caller should allocate @track on the stack, the base source will do a shallow copy of the structure (and take ownership of the taglist if there is one). + - FALSE on error, otherwise TRUE. + FALSE on error, otherwise TRUE. - a #GstAudioCdSrc + a #GstAudioCdSrc - address of #GstAudioCdSrcTrack to add + address of #GstAudioCdSrcTrack to add @@ -1676,12 +3514,12 @@ copy of the structure (and take ownership of the taglist if there is one). - + - + @@ -1689,13 +3527,21 @@ copy of the structure (and take ownership of the taglist if there is one). - Audio CD source base class. + Audio CD source base class. + - the parent class + the parent class + @@ -1711,6 +3557,8 @@ copy of the structure (and take ownership of the taglist if there is one). + @@ -1723,6 +3571,8 @@ copy of the structure (and take ownership of the taglist if there is one). + @@ -1737,7 +3587,7 @@ copy of the structure (and take ownership of the taglist if there is one). - + @@ -1746,60 +3596,82 @@ copy of the structure (and take ownership of the taglist if there is one). glib:type-name="GstAudioCdSrcMode" glib:get-type="gst_audio_cd_src_mode_get_type" c:type="GstAudioCdSrcMode"> - Mode in which the CD audio source operates. Influences timestamping, + Mode in which the CD audio source operates. Influences timestamping, EOS handling and seeking. - each single track is a stream + each single track is a stream - the entire disc is a single stream + the entire disc is a single stream + - CD track abstraction to communicate TOC entries to the base class. + CD track abstraction to communicate TOC entries to the base class. This structure is only for use by sub-classed in connection with gst_audio_cd_src_add_track(). Applications will be informed of the available tracks via a TOC message on the pipeline's #GstBus instead. + - Whether this is an audio track + Whether this is an audio track - Track number in TOC (usually starts from 1, but not always) + Track number in TOC (usually starts from 1, but not always) - The first sector of this track (LBA) + The first sector of this track (LBA) - The last sector of this track (LBA) + The last sector of this track (LBA) - Track-specific tags (e.g. from cd-text information), or NULL + Track-specific tags (e.g. from cd-text information), or NULL - + - + @@ -1807,21 +3679,31 @@ on the pipeline's #GstBus instead. + - Free memory allocated by @mix. + Free memory allocated by @mix. + - a #GstAudioChannelMixer + a #GstAudioChannelMixer - Check if @mix is in passthrough. + Check if @mix is in passthrough. Only N x N mix identity matrices are considered passthrough, this is determined by comparing the contents of the matrix @@ -1832,19 +3714,27 @@ generated, they should be rounded up or down by explicit assignment of 0.0 or 1.0 to values within a user-defined epsilon, this code doesn't make assumptions as to what may constitute an appropriate epsilon. + - %TRUE is @mix is passthrough. + %TRUE is @mix is passthrough. - a #GstAudioChannelMixer + a #GstAudioChannelMixer - In case the samples are interleaved, @in and @out must point to an + In case the samples are interleaved, @in and @out must point to an array with a single element pointing to a block of interleaved samples. If non-interleaved samples are used, @in and @out must point to an @@ -1852,30 +3742,40 @@ array with pointers to memory blocks, one for each channel. Perform channel mixing on @in_data and write the result to @out_data. @in_data and @out_data need to be in @format and @layout. + - a #GstAudioChannelMixer + a #GstAudioChannelMixer - input samples + input samples - output samples + output samples - number of samples + number of samples @@ -1883,15 +3783,23 @@ Perform channel mixing on @in_data and write the result to @out_data. - Create a new channel mixer object for the given parameters. + Create a new channel mixer object for the given parameters. + - a new #GstAudioChannelMixer object, or %NULL if @format isn't supported. + a new #GstAudioChannelMixer object, or %NULL if @format isn't supported. Free with gst_audio_channel_mixer_free() after usage. - #GstAudioChannelMixerFlags + #GstAudioChannelMixerFlags @@ -1899,20 +3807,28 @@ Perform channel mixing on @in_data and write the result to @out_data. - number of input channels + number of input channels - positions of input channels + positions of input channels - number of output channels + number of output channels - positions of output channels + positions of output channels @@ -1922,16 +3838,24 @@ Perform channel mixing on @in_data and write the result to @out_data. c:identifier="gst_audio_channel_mixer_new_with_matrix" version="1.14" introspectable="0"> - Create a new channel mixer object for the given parameters. + Create a new channel mixer object for the given parameters. + - a new #GstAudioChannelMixer object, or %NULL if @format isn't supported, + a new #GstAudioChannelMixer object, or %NULL if @format isn't supported, @matrix is invalid, or @matrix is %NULL and @in_channels != @out_channels. Free with gst_audio_channel_mixer_free() after usage. - #GstAudioChannelMixerFlags + #GstAudioChannelMixerFlags @@ -1939,18 +3863,24 @@ Perform channel mixing on @in_data and write the result to @out_data. - number of input channels + number of input channels - number of output channels + number of output channels - channel conversion matrix, m[@in_channels][@out_channels]. + channel conversion matrix, m[@in_channels][@out_channels]. If identity matrix, passthrough applies. If %NULL, a (potentially truncated) identity matrix is generated. @@ -1962,43 +3892,57 @@ Perform channel mixing on @in_data and write the result to @out_data. glib:type-name="GstAudioChannelMixerFlags" glib:get-type="gst_audio_channel_mixer_flags_get_type" c:type="GstAudioChannelMixerFlags"> - Flags passed to gst_audio_channel_mixer_new() + Flags passed to gst_audio_channel_mixer_new() - no flag + no flag - input channels are not interleaved + input channels are not interleaved - output channels are not interleaved + output channels are not interleaved - input channels are explicitly unpositioned + input channels are explicitly unpositioned - output channels are explicitly unpositioned + output channels are explicitly unpositioned - Audio channel positions. + Audio channel positions. These are the channels defined in SMPTE 2036-2-2008 Table 1 for 22.2 audio systems with the Surround and Wide channels from @@ -2020,13 +3964,15 @@ This is expressed in caps by having a single channel and no channel mask. This is expressed in caps by having a channel mask with no bits set. As another special case it is allowed to have two channels without a channel mask. -This implicitely means that this is a stereo stream with a front left and front right +This implicitly means that this is a stereo stream with a front left and front right channel. - used for position-less channels, e.g. + used for position-less channels, e.g. from a sound card that records 1024 channels; mutually exclusive with any other channel position @@ -2034,188 +3980,250 @@ channel. value="-2" c:identifier="GST_AUDIO_CHANNEL_POSITION_MONO" glib:nick="mono"> - Mono without direction; + Mono without direction; can only be used with 1 channel - invalid position + invalid position - Front left + Front left - Front right + Front right - Front center + Front center - Low-frequency effects 1 (subwoofer) + Low-frequency effects 1 (subwoofer) - Rear left + Rear left - Rear right + Rear right - Front left of center + Front left of center - Front right of center + Front right of center - Rear center + Rear center - Low-frequency effects 2 (subwoofer) + Low-frequency effects 2 (subwoofer) - Side left + Side left - Side right + Side right - Top front left + Top front left - Top front right + Top front right - Top front center + Top front center - Top center + Top center - Top rear left + Top rear left - Top rear right + Top rear right - Top side right + Top side right - Top rear right + Top rear right - Top rear center + Top rear center - Bottom front center + Bottom front center - Bottom front left + Bottom front left - Bottom front right + Bottom front right - Wide left (between front left and side left) + Wide left (between front left and side left) - Wide right (between front right and side right) + Wide right (between front right and side right) - Surround left (between rear left and side left) + Surround left (between rear left and side left) - Surround right (between rear right and side right) + Surround right (between rear right and side right) - Extra buffer metadata describing how much audio has to be clipped from + Extra buffer metadata describing how much audio has to be clipped from the start or end of a buffer. This is used for compressed formats, where the first frame usually has some additional samples due to encoder and decoder delays, and the last frame usually has some additional samples to @@ -2226,24 +4234,36 @@ samples, and multiply decoded streams can be gaplessly concatenated. Note: If clipping of the start is done by adjusting the segment, this meta has to be dropped from buffers as otherwise clipping could happen twice. + - parent #GstMeta + parent #GstMeta - GstFormat of @start and @stop, GST_FORMAT_DEFAULT is samples + GstFormat of @start and @stop, GST_FORMAT_DEFAULT is samples - Amount of audio to clip from start of buffer + Amount of audio to clip from start of buffer - Amount of to clip from end of buffer + Amount of to clip from end of buffer + @@ -2256,21 +4276,33 @@ has to be dropped from buffers as otherwise clipping could happen twice. glib:type-name="GstAudioClock" glib:get-type="gst_audio_clock_get_type" glib:type-struct="AudioClockClass"> - #GstAudioClock makes it easy for elements to implement a #GstClock, they + #GstAudioClock makes it easy for elements to implement a #GstClock, they simply need to provide a function that returns the current clock time. This object is internally used to implement the clock in #GstAudioBaseSink. + - Create a new #GstAudioClock instance. Whenever the clock time should be + Create a new #GstAudioClock instance. Whenever the clock time should be calculated it will call @func with @user_data. When @func returns #GST_CLOCK_TIME_NONE, the clock will return the last reported time. + - a new #GstAudioClock casted to a #GstClock. + a new #GstAudioClock casted to a #GstClock. - the name of the clock + the name of the clock - a function + a function @@ -2286,80 +4320,116 @@ calculated it will call @func with @user_data. When @func returns transfer-ownership="none" nullable="1" allow-none="1"> - user data + user data - #GDestroyNotify for @user_data + #GDestroyNotify for @user_data - Adjust @time with the internal offset of the audio clock. + Adjust @time with the internal offset of the audio clock. + - @time adjusted with the internal offset. + @time adjusted with the internal offset. - a #GstAudioClock + a #GstAudioClock - a #GstClockTime + a #GstClockTime - Report the time as returned by the #GstAudioClockGetTimeFunc without applying + Report the time as returned by the #GstAudioClockGetTimeFunc without applying any offsets. + - the time as reported by the time function of the audio clock + the time as reported by the time function of the audio clock - a #GstAudioClock + a #GstAudioClock - Invalidate the clock function. Call this function when the provided + Invalidate the clock function. Call this function when the provided #GstAudioClockGetTimeFunc cannot be called anymore, for example, when the user_data becomes invalid. After calling this function, @clock will return the last returned time for the rest of its lifetime. + - a #GstAudioClock + a #GstAudioClock - Inform @clock that future calls to #GstAudioClockGetTimeFunc will return values + Inform @clock that future calls to #GstAudioClockGetTimeFunc will return values starting from @time. The clock will update an internal offset to make sure that future calls to internal_time will return an increasing result as required by the #GstClock object. + - a #GstAudioClock + a #GstAudioClock - a #GstClockTime + a #GstClockTime @@ -2383,7 +4453,7 @@ the #GstClock object. - + @@ -2391,27 +4461,37 @@ the #GstClock object. + - + - This function will be called whenever the current clock time needs to be + This function will be called whenever the current clock time needs to be calculated. If this function returns #GST_CLOCK_TIME_NONE, the last reported time will be returned by the clock. + - the current time or #GST_CLOCK_TIME_NONE if the previous time should + the current time or #GST_CLOCK_TIME_NONE if the previous time should be used. - the #GstAudioClock + the #GstAudioClock nullable="1" allow-none="1" closure="1"> - user data + user data @@ -2429,7 +4511,9 @@ be used. glib:type-name="GstAudioConverter" glib:get-type="gst_audio_converter_get_type" c:symbol-prefix="audio_converter"> - This object is used to convert audio samples from one format to another. + This object is used to convert audio samples from one format to another. The object can perform conversion of: * audio format with optional dithering and noise shaping @@ -2437,34 +4521,50 @@ The object can perform conversion of: * audio samplerate * audio channels and channel layout + - Create a new #GstAudioConverter that is able to convert between @in and @out + Create a new #GstAudioConverter that is able to convert between @in and @out audio formats. -@config contains extra configuration options, see #GST_AUDIO_CONVERTER_OPT_* +@config contains extra configuration options, see `GST_AUDIO_CONVERTER_OPT_*` parameters for details about the options and values. + - a #GstAudioConverter or %NULL if conversion is not possible. + a #GstAudioConverter or %NULL if conversion is not possible. - extra #GstAudioConverterFlags + extra #GstAudioConverterFlags - a source #GstAudioInfo + a source #GstAudioInfo - a destination #GstAudioInfo + a destination #GstAudioInfo - a #GstStructure with configuration options + a #GstStructure with configuration options @@ -2472,37 +4572,53 @@ parameters for details about the options and values. - Convenience wrapper around gst_audio_converter_samples(), which will + Convenience wrapper around gst_audio_converter_samples(), which will perform allocation of the output buffer based on the result from gst_audio_converter_get_out_frames(). + - %TRUE is the conversion could be performed. + %TRUE is the conversion could be performed. - a #GstAudioConverter + a #GstAudioConverter - extra #GstAudioConverterFlags + extra #GstAudioConverterFlags - input data + input data - size of @in + size of @in - a pointer where + a pointer where the output data will be written @@ -2512,34 +4628,50 @@ gst_audio_converter_get_out_frames(). direction="out" caller-allocates="0" transfer-ownership="full"> - a pointer where the size of @out will be written + a pointer where the size of @out will be written - Free a previously allocated @convert instance. + Free a previously allocated @convert instance. + - a #GstAudioConverter + a #GstAudioConverter - Get the current configuration of @convert. + Get the current configuration of @convert. + - + a #GstStructure that remains valid for as long as @convert is valid or until gst_audio_converter_update_config() is called. - a #GstAudioConverter + a #GstAudioConverter transfer-ownership="full" optional="1" allow-none="1"> - result input rate + result input rate transfer-ownership="full" optional="1" allow-none="1"> - result output rate + result output rate - Calculate how many input frames are currently needed by @convert to produce + Calculate how many input frames are currently needed by @convert to produce @out_frames of output frames. + - the number of input frames + the number of input frames - a #GstAudioConverter + a #GstAudioConverter - number of output frames + number of output frames - Get the maximum number of input frames that the converter would + Get the maximum number of input frames that the converter would need before producing output. + - the latency of @convert as expressed in the number of + the latency of @convert as expressed in the number of frames. - a #GstAudioConverter + a #GstAudioConverter - Calculate how many output frames can be produced when @in_frames input + Calculate how many output frames can be produced when @in_frames input frames are given to @convert. + - the number of output frames + the number of output frames - a #GstAudioConverter + a #GstAudioConverter - number of input frames + number of input frames @@ -2619,10 +4783,16 @@ frames are given to @convert. - Returns whether the audio converter will operate in passthrough mode. + Returns whether the audio converter will operate in passthrough mode. The return value would be typically input to gst_base_transform_set_passthrough() + - %TRUE when no conversion will actually occur. + %TRUE when no conversion will actually occur. @@ -2632,20 +4802,28 @@ The return value would be typically input to gst_base_transform_set_passthrough( - Reset @convert to the state it was when it was first created, clearing + Reset @convert to the state it was when it was first created, clearing any history it might currently have. + - a #GstAudioConverter + a #GstAudioConverter - Perform the conversion with @in_frames in @in to @out_frames in @out + Perform the conversion with @in_frames in @in to @out_frames in @out using @convert. In case the samples are interleaved, @in and @out must point to an @@ -2661,61 +4839,87 @@ This function always produces @out_frames of output and consumes @in_frames of input. Use gst_audio_converter_get_out_frames() and gst_audio_converter_get_in_frames() to make sure @in_frames and @out_frames are matching and @in and @out point to enough memory. + - %TRUE is the conversion could be performed. + %TRUE is the conversion could be performed. - a #GstAudioConverter + a #GstAudioConverter - extra #GstAudioConverterFlags + extra #GstAudioConverterFlags - input frames + input frames - number of input frames + number of input frames - output frames + output frames - number of output frames + number of output frames - Returns whether the audio converter can perform the conversion in-place. + Returns whether the audio converter can perform the conversion in-place. The return value would be typically input to gst_base_transform_set_in_place() + - %TRUE when the conversion can be done in place. + %TRUE when the conversion can be done in place. - a #GstAudioConverter + a #GstAudioConverter - Set @in_rate, @out_rate and @config as extra configuration for @convert. + Set @in_rate, @out_rate and @config as extra configuration for @convert. @in_rate and @out_rate specify the new sample rates of input and output formats. A value of 0 leaves the sample rate unchanged. @@ -2727,30 +4931,42 @@ If the parameters in @config can not be set exactly, this function returns %FALSE and will try to update as much state as possible. The new state can then be retrieved and refined with gst_audio_converter_get_config(). -Look at the #GST_AUDIO_CONVERTER_OPT_* fields to check valid configuration +Look at the `GST_AUDIO_CONVERTER_OPT_*` fields to check valid configuration option and values. + - %TRUE when the new parameters could be set + %TRUE when the new parameters could be set - a #GstAudioConverter + a #GstAudioConverter - input rate + input rate - output rate + output rate - a #GstStructure or %NULL + a #GstStructure or %NULL @@ -2760,25 +4976,33 @@ option and values. glib:type-name="GstAudioConverterFlags" glib:get-type="gst_audio_converter_flags_get_type" c:type="GstAudioConverterFlags"> - Extra flags passed to gst_audio_converter_new() and gst_audio_converter_samples(). + Extra flags passed to gst_audio_converter_new() and gst_audio_converter_samples(). - no flag + no flag - the input sample arrays are writable and can be + the input sample arrays are writable and can be used as temporary storage during conversion. - allow arbitrary rate updates with + allow arbitrary rate updates with gst_audio_converter_update_config(). @@ -2790,7 +5014,9 @@ option and values. glib:type-name="GstAudioDecoder" glib:get-type="gst_audio_decoder_get_type" glib:type-struct="AudioDecoderClass"> - This base class is for audio decoders turning encoded data into + This base class is for audio decoders turning encoded data into raw audio samples. GstAudioDecoder and subclass should cooperate as follows. @@ -2879,7 +5105,11 @@ Things that subclass need to take care of: @gst_audio_decoder_finish_frame. If it is prepared to perform PLC, it should also accept NULL data in @handle_frame and provide for data for indicated duration. + + @@ -2890,6 +5120,8 @@ Things that subclass need to take care of: + @@ -2903,6 +5135,8 @@ Things that subclass need to take care of: + @@ -2916,6 +5150,8 @@ Things that subclass need to take care of: + @@ -2929,6 +5165,8 @@ Things that subclass need to take care of: + @@ -2942,21 +5180,31 @@ Things that subclass need to take care of: - Negotiate with downstream elements to currently configured #GstAudioInfo. + Negotiate with downstream elements to currently configured #GstAudioInfo. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstAudioDecoder + a #GstAudioDecoder + @@ -2967,6 +5215,8 @@ negotiate fails. + @@ -2986,6 +5236,8 @@ negotiate fails. + @@ -2999,6 +5251,8 @@ negotiate fails. + @@ -3012,6 +5266,8 @@ negotiate fails. + @@ -3025,6 +5281,8 @@ negotiate fails. + @@ -3038,6 +5296,8 @@ negotiate fails. + @@ -3051,6 +5311,8 @@ negotiate fails. + @@ -3064,6 +5326,8 @@ negotiate fails. + @@ -3077,6 +5341,8 @@ negotiate fails. + @@ -3087,6 +5353,8 @@ negotiate fails. + @@ -3097,6 +5365,8 @@ negotiate fails. + @@ -3117,26 +5387,38 @@ negotiate fails. - Helper function that allocates a buffer to hold an audio frame + Helper function that allocates a buffer to hold an audio frame for @dec's current output format. + - allocated buffer + allocated buffer - a #GstAudioDecoder + a #GstAudioDecoder - size of the buffer + size of the buffer - Collects decoded data and pushes it downstream. + Collects decoded data and pushes it downstream. @buf may be NULL in which case the indicated number of frames are discarded and considered to have produced no output @@ -3146,21 +5428,34 @@ data in @buf. Note that a frame received in #GstAudioDecoderClass.handle_frame() may be invalidated by a call to this function. + - a #GstFlowReturn that should be escalated to caller (of caller) + a #GstFlowReturn that should be escalated to caller (of caller) - a #GstAudioDecoder + a #GstAudioDecoder - - decoded data + + decoded data - number of decoded frames represented by decoded data + number of decoded frames represented by decoded data @@ -3168,7 +5463,9 @@ invalidated by a call to this function. - Collects decoded data and pushes it downstream. This function may be called + Collects decoded data and pushes it downstream. This function may be called multiple times for a given input frame. @buf may be NULL in which case it is assumed that the current input frame is @@ -3181,33 +5478,50 @@ already. Note that a frame received in #GstAudioDecoderClass.handle_frame() may be invalidated by a call to this function. + - a #GstFlowReturn that should be escalated to caller (of caller) + a #GstFlowReturn that should be escalated to caller (of caller) - a #GstAudioDecoder + a #GstAudioDecoder - - decoded data + + decoded data - Lets #GstAudioDecoder sub-classes to know the memory @allocator + Lets #GstAudioDecoder sub-classes to know the memory @allocator used by the base class and its @params. Unref the @allocator after use it. + - a #GstAudioDecoder + a #GstAudioDecoder transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -3226,7 +5542,9 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator @@ -3234,67 +5552,99 @@ used + - a #GstAudioInfo describing the input audio format + a #GstAudioInfo describing the input audio format - a #GstAudioDecoder + a #GstAudioDecoder + - currently configured decoder delay + currently configured decoder delay - a #GstAudioDecoder + a #GstAudioDecoder - Queries decoder drain handling. + Queries decoder drain handling. + - TRUE if drainable handling is enabled. + TRUE if drainable handling is enabled. MT safe. - a #GstAudioDecoder + a #GstAudioDecoder + - currently configured byte to time conversion setting + currently configured byte to time conversion setting - a #GstAudioDecoder + a #GstAudioDecoder - Sets the variables pointed to by @min and @max to the currently configured + Sets the variables pointed to by @min and @max to the currently configured latency. + - a #GstAudioDecoder + a #GstAudioDecoder transfer-ownership="full" optional="1" allow-none="1"> - a pointer to storage to hold minimum latency + a pointer to storage to hold minimum latency transfer-ownership="full" optional="1" allow-none="1"> - a pointer to storage to hold maximum latency + a pointer to storage to hold maximum latency + - currently configured decoder tolerated error count. + currently configured decoder tolerated error count. - a #GstAudioDecoder + a #GstAudioDecoder - Queries decoder's latency aggregation. + Queries decoder's latency aggregation. + - aggregation latency. + aggregation latency. MT safe. - a #GstAudioDecoder + a #GstAudioDecoder - Queries decoder required format handling. + Queries decoder required format handling. + - TRUE if required format handling is enabled. + TRUE if required format handling is enabled. MT safe. - a #GstAudioDecoder + a #GstAudioDecoder - Return current parsing (sync and eos) state. + Return current parsing (sync and eos) state. + - a #GstAudioDecoder + a #GstAudioDecoder transfer-ownership="full" optional="1" allow-none="1"> - a pointer to a variable to hold the current sync state + a pointer to a variable to hold the current sync state transfer-ownership="full" optional="1" allow-none="1"> - a pointer to a variable to hold the current eos state + a pointer to a variable to hold the current eos state - Queries decoder packet loss concealment handling. + Queries decoder packet loss concealment handling. + - TRUE if packet loss concealment is enabled. + TRUE if packet loss concealment is enabled. MT safe. - a #GstAudioDecoder + a #GstAudioDecoder + - currently configured plc handling + currently configured plc handling - a #GstAudioDecoder + a #GstAudioDecoder - Queries current audio jitter tolerance threshold. + Queries current audio jitter tolerance threshold. + - decoder audio jitter tolerance threshold. + decoder audio jitter tolerance threshold. MT safe. - a #GstAudioDecoder + a #GstAudioDecoder - Sets the audio decoder tags and how they should be merged with any + Sets the audio decoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with gst_audio_decoder_merge_tags(). Note that this is provided for convenience, and the subclass is not required to use this and can still do tag handling on its own. + - a #GstAudioDecoder + a #GstAudioDecoder - a #GstTagList to merge, or NULL + a #GstTagList to merge, or NULL - the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE + the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE - Negotiate with downstream elements to currently configured #GstAudioInfo. + Negotiate with downstream elements to currently configured #GstAudioInfo. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstAudioDecoder + a #GstAudioDecoder @@ -3483,30 +5909,42 @@ negotiate fails. - Returns caps that express @caps (or sink template caps if @caps == NULL) + Returns caps that express @caps (or sink template caps if @caps == NULL) restricted to rate/channels/... combinations supported by downstream elements. + - a #GstCaps owned by caller + a #GstCaps owned by caller - a #GstAudioDecoder + a #GstAudioDecoder - initial caps + initial caps - filter caps + filter caps @@ -3514,128 +5952,180 @@ elements. - Sets a caps in allocation query which are different from the set + Sets a caps in allocation query which are different from the set pad's caps. Use this function before calling gst_audio_decoder_negotiate(). Setting to %NULL the allocation query will use the caps from the pad. + - a #GstAudioDecoder + a #GstAudioDecoder - a #GstCaps or %NULL + a #GstCaps or %NULL - Configures decoder drain handling. If drainable, subclass might + Configures decoder drain handling. If drainable, subclass might be handed a NULL buffer to have it return any leftover decoded data. Otherwise, it is not considered so capable and will only ever be passed real data. MT safe. + - a #GstAudioDecoder + a #GstAudioDecoder - new state + new state - Allows baseclass to perform byte to time estimated conversion. + Allows baseclass to perform byte to time estimated conversion. + - a #GstAudioDecoder + a #GstAudioDecoder - whether to enable byte to time conversion + whether to enable byte to time conversion - Sets decoder latency. + Sets decoder latency. + - a #GstAudioDecoder + a #GstAudioDecoder - minimum latency + minimum latency - maximum latency + maximum latency - Sets numbers of tolerated decoder errors, where a tolerated one is then only + Sets numbers of tolerated decoder errors, where a tolerated one is then only warned about, but more than tolerated will lead to fatal error. You can set -1 for never returning fatal errors. Default is set to GST_AUDIO_DECODER_MAX_ERRORS. + - a #GstAudioDecoder + a #GstAudioDecoder - max tolerated errors + max tolerated errors - Sets decoder minimum aggregation latency. + Sets decoder minimum aggregation latency. MT safe. + - a #GstAudioDecoder + a #GstAudioDecoder - new minimum latency + new minimum latency - Configures decoder format needs. If enabled, subclass needs to be + Configures decoder format needs. If enabled, subclass needs to be negotiated with format caps before it can process any data. It will then never be handed any data before it has been configured. Otherwise, it might be handed data without having been configured and @@ -3643,16 +6133,22 @@ is then expected being able to do so either by default or based on the input data. MT safe. + - a #GstAudioDecoder + a #GstAudioDecoder - new state + new state @@ -3660,94 +6156,138 @@ MT safe. - Configure output caps on the srcpad of @dec. Similar to + Configure output caps on the srcpad of @dec. Similar to gst_audio_decoder_set_output_format(), but allows subclasses to specify output caps that can't be expressed via #GstAudioInfo e.g. caps that have caps features. + - %TRUE on success. + %TRUE on success. - a #GstAudioDecoder + a #GstAudioDecoder - (fixed) #GstCaps + (fixed) #GstCaps - Configure output info on the srcpad of @dec. + Configure output info on the srcpad of @dec. + - %TRUE on success. + %TRUE on success. - a #GstAudioDecoder + a #GstAudioDecoder - #GstAudioInfo + #GstAudioInfo - Enable or disable decoder packet loss concealment, provided subclass + Enable or disable decoder packet loss concealment, provided subclass and codec are capable and allow handling plc. MT safe. + - a #GstAudioDecoder + a #GstAudioDecoder - new state + new state - Indicates whether or not subclass handles packet loss concealment (plc). + Indicates whether or not subclass handles packet loss concealment (plc). + - a #GstAudioDecoder + a #GstAudioDecoder - new plc state + new plc state - Configures decoder audio jitter tolerance threshold. + Configures decoder audio jitter tolerance threshold. MT safe. + - a #GstAudioDecoder + a #GstAudioDecoder - new tolerance + new tolerance @@ -3755,22 +6295,30 @@ MT safe. - Lets #GstAudioDecoder sub-classes decide if they want the sink pad + Lets #GstAudioDecoder sub-classes decide if they want the sink pad to use the default pad query handler to reply to accept-caps queries. By setting this to true it is possible to further customize the default handler with %GST_PAD_SET_ACCEPT_INTERSECT and %GST_PAD_SET_ACCEPT_TEMPLATE + - a #GstAudioDecoder + a #GstAudioDecoder - if the default pad accept-caps query handling should be used + if the default pad accept-caps query handling should be used @@ -3806,7 +6354,7 @@ handler with %GST_PAD_SET_ACCEPT_INTERSECT and - + @@ -3814,15 +6362,23 @@ handler with %GST_PAD_SET_ACCEPT_INTERSECT and - Subclasses can override any of the available virtual methods or not, as + Subclasses can override any of the available virtual methods or not, as needed. At minimum @handle_frame (and likely @set_format) needs to be overridden. + - The parent class structure + The parent class structure + @@ -3835,6 +6391,8 @@ overridden. + @@ -3847,6 +6405,8 @@ overridden. + @@ -3862,6 +6422,8 @@ overridden. + @@ -3883,6 +6445,8 @@ overridden. + @@ -3898,6 +6462,8 @@ overridden. + @@ -3913,6 +6479,8 @@ overridden. + @@ -3928,6 +6496,8 @@ overridden. + @@ -3943,6 +6513,8 @@ overridden. + @@ -3958,6 +6530,8 @@ overridden. + @@ -3970,6 +6544,8 @@ overridden. + @@ -3982,13 +6558,19 @@ overridden. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstAudioDecoder + a #GstAudioDecoder @@ -3996,6 +6578,8 @@ overridden. + @@ -4011,6 +6595,8 @@ overridden. + @@ -4026,6 +6612,8 @@ overridden. + @@ -4041,6 +6629,8 @@ overridden. + @@ -4056,6 +6646,8 @@ overridden. + @@ -4071,6 +6663,8 @@ overridden. + @@ -4091,7 +6685,7 @@ overridden. - + @@ -4099,39 +6693,53 @@ overridden. + - Set of available dithering methods. + Set of available dithering methods. - No dithering + No dithering - Rectangular dithering + Rectangular dithering - Triangular dithering (default) + Triangular dithering (default) - High frequency triangular dithering + High frequency triangular dithering - Extra buffer metadata describing audio downmixing matrix. This metadata is + Extra buffer metadata describing audio downmixing matrix. This metadata is attached to audio buffers and contains a matrix to downmix the buffer number of channels to @channels. @@ -4139,31 +6747,46 @@ of channels to @channels. coefficients, i.e. the i-th output channels is constructed by multiplicating the input channels with the coefficients in @matrix[i] and taking the sum of the results. + - parent #GstMeta + parent #GstMeta - the channel positions of the source + the channel positions of the source - the channel positions of the destination + the channel positions of the destination - the number of channels of the source + the number of channels of the source - the number of channels of the destination + the number of channels of the destination - the matrix coefficients. + the matrix coefficients. + @@ -4177,7 +6800,9 @@ of the results. glib:type-name="GstAudioEncoder" glib:get-type="gst_audio_encoder_get_type" glib:type-struct="AudioEncoderClass"> - This base class is for audio encoders turning raw audio samples into + This base class is for audio encoders turning raw audio samples into encoded audio data. GstAudioEncoder and subclass should cooperate as follows. @@ -4269,8 +6894,12 @@ Things that subclass need to take care of: and discontinuity processing. * Accept data in @handle_frame and provide encoded results to gst_audio_encoder_finish_frame(). + + @@ -4281,6 +6910,8 @@ Things that subclass need to take care of: + @@ -4294,6 +6925,8 @@ Things that subclass need to take care of: + @@ -4304,6 +6937,8 @@ Things that subclass need to take care of: + @@ -4317,6 +6952,8 @@ Things that subclass need to take care of: + @@ -4330,21 +6967,31 @@ Things that subclass need to take care of: - Negotiate with downstream elements to currently configured #GstCaps. + Negotiate with downstream elements to currently configured #GstCaps. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstAudioEncoder + a #GstAudioEncoder + @@ -4355,6 +7002,8 @@ negotiate fails. + @@ -4368,6 +7017,8 @@ negotiate fails. + @@ -4381,6 +7032,8 @@ negotiate fails. + @@ -4394,6 +7047,8 @@ negotiate fails. + @@ -4407,6 +7062,8 @@ negotiate fails. + @@ -4420,6 +7077,8 @@ negotiate fails. + @@ -4433,6 +7092,8 @@ negotiate fails. + @@ -4446,6 +7107,8 @@ negotiate fails. + @@ -4456,6 +7119,8 @@ negotiate fails. + @@ -4466,6 +7131,8 @@ negotiate fails. + @@ -4486,26 +7153,38 @@ negotiate fails. - Helper function that allocates a buffer to hold an encoded audio frame + Helper function that allocates a buffer to hold an encoded audio frame for @enc's current output format. + - allocated buffer + allocated buffer - a #GstAudioEncoder + a #GstAudioEncoder - size of the buffer + size of the buffer - Collects encoded data and pushes encoded data downstream. + Collects encoded data and pushes encoded data downstream. Source pad caps must be set when this is called. If @samples < 0, then best estimate is all samples provided to encoder @@ -4515,37 +7194,56 @@ and a discontinuity is marked. Note that samples received in #GstAudioEncoderClass.handle_frame() may be invalidated by a call to this function. + - a #GstFlowReturn that should be escalated to caller (of caller) + a #GstFlowReturn that should be escalated to caller (of caller) - a #GstAudioEncoder + a #GstAudioEncoder - - encoded data + + encoded data - number of samples (per channel) represented by encoded data + number of samples (per channel) represented by encoded data - Lets #GstAudioEncoder sub-classes to know the memory @allocator + Lets #GstAudioEncoder sub-classes to know the memory @allocator used by the base class and its @params. Unref the @allocator after use it. + - a #GstAudioEncoder + a #GstAudioEncoder transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -4564,7 +7264,9 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator @@ -4572,90 +7274,132 @@ used + - a #GstAudioInfo describing the input audio format + a #GstAudioInfo describing the input audio format - a #GstAudioEncoder + a #GstAudioEncoder - Queries encoder drain handling. + Queries encoder drain handling. + - TRUE if drainable handling is enabled. + TRUE if drainable handling is enabled. MT safe. - a #GstAudioEncoder + a #GstAudioEncoder + - currently configured maximum handled frames + currently configured maximum handled frames - a #GstAudioEncoder + a #GstAudioEncoder + - currently maximum requested samples per frame + currently maximum requested samples per frame - a #GstAudioEncoder + a #GstAudioEncoder + - currently minimum requested samples per frame + currently minimum requested samples per frame - a #GstAudioEncoder + a #GstAudioEncoder - Queries encoder hard minimum handling. + Queries encoder hard minimum handling. + - TRUE if hard minimum handling is enabled. + TRUE if hard minimum handling is enabled. MT safe. - a #GstAudioEncoder + a #GstAudioEncoder + @@ -4666,14 +7410,20 @@ MT safe. - Sets the variables pointed to by @min and @max to the currently configured + Sets the variables pointed to by @min and @max to the currently configured latency. + - a #GstAudioEncoder + a #GstAudioEncoder transfer-ownership="full" optional="1" allow-none="1"> - a pointer to storage to hold minimum latency + a pointer to storage to hold minimum latency transfer-ownership="full" optional="1" allow-none="1"> - a pointer to storage to hold maximum latency + a pointer to storage to hold maximum latency + - currently configured encoder lookahead + currently configured encoder lookahead - a #GstAudioEncoder + a #GstAudioEncoder - Queries if the encoder will handle granule marking. + Queries if the encoder will handle granule marking. + - TRUE if granule marking is enabled. + TRUE if granule marking is enabled. MT safe. - a #GstAudioEncoder + a #GstAudioEncoder - Queries encoder perfect timestamp behaviour. + Queries encoder perfect timestamp behaviour. + - TRUE if perfect timestamp setting enabled. + TRUE if perfect timestamp setting enabled. MT safe. - a #GstAudioEncoder + a #GstAudioEncoder - Queries current audio jitter tolerance threshold. + Queries current audio jitter tolerance threshold. + - encoder audio jitter tolerance threshold. + encoder audio jitter tolerance threshold. MT safe. - a #GstAudioEncoder + a #GstAudioEncoder - Sets the audio encoder tags and how they should be merged with any + Sets the audio encoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with gst_audio_encoder_merge_tags(). @@ -4766,69 +7552,97 @@ Note that this is provided for convenience, and the subclass is not required to use this and can still do tag handling on its own. MT safe. + - a #GstAudioEncoder + a #GstAudioEncoder - a #GstTagList to merge, or NULL to unset + a #GstTagList to merge, or NULL to unset previously-set tags - the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE + the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE - Negotiate with downstream elements to currently configured #GstCaps. + Negotiate with downstream elements to currently configured #GstCaps. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstAudioEncoder + a #GstAudioEncoder - Returns caps that express @caps (or sink template caps if @caps == NULL) + Returns caps that express @caps (or sink template caps if @caps == NULL) restricted to channel/rate combinations supported by downstream elements (e.g. muxers). + - a #GstCaps owned by caller + a #GstCaps owned by caller - a #GstAudioEncoder + a #GstAudioEncoder - initial caps + initial caps - filter caps + filter caps @@ -4836,73 +7650,99 @@ restricted to channel/rate combinations supported by downstream elements - Sets a caps in allocation query which are different from the set + Sets a caps in allocation query which are different from the set pad's caps. Use this function before calling gst_audio_encoder_negotiate(). Setting to %NULL the allocation query will use the caps from the pad. + - a #GstAudioEncoder + a #GstAudioEncoder - a #GstCaps or %NULL + a #GstCaps or %NULL - Configures encoder drain handling. If drainable, subclass might + Configures encoder drain handling. If drainable, subclass might be handed a NULL buffer to have it return any leftover encoded data. Otherwise, it is not considered so capable and will only ever be passed real data. MT safe. + - a #GstAudioEncoder + a #GstAudioEncoder - new state + new state - Sets max number of frames accepted at once (assumed minimally 1). + Sets max number of frames accepted at once (assumed minimally 1). Requires @frame_samples_min and @frame_samples_max to be the equal. Note: This value will be reset to 0 every time before #GstAudioEncoderClass.set_format() is called. + - a #GstAudioEncoder + a #GstAudioEncoder - number of frames + number of frames - Sets number of samples (per channel) subclass needs to be handed, + Sets number of samples (per channel) subclass needs to be handed, at most or will be handed all available if 0. If an exact number of samples is required, gst_audio_encoder_set_frame_samples_min() @@ -4910,23 +7750,31 @@ must be called with the same number. Note: This value will be reset to 0 every time before #GstAudioEncoderClass.set_format() is called. + - a #GstAudioEncoder + a #GstAudioEncoder - number of samples per frame + number of samples per frame - Sets number of samples (per channel) subclass needs to be handed, + Sets number of samples (per channel) subclass needs to be handed, at least or will be handed all available if 0. If an exact number of samples is required, gst_audio_encoder_set_frame_samples_max() @@ -4934,44 +7782,60 @@ must be called with the same number. Note: This value will be reset to 0 every time before #GstAudioEncoderClass.set_format() is called. + - a #GstAudioEncoder + a #GstAudioEncoder - number of samples per frame + number of samples per frame - Configures encoder hard minimum handling. If enabled, subclass + Configures encoder hard minimum handling. If enabled, subclass will never be handed less samples than it configured, which otherwise might occur near end-of-data handling. Instead, the leftover samples will simply be discarded. MT safe. + - a #GstAudioEncoder + a #GstAudioEncoder - new state + new state + @@ -4985,17 +7849,25 @@ MT safe. - Set the codec headers to be sent downstream whenever requested. + Set the codec headers to be sent downstream whenever requested. + - a #GstAudioEncoder + a #GstAudioEncoder - a list of + a list of #GstBuffer containing the codec header @@ -5004,116 +7876,168 @@ MT safe. - Sets encoder latency. + Sets encoder latency. + - a #GstAudioEncoder + a #GstAudioEncoder - minimum latency + minimum latency - maximum latency + maximum latency - Sets encoder lookahead (in units of input rate samples) + Sets encoder lookahead (in units of input rate samples) Note: This value will be reset to 0 every time before #GstAudioEncoderClass.set_format() is called. + - a #GstAudioEncoder + a #GstAudioEncoder - lookahead + lookahead - Enable or disable encoder granule handling. + Enable or disable encoder granule handling. MT safe. + - a #GstAudioEncoder + a #GstAudioEncoder - new state + new state - Configure output caps on the srcpad of @enc. + Configure output caps on the srcpad of @enc. + - %TRUE on success. + %TRUE on success. - a #GstAudioEncoder + a #GstAudioEncoder - #GstCaps + #GstCaps - Enable or disable encoder perfect output timestamp preference. + Enable or disable encoder perfect output timestamp preference. MT safe. + - a #GstAudioEncoder + a #GstAudioEncoder - new state + new state - Configures encoder audio jitter tolerance threshold. + Configures encoder audio jitter tolerance threshold. MT safe. + - a #GstAudioEncoder + a #GstAudioEncoder - new tolerance + new tolerance @@ -5154,7 +8078,7 @@ MT safe. - + @@ -5162,14 +8086,22 @@ MT safe. - Subclasses can override any of the available virtual methods or not, as + Subclasses can override any of the available virtual methods or not, as needed. At minimum @set_format and @handle_frame needs to be overridden. + - The parent class structure + The parent class structure + @@ -5182,6 +8114,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5194,6 +8128,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5209,6 +8145,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5224,6 +8162,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5236,6 +8176,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5251,6 +8193,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5266,6 +8210,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5281,6 +8227,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5296,6 +8244,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5308,6 +8258,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5320,13 +8272,19 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstAudioEncoder + a #GstAudioEncoder @@ -5334,6 +8292,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5349,6 +8309,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5364,6 +8326,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5385,6 +8349,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5400,6 +8366,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + @@ -5414,7 +8382,7 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. - + @@ -5422,6 +8390,8 @@ needed. At minimum @set_format and @handle_frame needs to be overridden. + glib:type-name="GstAudioFilter" glib:get-type="gst_audio_filter_get_type" glib:type-struct="AudioFilterClass"> - #GstAudioFilter is a #GstBaseTransform<!-- -->-derived base class for simple audio + #GstAudioFilter is a #GstBaseTransform<!-- -->-derived base class for simple audio filters, ie. those that output the same format that they get as input. #GstAudioFilter will parse the input format for you (with error checking) @@ -5444,7 +8416,11 @@ Derived classes should override the #GstAudioFilterClass.setup() and #GstBaseTransformClass.transform_ip() and/or #GstBaseTransformClass.transform() virtual functions in their class_init function. + + @@ -5464,7 +8440,7 @@ virtual functions in their class_init function. - + @@ -5472,16 +8448,24 @@ virtual functions in their class_init function. - In addition to the @setup virtual function, you should also override the + In addition to the @setup virtual function, you should also override the GstBaseTransform::transform and/or GstBaseTransform::transform_ip virtual function. + - parent class + parent class + @@ -5496,26 +8480,34 @@ function. - + - Convenience function to add pad templates to this element class, with + Convenience function to add pad templates to this element class, with @allowed_caps as the caps that can be handled. This function is usually used from within a GObject class_init function. + - an #GstAudioFilterClass + an #GstAudioFilterClass - what formats the filter can handle, as #GstCaps + what formats the filter can handle, as #GstCaps @@ -5525,18 +8517,24 @@ This function is usually used from within a GObject class_init function. glib:type-name="GstAudioFlags" glib:get-type="gst_audio_flags_get_type" c:type="GstAudioFlags"> - Extra audio flags + Extra audio flags - no valid flag + no valid flag - the position array explicitly + the position array explicitly contains unpositioned channels. @@ -5544,362 +8542,498 @@ This function is usually used from within a GObject class_init function. glib:type-name="GstAudioFormat" glib:get-type="gst_audio_format_get_type" c:type="GstAudioFormat"> - Enum value describing the most common audio formats. + Enum value describing the most common audio formats. - unknown or unset audio format + unknown or unset audio format - encoded audio format + encoded audio format - 8 bits in 8 bits, signed + 8 bits in 8 bits, signed - 8 bits in 8 bits, unsigned + 8 bits in 8 bits, unsigned - 16 bits in 16 bits, signed, little endian + 16 bits in 16 bits, signed, little endian - 16 bits in 16 bits, signed, big endian + 16 bits in 16 bits, signed, big endian - 16 bits in 16 bits, unsigned, little endian + 16 bits in 16 bits, unsigned, little endian - 16 bits in 16 bits, unsigned, big endian + 16 bits in 16 bits, unsigned, big endian - 24 bits in 32 bits, signed, little endian + 24 bits in 32 bits, signed, little endian - 24 bits in 32 bits, signed, big endian + 24 bits in 32 bits, signed, big endian - 24 bits in 32 bits, unsigned, little endian + 24 bits in 32 bits, unsigned, little endian - 24 bits in 32 bits, unsigned, big endian + 24 bits in 32 bits, unsigned, big endian - 32 bits in 32 bits, signed, little endian + 32 bits in 32 bits, signed, little endian - 32 bits in 32 bits, signed, big endian + 32 bits in 32 bits, signed, big endian - 32 bits in 32 bits, unsigned, little endian + 32 bits in 32 bits, unsigned, little endian - 32 bits in 32 bits, unsigned, big endian + 32 bits in 32 bits, unsigned, big endian - 24 bits in 24 bits, signed, little endian + 24 bits in 24 bits, signed, little endian - 24 bits in 24 bits, signed, big endian + 24 bits in 24 bits, signed, big endian - 24 bits in 24 bits, unsigned, little endian + 24 bits in 24 bits, unsigned, little endian - 24 bits in 24 bits, unsigned, big endian + 24 bits in 24 bits, unsigned, big endian - 20 bits in 24 bits, signed, little endian + 20 bits in 24 bits, signed, little endian - 20 bits in 24 bits, signed, big endian + 20 bits in 24 bits, signed, big endian - 20 bits in 24 bits, unsigned, little endian + 20 bits in 24 bits, unsigned, little endian - 20 bits in 24 bits, unsigned, big endian + 20 bits in 24 bits, unsigned, big endian - 18 bits in 24 bits, signed, little endian + 18 bits in 24 bits, signed, little endian - 18 bits in 24 bits, signed, big endian + 18 bits in 24 bits, signed, big endian - 18 bits in 24 bits, unsigned, little endian + 18 bits in 24 bits, unsigned, little endian - 18 bits in 24 bits, unsigned, big endian + 18 bits in 24 bits, unsigned, big endian - 32-bit floating point samples, little endian + 32-bit floating point samples, little endian - 32-bit floating point samples, big endian + 32-bit floating point samples, big endian - 64-bit floating point samples, little endian + 64-bit floating point samples, little endian - 64-bit floating point samples, big endian + 64-bit floating point samples, big endian - 16 bits in 16 bits, signed, native endianness + 16 bits in 16 bits, signed, native endianness - 16 bits in 16 bits, unsigned, native endianness + 16 bits in 16 bits, unsigned, native endianness - 24 bits in 32 bits, signed, native endianness + 24 bits in 32 bits, signed, native endianness - 24 bits in 32 bits, unsigned, native endianness + 24 bits in 32 bits, unsigned, native endianness - 32 bits in 32 bits, signed, native endianness + 32 bits in 32 bits, signed, native endianness - 32 bits in 32 bits, unsigned, native endianness + 32 bits in 32 bits, unsigned, native endianness - 24 bits in 24 bits, signed, native endianness + 24 bits in 24 bits, signed, native endianness - 24 bits in 24 bits, unsigned, native endianness + 24 bits in 24 bits, unsigned, native endianness - 20 bits in 24 bits, signed, native endianness + 20 bits in 24 bits, signed, native endianness - 20 bits in 24 bits, unsigned, native endianness + 20 bits in 24 bits, unsigned, native endianness - 18 bits in 24 bits, signed, native endianness + 18 bits in 24 bits, signed, native endianness - 18 bits in 24 bits, unsigned, native endianness + 18 bits in 24 bits, unsigned, native endianness - 32-bit floating point samples, native endianness + 32-bit floating point samples, native endianness - 64-bit floating point samples, native endianness + 64-bit floating point samples, native endianness - Construct a #GstAudioFormat with given parameters. + Construct a #GstAudioFormat with given parameters. + - a #GstAudioFormat or GST_AUDIO_FORMAT_UNKNOWN when no audio format + a #GstAudioFormat or GST_AUDIO_FORMAT_UNKNOWN when no audio format exists with the given parameters. - signed or unsigned format + signed or unsigned format - G_LITTLE_ENDIAN or G_BIG_ENDIAN + G_LITTLE_ENDIAN or G_BIG_ENDIAN - amount of bits used per sample + amount of bits used per sample - amount of used bits in @width + amount of used bits in @width - Fill @length bytes in @dest with silence samples for @info. + Fill @length bytes in @dest with silence samples for @info. + - a #GstAudioFormatInfo + a #GstAudioFormatInfo - a destination + a destination to fill - the length to fill + the length to fill - Convert the @format string to its #GstAudioFormat. + Convert the @format string to its #GstAudioFormat. + - the #GstAudioFormat for @format or GST_AUDIO_FORMAT_UNKNOWN when the + the #GstAudioFormat for @format or GST_AUDIO_FORMAT_UNKNOWN when the string is not a known format. - a format string + a format string - Get the #GstAudioFormatInfo for @format + Get the #GstAudioFormatInfo for @format + - The #GstAudioFormatInfo for @format. + The #GstAudioFormatInfo for @format. - a #GstAudioFormat + a #GstAudioFormat + @@ -5914,159 +9048,225 @@ string is not a known format. glib:type-name="GstAudioFormatFlags" glib:get-type="gst_audio_format_flags_get_type" c:type="GstAudioFormatFlags"> - The different audio flags that a format info can have. + The different audio flags that a format info can have. - integer samples + integer samples - float samples + float samples - signed samples + signed samples - complex layout + complex layout - the format can be used in + the format can be used in #GstAudioFormatUnpack and #GstAudioFormatPack functions - Information for an audio format. + Information for an audio format. + - #GstAudioFormat + #GstAudioFormat - string representation of the format + string representation of the format - user readable description of the format + user readable description of the format - #GstAudioFormatFlags + #GstAudioFormatFlags - the endianness + the endianness - amount of bits used for one sample + amount of bits used for one sample - amount of valid bits in @width + amount of valid bits in @width - @width/8 bytes with 1 silent sample - + @width/8 bytes with 1 silent sample + - the format of the unpacked samples + the format of the unpacked samples - function to unpack samples + function to unpack samples - function to pack samples + function to pack samples - + - Packs @length samples from @src to the data array in format @info. + Packs @length samples from @src to the data array in format @info. The samples from source have each channel interleaved and will be packed into @data. + - a #GstAudioFormatInfo + a #GstAudioFormatInfo - #GstAudioPackFlags + #GstAudioPackFlags - a source array + a source array - pointer to the destination + pointer to the destination data - the amount of samples to pack. + the amount of samples to pack. - Unpacks @length samples from the given data of format @info. + Unpacks @length samples from the given data of format @info. The samples will be unpacked into @dest which each channel interleaved. @dest should at least be big enough to hold @length * channels * size(unpack_format) bytes. + - a #GstAudioFormatInfo + a #GstAudioFormatInfo - #GstAudioPackFlags + #GstAudioPackFlags - a destination array + a destination array - pointer to the audio data + pointer to the audio data - the amount of samples to unpack. + the amount of samples to unpack. @@ -6076,142 +9276,209 @@ channels * size(unpack_format) bytes. glib:type-name="GstAudioInfo" glib:get-type="gst_audio_info_get_type" c:symbol-prefix="audio_info"> - Information describing audio properties. This information can be filled + Information describing audio properties. This information can be filled in from GstCaps with gst_audio_info_from_caps(). Use the provided macros to access the info in this structure. + - the format info of the audio + the format info of the audio - additional audio flags + additional audio flags - audio layout + audio layout - the audio sample rate + the audio sample rate - the number of channels + the number of channels - the number of bytes for one frame, this is the size of one + the number of bytes for one frame, this is the size of one sample * @channels - the positions for each channel - + the positions for each channel + - + - Allocate a new #GstAudioInfo that is also initialized with + Allocate a new #GstAudioInfo that is also initialized with gst_audio_info_init(). + - a new #GstAudioInfo. free with gst_audio_info_free(). + a new #GstAudioInfo. free with gst_audio_info_free(). - Converts among various #GstFormat types. This function handles + Converts among various #GstFormat types. This function handles GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For raw audio, GST_FORMAT_DEFAULT corresponds to audio frames. This function can be used to handle pad queries of the type GST_QUERY_CONVERT. + - TRUE if the conversion was successful. + TRUE if the conversion was successful. - a #GstAudioInfo + a #GstAudioInfo - #GstFormat of the @src_val + #GstFormat of the @src_val - value to convert + value to convert - #GstFormat of the @dest_val + #GstFormat of the @dest_val - pointer to destination value + pointer to destination value - Copy a GstAudioInfo structure. + Copy a GstAudioInfo structure. + - a new #GstAudioInfo. free with gst_audio_info_free. + a new #GstAudioInfo. free with gst_audio_info_free. - a #GstAudioInfo + a #GstAudioInfo - Free a GstAudioInfo structure previously allocated with gst_audio_info_new() + Free a GstAudioInfo structure previously allocated with gst_audio_info_new() or gst_audio_info_copy(). + - a #GstAudioInfo + a #GstAudioInfo - Parse @caps and update @info. + Parse @caps and update @info. + - TRUE if @caps could be parsed + TRUE if @caps could be parsed - a #GstAudioInfo + a #GstAudioInfo - a #GstCaps + a #GstCaps - Initialize @info with default values. + Initialize @info with default values. + - a #GstAudioInfo + a #GstAudioInfo @@ -6219,51 +9486,75 @@ or gst_audio_info_copy(). - Compares two #GstAudioInfo and returns whether they are equal or not + Compares two #GstAudioInfo and returns whether they are equal or not + - %TRUE if @info and @other are equal, else %FALSE. + %TRUE if @info and @other are equal, else %FALSE. - a #GstAudioInfo + a #GstAudioInfo - a #GstAudioInfo + a #GstAudioInfo - Set the default info for the audio info of @format and @rate and @channels. + Set the default info for the audio info of @format and @rate and @channels. Note: This initializes @info first, no values are preserved. + - a #GstAudioInfo + a #GstAudioInfo - the format + the format - the samplerate + the samplerate - the number of channels + the number of channels - the channel positions + the channel positions @@ -6274,15 +9565,23 @@ Note: This initializes @info first, no values are preserved. - Convert the values of @info into a #GstCaps. + Convert the values of @info into a #GstCaps. + - the new #GstCaps containing the + the new #GstCaps containing the info of @info. - a #GstAudioInfo + a #GstAudioInfo @@ -6292,53 +9591,73 @@ Note: This initializes @info first, no values are preserved. glib:type-name="GstAudioLayout" glib:get-type="gst_audio_layout_get_type" c:type="GstAudioLayout"> - Layout of the audio samples for the different channels. + Layout of the audio samples for the different channels. - interleaved audio + interleaved audio - non-interleaved audio + non-interleaved audio - #GstAudioDownmixMeta defines an audio downmix matrix to be send along with + #GstAudioDownmixMeta defines an audio downmix matrix to be send along with audio buffers. These functions in this module help to create and attach the meta as well as extracting it. + - parent #GstMeta + parent #GstMeta - the audio properties of the buffer + the audio properties of the buffer - the number of valid samples in the buffer + the number of valid samples in the buffer - the offsets (in bytes) where each channel plane starts in the + the offsets (in bytes) where each channel plane starts in the buffer or %NULL if the buffer has interleaved layout; if not %NULL, this is guaranteed to be an array of @info.channels elements - + - + + @@ -6348,88 +9667,122 @@ meta as well as extracting it. glib:type-name="GstAudioNoiseShapingMethod" glib:get-type="gst_audio_noise_shaping_method_get_type" c:type="GstAudioNoiseShapingMethod"> - Set of available noise shaping methods + Set of available noise shaping methods - No noise shaping (default) + No noise shaping (default) - Error feedback + Error feedback - Simple 2-pole noise shaping + Simple 2-pole noise shaping - Medium 5-pole noise shaping + Medium 5-pole noise shaping - High 8-pole noise shaping + High 8-pole noise shaping - The different flags that can be used when packing and unpacking. + The different flags that can be used when packing and unpacking. - No flag + No flag - When the source has a smaller depth + When the source has a smaller depth than the target format, set the least significant bits of the target - to 0. This is likely sightly faster but less accurate. When this flag + to 0. This is likely slightly faster but less accurate. When this flag is not specified, the most significant bits of the source are duplicated in the least significant bits of the destination. + - Free a #GstAudioQuantize. + Free a #GstAudioQuantize. + - a #GstAudioQuantize + a #GstAudioQuantize - Reset @quant to the state is was when created, clearing any + Reset @quant to the state is was when created, clearing any history it might have. + - a #GstAudioQuantize + a #GstAudioQuantize - Perform quantization on @samples in @in and write the result to @out. + Perform quantization on @samples in @in and write the result to @out. In case the samples are interleaved, @in and @out must point to an array with a single element pointing to a block of interleaved samples. @@ -6439,30 +9792,40 @@ array with pointers to memory blocks, one for each channel. @in and @out may point to the same memory location, in which case samples will be modified in-place. + - a #GstAudioQuantize + a #GstAudioQuantize - input samples + input samples - output samples + output samples - number of samples + number of samples @@ -6470,41 +9833,59 @@ modified in-place. - Create a new quantizer object with the given parameters. + Create a new quantizer object with the given parameters. Output samples will be quantized to a multiple of @quantizer. Better performance is achieved when @quantizer is a power of 2. Dithering and noise-shaping can be performed during quantization with the @dither and @ns parameters. + - a new #GstAudioQuantize. Free with gst_audio_quantize_free(). + a new #GstAudioQuantize. Free with gst_audio_quantize_free(). - a #GstAudioDitherMethod + a #GstAudioDitherMethod - a #GstAudioNoiseShapingMethod + a #GstAudioNoiseShapingMethod - #GstAudioQuantizeFlags + #GstAudioQuantizeFlags - the #GstAudioFormat of the samples + the #GstAudioFormat of the samples - the amount of channels in the samples + the amount of channels in the samples - the quantizer to use + the quantizer to use @@ -6514,95 +9895,141 @@ the @dither and @ns parameters. glib:type-name="GstAudioQuantizeFlags" glib:get-type="gst_audio_quantize_flags_get_type" c:type="GstAudioQuantizeFlags"> - Extra flags that can be passed to gst_audio_quantize_new() + Extra flags that can be passed to gst_audio_quantize_new() - no flags + no flags - samples are non-interleaved + samples are non-interleaved - #GstAudioResampler is a structure which holds the information + #GstAudioResampler is a structure which holds the information required to perform various kinds of resampling filtering. + - Free a previously allocated #GstAudioResampler @resampler. + Free a previously allocated #GstAudioResampler @resampler. + - a #GstAudioResampler + a #GstAudioResampler - Get the number of input frames that would currently be needed + Get the number of input frames that would currently be needed to produce @out_frames from @resampler. + - The number of input frames needed for producing + The number of input frames needed for producing @out_frames of data from @resampler. - a #GstAudioResampler + a #GstAudioResampler - number of input frames + number of input frames - Get the maximum number of input samples that the resampler would + Get the maximum number of input samples that the resampler would need before producing output. + - the latency of @resampler as expressed in the number of + the latency of @resampler as expressed in the number of frames. - a #GstAudioResampler + a #GstAudioResampler - Get the number of output frames that would be currently available when + Get the number of output frames that would be currently available when @in_frames are given to @resampler. + - The number of frames that would be availabe after giving + The number of frames that would be available after giving @in_frames as input to @resampler. - a #GstAudioResampler + a #GstAudioResampler - number of input frames + number of input frames - Perform resampling on @in_frames frames in @in and write @out_frames to @out. + Perform resampling on @in_frames frames in @in and write @out_frames to @out. In case the samples are interleaved, @in and @out must point to an array with a single element pointing to a block of interleaved samples. @@ -6617,147 +10044,213 @@ This function always produces @out_frames of output and consumes @in_frames of input. Use gst_audio_resampler_get_out_frames() and gst_audio_resampler_get_in_frames() to make sure @in_frames and @out_frames are matching and @in and @out point to enough memory. + - a #GstAudioResampler + a #GstAudioResampler - input samples + input samples - number of input frames + number of input frames - output samples + output samples - number of output frames + number of output frames - Reset @resampler to the state it was when it was first created, discarding + Reset @resampler to the state it was when it was first created, discarding all sample history. + - a #GstAudioResampler + a #GstAudioResampler - Update the resampler parameters for @resampler. This function should + Update the resampler parameters for @resampler. This function should not be called concurrently with any other function on @resampler. When @in_rate or @out_rate is 0, its value is unchanged. When @options is %NULL, the previously configured options are reused. + - %TRUE if the new parameters could be set + %TRUE if the new parameters could be set - a #GstAudioResampler + a #GstAudioResampler - new input rate + new input rate - new output rate + new output rate - new options or %NULL + new options or %NULL - Make a new resampler. + Make a new resampler. + - The new #GstAudioResampler, or + The new #GstAudioResampler, or %NULL on failure. - a #GstAudioResamplerMethod + a #GstAudioResamplerMethod - #GstAudioResamplerFlags + #GstAudioResamplerFlags - the #GstAudioFormat + the #GstAudioFormat - the number of channels + the number of channels - input rate + input rate - output rate + output rate - extra options + extra options - Set the parameters for resampling from @in_rate to @out_rate using @method + Set the parameters for resampling from @in_rate to @out_rate using @method for @quality in @options. + - a #GstAudioResamplerMethod + a #GstAudioResamplerMethod - the quality + the quality - the input rate + the input rate - the output rate + the output rate - a #GstStructure + a #GstStructure @@ -6767,38 +10260,50 @@ for @quality in @options. glib:type-name="GstAudioResamplerFilterInterpolation" glib:get-type="gst_audio_resampler_filter_interpolation_get_type" c:type="GstAudioResamplerFilterInterpolation"> - The different filter interpolation methods. + The different filter interpolation methods. - no interpolation + no interpolation - linear interpolation of the - filter coeficients. + linear interpolation of the + filter coefficients. - cubic interpolation of the - filter coeficients. + cubic interpolation of the + filter coefficients. - Select for the filter tables should be set up. + Select for the filter tables should be set up. - Use interpolated filter tables. This + Use interpolated filter tables. This uses less memory but more CPU and is slightly less accurate but it allows for more efficient variable rate resampling with gst_audio_resampler_update(). @@ -6806,14 +10311,18 @@ for @quality in @options. value="1" c:identifier="GST_AUDIO_RESAMPLER_FILTER_MODE_FULL" glib:nick="full"> - Use full filter table. This uses more memory + Use full filter table. This uses more memory but less CPU. - Automatically choose between interpolated + Automatically choose between interpolated and full filter tables. @@ -6821,18 +10330,24 @@ for @quality in @options. glib:type-name="GstAudioResamplerFlags" glib:get-type="gst_audio_resampler_flags_get_type" c:type="GstAudioResamplerFlags"> - Different resampler flags. + Different resampler flags. - no flags + no flags - input samples are non-interleaved. + input samples are non-interleaved. an array of blocks of samples, one for each channel, should be passed to the resample function. @@ -6840,7 +10355,9 @@ for @quality in @options. value="2" c:identifier="GST_AUDIO_RESAMPLER_FLAG_NON_INTERLEAVED_OUT" glib:nick="non-interleaved-out"> - output samples are non-interleaved. + output samples are non-interleaved. an array of blocks of samples, one for each channel, should be passed to the resample function. @@ -6848,7 +10365,9 @@ for @quality in @options. value="4" c:identifier="GST_AUDIO_RESAMPLER_FLAG_VARIABLE_RATE" glib:nick="variable-rate"> - optimize for dynamic updates of the sample + optimize for dynamic updates of the sample rates with gst_audio_resampler_update(). This will select an interpolating filter when #GST_AUDIO_RESAMPLER_FILTER_MODE_AUTO is configured. @@ -6858,38 +10377,50 @@ for @quality in @options. glib:type-name="GstAudioResamplerMethod" glib:get-type="gst_audio_resampler_method_get_type" c:type="GstAudioResamplerMethod"> - Different subsampling and upsampling methods + Different subsampling and upsampling methods - Duplicates the samples when + Duplicates the samples when upsampling and drops when downsampling - Uses linear interpolation to reconstruct + Uses linear interpolation to reconstruct missing samples and averaging to downsample - Uses cubic interpolation + Uses cubic interpolation - Uses Blackman-Nuttall windowed sinc interpolation + Uses Blackman-Nuttall windowed sinc interpolation - Uses Kaiser windowed sinc interpolation + Uses Kaiser windowed sinc interpolation glib:type-name="GstAudioRingBuffer" glib:get-type="gst_audio_ring_buffer_get_type" glib:type-struct="AudioRingBufferClass"> - This object is the base class for audio ringbuffers used by the base + This object is the base class for audio ringbuffers used by the base audio source and sink classes. The ringbuffer abstracts a circular buffer of data. One reader and @@ -6908,123 +10441,183 @@ one writer can operate on the data from different threads in a lockfree manner. The base class is sufficiently flexible to be used as an abstraction for DMA based ringbuffers as well as a pure software implementations. + - Print debug info about the buffer sized in @spec to the debug log. + Print debug info about the buffer sized in @spec to the debug log. + - the spec to debug + the spec to debug - Print debug info about the parsed caps in @spec to the debug log. + Print debug info about the parsed caps in @spec to the debug log. + - the spec to debug + the spec to debug - Parse @caps into @spec. + Parse @caps into @spec. + - TRUE if the caps could be parsed. + TRUE if the caps could be parsed. - a spec + a spec - a #GstCaps + a #GstCaps - Allocate the resources for the ringbuffer. This function fills + Allocate the resources for the ringbuffer. This function fills in the data pointer of the ring buffer with a valid #GstBuffer to which samples can be written. + - TRUE if the device could be acquired, FALSE on error. + TRUE if the device could be acquired, FALSE on error. MT safe. - the #GstAudioRingBuffer to acquire + the #GstAudioRingBuffer to acquire - the specs of the buffer + the specs of the buffer - Activate @buf to start or stop pulling data. + Activate @buf to start or stop pulling data. MT safe. + - TRUE if the device could be activated in the requested mode, + TRUE if the device could be activated in the requested mode, FALSE on error. - the #GstAudioRingBuffer to activate + the #GstAudioRingBuffer to activate - the new mode + the new mode - Fill the ringbuffer with silence. + Clear all samples from the ringbuffer. MT safe. + - the #GstAudioRingBuffer to clear + the #GstAudioRingBuffer to clear - Close the audio device associated with the ring buffer. The ring buffer + Close the audio device associated with the ring buffer. The ring buffer should already have been released via gst_audio_ring_buffer_release(). + - TRUE if the device could be closed, FALSE on error. + TRUE if the device could be closed, FALSE on error. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Commit @in_samples samples pointed to by @data to the ringbuffer @buf. + Commit @in_samples samples pointed to by @data to the ringbuffer @buf. @in_samples and @out_samples define the rate conversion to perform on the samples in @data. For negative rates, @out_samples must be negative and @@ -7043,116 +10636,166 @@ interrupted, one can resume the processing by passing the previously returned @accum value back to this function. MT safe. + - The number of samples written to the ringbuffer or -1 on error. The + The number of samples written to the ringbuffer or -1 on error. The number of samples written can be less than @out_samples when @buf was interrupted with a flush or stop. - the #GstAudioRingBuffer to commit + the #GstAudioRingBuffer to commit - the sample position of the data + the sample position of the data - the data to commit + the data to commit - the number of samples in the data to commit + the number of samples in the data to commit - the number of samples to write to the ringbuffer + the number of samples to write to the ringbuffer - accumulator for rate conversion. + accumulator for rate conversion. - Get the number of samples queued in the audio device. This is + Get the number of samples queued in the audio device. This is usually less than the segment size but can be bigger when the implementation uses another internal buffer between the audio device. -For playback ringbuffers this is the amount of samples transfered from the +For playback ringbuffers this is the amount of samples transferred from the ringbuffer to the device but still not played. For capture ringbuffers this is the amount of samples in the device that are -not yet transfered to the ringbuffer. +not yet transferred to the ringbuffer. + - The number of samples queued in the audio device. + The number of samples queued in the audio device. MT safe. - the #GstAudioRingBuffer to query + the #GstAudioRingBuffer to query - Open the audio device associated with the ring buffer. Does not perform any + Open the audio device associated with the ring buffer. Does not perform any setup on the device. You must open the device before acquiring the ring buffer. + - TRUE if the device could be opened, FALSE on error. + TRUE if the device could be opened, FALSE on error. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Pause processing samples from the ringbuffer. + Pause processing samples from the ringbuffer. + - TRUE if the device could be paused, FALSE on error. + TRUE if the device could be paused, FALSE on error. MT safe. - the #GstAudioRingBuffer to pause + the #GstAudioRingBuffer to pause - Free the resources of the ringbuffer. + Free the resources of the ringbuffer. + - TRUE if the device could be released, FALSE on error. + TRUE if the device could be released, FALSE on error. MT safe. - the #GstAudioRingBuffer to release + the #GstAudioRingBuffer to release + @@ -7163,147 +10806,215 @@ MT safe. - Start processing samples from the ringbuffer. + Start processing samples from the ringbuffer. + - TRUE if the device could be started, FALSE on error. + TRUE if the device could be started, FALSE on error. MT safe. - the #GstAudioRingBuffer to start + the #GstAudioRingBuffer to start - Stop processing samples from the ringbuffer. + Stop processing samples from the ringbuffer. + - TRUE if the device could be stopped, FALSE on error. + TRUE if the device could be stopped, FALSE on error. MT safe. - the #GstAudioRingBuffer to stop + the #GstAudioRingBuffer to stop - Allocate the resources for the ringbuffer. This function fills + Allocate the resources for the ringbuffer. This function fills in the data pointer of the ring buffer with a valid #GstBuffer to which samples can be written. + - TRUE if the device could be acquired, FALSE on error. + TRUE if the device could be acquired, FALSE on error. MT safe. - the #GstAudioRingBuffer to acquire + the #GstAudioRingBuffer to acquire - the specs of the buffer + the specs of the buffer - Activate @buf to start or stop pulling data. + Activate @buf to start or stop pulling data. MT safe. + - TRUE if the device could be activated in the requested mode, + TRUE if the device could be activated in the requested mode, FALSE on error. - the #GstAudioRingBuffer to activate + the #GstAudioRingBuffer to activate - the new mode + the new mode - Subclasses should call this function to notify the fact that + Subclasses should call this function to notify the fact that @advance segments are now processed by the device. MT safe. + - the #GstAudioRingBuffer to advance + the #GstAudioRingBuffer to advance - the number of segments written + the number of segments written - Clear the given segment of the buffer with silence samples. + Clear the given segment of the buffer with silence samples. This function is used by subclasses. MT safe. + - the #GstAudioRingBuffer to clear + the #GstAudioRingBuffer to clear - the segment to clear + the segment to clear - Fill the ringbuffer with silence. + Clear all samples from the ringbuffer. MT safe. + - the #GstAudioRingBuffer to clear + the #GstAudioRingBuffer to clear - Close the audio device associated with the ring buffer. The ring buffer + Close the audio device associated with the ring buffer. The ring buffer should already have been released via gst_audio_ring_buffer_release(). + - TRUE if the device could be closed, FALSE on error. + TRUE if the device could be closed, FALSE on error. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Commit @in_samples samples pointed to by @data to the ringbuffer @buf. + Commit @in_samples samples pointed to by @data to the ringbuffer @buf. @in_samples and @out_samples define the rate conversion to perform on the samples in @data. For negative rates, @out_samples must be negative and @@ -7322,243 +11033,351 @@ interrupted, one can resume the processing by passing the previously returned @accum value back to this function. MT safe. + - The number of samples written to the ringbuffer or -1 on error. The + The number of samples written to the ringbuffer or -1 on error. The number of samples written can be less than @out_samples when @buf was interrupted with a flush or stop. - the #GstAudioRingBuffer to commit + the #GstAudioRingBuffer to commit - the sample position of the data + the sample position of the data - the data to commit + the data to commit - the number of samples in the data to commit + the number of samples in the data to commit - the number of samples to write to the ringbuffer + the number of samples to write to the ringbuffer - accumulator for rate conversion. + accumulator for rate conversion. - Convert @src_val in @src_fmt to the equivalent value in @dest_fmt. The result + Convert @src_val in @src_fmt to the equivalent value in @dest_fmt. The result will be put in @dest_val. + - TRUE if the conversion succeeded. + TRUE if the conversion succeeded. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - the source format + the source format - the source value + the source value - the destination format + the destination format - a location to store the converted value + a location to store the converted value - Get the number of samples queued in the audio device. This is + Get the number of samples queued in the audio device. This is usually less than the segment size but can be bigger when the implementation uses another internal buffer between the audio device. -For playback ringbuffers this is the amount of samples transfered from the +For playback ringbuffers this is the amount of samples transferred from the ringbuffer to the device but still not played. For capture ringbuffers this is the amount of samples in the device that are -not yet transfered to the ringbuffer. +not yet transferred to the ringbuffer. + - The number of samples queued in the audio device. + The number of samples queued in the audio device. MT safe. - the #GstAudioRingBuffer to query + the #GstAudioRingBuffer to query - Checks the status of the device associated with the ring buffer. + Checks the status of the device associated with the ring buffer. + - TRUE if the device was open, FALSE if it was closed. + TRUE if the device was open, FALSE if it was closed. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Check if the ringbuffer is acquired and ready to use. + Check if the ringbuffer is acquired and ready to use. + - TRUE if the ringbuffer is acquired, FALSE on error. + TRUE if the ringbuffer is acquired, FALSE on error. MT safe. - the #GstAudioRingBuffer to check + the #GstAudioRingBuffer to check - Check if @buf is activated. + Check if @buf is activated. MT safe. + - TRUE if the device is active. + TRUE if the device is active. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Check if @buf is flushing. + Check if @buf is flushing. MT safe. + - TRUE if the device is flushing. + TRUE if the device is flushing. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Tell the ringbuffer that it is allowed to start playback when + Tell the ringbuffer that it is allowed to start playback when the ringbuffer is filled with samples. MT safe. + - the #GstAudioRingBuffer + the #GstAudioRingBuffer - the new value + the new value - Open the audio device associated with the ring buffer. Does not perform any + Open the audio device associated with the ring buffer. Does not perform any setup on the device. You must open the device before acquiring the ring buffer. + - TRUE if the device could be opened, FALSE on error. + TRUE if the device could be opened, FALSE on error. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer - Pause processing samples from the ringbuffer. + Pause processing samples from the ringbuffer. + - TRUE if the device could be paused, FALSE on error. + TRUE if the device could be paused, FALSE on error. MT safe. - the #GstAudioRingBuffer to pause + the #GstAudioRingBuffer to pause - Returns a pointer to memory where the data from segment @segment + Returns a pointer to memory where the data from segment @segment can be found. This function is mostly used by subclasses. + - FALSE if the buffer is not started. + FALSE if the buffer is not started. MT safe. - the #GstAudioRingBuffer to read from + the #GstAudioRingBuffer to read from - the segment to read + the segment to read - + the pointer to the memory where samples can be read @@ -7568,13 +11387,17 @@ MT safe. direction="out" caller-allocates="0" transfer-ownership="full"> - the number of bytes to read + the number of bytes to read - Read @len samples from the ringbuffer into the memory pointed + Read @len samples from the ringbuffer into the memory pointed to by @data. The first sample should be read from position @sample in the ringbuffer. @@ -7583,8 +11406,12 @@ the ringbuffer. although it is recommended. @timestamp will return the timestamp associated with the data returned. + - The number of samples read from the ringbuffer or -1 on + The number of samples read from the ringbuffer or -1 on error. MT safe. @@ -7592,61 +11419,87 @@ MT safe. - the #GstAudioRingBuffer to read from + the #GstAudioRingBuffer to read from - the sample position of the data + the sample position of the data - where the data should be read + where the data should be read - the number of samples in data to read + the number of samples in data to read - where the timestamp is returned + where the timestamp is returned - Free the resources of the ringbuffer. + Free the resources of the ringbuffer. + - TRUE if the device could be released, FALSE on error. + TRUE if the device could be released, FALSE on error. MT safe. - the #GstAudioRingBuffer to release + the #GstAudioRingBuffer to release - Get the number of samples that were processed by the ringbuffer + Get the number of samples that were processed by the ringbuffer since it was last started. This does not include the number of samples not yet processed (see gst_audio_ring_buffer_delay()). + - The number of samples processed by the ringbuffer. + The number of samples processed by the ringbuffer. MT safe. - the #GstAudioRingBuffer to query + the #GstAudioRingBuffer to query @@ -7655,16 +11508,22 @@ MT safe. c:identifier="gst_audio_ring_buffer_set_callback" shadowed-by="set_callback_full" introspectable="0"> - Sets the given callback function on the buffer. This function + Sets the given callback function on the buffer. This function will be called every time a segment has been written to a device. MT safe. + - the #GstAudioRingBuffer to set the callback on + the #GstAudioRingBuffer to set the callback on nullable="1" allow-none="1" closure="1"> - the callback to set + the callback to set @@ -7680,7 +11541,9 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the callback + user data passed to the callback @@ -7689,16 +11552,22 @@ MT safe. c:identifier="gst_audio_ring_buffer_set_callback_full" shadows="set_callback" version="1.12"> - Sets the given callback function on the buffer. This function + Sets the given callback function on the buffer. This function will be called every time a segment has been written to a device. MT safe. + - the #GstAudioRingBuffer to set the callback on + the #GstAudioRingBuffer to set the callback on scope="notified" closure="1" destroy="2"> - the callback to set + the callback to set @@ -7716,29 +11587,41 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the callback + user data passed to the callback - function to be called when @user_data is no longer needed + function to be called when @user_data is no longer needed - Tell the ringbuffer about the device's channel positions. This must + Tell the ringbuffer about the device's channel positions. This must be called in when the ringbuffer is acquired. + - the #GstAudioRingBuffer + the #GstAudioRingBuffer - the device channel positions + the device channel positions @@ -7748,26 +11631,36 @@ be called in when the ringbuffer is acquired. - Set the ringbuffer to flushing mode or normal mode. + Set the ringbuffer to flushing mode or normal mode. MT safe. + - the #GstAudioRingBuffer to flush + the #GstAudioRingBuffer to flush - the new mode + the new mode - Make sure that the next sample written to the device is + Make sure that the next sample written to the device is accounted for as being the @sample sample written to the device. This value will be used in reporting the current sample position of the ringbuffer. @@ -7775,22 +11668,30 @@ sample position of the ringbuffer. This function will also clear the buffer with silence. MT safe. + - the #GstAudioRingBuffer to use + the #GstAudioRingBuffer to use - the sample number to set + the sample number to set + @@ -7807,31 +11708,47 @@ MT safe. - Start processing samples from the ringbuffer. + Start processing samples from the ringbuffer. + - TRUE if the device could be started, FALSE on error. + TRUE if the device could be started, FALSE on error. MT safe. - the #GstAudioRingBuffer to start + the #GstAudioRingBuffer to start - Stop processing samples from the ringbuffer. + Stop processing samples from the ringbuffer. + - TRUE if the device could be stopped, FALSE on error. + TRUE if the device could be stopped, FALSE on error. MT safe. - the #GstAudioRingBuffer to stop + the #GstAudioRingBuffer to stop @@ -7840,54 +11757,78 @@ MT safe. - used to signal start/stop/pause/resume actions + used to signal start/stop/pause/resume actions - boolean indicating that the ringbuffer is open + boolean indicating that the ringbuffer is open - boolean indicating that the ringbuffer is acquired + boolean indicating that the ringbuffer is acquired - data in the ringbuffer + data in the ringbuffer - size of data in the ringbuffer + size of data in the ringbuffer - format and layout of the ringbuffer data + format and layout of the ringbuffer data - number of samples in one segment + number of samples in one segment - pointer to memory holding one segment of silence samples + pointer to memory holding one segment of silence samples - state of the buffer + state of the buffer - readpointer in the ringbuffer + readpointer in the ringbuffer - segment corresponding to segment 0 (unused) + segment corresponding to segment 0 (unused) - is a reader or writer waiting for a free segment + is a reader or writer waiting for a free segment @@ -7901,7 +11842,7 @@ MT safe. - + @@ -7918,31 +11859,41 @@ MT safe. - + - This function is set with gst_audio_ring_buffer_set_callback() and is + This function is set with gst_audio_ring_buffer_set_callback() and is called to fill the memory at @data with @len bytes of samples. + - a #GstAudioRingBuffer + a #GstAudioRingBuffer - target to fill + target to fill - amount to fill + amount to fill nullable="1" allow-none="1" closure="3"> - user data + user data @@ -7958,22 +11911,34 @@ called to fill the memory at @data with @len bytes of samples. - The vmethods that subclasses can override to implement the ringbuffer. + The vmethods that subclasses can override to implement the ringbuffer. + - parent class + parent class + - TRUE if the device could be opened, FALSE on error. + TRUE if the device could be opened, FALSE on error. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer @@ -7981,19 +11946,27 @@ MT safe. + - TRUE if the device could be acquired, FALSE on error. + TRUE if the device could be acquired, FALSE on error. MT safe. - the #GstAudioRingBuffer to acquire + the #GstAudioRingBuffer to acquire - the specs of the buffer + the specs of the buffer @@ -8002,15 +11975,21 @@ MT safe. + - TRUE if the device could be released, FALSE on error. + TRUE if the device could be released, FALSE on error. MT safe. - the #GstAudioRingBuffer to release + the #GstAudioRingBuffer to release @@ -8018,15 +11997,21 @@ MT safe. + - TRUE if the device could be closed, FALSE on error. + TRUE if the device could be closed, FALSE on error. MT safe. - the #GstAudioRingBuffer + the #GstAudioRingBuffer @@ -8034,15 +12019,21 @@ MT safe. + - TRUE if the device could be started, FALSE on error. + TRUE if the device could be started, FALSE on error. MT safe. - the #GstAudioRingBuffer to start + the #GstAudioRingBuffer to start @@ -8050,15 +12041,21 @@ MT safe. + - TRUE if the device could be paused, FALSE on error. + TRUE if the device could be paused, FALSE on error. MT safe. - the #GstAudioRingBuffer to pause + the #GstAudioRingBuffer to pause @@ -8066,6 +12063,8 @@ MT safe. + @@ -8078,15 +12077,21 @@ MT safe. + - TRUE if the device could be stopped, FALSE on error. + TRUE if the device could be stopped, FALSE on error. MT safe. - the #GstAudioRingBuffer to stop + the #GstAudioRingBuffer to stop @@ -8094,15 +12099,21 @@ MT safe. + - The number of samples queued in the audio device. + The number of samples queued in the audio device. MT safe. - the #GstAudioRingBuffer to query + the #GstAudioRingBuffer to query @@ -8110,18 +12121,26 @@ MT safe. + - TRUE if the device could be activated in the requested mode, + TRUE if the device could be activated in the requested mode, FALSE on error. - the #GstAudioRingBuffer to activate + the #GstAudioRingBuffer to activate - the new mode + the new mode @@ -8129,40 +12148,56 @@ FALSE on error. + - The number of samples written to the ringbuffer or -1 on error. The + The number of samples written to the ringbuffer or -1 on error. The number of samples written can be less than @out_samples when @buf was interrupted with a flush or stop. - the #GstAudioRingBuffer to commit + the #GstAudioRingBuffer to commit - the sample position of the data + the sample position of the data - the data to commit + the data to commit - the number of samples in the data to commit + the number of samples in the data to commit - the number of samples to write to the ringbuffer + the number of samples to write to the ringbuffer - accumulator for rate conversion. + accumulator for rate conversion. @@ -8170,19 +12205,23 @@ with a flush or stop. + - the #GstAudioRingBuffer to clear + the #GstAudioRingBuffer to clear - + @@ -8191,136 +12230,188 @@ with a flush or stop. glib:type-name="GstAudioRingBufferFormatType" glib:get-type="gst_audio_ring_buffer_format_type_get_type" c:type="GstAudioRingBufferFormatType"> - The format of the samples in the ringbuffer. + The format of the samples in the ringbuffer. - samples in linear or float + samples in linear or float - samples in mulaw + samples in mulaw - samples in alaw + samples in alaw - samples in ima adpcm + samples in ima adpcm - samples in mpeg audio (but not AAC) format + samples in mpeg audio (but not AAC) format - samples in gsm format + samples in gsm format - samples in IEC958 frames (e.g. AC3) + samples in IEC958 frames (e.g. AC3) - samples in AC3 format + samples in AC3 format - samples in EAC3 format + samples in EAC3 format - samples in DTS format + samples in DTS format - samples in MPEG-2 AAC ADTS format + samples in MPEG-2 AAC ADTS format - samples in MPEG-4 AAC ADTS format + samples in MPEG-4 AAC ADTS format - samples in MPEG-2 AAC raw format (Since 1.12) + samples in MPEG-2 AAC raw format (Since: 1.12) - samples in MPEG-4 AAC raw format (Since 1.12) + samples in MPEG-4 AAC raw format (Since: 1.12) - samples in FLAC format (Since 1.12) + samples in FLAC format (Since: 1.12) - The structure containing the format specification of the ringbuffer. + The structure containing the format specification of the ringbuffer. + - The caps that generated the Spec. + The caps that generated the Spec. - the sample type + the sample type - the #GstAudioInfo + the #GstAudioInfo - the latency in microseconds + the latency in microseconds - the total buffer size in microseconds + the total buffer size in microseconds - the size of one segment in bytes + the size of one segment in bytes - the total number of segments + the total number of segments - number of segments queued in the lower level device, + number of segments queued in the lower level device, defaults to segtotal - + @@ -8329,32 +12420,42 @@ with a flush or stop. glib:type-name="GstAudioRingBufferState" glib:get-type="gst_audio_ring_buffer_state_get_type" c:type="GstAudioRingBufferState"> - The state of the ringbuffer. + The state of the ringbuffer. - The ringbuffer is stopped + The ringbuffer is stopped - The ringbuffer is paused + The ringbuffer is paused - The ringbuffer is started + The ringbuffer is started - The ringbuffer has encountered an + The ringbuffer has encountered an error after it has been started, e.g. because the device was - disconnected (Since 1.2) + disconnected (Since: 1.2) glib:type-name="GstAudioSink" glib:get-type="gst_audio_sink_get_type" glib:type-struct="AudioSinkClass"> - This is the most simple base class for audio sinks that only requires + This is the most simple base class for audio sinks that only requires subclasses to implement a set of simple functions: * `open()` :Open the device. @@ -8385,7 +12488,11 @@ by the device. All scheduling of samples and timestamps is done in this base class together with #GstAudioBaseSink using a default implementation of a #GstAudioRingBuffer that uses threads. + + @@ -8396,6 +12503,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8406,6 +12515,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8415,7 +12526,21 @@ together with #GstAudioBaseSink using a default implementation of a + + + + + + + + + + + + @@ -8429,6 +12554,32 @@ together with #GstAudioBaseSink using a default implementation of a + + + + + + + + + + + + + + + + + + + + + + + @@ -8439,6 +12590,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8449,6 +12602,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8474,7 +12629,7 @@ together with #GstAudioBaseSink using a default implementation of a - + @@ -8482,13 +12637,18 @@ together with #GstAudioBaseSink using a default implementation of a - #GstAudioSink class. Override the vmethods to implement functionality. + - the parent class structure. + the parent class structure. + @@ -8501,6 +12661,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8517,6 +12679,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8529,6 +12693,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8541,6 +12707,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8562,6 +12730,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8574,6 +12744,8 @@ together with #GstAudioBaseSink using a default implementation of a + @@ -8584,10 +12756,72 @@ together with #GstAudioBaseSink using a default implementation of a - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + class extension structure. Since: 1.18 + + + + + + + + + + + + + + + + + - This is the most simple base class for audio sources that only requires + This is the most simple base class for audio sources that only requires subclasses to implement a set of simple functions: * `open()` :Open the device. @@ -8611,7 +12847,10 @@ subclasses to implement a set of simple functions: All scheduling of samples and timestamps is done in this base class together with #GstAudioBaseSrc using a default implementation of a #GstAudioRingBuffer that uses threads. + + @@ -8622,6 +12861,8 @@ together with #GstAudioBaseSrc using a default implementation of a + @@ -8632,6 +12873,8 @@ together with #GstAudioBaseSrc using a default implementation of a + @@ -8642,6 +12885,8 @@ together with #GstAudioBaseSrc using a default implementation of a + @@ -8655,6 +12900,8 @@ together with #GstAudioBaseSrc using a default implementation of a + @@ -8677,6 +12924,8 @@ together with #GstAudioBaseSrc using a default implementation of a + @@ -8687,6 +12936,8 @@ together with #GstAudioBaseSrc using a default implementation of a + @@ -8703,7 +12954,7 @@ together with #GstAudioBaseSrc using a default implementation of a - + @@ -8711,14 +12962,21 @@ together with #GstAudioBaseSrc using a default implementation of a - #GstAudioSrc class. Override the vmethod to implement + #GstAudioSrc class. Override the vmethod to implement functionality. + - the parent class. + the parent class. + @@ -8731,6 +12989,8 @@ functionality. + @@ -8747,6 +13007,8 @@ functionality. + @@ -8759,6 +13021,8 @@ functionality. + @@ -8771,6 +13035,8 @@ functionality. + @@ -8795,6 +13061,8 @@ functionality. + @@ -8807,6 +13075,8 @@ functionality. + @@ -8818,7 +13088,7 @@ functionality. - + @@ -8829,16 +13099,22 @@ functionality. glib:type-name="GstAudioStreamAlign" glib:get-type="gst_audio_stream_align_get_type" c:symbol-prefix="audio_stream_align"> - #GstAudioStreamAlign provides a helper object that helps tracking audio + #GstAudioStreamAlign provides a helper object that helps tracking audio stream alignment and discontinuities, and detects discontinuities if possible. See gst_audio_stream_align_new() for a description of its parameters and gst_audio_stream_align_process() for the details of the processing. + - Allocate a new #GstAudioStreamAlign with the given configuration. All + Allocate a new #GstAudioStreamAlign with the given configuration. All processing happens according to sample rate @rate, until gst_audio_stream_align_set_rate() is called with a new @rate. A negative rate can be used for reverse playback. @@ -8849,21 +13125,31 @@ timestamp difference is considered a discontinuity. Once detected, again until the output buffer is marked as a discontinuity. These can later be re-configured with gst_audio_stream_align_set_alignment_threshold() and gst_audio_stream_align_set_discont_wait(). + - a new #GstAudioStreamAlign. free with gst_audio_stream_align_free(). + a new #GstAudioStreamAlign. free with gst_audio_stream_align_free(). - a sample rate + a sample rate - a alignment threshold in nanoseconds + a alignment threshold in nanoseconds - discont wait in nanoseconds + discont wait in nanoseconds @@ -8871,14 +13157,22 @@ gst_audio_stream_align_set_discont_wait(). - Copy a GstAudioStreamAlign structure. + Copy a GstAudioStreamAlign structure. + - a new #GstAudioStreamAlign. free with gst_audio_stream_align_free. + a new #GstAudioStreamAlign. free with gst_audio_stream_align_free. - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8886,14 +13180,20 @@ gst_audio_stream_align_set_discont_wait(). - Free a GstAudioStreamAlign structure previously allocated with gst_audio_stream_align_new() + Free a GstAudioStreamAlign structure previously allocated with gst_audio_stream_align_new() or gst_audio_stream_align_copy(). + - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8901,14 +13201,22 @@ or gst_audio_stream_align_copy(). - Gets the currently configured alignment threshold. + Gets the currently configured alignment threshold. + - The currently configured alignment threshold + The currently configured alignment threshold - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8916,14 +13224,22 @@ or gst_audio_stream_align_copy(). - Gets the currently configured discont wait. + Gets the currently configured discont wait. + - The currently configured discont wait + The currently configured discont wait - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8931,14 +13247,22 @@ or gst_audio_stream_align_copy(). - Gets the currently configured sample rate. + Gets the currently configured sample rate. + - The currently configured sample rate + The currently configured sample rate - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8946,15 +13270,23 @@ or gst_audio_stream_align_copy(). - Returns the number of samples that were processed since the last + Returns the number of samples that were processed since the last discontinuity was detected. + - The number of samples processed since the last discontinuity. + The number of samples processed since the last discontinuity. - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8962,15 +13294,23 @@ discontinuity was detected. - Timestamp that was passed when a discontinuity was detected, i.e. the first + Timestamp that was passed when a discontinuity was detected, i.e. the first timestamp after the discontinuity. + - The last timestamp at when a discontinuity was detected + The last timestamp at when a discontinuity was detected - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8978,13 +13318,19 @@ timestamp after the discontinuity. - Marks the next buffer as discontinuous and resets timestamp tracking. + Marks the next buffer as discontinuous and resets timestamp tracking. + - a #GstAudioStreamAlign + a #GstAudioStreamAlign @@ -8992,7 +13338,9 @@ timestamp after the discontinuity. - Processes data with @timestamp and @n_samples, and returns the output + Processes data with @timestamp and @n_samples, and returns the output timestamp, duration and sample position together with a boolean to signal whether a discontinuity was detected or not. All non-discontinuous data will have perfect timestamps and durations. @@ -9008,46 +13356,64 @@ discontinuous with the first sample of the current one. However for this function they are only considered discontinuous in reverse playback if the first sample of the previous buffer is discontinuous with the last sample of the current one. + - %TRUE if a discontinuity was detected, %FALSE otherwise. + %TRUE if a discontinuity was detected, %FALSE otherwise. - a #GstAudioStreamAlign + a #GstAudioStreamAlign - if this data is considered to be discontinuous + if this data is considered to be discontinuous - a #GstClockTime of the start of the data + a #GstClockTime of the start of the data - number of samples to process + number of samples to process - output timestamp of the data + output timestamp of the data - output duration of the data + output duration of the data - output sample position of the start of the data + output sample position of the start of the data @@ -9055,17 +13421,25 @@ of the current one. - Sets @alignment_treshold as new alignment threshold for the following processing. + Sets @alignment_treshold as new alignment threshold for the following processing. + - a #GstAudioStreamAlign + a #GstAudioStreamAlign - a new alignment threshold + a new alignment threshold @@ -9073,17 +13447,25 @@ of the current one. - Sets @alignment_treshold as new discont wait for the following processing. + Sets @alignment_treshold as new discont wait for the following processing. + - a #GstAudioStreamAlign + a #GstAudioStreamAlign - a new discont wait + a new discont wait @@ -9091,51 +13473,375 @@ of the current one. - Sets @rate as new sample rate for the following processing. If the sample -rate differs this implicitely marks the next data as discontinuous. + Sets @rate as new sample rate for the following processing. If the sample +rate differs this implicitly marks the next data as discontinuous. + - a #GstAudioStreamAlign + a #GstAudioStreamAlign - a new sample rate + a new sample rate + + Calculate frames from @clocktime and sample @rate. + + + + clock time + + + sampling rate + + + + + Calculate clocktime from sample @frames and @rate. + + + + sample frames + + + sampling rate + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - This metadata stays relevant as long as channels are unchanged. + This metadata stays relevant as long as channels are unchanged. + - This metadata stays relevant as long as sample rate is unchanged. + This metadata stays relevant as long as sample rate is unchanged. + - This metadata is relevant for audio streams. + This metadata is relevant for audio streams. + + + + + + + + - This interface is implemented by elements that provide a stream volume. Examples for + This interface is implemented by elements that provide a stream volume. Examples for such elements are #volume and #playbin. Applications can use this interface to get or set the current stream volume. For this @@ -9151,85 +13857,124 @@ gst_stream_volume_set_mute() and gst_stream_volume_get_mute(). Elements that provide some kind of stream volume should implement the "volume" and "mute" #GObject properties and handle setting and getting of them properly. The volume property is defined to be a linear volume factor. + + - the converted volume + the converted volume - #GstStreamVolumeFormat to convert from + #GstStreamVolumeFormat to convert from - #GstStreamVolumeFormat to convert to + #GstStreamVolumeFormat to convert to - Volume in @from format that should be converted + Volume in @from format that should be converted + - Returns %TRUE if the stream is muted + Returns %TRUE if the stream is muted - #GstStreamVolume that should be used + #GstStreamVolume that should be used + - The current stream volume as linear factor + The current stream volume as linear factor - #GstStreamVolume that should be used + #GstStreamVolume that should be used - #GstStreamVolumeFormat which should be returned + #GstStreamVolumeFormat which should be returned + - #GstStreamVolume that should be used + #GstStreamVolume that should be used - Mute state that should be set + Mute state that should be set + - #GstStreamVolume that should be used + #GstStreamVolume that should be used - #GstStreamVolumeFormat of @val + #GstStreamVolumeFormat of @val - Linear volume factor that should be set + Linear volume factor that should be set @@ -9242,28 +13987,38 @@ The volume property is defined to be a linear volume factor. - Different representations of a stream volume. gst_stream_volume_convert_volume() + Different representations of a stream volume. gst_stream_volume_convert_volume() allows to convert between the different representations. Formulas to convert from a linear to a cubic or dB volume are cbrt(val) and 20 * log10 (val). + - Linear scale factor, 1.0 = 100% + Linear scale factor, 1.0 = 100% - Cubic volume scale + Cubic volume scale - Logarithmic volume scale (dB, amplitude not power) + Logarithmic volume scale (dB, amplitude not power) + @@ -9271,12 +14026,17 @@ cbrt(val) and 20 * log10 (val). - Clip the buffer to the given %GstSegment. + Clip the buffer to the given %GstSegment. After calling this function the caller does not own a reference to @buffer anymore. + - %NULL if the buffer is completely outside the configured segment, + %NULL if the buffer is completely outside the configured segment, otherwise the clipped buffer is returned. If the buffer has no timestamp, it is assumed to be inside the segment and @@ -9285,20 +14045,28 @@ is not clipped - The buffer to clip. + The buffer to clip. - Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which + Segment in %GST_FORMAT_TIME or %GST_FORMAT_DEFAULT to which the buffer should be clipped. - sample rate. + sample rate. - size of one audio frame in bytes. This is the size of one sample * + size of one audio frame in bytes. This is the size of one sample * number of channels. @@ -9307,29 +14075,43 @@ number of channels. - Reorders @buffer from the channel positions @from to the channel + Reorders @buffer from the channel positions @from to the channel positions @to. @from and @to must contain the same number of positions and the same positions, only in a different order. @buffer must be writable. + - %TRUE if the reordering was possible. + %TRUE if the reordering was possible. - The buffer to reorder. + The buffer to reorder. - The %GstAudioFormat of the buffer. + The %GstAudioFormat of the buffer. - The number of channels. + The number of channels. - The channel positions in the buffer. + The channel positions in the buffer. @@ -9338,7 +14120,9 @@ positions and the same positions, only in a different order. - The channel positions to convert to. + The channel positions to convert to. @@ -9352,33 +14136,46 @@ positions and the same positions, only in a different order. c:identifier="gst_audio_buffer_truncate" moved-to="AudioBuffer.truncate" version="1.16"> - Truncate the buffer to finally have @samples number of samples, removing + Truncate the buffer to finally have @samples number of samples, removing the necessary amount of samples from the end and @trim number of samples from the beginning. After calling this function the caller does not own a reference to @buffer anymore. + - the truncated buffer or %NULL if the arguments + the truncated buffer or %NULL if the arguments were invalid - The buffer to truncate. + The buffer to truncate. - size of one audio frame in bytes. This is the size of one sample * + size of one audio frame in bytes. This is the size of one sample * number of channels. - the number of samples to remove from the beginning of the buffer + the number of samples to remove from the beginning of the buffer - the final number of samples that should exist in this buffer or -1 + the final number of samples that should exist in this buffer or -1 to use all the remaining samples if you are only removing samples from the beginning. @@ -9388,18 +14185,26 @@ beginning. - Get the fallback channel-mask for the given number of channels. + Get the fallback channel-mask for the given number of channels. This function returns a reasonable fallback channel-mask and should be called as a last resort when the specific channel map is unknown. + - a fallback channel-mask for @channels or 0 when there is no + a fallback channel-mask for @channels or 0 when there is no mask and mono. - the number of channels + the number of channels @@ -9408,15 +14213,23 @@ mask and mono. c:identifier="gst_audio_channel_mixer_new" moved-to="AudioChannelMixer.new" introspectable="0"> - Create a new channel mixer object for the given parameters. + Create a new channel mixer object for the given parameters. + - a new #GstAudioChannelMixer object, or %NULL if @format isn't supported. + a new #GstAudioChannelMixer object, or %NULL if @format isn't supported. Free with gst_audio_channel_mixer_free() after usage. - #GstAudioChannelMixerFlags + #GstAudioChannelMixerFlags @@ -9424,19 +14237,27 @@ mask and mono. - number of input channels + number of input channels - positions of input channels + positions of input channels - number of output channels + number of output channels - positions of output channels + positions of output channels @@ -9446,16 +14267,24 @@ mask and mono. moved-to="AudioChannelMixer.new_with_matrix" version="1.14" introspectable="0"> - Create a new channel mixer object for the given parameters. + Create a new channel mixer object for the given parameters. + - a new #GstAudioChannelMixer object, or %NULL if @format isn't supported, + a new #GstAudioChannelMixer object, or %NULL if @format isn't supported, @matrix is invalid, or @matrix is %NULL and @in_channels != @out_channels. Free with gst_audio_channel_mixer_free() after usage. - #GstAudioChannelMixerFlags + #GstAudioChannelMixerFlags @@ -9463,18 +14292,24 @@ mask and mono. - number of input channels + number of input channels - number of output channels + number of output channels - channel conversion matrix, m[@in_channels][@out_channels]. + channel conversion matrix, m[@in_channels][@out_channels]. If identity matrix, passthrough applies. If %NULL, a (potentially truncated) identity matrix is generated. @@ -9483,27 +14318,39 @@ mask and mono. - Convert the @channels present in @channel_mask to a @position array + Convert the @channels present in @channel_mask to a @position array (which should have at least @channels entries ensured by caller). If @channel_mask is set to 0, it is considered as 'not present' for purpose of conversion. A partially valid @channel_mask with less bits set than the number of channels is considered valid. + - %TRUE if channel and channel mask are valid and could be converted + %TRUE if channel and channel mask are valid and could be converted - The number of channels + The number of channels - The input channel_mask + The input channel_mask - The + The %GstAudioChannelPosition<!-- -->s - Convert the @position array of @channels channels to a bitmask. + Convert the @position array of @channels channels to a bitmask. If @force_order is %TRUE it additionally checks if the channels are in the order required by GStreamer. + - %TRUE if the channel positions are valid and could be converted. + %TRUE if the channel positions are valid and could be converted. - The %GstAudioChannelPositions + The %GstAudioChannelPositions @@ -9535,36 +14390,49 @@ in the order required by GStreamer. - The number of channels. + The number of channels. - Only consider the GStreamer channel order. + Only consider the GStreamer channel order. - the output channel mask + the output channel mask - Converts @position to a human-readable string representation for + c:identifier="gst_audio_channel_positions_to_string" + version="1.10"> + Converts @position to a human-readable string representation for debugging purposes. + - a newly allocated string representing -@position - -Since 1.10 + a newly allocated string representing +@position - The %GstAudioChannelPositions + The %GstAudioChannelPositions to convert. - The number of channels. + The number of channels. - Reorders the channel positions in @position from any order to + Reorders the channel positions in @position from any order to the GStreamer channel order. + - %TRUE if the channel positions are valid and reordering + %TRUE if the channel positions are valid and reordering was successful. - The channel positions to + The channel positions to reorder to. - The number of channels. + The number of channels. - Checks if @position contains valid channel positions for + Checks if @position contains valid channel positions for @channels channels. If @force_order is %TRUE it additionally checks if the channels are in the order required by GStreamer. + - %TRUE if the channel positions are valid. + %TRUE if the channel positions are valid. - The %GstAudioChannelPositions + The %GstAudioChannelPositions to check. - The number of channels. + The number of channels. - Only consider the GStreamer channel order. + Only consider the GStreamer channel order. + @@ -9644,12 +14538,15 @@ checks if the channels are in the order required by GStreamer. + + @@ -9657,6 +14554,7 @@ checks if the channels are in the order required by GStreamer. + @@ -9664,27 +14562,41 @@ checks if the channels are in the order required by GStreamer. - Construct a #GstAudioFormat with given parameters. + Construct a #GstAudioFormat with given parameters. + - a #GstAudioFormat or GST_AUDIO_FORMAT_UNKNOWN when no audio format + a #GstAudioFormat or GST_AUDIO_FORMAT_UNKNOWN when no audio format exists with the given parameters. - signed or unsigned format + signed or unsigned format - G_LITTLE_ENDIAN or G_BIG_ENDIAN + G_LITTLE_ENDIAN or G_BIG_ENDIAN - amount of bits used per sample + amount of bits used per sample - amount of used bits in @width + amount of used bits in @width @@ -9692,24 +14604,34 @@ exists with the given parameters. - Fill @length bytes in @dest with silence samples for @info. + Fill @length bytes in @dest with silence samples for @info. + - a #GstAudioFormatInfo + a #GstAudioFormatInfo - a destination + a destination to fill - the length to fill + the length to fill @@ -9717,15 +14639,23 @@ exists with the given parameters. - Convert the @format string to its #GstAudioFormat. + Convert the @format string to its #GstAudioFormat. + - the #GstAudioFormat for @format or GST_AUDIO_FORMAT_UNKNOWN when the + the #GstAudioFormat for @format or GST_AUDIO_FORMAT_UNKNOWN when the string is not a known format. - a format string + a format string @@ -9733,20 +14663,30 @@ string is not a known format. - Get the #GstAudioFormatInfo for @format + Get the #GstAudioFormatInfo for @format + - The #GstAudioFormatInfo for @format. + The #GstAudioFormatInfo for @format. - a #GstAudioFormat + a #GstAudioFormat + @@ -9754,6 +14694,8 @@ string is not a known format. + @@ -9763,9 +14705,39 @@ string is not a known format. + + Return all the raw audio formats supported by GStreamer. + + + an array of #GstAudioFormat + + + + + + + the number of elements in the returned array + + + + - Returns a reorder map for @from to @to that can be used in + Returns a reorder map for @from to @to that can be used in custom channel reordering code, e.g. to convert from or to the GStreamer channel order. @from and @to must contain the same number of positions and the same positions, only in a @@ -9773,18 +14745,26 @@ different order. The resulting @reorder_map can be used for reordering by assigning channel i of the input to channel reorder_map[i] of the output. + - %TRUE if the channel positions are valid and reordering + %TRUE if the channel positions are valid and reordering is possible. - The number of channels. + The number of channels. - The channel positions to reorder from. + The channel positions to reorder from. @@ -9793,7 +14773,9 @@ is possible. - The channel positions to reorder to. + The channel positions to reorder to. @@ -9802,7 +14784,9 @@ is possible. - Pointer to the reorder map. + Pointer to the reorder map. @@ -9811,16 +14795,24 @@ is possible. - Calculated the size of the buffer expected by gst_audio_iec61937_payload() for + Calculated the size of the buffer expected by gst_audio_iec61937_payload() for payloading type from @spec. + - the size or 0 if the given @type is not supported or cannot be + the size or 0 if the given @type is not supported or cannot be payloaded. - the ringbufer spec + the ringbufer spec @@ -9828,49 +14820,111 @@ payloaded. - Payloads @src in the form specified by IEC 61937 for the type from @spec and + Payloads @src in the form specified by IEC 61937 for the type from @spec and stores the result in @dst. @src must contain exactly one frame of data and the frame is not checked for errors. + - transfer-full: %TRUE if the payloading was successful, %FALSE + transfer-full: %TRUE if the payloading was successful, %FALSE otherwise. - a buffer containing the data to payload + a buffer containing the data to payload - size of @src in bytes + size of @src in bytes - the destination buffer to store the + the destination buffer to store the payloaded contents in. Should not overlap with @src - size of @dst in bytes + size of @dst in bytes - the ringbufer spec for @src + the ringbufer spec for @src - the expected byte order of the payloaded data + the expected byte order of the payloaded data + + Return a generic raw audio caps for formats defined in @formats. +If @formats is %NULL returns a caps for all the supported raw audio formats, +see gst_audio_formats_raw(). + + + an audio @GstCaps + + + + + an array of raw #GstAudioFormat, or %NULL + + + + + + the size of @formats + + + + the layout of audio samples + + + + + @@ -9878,6 +14932,8 @@ otherwise. + @@ -9886,78 +14942,112 @@ otherwise. c:identifier="gst_audio_quantize_new" moved-to="AudioQuantize.new" introspectable="0"> - Create a new quantizer object with the given parameters. + Create a new quantizer object with the given parameters. Output samples will be quantized to a multiple of @quantizer. Better performance is achieved when @quantizer is a power of 2. Dithering and noise-shaping can be performed during quantization with the @dither and @ns parameters. + - a new #GstAudioQuantize. Free with gst_audio_quantize_free(). + a new #GstAudioQuantize. Free with gst_audio_quantize_free(). - a #GstAudioDitherMethod + a #GstAudioDitherMethod - a #GstAudioNoiseShapingMethod + a #GstAudioNoiseShapingMethod - #GstAudioQuantizeFlags + #GstAudioQuantizeFlags - the #GstAudioFormat of the samples + the #GstAudioFormat of the samples - the amount of channels in the samples + the amount of channels in the samples - the quantizer to use + the quantizer to use - Reorders @data from the channel positions @from to the channel + Reorders @data from the channel positions @from to the channel positions @to. @from and @to must contain the same number of positions and the same positions, only in a different order. Note: this function assumes the audio data is in interleaved layout + - %TRUE if the reordering was possible. + %TRUE if the reordering was possible. - The pointer to + The pointer to the memory. - The size of the memory. + The size of the memory. - The %GstAudioFormat of the buffer. + The %GstAudioFormat of the buffer. - The number of channels. + The number of channels. - The channel positions in the buffer. + The channel positions in the buffer. @@ -9966,7 +15056,9 @@ Note: this function assumes the audio data is in interleaved layout - The channel positions to convert to. + The channel positions to convert to. @@ -9979,39 +15071,59 @@ Note: this function assumes the audio data is in interleaved layout - Make a new resampler. + Make a new resampler. + - The new #GstAudioResampler, or + The new #GstAudioResampler, or %NULL on failure. - a #GstAudioResamplerMethod + a #GstAudioResamplerMethod - #GstAudioResamplerFlags + #GstAudioResamplerFlags - the #GstAudioFormat + the #GstAudioFormat - the number of channels + the number of channels - input rate + input rate - output rate + output rate - extra options + extra options @@ -10019,30 +15131,44 @@ Note: this function assumes the audio data is in interleaved layout - Set the parameters for resampling from @in_rate to @out_rate using @method + Set the parameters for resampling from @in_rate to @out_rate using @method for @quality in @options. + - a #GstAudioResamplerMethod + a #GstAudioResamplerMethod - the quality + the quality - the input rate + the input rate - the output rate + the output rate - a #GstStructure + a #GstStructure @@ -10050,49 +15176,72 @@ for @quality in @options. - Attaches #GstAudioClippingMeta metadata to @buffer with the given parameters. + Attaches #GstAudioClippingMeta metadata to @buffer with the given parameters. + - the #GstAudioClippingMeta on @buffer. + the #GstAudioClippingMeta on @buffer. - a #GstBuffer + a #GstBuffer - GstFormat of @start and @stop, GST_FORMAT_DEFAULT is samples + GstFormat of @start and @stop, GST_FORMAT_DEFAULT is samples - Amount of audio to clip from start of buffer + Amount of audio to clip from start of buffer - Amount of to clip from end of buffer + Amount of to clip from end of buffer - Attaches #GstAudioDownmixMeta metadata to @buffer with the given parameters. + Attaches #GstAudioDownmixMeta metadata to @buffer with the given parameters. @matrix is an two-dimensional array of @to_channels times @from_channels coefficients, i.e. the i-th output channels is constructed by multiplicating the input channels with the coefficients in @matrix[i] and taking the sum of the results. + - the #GstAudioDownmixMeta on @buffer. + the #GstAudioDownmixMeta on @buffer. - a #GstBuffer + a #GstBuffer - the channel positions + the channel positions of the source - The number of channels of the source + The number of channels of the source - the channel positions of + the channel positions of the destination - The number of channels of the destination + The number of channels of the destination - The matrix coefficients. + The matrix coefficients. @@ -10128,7 +15285,9 @@ of the results. - Allocates and attaches a #GstAudioMeta on @buffer, which must be writable + Allocates and attaches a #GstAudioMeta on @buffer, which must be writable for that purpose. The fields of the #GstAudioMeta are directly populated from the arguments of this function. @@ -10146,49 +15305,89 @@ specified cause this restriction to be violated. It is, obviously, also not allowed to specify parameters that would cause out-of-bounds memory access on @buffer. This is also checked, which means that you must add enough memory on the @buffer before adding this meta. + - the #GstAudioMeta that was attached on the @buffer + the #GstAudioMeta that was attached on the @buffer - a #GstBuffer + a #GstBuffer - the audio properties of the buffer + the audio properties of the buffer - the number of valid samples in the buffer + the number of valid samples in the buffer - the offsets (in bytes) where each channel plane starts + the offsets (in bytes) where each channel plane starts in the buffer or %NULL to calculate it (see below); must be %NULL also when @info->layout is %GST_AUDIO_LAYOUT_INTERLEAVED + + + + + + + + + + + + + + - Find the #GstAudioDownmixMeta on @buffer for the given destination + Find the #GstAudioDownmixMeta on @buffer for the given destination channel positions. + - the #GstAudioDownmixMeta on @buffer. + the #GstAudioDownmixMeta on @buffer. - a #GstBuffer + a #GstBuffer - the channel positions of + the channel positions of the destination - The number of channels of the destination + The number of channels of the destination + + + + + + + + - the converted volume + the converted volume - #GstStreamVolumeFormat to convert from + #GstStreamVolumeFormat to convert from - #GstStreamVolumeFormat to convert to + #GstStreamVolumeFormat to convert to - Volume in @from format that should be converted + Volume in @from format that should be converted diff --git a/girs/GstBase-1.0.gir b/girs/GstBase-1.0.gir index e1856a567c..0e5b7782e1 100644 --- a/girs/GstBase-1.0.gir +++ b/girs/GstBase-1.0.gir @@ -17,6 +17,121 @@ and/or use gtk-doc annotations. --> shared-library="libgstbase-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Convenience macro to access the source pad of #GstAggregator + + + + a #GstAggregator + + + glib:type-name="GstAdapter" glib:get-type="gst_adapter_get_type" glib:type-struct="AdapterClass"> - This class is for elements that receive buffers in an undesired size. + This class is for elements that receive buffers in an undesired size. While for example raw video contains one image per buffer, the same is not true for a lot of other formats, especially those that come directly from a file. So if you have undefined buffer sizes and require a specific size, @@ -107,8 +224,8 @@ gst_adapter_offset_at_discont(). The number of bytes that were consumed since then can be queried with gst_adapter_distance_from_discont(). A last thing to note is that while #GstAdapter is pretty optimized, -merging buffers still might be an operation that requires a malloc() and -memcpy() operation, and these operations are not the fastest. Because of +merging buffers still might be an operation that requires a `malloc()` and +`memcpy()` operation, and these operations are not the fastest. Because of this, some functions like gst_adapter_available_fast() are provided to help speed up such cases should you want to. To avoid repeated memory allocations, gst_adapter_copy() can be used to copy data into a (statically allocated) @@ -123,52 +240,77 @@ Note that gst_adapter_push() takes ownership of the buffer passed. Use gst_buffer_ref() before pushing it into the adapter if you still want to access the buffer later. The adapter will never modify the data in the buffer pushed in it. + - Creates a new #GstAdapter. Free with g_object_unref(). + Creates a new #GstAdapter. Free with g_object_unref(). + - a new #GstAdapter + a new #GstAdapter - Gets the maximum amount of bytes available, that is it returns the maximum + Gets the maximum amount of bytes available, that is it returns the maximum value that can be supplied to gst_adapter_map() without that function returning %NULL. + - number of bytes available in @adapter + number of bytes available in @adapter - a #GstAdapter + a #GstAdapter - Gets the maximum number of bytes that are immediately available without + Gets the maximum number of bytes that are immediately available without requiring any expensive operations (like copying the data into a temporary buffer). + - number of bytes that are available in @adapter without expensive + number of bytes that are available in @adapter without expensive operations - a #GstAdapter + a #GstAdapter - Removes all buffers from @adapter. + Removes all buffers from @adapter. + - a #GstAdapter + a #GstAdapter @@ -177,39 +319,50 @@ operations c:identifier="gst_adapter_copy" shadowed-by="copy_bytes" introspectable="0"> - Copies @size bytes of data starting at @offset out of the buffers + 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. + - a #GstAdapter + a #GstAdapter - + the memory to copy into - the bytes offset in the adapter to start from + the bytes offset in the adapter to start from - the number of bytes to copy + the number of bytes to copy @@ -218,31 +371,43 @@ available before calling this function. c:identifier="gst_adapter_copy_bytes" shadows="copy" version="1.4"> - Similar to gst_adapter_copy, but more suitable for language bindings. @size + Similar to gst_adapter_copy, but more suitable for language bindings. @size bytes of data starting at @offset will be copied out of the buffers contained in @adapter and into a new #GBytes structure which is returned. Depending on the value of the @size argument an empty #GBytes structure may be returned. + - A new #GBytes structure containing the copied data. + A new #GBytes structure containing the copied data. - a #GstAdapter + a #GstAdapter - the bytes offset in the adapter to start from + the bytes offset in the adapter to start from - the number of bytes to copy + the number of bytes to copy + @@ -255,34 +420,48 @@ the value of the @size argument an empty #GBytes structure may be returned. - Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT + Get the DTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT flag, or GST_CLOCK_TIME_NONE. + - The DTS at the last discont or GST_CLOCK_TIME_NONE. + The DTS at the last discont or GST_CLOCK_TIME_NONE. - a #GstAdapter + a #GstAdapter - Flushes the first @flush bytes in the @adapter. The caller must ensure that + Flushes the first @flush bytes in the @adapter. The caller must ensure that at least this many bytes are available. See also: gst_adapter_map(), gst_adapter_unmap() + - a #GstAdapter + a #GstAdapter - the number of bytes to flush + the number of bytes to flush @@ -290,7 +469,9 @@ See also: gst_adapter_map(), gst_adapter_unmap() - Returns a #GstBuffer containing the first @nbytes of the @adapter, but + Returns a #GstBuffer containing the first @nbytes of the @adapter, but does not flush them from the adapter. See gst_adapter_take_buffer() for details. @@ -298,19 +479,26 @@ Caller owns a reference to the returned buffer. gst_buffer_unref() after usage. Free-function: gst_buffer_unref + - a #GstBuffer containing the first + a #GstBuffer containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available. gst_buffer_unref() when no longer needed. - a #GstAdapter + a #GstAdapter - the number of bytes to get + the number of bytes to get @@ -318,7 +506,9 @@ Free-function: gst_buffer_unref - Returns a #GstBuffer containing the first @nbytes of the @adapter, but + Returns a #GstBuffer containing the first @nbytes of the @adapter, but does not flush them from the adapter. See gst_adapter_take_buffer_fast() for details. @@ -326,19 +516,26 @@ Caller owns a reference to the returned buffer. gst_buffer_unref() after usage. Free-function: gst_buffer_unref + - a #GstBuffer containing the first + a #GstBuffer containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available. gst_buffer_unref() when no longer needed. - a #GstAdapter + a #GstAdapter - the number of bytes to get + the number of bytes to get @@ -346,25 +543,34 @@ Free-function: gst_buffer_unref - Returns a #GstBufferList of buffers containing the first @nbytes bytes of + Returns a #GstBufferList of buffers containing the first @nbytes bytes of the @adapter but does not flush them from the adapter. See gst_adapter_take_buffer_list() for details. Caller owns the returned list. Call gst_buffer_list_unref() to free the list after usage. + - a #GstBufferList of buffers containing + a #GstBufferList of buffers containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available - a #GstAdapter + a #GstAdapter - the number of bytes to get + the number of bytes to get @@ -372,14 +578,19 @@ the list after usage. - Returns a #GList of buffers containing the first @nbytes bytes of the + Returns a #GList of buffers containing the first @nbytes bytes of the @adapter, but does not flush them from the adapter. See gst_adapter_take_list() for details. Caller owns returned list and contained buffers. gst_buffer_unref() each buffer in the list before freeing the list after usage. + - a #GList of + a #GList of buffers containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available @@ -388,17 +599,23 @@ buffer in the list before freeing the list after usage. - a #GstAdapter + a #GstAdapter - the number of bytes to get + the number of bytes to get - Gets the first @size bytes stored in the @adapter. The returned pointer is + 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 @@ -411,8 +628,11 @@ as #GstBuffer memory or the potentially more performant gst_adapter_take_buffer(). Returns %NULL if @size bytes are not available. + - + a pointer to the first @size bytes of data, or %NULL @@ -420,21 +640,27 @@ Returns %NULL if @size bytes are not available. - a #GstAdapter + a #GstAdapter - the number of bytes to map/peek + the number of bytes to map/peek - Scan for pattern @pattern with applied mask @mask in the adapter data, + 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 @@ -446,8 +672,11 @@ enough data (offset+size bytes) in the adapter. This function calls gst_adapter_masked_scan_uint32_peek() passing %NULL for value. + - offset of the first match, or -1 if no match was found. + offset of the first match, or -1 if no match was found. Example: |[ @@ -472,31 +701,43 @@ gst_adapter_masked_scan_uint32 (adapter, 0xffff0000, 0x02030000, 0, 4); - a #GstAdapter + a #GstAdapter - mask to apply to data before matching against @pattern + mask to apply to data before matching against @pattern - pattern to match (after mask is applied) + pattern to match (after mask is applied) - offset into the adapter data from which to start scanning, returns + offset into the adapter data from which to start scanning, returns the last scanned position. - number of bytes to scan from offset + number of bytes to scan from offset - Scan for pattern @pattern with applied mask @mask in the adapter data, + 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. @@ -506,30 +747,43 @@ 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. + offset of the first match, or -1 if no match was found. - a #GstAdapter + a #GstAdapter - mask to apply to data before matching against @pattern + mask to apply to data before matching against @pattern - pattern to match (after mask is applied) + pattern to match (after mask is applied) - offset into the adapter data from which to start scanning, returns + offset into the adapter data from which to start scanning, returns the last scanned position. - number of bytes to scan from offset + number of bytes to scan from offset transfer-ownership="full" optional="1" allow-none="1"> - pointer to uint32 to return matching data + pointer to uint32 to return matching data @@ -546,21 +802,30 @@ enough data (offset+size bytes) in the adapter. - Get the offset that was on the last buffer with the GST_BUFFER_FLAG_DISCONT + Get the offset that was on the last buffer with the GST_BUFFER_FLAG_DISCONT flag, or GST_BUFFER_OFFSET_NONE. + - The offset at the last discont or GST_BUFFER_OFFSET_NONE. + The offset at the last discont or GST_BUFFER_OFFSET_NONE. - a #GstAdapter + a #GstAdapter - Get the dts that was before the current byte in the adapter. When + Get the dts that was before the current byte in the adapter. When @distance is given, the amount of bytes between the dts and the current position is returned. @@ -568,13 +833,18 @@ The dts 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 dts is removed from the adapter, the dts and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. + - The previously seen dts. + The previously seen dts. - a #GstAdapter + a #GstAdapter transfer-ownership="full" optional="1" allow-none="1"> - pointer to location for distance, or %NULL + pointer to location for distance, or %NULL @@ -591,7 +863,9 @@ and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - Get the dts that was before the byte at offset @offset in the adapter. When + Get the dts that was before the byte at offset @offset in the adapter. When @distance is given, the amount of bytes between the dts and the current position is returned. @@ -599,17 +873,24 @@ The dts 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 dts is removed from the adapter, the dts and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. + - The previously seen dts at given offset. + The previously seen dts at given offset. - a #GstAdapter + a #GstAdapter - the offset in the adapter at which to get timestamp + the offset in the adapter at which to get timestamp transfer-ownership="full" optional="1" allow-none="1"> - pointer to location for distance, or %NULL + pointer to location for distance, or %NULL @@ -626,7 +909,9 @@ and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - Get the offset that was before the current byte in the adapter. When + Get the offset that was before the current byte in the adapter. When @distance is given, the amount of bytes between the offset and the current position is returned. @@ -634,13 +919,18 @@ The offset is reset to GST_BUFFER_OFFSET_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 an offset is removed from the adapter, the offset and distance returned are GST_BUFFER_OFFSET_NONE and 0 respectively. + - The previous seen offset. + The previous seen offset. - a #GstAdapter + a #GstAdapter transfer-ownership="full" optional="1" allow-none="1"> - pointer to a location for distance, or %NULL + pointer to a location for distance, or %NULL - Get the pts that was before the current byte in the adapter. When + Get the pts that was before the current byte in the adapter. When @distance is given, the amount of bytes between the pts and the current position is returned. @@ -663,13 +957,18 @@ The pts 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 pts is removed from the adapter, the pts and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. + - The previously seen pts. + The previously seen pts. - a #GstAdapter + a #GstAdapter transfer-ownership="full" optional="1" allow-none="1"> - pointer to location for distance, or %NULL + pointer to location for distance, or %NULL @@ -686,7 +987,9 @@ and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - Get the pts that was before the byte at offset @offset in the adapter. When + Get the pts that was before the byte at offset @offset in the adapter. When @distance is given, the amount of bytes between the pts and the current position is returned. @@ -694,17 +997,24 @@ The pts 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 pts is removed from the adapter, the pts and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. + - The previously seen pts at given offset. + The previously seen pts at given offset. - a #GstAdapter + a #GstAdapter - the offset in the adapter at which to get timestamp + the offset in the adapter at which to get timestamp transfer-ownership="full" optional="1" allow-none="1"> - pointer to location for distance, or %NULL + pointer to location for distance, or %NULL @@ -721,45 +1033,64 @@ and distance returned are GST_CLOCK_TIME_NONE and 0 respectively. - Get the PTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT + Get the PTS that was on the last buffer with the GST_BUFFER_FLAG_DISCONT flag, or GST_CLOCK_TIME_NONE. + - The PTS at the last discont or GST_CLOCK_TIME_NONE. + The PTS at the last discont or GST_CLOCK_TIME_NONE. - a #GstAdapter + a #GstAdapter - Adds the data from @buf to the data stored inside @adapter and takes + Adds the data from @buf to the data stored inside @adapter and takes ownership of the buffer. + - a #GstAdapter + a #GstAdapter - a #GstBuffer to add to queue in the adapter + a #GstBuffer to add to queue in the adapter - Returns a freshly allocated buffer containing the first @nbytes bytes of the + Returns a freshly allocated buffer containing the first @nbytes bytes of the @adapter. The returned bytes will be flushed from the adapter. Caller owns returned value. g_free after usage. Free-function: g_free + - + oven-fresh hot data, or %NULL if @nbytes bytes are not available @@ -767,20 +1098,26 @@ Free-function: g_free - a #GstAdapter + a #GstAdapter - the number of bytes to take + the number of bytes to take - Returns a #GstBuffer containing the first @nbytes bytes of the + Returns a #GstBuffer containing the first @nbytes bytes of the @adapter. The returned bytes will be flushed from the adapter. This function is potentially more performant than gst_adapter_take() since it can reuse the memory in pushed buffers @@ -799,19 +1136,26 @@ Caller owns a reference to the returned buffer. gst_buffer_unref() after usage. Free-function: gst_buffer_unref + - a #GstBuffer containing the first + a #GstBuffer containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available. gst_buffer_unref() when no longer needed. - a #GstAdapter + a #GstAdapter - the number of bytes to take + the number of bytes to take @@ -819,7 +1163,9 @@ Free-function: gst_buffer_unref - Returns a #GstBuffer containing the first @nbytes of the @adapter. + Returns a #GstBuffer containing the first @nbytes of the @adapter. The returned bytes will be flushed from the adapter. This function is potentially more performant than gst_adapter_take_buffer() since it can reuse the memory in pushed buffers by subbuffering or @@ -842,19 +1188,26 @@ Caller owns a reference to the returned buffer. gst_buffer_unref() after usage. Free-function: gst_buffer_unref + - a #GstBuffer containing the first + a #GstBuffer containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available. gst_buffer_unref() when no longer needed. - a #GstAdapter + a #GstAdapter - the number of bytes to take + the number of bytes to take @@ -862,40 +1215,54 @@ Free-function: gst_buffer_unref - Returns a #GstBufferList of buffers containing the first @nbytes bytes of + Returns a #GstBufferList of buffers containing the first @nbytes bytes of the @adapter. The returned bytes will be flushed from the adapter. When the caller can deal with individual buffers, this function is more performant because no memory should be copied. Caller owns the returned list. Call gst_buffer_list_unref() to free the list after usage. + - a #GstBufferList of buffers containing + a #GstBufferList of buffers containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available - a #GstAdapter + a #GstAdapter - the number of bytes to take + the number of bytes to take - Returns a #GList of buffers containing the first @nbytes bytes of the + Returns a #GList of buffers containing the first @nbytes bytes of the @adapter. The returned bytes will be flushed from the adapter. 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. + - a #GList of + a #GList of buffers containing the first @nbytes of the adapter, or %NULL if @nbytes bytes are not available @@ -904,23 +1271,32 @@ buffer in the list before freeing the list after usage. - a #GstAdapter + a #GstAdapter - the number of bytes to take + the number of bytes to take - Releases the memory obtained with the last gst_adapter_map(). + Releases the memory obtained with the last gst_adapter_map(). + - a #GstAdapter + a #GstAdapter @@ -930,16 +1306,20 @@ buffer in the list before freeing the list after usage. c:type="GstAdapterClass" disguised="1" glib:is-gtype-struct-for="Adapter"> + - Manages a set of pads with the purpose of aggregating their buffers. + Manages a set of pads with the purpose of aggregating their buffers. Control is given to the subclass when all pads have data. * Base class for mixers and muxers. Subclasses should at least implement @@ -979,7 +1359,9 @@ Control is given to the subclass when all pads have data. See gst_element_class_add_static_pad_template_with_gtype(). This class used to live in gst-plugins-bad and was moved to core. + + @@ -993,6 +1375,7 @@ This class used to live in gst-plugins-bad and was moved to core. + @@ -1009,6 +1392,7 @@ This class used to live in gst-plugins-bad and was moved to core. + @@ -1028,6 +1412,7 @@ This class used to live in gst-plugins-bad and was moved to core. + @@ -1041,24 +1426,32 @@ This class used to live in gst-plugins-bad and was moved to core. - This method will push the provided output buffer downstream. If needed, + This method will push the provided output buffer downstream. If needed, mandatory events such as stream-start, caps, and segment events will be sent before pushing the buffer. + - The #GstAggregator + The #GstAggregator - the #GstBuffer to push. + the #GstBuffer to push. + @@ -1072,6 +1465,7 @@ sent before pushing the buffer. + @@ -1082,6 +1476,7 @@ sent before pushing the buffer. + @@ -1091,7 +1486,30 @@ sent before pushing the buffer. + + Negotiates src pad caps with downstream elements. +Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again +if #GstAggregatorClass.negotiate() fails. + + + %TRUE if the negotiation succeeded, else %FALSE. + + + + + a #GstAggregator + + + + + @@ -1105,6 +1523,7 @@ sent before pushing the buffer. + @@ -1124,6 +1543,7 @@ sent before pushing the buffer. + @@ -1139,7 +1559,42 @@ sent before pushing the buffer. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -1156,6 +1611,7 @@ sent before pushing the buffer. + @@ -1172,6 +1628,7 @@ sent before pushing the buffer. + @@ -1185,6 +1642,7 @@ sent before pushing the buffer. + @@ -1198,6 +1656,7 @@ sent before pushing the buffer. + @@ -1208,6 +1667,7 @@ sent before pushing the buffer. + @@ -1218,6 +1678,7 @@ sent before pushing the buffer. + @@ -1239,34 +1700,46 @@ sent before pushing the buffer. - This method will push the provided output buffer downstream. If needed, + This method will push the provided output buffer downstream. If needed, mandatory events such as stream-start, caps, and segment events will be sent before pushing the buffer. + - The #GstAggregator + The #GstAggregator - the #GstBuffer to push. + the #GstBuffer to push. - Lets #GstAggregator sub-classes get the memory @allocator + Lets #GstAggregator sub-classes get the memory @allocator acquired by the base class and its @params. Unref the @allocator after use it. + - a #GstAggregator + a #GstAggregator transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -1285,7 +1760,9 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator @@ -1293,69 +1770,121 @@ used + - the instance of the #GstBufferPool used + the instance of the #GstBufferPool used by @trans; free it after use it - a #GstAggregator + a #GstAggregator - Retrieves the latency values reported by @self in response to the latency + Retrieves the latency values reported by @self in response to the latency query, or %GST_CLOCK_TIME_NONE if there is not live source connected and the element will not wait for the clock. Typically only called by subclasses. + - The latency or %GST_CLOCK_TIME_NONE if the element does not sync + The latency or %GST_CLOCK_TIME_NONE if the element does not sync - a #GstAggregator + a #GstAggregator + + + + + + Negotiates src pad caps with downstream elements. +Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again +if #GstAggregatorClass.negotiate() fails. + + + %TRUE if the negotiation succeeded, else %FALSE. + + + + + a #GstAggregator - Lets #GstAggregator sub-classes tell the baseclass what their internal + Lets #GstAggregator sub-classes tell the baseclass what their internal latency is. Will also post a LATENCY message on the bus so the pipeline can reconfigure its global latency. + - a #GstAggregator + a #GstAggregator - minimum latency + minimum latency - maximum latency + maximum latency - Sets the caps to be used on the src pad. + Sets the caps to be used on the src pad. + - The #GstAggregator + The #GstAggregator - The #GstCaps to set on the src pad. + The #GstCaps to set on the src pad. @@ -1363,23 +1892,51 @@ can reconfigure its global latency. - This is a simple #GstAggregator::get_next_time implementation that + This is a simple #GstAggregatorClass.get_next_time() implementation that just looks at the #GstSegment on the srcpad of the aggregator and bases the next time on the running time there. This is the desired behaviour in most cases where you have a live source and you have a dead line based aggregator subclass. + - The running time based on the position + The running time based on the position - A #GstAggregator + A #GstAggregator + + Subclasses should use this to update the segment on their +source pad, instead of directly pushing new segment events +downstream. + + + + + + + + + + + + + @@ -1387,7 +1944,9 @@ and you have a dead line based aggregator subclass. version="1.16" writable="1" transfer-ownership="none"> - Force minimum upstream latency (in nanoseconds). When sources with a + Force minimum upstream latency (in nanoseconds). When sources with a higher latency are expected to be plugged in dynamically after the aggregator has started playing, this allows overriding the minimum latency reported by the initial source(s). This is only taken into @@ -1398,31 +1957,35 @@ account when larger than the actually reported minimum latency. - + - the aggregator's source pad + the aggregator's source pad - + - The aggregator base class will handle in a thread-safe way all manners of + glib:is-gtype-struct-for="Aggregator" + version="1.14"> + The aggregator base class will handle in a thread-safe way all manners of concurrent flushes, seeks, pad additions and removals, leaving to the subclass the responsibility of clipping buffers, and aggregating buffers in the way the implementor sees fit. @@ -1431,11 +1994,14 @@ It will also take care of event ordering (stream-start, segment, eos). Basically, a simple implementation will override @aggregate, and call _finish_buffer from inside that function. + + @@ -1448,6 +2014,8 @@ _finish_buffer from inside that function. + @@ -1466,16 +2034,22 @@ _finish_buffer from inside that function. + - The #GstAggregator + The #GstAggregator - the #GstBuffer to push. + the #GstBuffer to push. @@ -1483,6 +2057,8 @@ _finish_buffer from inside that function. + @@ -1501,6 +2077,8 @@ _finish_buffer from inside that function. + @@ -1519,6 +2097,8 @@ _finish_buffer from inside that function. + @@ -1534,6 +2114,8 @@ _finish_buffer from inside that function. + @@ -1549,6 +2131,8 @@ _finish_buffer from inside that function. + @@ -1567,6 +2151,8 @@ _finish_buffer from inside that function. + @@ -1582,6 +2168,8 @@ _finish_buffer from inside that function. + @@ -1594,6 +2182,8 @@ _finish_buffer from inside that function. + @@ -1606,6 +2196,8 @@ _finish_buffer from inside that function. + @@ -1618,6 +2210,8 @@ _finish_buffer from inside that function. + @@ -1639,6 +2233,8 @@ _finish_buffer from inside that function. + @@ -1662,6 +2258,8 @@ _finish_buffer from inside that function. + @@ -1677,6 +2275,8 @@ _finish_buffer from inside that function. + @@ -1692,6 +2292,8 @@ _finish_buffer from inside that function. + @@ -1707,6 +2309,8 @@ _finish_buffer from inside that function. + @@ -1726,8 +2330,68 @@ _finish_buffer from inside that function. + + + + + %TRUE if the negotiation succeeded, else %FALSE. + + + + + a #GstAggregator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - + @@ -1735,14 +2399,19 @@ _finish_buffer from inside that function. - Pads managed by a #GstAggregor subclass. + Pads managed by a #GstAggregator subclass. This class used to live in gst-plugins-bad and was moved to core. + + @@ -1756,6 +2425,7 @@ This class used to live in gst-plugins-bad and was moved to core. + @@ -1772,14 +2442,21 @@ This class used to live in gst-plugins-bad and was moved to core. - Drop the buffer currently queued in @pad. + Drop the buffer currently queued in @pad. + - TRUE if there was a buffer queued in @pad, or FALSE if not. + TRUE if there was a buffer queued in @pad, or FALSE if not. - the pad where to drop any pending buffer + the pad where to drop any pending buffer @@ -1787,56 +2464,80 @@ This class used to live in gst-plugins-bad and was moved to core. - This checks if a pad has a buffer available that will be returned by + This checks if a pad has a buffer available that will be returned by a call to gst_aggregator_pad_peek_buffer() or gst_aggregator_pad_pop_buffer(). + - %TRUE if the pad has a buffer available as the next thing. + %TRUE if the pad has a buffer available as the next thing. - the pad to check the buffer on + the pad to check the buffer on + - %TRUE if the pad is EOS, otherwise %FALSE. + %TRUE if the pad is EOS, otherwise %FALSE. - an aggregator pad + an aggregator pad + - A reference to the buffer in @pad or + A reference to the buffer in @pad or NULL if no buffer was queued. You should unref the buffer after usage. - the pad to get buffer from + the pad to get buffer from - Steal the ref to the buffer currently queued in @pad. + Steal the ref to the buffer currently queued in @pad. + - The buffer in @pad or NULL if no buffer was + The buffer in @pad or NULL if no buffer was queued. You should unref the buffer after usage. - the pad to get buffer from + the pad to get buffer from @@ -1845,21 +2546,25 @@ usage. version="1.16" writable="1" transfer-ownership="none"> - Enables the emission of signals such as #GstAggregatorPad::buffer-consumed + Enables the emission of signals such as #GstAggregatorPad::buffer-consumed - last segment received. + last segment received. - + @@ -1876,12 +2581,15 @@ usage. + glib:is-gtype-struct-for="AggregatorPad" + version="1.14"> + + @@ -1897,6 +2605,7 @@ usage. + @@ -1914,7 +2623,7 @@ usage. - + @@ -1922,33 +2631,541 @@ usage. + + + + + Start at running time 0. + + + Start at the running time of +the first buffer that is received. + + + Start at the running time +selected by the `start-time` property. + + + + + + + + + + + + + + + + + + + + + + + + + Obtains current drain status (ie. whether EOS has been received and +the parser is now processing the frames at the end of the stream) + + + + base parse instance + + + + + + + + + + + + + + Obtains current sync status. + + + + base parse instance + + + + + Gives the pointer to the sink #GstPad object of the element. + + + + base parse instance + + + + + Gives the pointer to the source #GstPad object of the element. + + + + base parse instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives the pointer to the #GstPad object of the element. + + + + base sink instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives the pointer to the #GstPad object of the element. + + + + base source instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - The name of the templates for the sink pad. + The name of the templates for the sink pad. + + + Gives the pointer to the sink #GstPad object of the element. + + + + base transform instance + + + - The name of the templates for the source pad. + The name of the templates for the source pad. + + + Gives the pointer to the source #GstPad object of the element. + + + + base transform instance + + + + + + + + + + + + A #GstBitReader must be initialized with this macro, before it can be +used. This macro can used be to initialize a variable, but it cannot +be assigned to a variable. In that case you have to use +gst_bit_reader_init(). + + + + Data from which the #GstBitReader should read + + + Size of @data in bytes + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + A #GstByteReader must be initialized with this macro, before it can be +used. This macro can used be to initialize a variable, but it cannot +be assigned to a variable. In that case you have to use +gst_byte_reader_init(). + + + + Data from which the #GstByteReader should read + + + Size of @data in bytes + + + + + + + + + + glib:type-name="GstBaseParse" glib:get-type="gst_base_parse_get_type" glib:type-struct="BaseParseClass"> - This base class is for parser elements that process data and splits it + This base class is for parser elements that process data and splits it into separate audio/video/whatever frames. It provides for: @@ -2041,7 +3260,7 @@ a parser and share a lot of rather complex code. * During the parsing process #GstBaseParseClass will handle both srcpad and sinkpad events. They will be passed to subclass if - #GstBaseParseClass.event() or #GstBaseParseClass.src_event() + #GstBaseParseClass.sink_event() or #GstBaseParseClass.src_event() implementations have been provided. ## Shutdown phase @@ -2092,7 +3311,9 @@ Things that subclass need to take care of: overridden) will then use these rates to perform obvious conversions. These rates are also used to update (estimated) duration at regular frame intervals. + + @@ -2115,6 +3336,7 @@ Things that subclass need to take care of: + @@ -2128,6 +3350,7 @@ Things that subclass need to take care of: + @@ -2141,6 +3364,7 @@ Things that subclass need to take care of: + @@ -2157,6 +3381,7 @@ Things that subclass need to take care of: + @@ -2170,6 +3395,7 @@ Things that subclass need to take care of: + @@ -2183,6 +3409,7 @@ Things that subclass need to take care of: + @@ -2196,6 +3423,7 @@ Things that subclass need to take care of: + @@ -2209,6 +3437,7 @@ Things that subclass need to take care of: + @@ -2222,6 +3451,7 @@ Things that subclass need to take care of: + @@ -2235,6 +3465,7 @@ Things that subclass need to take care of: + @@ -2245,6 +3476,7 @@ Things that subclass need to take care of: + @@ -2256,86 +3488,123 @@ Things that subclass need to take care of: - Adds an entry to the index associating @offset to @ts. It is recommended + Adds an entry to the index associating @offset to @ts. It is recommended to only add keyframe entries. @force allows to bypass checks, such as whether the stream is (upstream) seekable, another entry is already "close" to the new entry, etc. + - #gboolean indicating whether entry was added + #gboolean indicating whether entry was added - #GstBaseParse. + #GstBaseParse. - offset of entry + offset of entry - timestamp associated with offset + timestamp associated with offset - whether entry refers to keyframe + whether entry refers to keyframe - add entry disregarding sanity checks + add entry disregarding sanity checks - Default implementation of #GstBaseParseClass.convert(). + Default implementation of #GstBaseParseClass.convert(). + - %TRUE if conversion was successful. + %TRUE if conversion was successful. - #GstBaseParse. + #GstBaseParse. - #GstFormat describing the source format. + #GstFormat describing the source format. - Source value to be converted. + Source value to be converted. - #GstFormat defining the converted format. + #GstFormat defining the converted format. - Pointer where the conversion result will be put. + Pointer where the conversion result will be put. - Drains the adapter until it is empty. It decreases the min_frame_size to + Drains the adapter until it is empty. It decreases the min_frame_size to match the current adapter size and calls chain method until the adapter is emptied or chain returns with error. + - a #GstBaseParse + a #GstBaseParse - Collects parsed data and pushes this downstream. + Collects parsed data and pushes this downstream. Source pad caps must be set when this is called. If @frame's out_buffer is set, that will be used as subsequent frame data. @@ -2346,21 +3615,30 @@ ignored for any but the above purpose/information). Note that the latter buffer is invalidated by this call, whereas the caller retains ownership of @frame. + - a #GstFlowReturn that should be escalated to caller (of caller) + a #GstFlowReturn that should be escalated to caller (of caller) - a #GstBaseParse + a #GstBaseParse - a #GstBaseParseFrame + a #GstBaseParseFrame - consumed input data represented by frame + consumed input data represented by frame @@ -2368,213 +3646,292 @@ caller retains ownership of @frame. - Sets the parser subclass's tags and how they should be merged with any + Sets the parser subclass's tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with gst_base_parse_merge_tags(). Note that this is provided for convenience, and the subclass is not required to use this and can still do tag handling on its own. + - a #GstBaseParse + a #GstBaseParse - a #GstTagList to merge, or NULL to unset + a #GstTagList to merge, or NULL to unset previously-set tags - the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE + the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE - Pushes the frame's buffer downstream, sends any pending events and + Pushes the frame's buffer downstream, sends any pending events and does some timestamp and segment handling. Takes ownership of frame's buffer, though caller retains ownership of @frame. This must be called with sinkpad STREAM_LOCK held. + - #GstFlowReturn + #GstFlowReturn - #GstBaseParse. + #GstBaseParse. - a #GstBaseParseFrame + a #GstBaseParseFrame - Optionally sets the average bitrate detected in media (if non-zero), + Optionally sets the average bitrate detected in media (if non-zero), e.g. based on metadata, as it will be posted to the application. By default, announced average bitrate is estimated. The average bitrate is used to estimate the total duration of the stream and to estimate a seek position, if there's no index and the format is syncable (see gst_base_parse_set_syncable()). + - #GstBaseParse. + #GstBaseParse. - average bitrate in bits/second + average bitrate in bits/second - Sets the duration of the currently playing media. Subclass can use this + Sets the duration of the currently playing media. Subclass can use this when it is able to determine duration and/or notices a change in the media duration. Alternatively, if @interval is non-zero (default), then stream duration is determined based on estimated bitrate, and updated every @interval frames. + - #GstBaseParse. + #GstBaseParse. - #GstFormat. + #GstFormat. - duration value. + duration value. - how often to update the duration estimate based on bitrate, or 0. + how often to update the duration estimate based on bitrate, or 0. - If frames per second is configured, parser can take care of buffer duration + If frames per second is configured, parser can take care of buffer duration and timestamping. When performing segment clipping, or seeking to a specific location, a corresponding decoder might need an initial @lead_in and a following @lead_out number of frames to ensure the desired segment is entirely filled upon decoding. + - the #GstBaseParse to set + the #GstBaseParse to set - frames per second (numerator). + frames per second (numerator). - frames per second (denominator). + frames per second (denominator). - frames needed before a segment for subsequent decode + frames needed before a segment for subsequent decode - frames needed after a segment + frames needed after a segment - Set if frames carry timing information which the subclass can (generally) + Set if frames carry timing information which the subclass can (generally) parse and provide. In particular, intrinsic (rather than estimated) time can be obtained following a seek. + - a #GstBaseParse + a #GstBaseParse - whether frames carry timing information + whether frames carry timing information - By default, the base class might try to infer PTS from DTS and vice + By default, the base class might try to infer PTS from DTS and vice versa. While this is generally correct for audio data, it may not be otherwise. Sub-classes implementing such formats should disable timestamp inferring. + - a #GstBaseParse + a #GstBaseParse - %TRUE if parser should infer DTS/PTS from each other + %TRUE if parser should infer DTS/PTS from each other - Sets the minimum and maximum (which may likely be equal) latency introduced + Sets the minimum and maximum (which may likely be equal) latency introduced by the parsing process. If there is such a latency, which depends on the particular parsing of the format, it typically corresponds to 1 frame duration. + - a #GstBaseParse + a #GstBaseParse - minimum parse latency + minimum parse latency - maximum parse latency + maximum parse latency - Subclass can use this function to tell the base class that it needs to + Subclass can use this function to tell the base class that it needs to be given buffers of at least @min_size bytes. + - #GstBaseParse. + #GstBaseParse. - Minimum size in bytes of the data that this base class should + Minimum size in bytes of the data that this base class should give to subclass. @@ -2582,61 +3939,82 @@ be given buffers of at least @min_size bytes. - Set if the nature of the format or configuration does not allow (much) + Set if the nature of the format or configuration does not allow (much) parsing, and the parser should operate in passthrough mode (which only applies when operating in push mode). That is, incoming buffers are pushed through unmodified, i.e. no #GstBaseParseClass.handle_frame() will be invoked, but #GstBaseParseClass.pre_push_frame() will still be invoked, so subclass can perform as much or as little is appropriate for passthrough semantics in #GstBaseParseClass.pre_push_frame(). + - a #GstBaseParse + a #GstBaseParse - %TRUE if parser should run in passthrough mode + %TRUE if parser should run in passthrough mode - By default, the base class will guess PTS timestamps using a simple + By default, the base class will guess PTS timestamps using a simple interpolation (previous timestamp + duration), which is incorrect for data streams with reordering, where PTS can go backward. Sub-classes implementing such formats should disable PTS interpolation. + - a #GstBaseParse + a #GstBaseParse - %TRUE if parser should interpolate PTS timestamps + %TRUE if parser should interpolate PTS timestamps - Set if frame starts can be identified. This is set by default and + Set if frame starts can be identified. This is set by default and determines whether seeking based on bitrate averages is possible for a format/stream. + - a #GstBaseParse + a #GstBaseParse - set if frame starts can be identified + set if frame starts can be identified @@ -2644,7 +4022,9 @@ is possible for a format/stream. - This function should only be called from a @handle_frame implementation. + This function should only be called from a @handle_frame implementation. #GstBaseParse creates initial timestamps for frames by using the last timestamp seen in the stream before the frame starts. In certain @@ -2652,16 +4032,21 @@ cases, the correct timestamps will occur in the stream after the start of the frame, but before the start of the actual picture data. This function can be used to set the timestamps based on the offset into the frame data that the picture starts. + - a #GstBaseParse + a #GstBaseParse - offset into current buffer + offset into current buffer @@ -2669,7 +4054,9 @@ into the frame data that the picture starts. - If set to %TRUE, baseparse will unconditionally force parsing of the + If set to %TRUE, baseparse will unconditionally force parsing of the incoming data. This can be required in the rare cases where the incoming side-data (caps, pts, dts, ...) is not trusted by the user and wants to force validation and parsing of the incoming data. @@ -2678,7 +4065,9 @@ the implementation (standard behaviour). - the parent element. + the parent element. @@ -2694,7 +4083,7 @@ the implementation (standard behaviour). - + @@ -2705,14 +4094,20 @@ the implementation (standard behaviour). - Subclasses can override any of the available virtual methods or not, as + Subclasses can override any of the available virtual methods or not, as needed. At minimum @handle_frame needs to be overridden. + - the parent class + the parent class + @@ -2725,6 +4120,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2737,6 +4133,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2752,6 +4149,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2770,6 +4168,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2785,6 +4184,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2809,6 +4209,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2824,6 +4225,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2839,6 +4241,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2854,6 +4257,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2869,6 +4273,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2884,6 +4289,7 @@ needed. At minimum @handle_frame needs to be overridden. + @@ -2898,7 +4304,7 @@ needed. At minimum @handle_frame needs to be overridden. - + @@ -2908,34 +4314,47 @@ needed. At minimum @handle_frame needs to be overridden. glib:type-name="GstBaseParseFrame" glib:get-type="gst_base_parse_frame_get_type" c:symbol-prefix="base_parse_frame"> - Frame (context) data passed to each frame parsing virtual methods. In + Frame (context) data passed to each frame parsing virtual methods. In addition to providing the data to be checked for a valid frame or an already identified frame, it conveys additional metadata or control information from and to the subclass w.r.t. the particular frame in question (rather than global parameters). Some of these may apply to each parsing stage, others only to some a particular one. These parameters are effectively zeroed at start of each frame's processing, i.e. parsing virtual method invocation sequence. + - input data to be parsed for frames. + input data to be parsed for frames. - output data. + output data. - a combination of input and output #GstBaseParseFrameFlags that + a combination of input and output #GstBaseParseFrameFlags that convey additional context to subclass or allow subclass to tune subsequent #GstBaseParse actions. - media specific offset of input frame + media specific offset of input frame Note that a converter may have a different one on the frame's buffer. - subclass can set this to indicates the metadata overhead + subclass can set this to indicates the metadata overhead for the given frame, which is then used to enable more accurate bitrate computations. If this is -1, it is assumed that this frame should be skipped in bitrate calculation. @@ -2945,12 +4364,12 @@ of each frame's processing, i.e. parsing virtual method invocation sequence. - + - + @@ -2958,25 +4377,36 @@ of each frame's processing, i.e. parsing virtual method invocation sequence. - Allocates a new #GstBaseParseFrame. This function is mainly for bindings, + Allocates a new #GstBaseParseFrame. This function is mainly for bindings, elements written in C should usually allocate the frame on the stack and then use gst_base_parse_frame_init() to initialise it. + - a newly-allocated #GstBaseParseFrame. Free with + a newly-allocated #GstBaseParseFrame. Free with gst_base_parse_frame_free() when no longer needed. - a #GstBuffer + a #GstBuffer - the flags + the flags - number of bytes in this frame which should be counted as + number of bytes in this frame which should be counted as metadata overhead, ie. not used to calculate the average bitrate. Set to -1 to mark the entire frame as metadata. If in doubt, set to 0. @@ -2984,65 +4414,91 @@ then use gst_base_parse_frame_init() to initialise it. - Copies a #GstBaseParseFrame. + Copies a #GstBaseParseFrame. + - A copy of @frame + A copy of @frame - a #GstBaseParseFrame + a #GstBaseParseFrame - Frees the provided @frame. + Frees the provided @frame. + - A #GstBaseParseFrame + A #GstBaseParseFrame - Sets a #GstBaseParseFrame to initial state. Currently this means + Sets a #GstBaseParseFrame to initial state. Currently this means all public fields are zero-ed and a private flag is set to make sure gst_base_parse_frame_free() only frees the contents but not the actual frame. Use this function to initialise a #GstBaseParseFrame allocated on the stack. + - #GstBaseParseFrame. + #GstBaseParseFrame. - Flags to be used in a #GstBaseParseFrame. + Flags to be used in a #GstBaseParseFrame. + - no flag + no flag - set by baseclass if current frame + set by baseclass if current frame is passed for processing to the subclass for the first time (and not set on subsequent calls with same data). - set to indicate this buffer should not be + set to indicate this buffer should not be counted as frame, e.g. if this frame is dependent on a previous one. As it is not counted as a frame, bitrate increases but frame to time conversions are maintained. @@ -3050,25 +4506,32 @@ allocated on the stack. - @pre_push_frame can set this to indicate + @pre_push_frame can set this to indicate that regular segment clipping can still be performed (as opposed to any custom one having been done). - indicates to @finish_frame that the + indicates to @finish_frame that the the frame should be dropped (and might be handled internally by subclass) - indicates to @finish_frame that the + indicates to @finish_frame that the the frame should be queued for now and processed fully later when the first non-queued frame is finished + glib:type-name="GstBaseSink" glib:get-type="gst_base_sink_get_type" glib:type-struct="BaseSinkClass"> - #GstBaseSink is the base class for sink elements in GStreamer, such as + #GstBaseSink is the base class for sink elements in GStreamer, such as xvimagesink or filesink. It is a layer on top of #GstElement that provides a simplified interface to plugin writers. #GstBaseSink handles many details for you, for example: preroll, clock synchronization, state changes, @@ -3191,7 +4656,9 @@ rate, for example. The #GstBaseSink:async property can be used to instruct the sink to never perform an ASYNC state change. This feature is mostly usable when dealing with non-synchronized streams or sparse streams. + + @@ -3205,6 +4672,7 @@ with non-synchronized streams or sparse streams. + @@ -3218,6 +4686,7 @@ with non-synchronized streams or sparse streams. + @@ -3231,6 +4700,7 @@ with non-synchronized streams or sparse streams. + @@ -3244,6 +4714,7 @@ with non-synchronized streams or sparse streams. + @@ -3263,6 +4734,7 @@ with non-synchronized streams or sparse streams. + @@ -3276,6 +4748,7 @@ with non-synchronized streams or sparse streams. + @@ -3289,6 +4762,7 @@ with non-synchronized streams or sparse streams. + @@ -3302,6 +4776,7 @@ with non-synchronized streams or sparse streams. + @@ -3315,6 +4790,7 @@ with non-synchronized streams or sparse streams. + @@ -3328,6 +4804,7 @@ with non-synchronized streams or sparse streams. + @@ -3341,6 +4818,7 @@ with non-synchronized streams or sparse streams. + @@ -3354,6 +4832,7 @@ with non-synchronized streams or sparse streams. + @@ -3367,6 +4846,7 @@ with non-synchronized streams or sparse streams. + @@ -3377,6 +4857,7 @@ with non-synchronized streams or sparse streams. + @@ -3387,6 +4868,7 @@ with non-synchronized streams or sparse streams. + @@ -3397,6 +4879,7 @@ with non-synchronized streams or sparse streams. + @@ -3407,6 +4890,7 @@ with non-synchronized streams or sparse streams. + @@ -3420,38 +4904,54 @@ with non-synchronized streams or sparse streams. - If the @sink spawns its own thread for pulling buffers from upstream it + 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. + - %GST_FLOW_OK if the preroll completed and processing can + %GST_FLOW_OK if the preroll completed and processing can continue. Any other return value should be returned from the render vmethod. - the sink + the sink - the mini object that caused the preroll + the mini object that caused the preroll - Get the number of bytes that the sink will pull when it is operating in pull + 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. + the number of bytes @sink will pull in pull mode. - a #GstBaseSink + a #GstBaseSink @@ -3459,50 +4959,71 @@ mode. - Checks if @sink is currently configured to drop buffers which are outside + Checks if @sink is currently configured to drop buffers which are outside the current segment + - %TRUE if the sink is configured to drop buffers outside the + %TRUE if the sink is configured to drop buffers outside the current segment. - the sink + the sink - Get the last sample that arrived in the sink and was used for preroll or for + Get the last sample 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 sample can be used to determine the type of the buffer. Free-function: gst_sample_unref + - a #GstSample. gst_sample_unref() after + a #GstSample. gst_sample_unref() after usage. This function returns %NULL when no buffer has arrived in the sink yet or when the sink is not in PAUSED or PLAYING. - the sink + the sink - Get the currently configured latency. + Get the currently configured latency. + - The configured latency. + The configured latency. - the sink + the sink @@ -3510,31 +5031,45 @@ Free-function: gst_sample_unref - Get the maximum amount of bits per second that the sink will render. + Get the maximum amount of bits per second that the sink will render. + - the maximum number of bits per second @sink will render. + the maximum number of bits per second @sink will render. - a #GstBaseSink + a #GstBaseSink - Gets the max lateness value. See gst_base_sink_set_max_lateness() for + Gets the max lateness value. See gst_base_sink_set_max_lateness() for more details. + - The maximum time in nanoseconds that a buffer can be late + The maximum time in nanoseconds that a buffer can be late before it is dropped and not rendered. A value of -1 means an unlimited time. - the sink + the sink @@ -3542,125 +5077,210 @@ unlimited time. - Get the processing deadline of @sink. see + Get the processing deadline of @sink. see gst_base_sink_set_processing_deadline() for more information about the processing deadline. + - the processing deadline + the processing deadline - a #GstBaseSink + a #GstBaseSink - Get the render delay of @sink. see gst_base_sink_set_render_delay() for more + 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. + the render delay of @sink. - a #GstBaseSink + a #GstBaseSink + + + + + + Return various #GstBaseSink statistics. This function returns a #GstStructure +with name `application/x-gst-base-sink-stats` with the following fields: + +- "average-rate" G_TYPE_DOUBLE average frame rate +- "dropped" G_TYPE_UINT64 Number of dropped frames +- "rendered" G_TYPE_UINT64 Number of rendered frames + + + pointer to #GstStructure + + + + + #GstBaseSink - Checks if @sink is currently configured to synchronize against the + Checks if @sink is currently configured to synchronize against the clock. + - %TRUE if the sink is configured to synchronize against the clock. + %TRUE if the sink is configured to synchronize against the clock. - the sink + the sink - Get the time that will be inserted between frames to control the + Get the time that will be inserted between frames to control the maximum buffers per second. + - the number of nanoseconds @sink will put between frames. + the number of nanoseconds @sink will put between frames. - a #GstBaseSink + a #GstBaseSink - Get the synchronisation offset of @sink. + Get the synchronisation offset of @sink. + - The synchronisation offset. + The synchronisation offset. - the sink + the sink - Checks if @sink is currently configured to perform asynchronous state + Checks if @sink is currently configured to perform asynchronous state changes to PAUSED. + - %TRUE if the sink is configured to perform asynchronous state + %TRUE if the sink is configured to perform asynchronous state changes. - the sink + the sink - Checks if @sink is currently configured to store the last received sample in + Checks if @sink is currently configured to store the last received sample in the last-sample property. + - %TRUE if the sink is configured to store the last received sample. + %TRUE if the sink is configured to store the last received sample. - the sink + the sink - Checks if @sink is currently configured to send Quality-of-Service events + Checks if @sink is currently configured to send Quality-of-Service events upstream. + - %TRUE if the sink is configured to perform Quality-of-Service. + %TRUE if the sink is configured to perform Quality-of-Service. - the sink + the sink - Query the sink for the latency parameters. The latency will be queried from + 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. @@ -3670,13 +5290,18 @@ for the latency introduced by the upstream elements by setting the @min_latency to a strictly positive value. This function is mostly used by subclasses. + - %TRUE if the query succeeded. + %TRUE if the query succeeded. - the sink + the sink transfer-ownership="full" optional="1" allow-none="1"> - if the sink is live + if the sink is live transfer-ownership="full" optional="1" allow-none="1"> - if an upstream element is live + if an upstream element is live transfer-ownership="full" optional="1" allow-none="1"> - the min latency of the upstream elements + the min latency of the upstream elements transfer-ownership="full" optional="1" allow-none="1"> - the max latency of the upstream elements + the max latency of the upstream elements - Configures @sink to perform all state changes asynchronously. When async is + Configures @sink to perform all state changes asynchronously. When async is disabled, the sink will immediately go to PAUSED instead of waiting for a preroll buffer. This feature is useful if the sink does not synchronize against the clock or when it is dealing with sparse streams. + - the sink + the sink - the new async value. + the new async value. - Set the number of bytes that the sink will pull when it is operating in pull + Set the number of bytes that the sink will pull when it is operating in pull mode. + - a #GstBaseSink + a #GstBaseSink - the blocksize in bytes + the blocksize in bytes @@ -3757,35 +5404,49 @@ mode. - Configure @sink to drop buffers which are outside the current segment + Configure @sink to drop buffers which are outside the current segment + - the sink + the sink - drop buffers outside the segment + drop buffers outside the segment - Configures @sink to store the last received sample in the last-sample + Configures @sink to store the last received sample in the last-sample property. + - the sink + the sink - the new enable-last-sample value. + the new enable-last-sample value. @@ -3793,37 +5454,51 @@ property. - Set the maximum amount of bits per second that the sink will render. + Set the maximum amount of bits per second that the sink will render. + - a #GstBaseSink + a #GstBaseSink - the max_bitrate in bits per second + the max_bitrate in bits per second - Sets the new max lateness value to @max_lateness. This value is + 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 sink + the sink - the new max lateness value. + the new max lateness value. @@ -3831,45 +5506,61 @@ an unlimited time. - Maximum amount of time (in nanoseconds) that the pipeline can take + Maximum amount of time (in nanoseconds) that the pipeline can take for processing the buffer. This is added to the latency of live pipelines. This function is usually called by subclasses. + - a #GstBaseSink + a #GstBaseSink - the new processing deadline in nanoseconds. + the new processing deadline in nanoseconds. - Configures @sink to send Quality-of-Service events upstream. + Configures @sink to send Quality-of-Service events upstream. + - the sink + the sink - the new qos value. + the new qos value. - Set the render delay in @sink to @delay. The render delay is the time + 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. @@ -3878,80 +5569,108 @@ 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. + - a #GstBaseSink + a #GstBaseSink - the new delay + the new delay - Configures @sink to synchronize on the clock or not. When + Configures @sink to synchronize on the clock or not. When @sync is %FALSE, incoming samples will be played as fast as possible. If @sync is %TRUE, the timestamps of the incoming buffers will be used to schedule the exact render time of its contents. + - the sink + the sink - the new sync value. + the new sync value. - Set the time that will be inserted between rendered buffers. This + Set the time that will be inserted between rendered buffers. This can be used to control the maximum buffers per second that the sink will render. + - a #GstBaseSink + a #GstBaseSink - the throttle time in nanoseconds + the throttle time in nanoseconds - Adjust the synchronisation of @sink with @offset. A negative value will + 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 sink + the sink - the new offset + the new offset - This function will wait for preroll to complete and will then block until @time + This function will wait for preroll to complete and will then block until @time is reached. It is usually called by subclasses that use their own internal synchronisation but want to let some synchronization (like EOS) be handled by the base class. @@ -3962,17 +5681,24 @@ receiving an EOS event in the ::event vmethod or when handling buffers in The @time argument should be the running_time of when the timeout should happen and will be adjusted with any latency and offset configured in the sink. + - #GstFlowReturn + #GstFlowReturn - the sink + the sink - the running_time to be reached + the running_time to be reached transfer-ownership="full" optional="1" allow-none="1"> - the jitter to be filled with time diff, or %NULL + the jitter to be filled with time diff, or %NULL - This function will block until @time is reached. It is usually called by + 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 synchronisation is done and %GST_CLOCK_BADTIME is @@ -4002,17 +5732,24 @@ 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 + #GstClockReturn - the sink + the sink - the running_time to be reached + the running_time to be reached transfer-ownership="full" optional="1" allow-none="1"> - the jitter to be filled with time diff, or %NULL + the jitter to be filled with time diff, or %NULL - If the #GstBaseSinkClass.render() method performs its own synchronisation + 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. @@ -4045,40 +5786,53 @@ returns %GST_FLOW_FLUSHING). This function should only be called with the PREROLL_LOCK held, like in the render function. + - %GST_FLOW_OK if the preroll completed and processing can + %GST_FLOW_OK if the preroll completed and processing can continue. Any other return value should be returned from the render vmethod. - the sink + the sink - If set to %TRUE, the basesink will perform asynchronous state changes. + If set to %TRUE, the basesink will perform asynchronous state changes. When set to %FALSE, the sink will not signal the parent when it prerolls. Use this option when dealing with sparse streams or when synchronisation is not required. - The amount of bytes to pull when operating in pull mode. + The amount of bytes to pull when operating in pull mode. - Enable the last-sample property. If %FALSE, basesink doesn't keep a + Enable the last-sample property. If %FALSE, basesink doesn't keep a reference to the last buffer arrived and the last-sample property is always set to %NULL. This can be useful if you need buffers to be released as soon as possible, eg. if you're using a buffer pool. - The last buffer that arrived in the sink and was used for preroll or for + The last buffer that arrived in the sink and was used for preroll or for rendering. This property can be used to generate thumbnails. This property can be %NULL when the sink has not yet received a buffer. @@ -4087,7 +5841,9 @@ can be %NULL when the sink has not yet received a buffer. version="1.2" writable="1" transfer-ownership="none"> - Control the maximum amount of bits that will be rendered per second. + Control the maximum amount of bits that will be rendered per second. Setting this property to a value bigger than 0 will make the sink delay rendering of the buffers when it would exceed to max-bitrate. @@ -4099,7 +5855,9 @@ rendering of the buffers when it would exceed to max-bitrate. version="1.16" writable="1" transfer-ownership="none"> - Maximum amount of time (in nanoseconds) that the pipeline can take + Maximum amount of time (in nanoseconds) that the pipeline can take for processing the buffer. This is added to the latency of live pipelines. @@ -4108,22 +5866,39 @@ pipelines. - The additional delay between synchronisation and actual rendering of the + The additional delay between synchronisation and actual rendering of the media. This property will add additional latency to the device in order to make other sinks compensate for the delay. + + Various #GstBaseSink statistics. This property returns a #GstStructure +with name `application/x-gst-base-sink-stats` with the following fields: + +- "average-rate" G_TYPE_DOUBLE average frame rate +- "dropped" G_TYPE_UINT64 Number of dropped frames +- "rendered" G_TYPE_UINT64 Number of rendered frames + + - The time to insert between buffers. This property can be used to control + The time to insert between buffers. This property can be used to control the maximum amount of buffers per second to render. Setting this property to a value bigger than 0 will make the sink create THROTTLE QoS events. - Controls the final synchronisation, a negative value will render the buffer + Controls the final synchronisation, a negative value will render the buffer earlier while a positive value delays playback. This property can be used to fix synchronisation in bad files. @@ -4189,7 +5964,7 @@ used to fix synchronisation in bad files. - + @@ -4197,15 +5972,21 @@ used to fix synchronisation in bad files. - Subclasses can override any of the available virtual methods or not, as + 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. + - Element parent class + Element parent class + @@ -4221,6 +6002,7 @@ output/present buffers. + @@ -4236,6 +6018,7 @@ output/present buffers. + @@ -4251,6 +6034,7 @@ output/present buffers. + @@ -4266,6 +6050,7 @@ output/present buffers. + @@ -4287,6 +6072,7 @@ output/present buffers. + @@ -4302,6 +6088,7 @@ output/present buffers. + @@ -4314,6 +6101,7 @@ output/present buffers. + @@ -4326,6 +6114,7 @@ output/present buffers. + @@ -4338,6 +6127,7 @@ output/present buffers. + @@ -4350,6 +6140,7 @@ output/present buffers. + @@ -4365,6 +6156,7 @@ output/present buffers. + @@ -4380,6 +6172,7 @@ output/present buffers. + @@ -4395,6 +6188,7 @@ output/present buffers. + @@ -4410,6 +6204,7 @@ output/present buffers. + @@ -4425,6 +6220,7 @@ output/present buffers. + @@ -4440,6 +6236,7 @@ output/present buffers. + @@ -4455,6 +6252,7 @@ output/present buffers. + @@ -4469,12 +6267,13 @@ output/present buffers. - + + glib:type-name="GstBaseSrc" glib:get-type="gst_base_src_get_type" glib:type-struct="BaseSrcClass"> - This is a generic base class for source elements. The following + This is a generic base class for source elements. The following types of sources are supported: * random access sources like files @@ -4596,7 +6397,9 @@ with the gst_element_send_event() function on the element or its parent bin. After the EOS has been sent to the element, the application should wait for an EOS message to be posted on the pipeline's bus. Once this EOS message is received, it may safely shut down the entire pipeline. + + @@ -4616,8 +6419,11 @@ received, it may safely shut down the entire pipeline. - Ask the subclass to create a buffer with @offset and @size, the default + Ask the subclass to create a buffer with @offset and @size, the default implementation will call alloc and fill. + @@ -4640,6 +6446,7 @@ implementation will call alloc and fill. + @@ -4653,6 +6460,7 @@ implementation will call alloc and fill. + @@ -4666,6 +6474,7 @@ implementation will call alloc and fill. + @@ -4679,6 +6488,7 @@ implementation will call alloc and fill. + @@ -4698,6 +6508,7 @@ implementation will call alloc and fill. + @@ -4711,6 +6522,10 @@ implementation will call alloc and fill. + Called to get the caps to report. + @@ -4718,12 +6533,16 @@ implementation will call alloc and fill. - + + @@ -4737,8 +6556,11 @@ implementation will call alloc and fill. - Given @buffer, return @start and @end time when it should be pushed + Given @buffer, return @start and @end time when it should be pushed out. The base class will sync on the clock using these times. + @@ -4764,6 +6586,7 @@ out. The base class will sync on the clock using these times. + @@ -4773,17 +6596,34 @@ out. The base class will sync on the clock using these times. - + + Negotiates src pad caps with downstream elements. +Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again +if #GstBaseSrcClass.negotiate() fails. + +Do not call this in the #GstBaseSrcClass.fill() vmethod. Call this in +#GstBaseSrcClass.create() or in #GstBaseSrcClass.alloc(), _before_ any +buffer is allocated. + + %TRUE if the negotiation succeeded, else %FALSE. + base source instance + @@ -4800,6 +6640,7 @@ out. The base class will sync on the clock using these times. + @@ -4813,23 +6654,33 @@ out. The base class will sync on the clock using these times. - Set new caps on the basesrc source pad. + Set new caps on the basesrc source pad. + - %TRUE if the caps could be set + %TRUE if the caps could be set - a #GstBaseSrc + a #GstBaseSrc - a #GstCaps + a #GstCaps + @@ -4840,6 +6691,7 @@ out. The base class will sync on the clock using these times. + @@ -4850,6 +6702,7 @@ out. The base class will sync on the clock using these times. + @@ -4860,6 +6713,7 @@ out. The base class will sync on the clock using these times. + @@ -4870,16 +6724,21 @@ out. The base class will sync on the clock using these times. - Lets #GstBaseSrc sub-classes to know the memory @allocator + Lets #GstBaseSrc sub-classes to know the memory @allocator used by the base class and its @params. Unref the @allocator after usage. + - a #GstBaseSrc + a #GstBaseSrc transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -4898,124 +6759,207 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator - Get the number of bytes that @src will push out with each buffer. + Get the number of bytes that @src will push out with each buffer. + - the number of bytes pushed with each buffer. + the number of bytes pushed with each buffer. - the source + the source + - the instance of the #GstBufferPool used + the instance of the #GstBufferPool used by the src; unref it after usage. - a #GstBaseSrc + a #GstBaseSrc - Query if @src timestamps outgoing buffers based on the current running_time. + Query if @src timestamps outgoing buffers based on the current running_time. + - %TRUE if the base class will automatically timestamp outgoing buffers. + %TRUE if the base class will automatically timestamp outgoing buffers. - the source + the source - Get the current async behaviour of @src. See also gst_base_src_set_async(). + Get the current async behaviour of @src. See also gst_base_src_set_async(). + - %TRUE if @src is operating in async mode. + %TRUE if @src is operating in async mode. - base source instance + base source instance - Check if an element is in live mode. + Check if an element is in live mode. + - %TRUE if element is in live mode. + %TRUE if element is in live mode. - base source instance + base source instance + + + + + + Negotiates src pad caps with downstream elements. +Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in any case. But marks it again +if #GstBaseSrcClass.negotiate() fails. + +Do not call this in the #GstBaseSrcClass.fill() vmethod. Call this in +#GstBaseSrcClass.create() or in #GstBaseSrcClass.alloc(), _before_ any +buffer is allocated. + + + %TRUE if the negotiation succeeded, else %FALSE. + + + + + base source instance - Prepare a new seamless segment for emission downstream. This function must -only be called by derived sub-classes, and only from the create() function, + Prepare a new seamless segment for emission downstream. This function must +only be called by derived sub-classes, and only from the #GstBaseSrcClass::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. + %TRUE if preparation of the seamless segment succeeded. - The source + The source - The new start value for the segment + The new start value for the segment - Stop value for the new segment + Stop value for the new segment - The new time value for the start of the new segment + The new time value for the start of the new segment - Query the source for the latency parameters. @live will be %TRUE when @src is + Query the source for the latency parameters. @live will be %TRUE when @src is configured as a live source. @min_latency and @max_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. + %TRUE if the query succeeded. - the source + the source transfer-ownership="full" optional="1" allow-none="1"> - if the source is live + if the source is live transfer-ownership="full" optional="1" allow-none="1"> - the min latency of the source + the min latency of the source transfer-ownership="full" optional="1" allow-none="1"> - the max latency of the source + the max latency of the source - Configure async behaviour in @src, no state change will block. The open, + Configure async behaviour in @src, no state change will block. The open, close, start, stop, play and pause virtual methods will be executed in a different thread and are thus allowed to perform blocking operations. Any blocking operation should be unblocked with the unlock vmethod. + - base source instance + base source instance - new async mode + new async mode @@ -5069,7 +7026,9 @@ blocking operation should be unblocked with the unlock vmethod. - If @automatic_eos is %TRUE, @src will automatically go EOS if a buffer + If @automatic_eos is %TRUE, @src will automatically go EOS if a buffer after the total size is returned. By default this is %TRUE but sources that can't return an authoritative size and only know that they're EOS when trying to read more should set this to %FALSE. @@ -5077,118 +7036,162 @@ when trying to read more should set this to %FALSE. When @src operates in %GST_FORMAT_TIME, #GstBaseSrc will send an EOS when a buffer outside of the currently configured segment is pushed if @automatic_eos is %TRUE. Since 1.16, if @automatic_eos is %FALSE an -EOS will be pushed only when the #GstBaseSrc.create implementation +EOS will be pushed only when the #GstBaseSrcClass.create() implementation returns %GST_FLOW_EOS. + - base source instance + base source instance - automatic eos + automatic eos - Set the number of bytes that @src will push out with each buffer. When + Set the number of bytes that @src will push out with each buffer. When @blocksize is set to -1, a default length will be used. + - the source + the source - the new blocksize in bytes + the new blocksize in bytes - Set new caps on the basesrc source pad. + Set new caps on the basesrc source pad. + - %TRUE if the caps could be set + %TRUE if the caps could be set - a #GstBaseSrc + a #GstBaseSrc - a #GstCaps + a #GstCaps - Configure @src to automatically timestamp outgoing buffers based on the + Configure @src to automatically timestamp outgoing buffers based on the current running_time of the pipeline. This property is mostly useful for live sources. + - the source + the source - enable or disable timestamping + enable or disable timestamping - If not @dynamic, size is only updated when needed, such as when trying to + If not @dynamic, size is only updated when needed, such as when trying to read past current tracked size. Otherwise, size is checked for upon each read. + - base source instance + base source instance - new dynamic size mode + new dynamic size mode - Sets the default format of the source. This will be the format used + Sets the default format of the source. This will be the format used for sending 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 #GstBaseSrcClass.is_seekable() returns %TRUE. This function must only be called in states < %GST_STATE_PAUSED. + - base source instance + base source instance - the format to use + the format to use - If the element listens to a live source, @live should + 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 @@ -5196,48 +7199,67 @@ 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. + - base source instance + base source instance - new live-mode + new live-mode - Complete an asynchronous start operation. When the subclass overrides the + Complete an asynchronous start operation. When the subclass overrides the start method, it should call gst_base_src_start_complete() when the start operation completes either from the same thread or from an asynchronous helper thread. + - base source instance + base source instance - a #GstFlowReturn + a #GstFlowReturn - Wait until the start operation completes. + Wait until the start operation completes. + - a #GstFlowReturn. + a #GstFlowReturn. - base source instance + base source instance @@ -5245,7 +7267,9 @@ helper thread. - Subclasses can call this from their create virtual method implementation + Subclasses can call this from their create virtual method implementation to submit a buffer list to be pushed out later. This is useful in cases where the create function wants to produce multiple buffers to be pushed out in one go in form of a #GstBufferList, which can reduce overhead @@ -5261,22 +7285,29 @@ function the behaviour is undefined. Subclasses must only call this function once per create function call and subclasses must only call this function when the source operates in push mode. + - a #GstBaseSrc + a #GstBaseSrc - a #GstBufferList + a #GstBufferList - If the #GstBaseSrcClass.create() method performs its own synchronisation + 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. @@ -5284,14 +7315,19 @@ 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_FLUSHING). + - %GST_FLOW_OK if @src is PLAYING and processing can + %GST_FLOW_OK if @src is PLAYING and processing can continue. Any other return value should be returned from the create vmethod. - the src + the src @@ -5363,7 +7399,7 @@ continue. Any other return value should be returned from the create vmethod. - + @@ -5371,15 +7407,21 @@ continue. Any other return value should be returned from the create vmethod. - Subclasses can override any of the available virtual methods or not, as + 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. + - Element parent class + Element parent class + @@ -5387,7 +7429,10 @@ buffers. - + @@ -5395,11 +7440,18 @@ buffers. + + %TRUE if the negotiation succeeded, else %FALSE. + base source instance @@ -5407,6 +7459,7 @@ buffers. + @@ -5422,17 +7475,24 @@ buffers. + - %TRUE if the caps could be set + %TRUE if the caps could be set - a #GstBaseSrc + a #GstBaseSrc - a #GstCaps + a #GstCaps @@ -5440,6 +7500,7 @@ buffers. + @@ -5455,6 +7516,7 @@ buffers. + @@ -5467,6 +7529,7 @@ buffers. + @@ -5479,6 +7542,7 @@ buffers. + @@ -5506,6 +7570,7 @@ buffers. + @@ -5521,6 +7586,7 @@ buffers. + @@ -5533,6 +7599,7 @@ buffers. + @@ -5551,6 +7618,7 @@ buffers. + @@ -5566,6 +7634,7 @@ buffers. + @@ -5578,6 +7647,7 @@ buffers. + @@ -5590,6 +7660,7 @@ buffers. + @@ -5605,6 +7676,7 @@ buffers. + @@ -5620,6 +7692,7 @@ buffers. + @@ -5644,6 +7717,7 @@ buffers. + @@ -5665,6 +7739,7 @@ buffers. + @@ -5685,30 +7760,40 @@ buffers. - + - The #GstElement flags that a basesrc element may have. + The #GstElement flags that a basesrc element may have. + - has source is starting + has source is starting - has source been started + has source been started - offset to define more flags + offset to define more flags + glib:type-name="GstBaseTransform" glib:get-type="gst_base_transform_get_type" glib:type-struct="BaseTransformClass"> - This base class is for filter elements that process data. Elements + This base class is for filter elements that process data. Elements that are suitable for implementation using #GstBaseTransform are ones where the size and caps of the output is known entirely from the input caps and buffer sizes. These include elements that directly transform @@ -5822,7 +7909,10 @@ It provides for: * Implied %TRUE if no transform function is implemented. * Implied %FALSE if ONLY transform function is implemented. + + @@ -5839,6 +7929,8 @@ It provides for: + @@ -5852,6 +7944,8 @@ It provides for: + @@ -5868,6 +7962,8 @@ It provides for: + @@ -5881,6 +7977,8 @@ It provides for: + @@ -5900,6 +7998,8 @@ It provides for: + @@ -5919,6 +8019,8 @@ It provides for: + @@ -5935,6 +8037,8 @@ It provides for: + @@ -5954,6 +8058,8 @@ It provides for: + @@ -5973,6 +8079,8 @@ It provides for: + @@ -5989,6 +8097,8 @@ It provides for: + @@ -6005,6 +8115,8 @@ It provides for: + @@ -6021,6 +8133,8 @@ It provides for: + @@ -6034,6 +8148,8 @@ It provides for: + @@ -6047,6 +8163,8 @@ It provides for: + @@ -6057,6 +8175,8 @@ It provides for: + @@ -6067,6 +8187,8 @@ It provides for: + @@ -6083,6 +8205,8 @@ It provides for: + @@ -6099,6 +8223,8 @@ It provides for: + @@ -6118,6 +8244,8 @@ It provides for: + @@ -6131,6 +8259,8 @@ It provides for: + @@ -6150,6 +8280,8 @@ It provides for: + @@ -6179,16 +8311,22 @@ It provides for: - Lets #GstBaseTransform sub-classes to know the memory @allocator + Lets #GstBaseTransform sub-classes know the memory @allocator used by the base class and its @params. -Unref the @allocator after use it. +Unref the @allocator after use. + - a #GstBaseTransform + a #GstBaseTransform transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -6207,7 +8347,9 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator @@ -6215,98 +8357,178 @@ used + - the instance of the #GstBufferPool used -by @trans; free it after use it + the instance of the #GstBufferPool used +by @trans; free it after use - a #GstBaseTransform + a #GstBaseTransform - See if @trans is configured as a in_place transform. + See if @trans is configured as a in_place transform. + - %TRUE is the transform is configured in in_place mode. + %TRUE if the transform is configured in in_place mode. MT safe. - the #GstBaseTransform to query + the #GstBaseTransform to query - See if @trans is configured as a passthrough transform. + See if @trans is configured as a passthrough transform. + - %TRUE is the transform is configured in passthrough mode. + %TRUE if the transform is configured in passthrough mode. MT safe. - the #GstBaseTransform to query + the #GstBaseTransform to query - Queries if the transform will handle QoS. + Queries if the transform will handle QoS. + - %TRUE if QoS is enabled. + %TRUE if QoS is enabled. MT safe. - a #GstBaseTransform + a #GstBaseTransform + + + + + + Negotiates src pad caps with downstream elements if the source pad is +marked as needing reconfiguring. Unmarks GST_PAD_FLAG_NEED_RECONFIGURE in +any case. But marks it again if negotiation fails. + +Do not call this in the #GstBaseTransformClass.transform() or +#GstBaseTransformClass.transform_ip() vmethod. Call this in +#GstBaseTransformClass.submit_input_buffer(), +#GstBaseTransformClass.prepare_output_buffer() or in +#GstBaseTransformClass.generate_output() _before_ any output buffer is +allocated. + +It will be default be called when handling an ALLOCATION query or at the +very beginning of the default #GstBaseTransformClass.submit_input_buffer() +implementation. + + + %TRUE if the negotiation succeeded, else %FALSE. + + + + + the #GstBaseTransform to set - Instructs @trans to request renegotiation upstream. This function is + Instructs @trans to request renegotiation upstream. This function is typically called after properties on the transform were set that influence the input format. + - a #GstBaseTransform + a #GstBaseTransform - Instructs @trans to renegotiate a new downstream transform on the next + 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. + - a #GstBaseTransform + a #GstBaseTransform - If @gap_aware is %FALSE (the default), output buffers will have the + 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 @@ -6314,39 +8536,53 @@ 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. + - a #GstBaseTransform + a #GstBaseTransform - New state + New state - Determines whether a non-writable buffer will be copied before passing + Determines whether a non-writable buffer will be copied before passing to the transform_ip function. * Always %TRUE if no transform function is implemented. * Always %FALSE if ONLY transform function is implemented. MT safe. + - the #GstBaseTransform to modify + the #GstBaseTransform to modify - Boolean value indicating that we would like to operate + Boolean value indicating that we would like to operate on in_place buffers. @@ -6354,23 +8590,31 @@ on in_place buffers. - Set passthrough mode for this filter by default. This is mostly + 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. +or transform_ip or generate_output method. MT safe. + - the #GstBaseTransform to set + the #GstBaseTransform to set - boolean indicating passthrough mode. + boolean indicating passthrough mode. @@ -6378,7 +8622,9 @@ MT safe. - If @prefer_passthrough is %TRUE (the default), @trans will check and + If @prefer_passthrough is %TRUE (the default), @trans will check and prefer passthrough caps from the list of caps returned by the transform_caps vmethod. @@ -6389,63 +8635,89 @@ passthrough transforms but prefer to do something else, like a capsfilter. MT safe. + - a #GstBaseTransform + a #GstBaseTransform - New state + New state - Enable or disable QoS handling in the transform. + Enable or disable QoS handling in the transform. MT safe. + - a #GstBaseTransform + a #GstBaseTransform - new state + new state - Set the QoS parameters in the transform. This function is called internally + 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. + - a #GstBaseTransform + a #GstBaseTransform - the proportion + the proportion - the diff against the clock + the diff against the clock - the timestamp of the buffer generating the QoS expressed in + the timestamp of the buffer generating the QoS expressed in running_time. @@ -6454,22 +8726,32 @@ running_time. - Updates the srcpad caps and send the caps downstream. This function + Updates the srcpad caps and sends the caps downstream. This function can be used by subclasses when they have already negotiated their caps but found a change in them (or computed new information). This way, they can notify downstream about that change without losing any buffer. + - %TRUE if the caps could be send downstream %FALSE otherwise + %TRUE if the caps could be sent downstream %FALSE otherwise - a #GstBaseTransform + a #GstBaseTransform - An updated version of the srcpad caps to be pushed + An updated version of the srcpad caps to be pushed downstream @@ -6500,7 +8782,7 @@ downstream - + @@ -6508,22 +8790,31 @@ downstream - Subclasses can override any of the available virtual methods or not, as + 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. + - Element parent class + Element parent class - If set to %TRUE, passthrough mode will be + If set to %TRUE, passthrough mode will be automatically enabled if the caps are the same. Set to %FALSE by default. - If set to %TRUE, @transform_ip will be called in + If set to %TRUE, @transform_ip will be called in passthrough mode. The passed buffer might not be writable. When %FALSE, neither @transform nor @transform_ip will be called in passthrough mode. @@ -6532,6 +8823,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6553,6 +8846,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6574,6 +8869,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6592,6 +8889,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6610,6 +8909,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6628,6 +8929,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6643,6 +8946,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6664,6 +8969,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6682,6 +8989,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6712,6 +9021,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6733,6 +9044,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6745,6 +9058,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6757,6 +9072,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6772,6 +9089,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6787,6 +9106,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6808,6 +9129,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6826,6 +9149,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6847,6 +9172,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6862,6 +9189,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6880,6 +9209,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6895,6 +9226,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6913,6 +9246,8 @@ same type and quantity) it should provide @transform_ip. + @@ -6930,7 +9265,7 @@ same type and quantity) it should provide @transform_ip. - + @@ -6938,354 +9273,514 @@ same type and quantity) it should provide @transform_ip. + - #GstBitReader provides a bit reader that can read any number of bits + #GstBitReader provides a bit reader that can read any number of bits from a memory buffer. It provides functions for reading any number of bits into 8, 16, 32 and 64 bit variables. + - Data from which the bit reader will + Data from which the bit reader will read - Size of @data in bytes + Size of @data in bytes - Current byte position + Current byte position - Bit position in the current byte + Bit position in the current byte - + - Frees a #GstBitReader instance, which was previously allocated by + Frees a #GstBitReader instance, which was previously allocated by gst_bit_reader_new(). + - a #GstBitReader instance + a #GstBitReader instance - Read @nbits bits into @val and update the current position. + Read @nbits bits into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint16 to store the result + Pointer to a #guint16 to store the result - number of bits to read + number of bits to read - Read @nbits bits into @val and update the current position. + Read @nbits bits into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - number of bits to read + number of bits to read - Read @nbits bits into @val and update the current position. + Read @nbits bits into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint64 to store the result + Pointer to a #guint64 to store the result - number of bits to read + number of bits to read - Read @nbits bits into @val and update the current position. + Read @nbits bits into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint8 to store the result + Pointer to a #guint8 to store the result - number of bits to read + number of bits to read - Returns the current position of a #GstBitReader instance in bits. + Returns the current position of a #GstBitReader instance in bits. + - The current position of @reader in bits. + The current position of @reader in bits. - a #GstBitReader instance + a #GstBitReader instance - Returns the remaining number of bits of a #GstBitReader instance. + Returns the remaining number of bits of a #GstBitReader instance. + - The remaining number of bits of @reader instance. + The remaining number of bits of @reader instance. - a #GstBitReader instance + a #GstBitReader instance - Returns the total number of bits of a #GstBitReader instance. + Returns the total number of bits of a #GstBitReader instance. + - The total number of bits of @reader instance. + The total number of bits of @reader instance. - a #GstBitReader instance + a #GstBitReader instance - Initializes a #GstBitReader instance to read from @data. This function + Initializes a #GstBitReader instance to read from @data. This function can be called on already initialized instances. + - a #GstBitReader instance + a #GstBitReader instance - data from which the bit reader should read + data from which the bit reader should read - Size of @data in bytes + Size of @data in bytes - Read @nbits bits into @val but keep the current position. + Read @nbits bits into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint16 to store the result + Pointer to a #guint16 to store the result - number of bits to read + number of bits to read - Read @nbits bits into @val but keep the current position. + Read @nbits bits into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - number of bits to read + number of bits to read - Read @nbits bits into @val but keep the current position. + Read @nbits bits into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint64 to store the result + Pointer to a #guint64 to store the result - number of bits to read + number of bits to read - Read @nbits bits into @val but keep the current position. + Read @nbits bits into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - Pointer to a #guint8 to store the result + Pointer to a #guint8 to store the result - number of bits to read + number of bits to read - Sets the new position of a #GstBitReader instance to @pos in bits. + Sets the new position of a #GstBitReader instance to @pos in bits. + - %TRUE if the position could be set successfully, %FALSE + %TRUE if the position could be set successfully, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - The new position in bits + The new position in bits - Skips @nbits bits of the #GstBitReader instance. + Skips @nbits bits of the #GstBitReader instance. + - %TRUE if @nbits bits could be skipped, %FALSE otherwise. + %TRUE if @nbits bits could be skipped, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance - the number of bits to skip + the number of bits to skip - Skips until the next byte. + Skips until the next byte. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitReader instance + a #GstBitReader instance @@ -7293,38 +9788,54 @@ otherwise. - Create a new #GstBitReader instance, which will read from @data. + Create a new #GstBitReader instance, which will read from @data. Free-function: gst_bit_reader_free + - a new #GstBitReader instance + a new #GstBitReader instance - Data from which the #GstBitReader + Data from which the #GstBitReader should read - Size of @data in bytes + Size of @data in bytes - - #GstBitWriter provides a bit writer that can write any number of + + #GstBitWriter provides a bit writer that can write any number of bits into a memory buffer. It provides functions for writing any number of bits into 8, 16, 32 and 64 bit variables. + - Allocated @data for bit writer to write + Allocated @data for bit writer to write - Size of written @data in bits + Size of written @data in bits @@ -7337,66 +9848,92 @@ number of bits into 8, 16, 32 and 64 bit variables. - + - Write trailing bit to align last byte of @data. @trailing_bit can + Write trailing bit to align last byte of @data. @trailing_bit can only be 1 or 0. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitWriter instance + a #GstBitWriter instance - trailing bits of last byte, 0 or 1 + trailing bits of last byte, 0 or 1 - Frees @bitwriter and the allocated data inside. + Frees @bitwriter and the allocated data inside. + - #GstBitWriter instance + #GstBitWriter instance - Frees @bitwriter without destroying the internal data, which is + Frees @bitwriter without destroying the internal data, which is returned as #GstBuffer. Free-function: gst_buffer_unref + - a new allocated #GstBuffer wrapping the + a new allocated #GstBuffer wrapping the data inside. gst_buffer_unref() after usage. - #GstBitWriter instance + #GstBitWriter instance - Frees @bitwriter without destroying the internal data, which is + Frees @bitwriter without destroying the internal data, which is returned. Free-function: g_free + - the current data. g_free() after + the current data. g_free() after usage. @@ -7404,25 +9941,35 @@ Free-function: g_free - #GstBitWriter instance + #GstBitWriter instance - Get written data pointer + Get written data pointer + - data pointer + data pointer - a #GstBitWriter instance + a #GstBitWriter instance + @@ -7433,14 +9980,21 @@ Free-function: g_free - Get size of written @data + Get size of written @data + - size of bits written in @data + size of bits written in @data - a #GstBitWriter instance + a #GstBitWriter instance @@ -7448,13 +10002,18 @@ Free-function: g_free - Initializes @bitwriter to an empty instance. + Initializes @bitwriter to an empty instance. + - #GstBitWriter instance + #GstBitWriter instance @@ -7462,29 +10021,40 @@ Free-function: g_free - Initializes @bitwriter with the given memory area @data. IF + Initializes @bitwriter with the given memory area @data. IF @initialized is %TRUE it is possible to read @size bits from the #GstBitWriter from the beginning. + - #GstBitWriter instance + #GstBitWriter instance - Memory area for writing + Memory area for writing - Size of @data in bytes + Size of @data in bytes - If %TRUE the complete data can be read from the beginning + If %TRUE the complete data can be read from the beginning @@ -7492,171 +10062,252 @@ Free-function: g_free - Initializes a #GstBitWriter instance and allocates the given data + Initializes a #GstBitWriter instance and allocates the given data @size. + - #GstBitWriter instance + #GstBitWriter instance - the size on bytes to allocate for data + the size on bytes to allocate for data - If %TRUE the data can't be reallocated + If %TRUE the data can't be reallocated - Write @nbits bits of @value to #GstBitWriter. + Write @nbits bits of @value to #GstBitWriter. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitWriter instance + a #GstBitWriter instance - value of #guint16 to write + value of #guint16 to write - number of bits to write + number of bits to write - Write @nbits bits of @value to #GstBitWriter. + Write @nbits bits of @value to #GstBitWriter. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitWriter instance + a #GstBitWriter instance - value of #guint32 to write + value of #guint32 to write - number of bits to write + number of bits to write - Write @nbits bits of @value to #GstBitWriter. + Write @nbits bits of @value to #GstBitWriter. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitWriter instance + a #GstBitWriter instance - value of #guint64 to write + value of #guint64 to write - number of bits to write + number of bits to write - Write @nbits bits of @value to #GstBitWriter. + Write @nbits bits of @value to #GstBitWriter. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitWriter instance + a #GstBitWriter instance - value of #guint8 to write + value of #guint8 to write - number of bits to write + number of bits to write - Write @nbytes bytes of @data to #GstBitWriter. + Write @nbytes bytes of @data to #GstBitWriter. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstBitWriter instance + a #GstBitWriter instance - pointer of data to write + pointer of data to write - number of bytes to write + number of bytes to write - Resets @bitwriter and frees the data if it's owned by @bitwriter. + Resets @bitwriter and frees the data if it's owned by @bitwriter. + - #GstBitWriter instance + #GstBitWriter instance - Resets @bitwriter and returns the current data as #GstBuffer. + Resets @bitwriter and returns the current data as #GstBuffer. Free-function: gst_buffer_unref + - a new allocated #GstBuffer wrapping the + a new allocated #GstBuffer wrapping the current data. gst_buffer_unref() after usage. - a #GstBitWriter instance + a #GstBitWriter instance - Resets @bitwriter and returns the current data. + Resets @bitwriter and returns the current data. Free-function: g_free + - the current data. g_free() after + the current data. g_free() after usage. @@ -7664,12 +10315,15 @@ Free-function: g_free - a #GstBitWriter instance + a #GstBitWriter instance + @@ -7685,37 +10339,53 @@ Free-function: g_free - Creates a new, empty #GstBitWriter instance. + Creates a new, empty #GstBitWriter instance. Free-function: gst_bit_writer_free + - a new, empty #GstByteWriter instance + a new, empty #GstByteWriter instance - Creates a new #GstBitWriter instance with the given memory area. If + Creates a new #GstBitWriter instance with the given memory area. If @initialized is %TRUE it is possible to read @size bits from the -#GstBitWriter from the beginnig. +#GstBitWriter from the beginning. Free-function: gst_bit_writer_free + - a new #GstBitWriter instance + a new #GstBitWriter instance - Memory area for writing + Memory area for writing - Size of @data in bytes + Size of @data in bytes - if %TRUE the complete data can be read from the beginning + if %TRUE the complete data can be read from the beginning @@ -7723,79 +10393,108 @@ Free-function: gst_bit_writer_free - Creates a #GstBitWriter instance with the given initial data size. + Creates a #GstBitWriter instance with the given initial data size. Free-function: gst_bit_writer_free + - a new #GstBitWriter instance + a new #GstBitWriter instance - Initial size of data in bytes + Initial size of data in bytes - If %TRUE the data can't be reallocated + If %TRUE the data can't be reallocated - #GstByteReader provides a byte reader that can read different integer and + #GstByteReader provides a byte reader that can read different integer and floating point types from a memory buffer. It provides functions for reading signed/unsigned, little/big endian integers of 8, 16, 24, 32 and 64 bits and functions for reading little/big endian floating points numbers of 32 and 64 bits. It also provides functions to read NUL-terminated strings in various character encodings. + - Data from which the bit reader will + Data from which the bit reader will read - Size of @data in bytes + Size of @data in bytes - Current byte position + Current byte position - + - Free-function: g_free + Free-function: g_free 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. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Size in bytes + Size in bytes - address of a + address of a #guint8 pointer variable in which to store the result @@ -7805,7 +10504,9 @@ updates the current position. Free with g_free() when no longer needed. - Free-function: g_free + Free-function: g_free 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 @@ -7819,21 +10520,28 @@ This function will fail if no NUL-terminator was found in in the data. Note: there is no peek or get variant of this function to ensure correct byte alignment of the UTF-16 string. + - %TRUE if a string could be read, %FALSE otherwise. The + %TRUE if a string could be read, %FALSE otherwise. The string put into @str must be freed with g_free() when no longer needed. - a #GstByteReader instance + a #GstByteReader instance - address of a + address of a #guint16 pointer variable in which to store the result @@ -7843,7 +10551,9 @@ byte alignment of the UTF-16 string. - Free-function: g_free + Free-function: g_free 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 @@ -7857,21 +10567,28 @@ This function will fail if no NUL-terminator was found in in the data. Note: there is no peek or get variant of this function to ensure correct byte alignment of the UTF-32 string. + - %TRUE if a string could be read, %FALSE otherwise. The + %TRUE if a string could be read, %FALSE otherwise. The string put into @str must be freed with g_free() when no longer needed. - a #GstByteReader instance + a #GstByteReader instance - address of a + address of a #guint32 pointer variable in which to store the result @@ -7881,7 +10598,9 @@ byte alignment of the UTF-32 string. - Free-function: g_free + Free-function: g_free FIXME:Reads (copies) a NUL-terminated string in the #GstByteReader instance, advancing the current position to the byte after the string. This will work @@ -7889,21 +10608,28 @@ 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 read into @str, %FALSE otherwise. The + %TRUE if a string could be read into @str, %FALSE otherwise. The string put into @str must be freed with g_free() when no longer needed. - a #GstByteReader instance + a #GstByteReader instance - address of a + address of a #gchar pointer variable in which to store the result @@ -7912,43 +10638,59 @@ This function will fail if no NUL-terminator was found in in the data. - Frees a #GstByteReader instance, which was previously allocated by + Frees a #GstByteReader instance, which was previously allocated by gst_byte_reader_new(). + - a #GstByteReader instance + a #GstByteReader instance - Returns a constant pointer to the current data + 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. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Size in bytes + Size in bytes - address of a + address of a #guint8 pointer variable in which to store the result @@ -7958,323 +10700,463 @@ updates the current position. - Read a 32 bit big endian floating point value into @val + Read a 32 bit big endian floating point value into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gfloat to store the result + Pointer to a #gfloat to store the result - Read a 32 bit little endian floating point value into @val + Read a 32 bit little endian floating point value into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gfloat to store the result + Pointer to a #gfloat to store the result - Read a 64 bit big endian floating point value into @val + Read a 64 bit big endian floating point value into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gdouble to store the result + Pointer to a #gdouble to store the result - Read a 64 bit little endian floating point value into @val + Read a 64 bit little endian floating point value into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gdouble to store the result + Pointer to a #gdouble to store the result - Read a signed 16 bit big endian integer into @val + Read a signed 16 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint16 to store the result + Pointer to a #gint16 to store the result - Read a signed 16 bit little endian integer into @val + Read a signed 16 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint16 to store the result + Pointer to a #gint16 to store the result - Read a signed 24 bit big endian integer into @val + Read a signed 24 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 24 bit little endian integer into @val + Read a signed 24 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 32 bit big endian integer into @val + Read a signed 32 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 32 bit little endian integer into @val + Read a signed 32 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 64 bit big endian integer into @val + Read a signed 64 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint64 to store the result + Pointer to a #gint64 to store the result - Read a signed 64 bit little endian integer into @val + Read a signed 64 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint64 to store the result + Pointer to a #gint64 to store the result - Read a signed 8 bit integer into @val and update the current position. + Read a signed 8 bit integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint8 to store the result + Pointer to a #gint8 to store the result - Returns the current position of a #GstByteReader instance in bytes. + Returns the current position of a #GstByteReader instance in bytes. + - The current position of @reader in bytes. + The current position of @reader in bytes. - a #GstByteReader instance + a #GstByteReader instance - Returns the remaining number of bytes of a #GstByteReader instance. + Returns the remaining number of bytes of a #GstByteReader instance. + - The remaining number of bytes of @reader instance. + The remaining number of bytes of @reader instance. - a #GstByteReader instance + a #GstByteReader instance - Returns the total number of bytes of a #GstByteReader instance. + Returns the total number of bytes of a #GstByteReader instance. + - The total number of bytes of @reader instance. + The total number of bytes of @reader instance. - a #GstByteReader instance + a #GstByteReader instance - Returns a constant pointer to the current data position if there is + 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, @@ -8283,20 +11165,27 @@ 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. + %TRUE if a string could be found, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - address of a + address of a #gchar pointer variable in which to store the result @@ -8308,255 +11197,358 @@ This function will fail if no NUL-terminator was found in in the data. c:identifier="gst_byte_reader_get_sub_reader" version="1.6" introspectable="0"> - Initializes a #GstByteReader sub-reader instance to contain @size bytes of + Initializes a #GstByteReader sub-reader instance to contain @size bytes of data from the current position of @reader. This is useful to read chunked formats and make sure that one doesn't read beyond the size of the sub-chunk. Unlike gst_byte_reader_peek_sub_reader(), this function also modifies the position of @reader and moves it forward by @size bytes. + - FALSE on error or if @reader does not contain @size more bytes from + FALSE on error or if @reader does not contain @size more bytes from the current position, and otherwise TRUE - an existing and initialized #GstByteReader instance + an existing and initialized #GstByteReader instance - a #GstByteReader instance to initialize as sub-reader + a #GstByteReader instance to initialize as sub-reader - size of @sub_reader in bytes + size of @sub_reader in bytes - Read an unsigned 16 bit big endian integer into @val + Read an unsigned 16 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint16 to store the result + Pointer to a #guint16 to store the result - Read an unsigned 16 bit little endian integer into @val + Read an unsigned 16 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint16 to store the result + Pointer to a #guint16 to store the result - Read an unsigned 24 bit big endian integer into @val + Read an unsigned 24 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 24 bit little endian integer into @val + Read an unsigned 24 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 32 bit big endian integer into @val + Read an unsigned 32 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 32 bit little endian integer into @val + Read an unsigned 32 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 64 bit big endian integer into @val + Read an unsigned 64 bit big endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint64 to store the result + Pointer to a #guint64 to store the result - Read an unsigned 64 bit little endian integer into @val + Read an unsigned 64 bit little endian integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint64 to store the result + Pointer to a #guint64 to store the result - Read an unsigned 8 bit integer into @val and update the current position. + Read an unsigned 8 bit integer into @val and update the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint8 to store the result + Pointer to a #guint8 to store the result - Initializes a #GstByteReader instance to read from @data. This function + Initializes a #GstByteReader instance to read from @data. This function can be called on already initialized instances. + - a #GstByteReader instance + a #GstByteReader instance - data from which + data from which the #GstByteReader should read - Size of @data in bytes + Size of @data in bytes - Scan for pattern @pattern with applied mask @mask in the byte reader data, + 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 @@ -8566,8 +11558,11 @@ out. It is an error to call this function without making sure that there is enough data (offset+size bytes) in the byte reader. + - offset of the first match, or -1 if no match was found. + offset of the first match, or -1 if no match was found. Example: |[ @@ -8592,24 +11587,34 @@ gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); - a #GstByteReader + a #GstByteReader - mask to apply to data before matching against @pattern + mask to apply to data before matching against @pattern - pattern to match (after mask is applied) + pattern to match (after mask is applied) - offset from which to start scanning, relative to the current + offset from which to start scanning, relative to the current position - number of bytes to scan from offset + number of bytes to scan from offset @@ -8617,7 +11622,9 @@ gst_byte_reader_masked_scan_uint32 (reader, 0xffff0000, 0x02030000, 0, 4); - Scan for pattern @pattern with applied mask @mask in the byte reader data, + 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 @@ -8627,66 +11634,92 @@ out. It is an error to call this function without making sure that there is enough data (offset+size bytes) in the byte reader. + - offset of the first match, or -1 if no match was found. + offset of the first match, or -1 if no match was found. - a #GstByteReader + a #GstByteReader - mask to apply to data before matching against @pattern + mask to apply to data before matching against @pattern - pattern to match (after mask is applied) + pattern to match (after mask is applied) - offset from which to start scanning, relative to the current + offset from which to start scanning, relative to the current position - number of bytes to scan from offset + number of bytes to scan from offset - pointer to uint32 to return matching data + pointer to uint32 to return matching data - Returns a constant pointer to the current data + 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. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Size in bytes + Size in bytes - address of a + address of a #guint8 pointer variable in which to store the result @@ -8696,291 +11729,410 @@ keeps the current position. - Read a 32 bit big endian floating point value into @val + Read a 32 bit big endian floating point value into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gfloat to store the result + Pointer to a #gfloat to store the result - Read a 32 bit little endian floating point value into @val + Read a 32 bit little endian floating point value into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gfloat to store the result + Pointer to a #gfloat to store the result - Read a 64 bit big endian floating point value into @val + Read a 64 bit big endian floating point value into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gdouble to store the result + Pointer to a #gdouble to store the result - Read a 64 bit little endian floating point value into @val + Read a 64 bit little endian floating point value into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gdouble to store the result + Pointer to a #gdouble to store the result - Read a signed 16 bit big endian integer into @val + Read a signed 16 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint16 to store the result + Pointer to a #gint16 to store the result - Read a signed 16 bit little endian integer into @val + Read a signed 16 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint16 to store the result + Pointer to a #gint16 to store the result - Read a signed 24 bit big endian integer into @val + Read a signed 24 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 24 bit little endian integer into @val + Read a signed 24 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 32 bit big endian integer into @val + Read a signed 32 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 32 bit little endian integer into @val + Read a signed 32 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint32 to store the result + Pointer to a #gint32 to store the result - Read a signed 64 bit big endian integer into @val + Read a signed 64 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint64 to store the result + Pointer to a #gint64 to store the result - Read a signed 64 bit little endian integer into @val + Read a signed 64 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint64 to store the result + Pointer to a #gint64 to store the result - Read a signed 8 bit integer into @val but keep the current position. + Read a signed 8 bit integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #gint8 to store the result + Pointer to a #gint8 to store the result - Returns a constant pointer to the current data position if there is + 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, @@ -8989,20 +12141,27 @@ 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. + %TRUE if a string could be skipped, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - address of a + address of a #gchar pointer variable in which to store the result @@ -9014,316 +12173,447 @@ This function will fail if no NUL-terminator was found in in the data. c:identifier="gst_byte_reader_peek_sub_reader" version="1.6" introspectable="0"> - Initializes a #GstByteReader sub-reader instance to contain @size bytes of + Initializes a #GstByteReader sub-reader instance to contain @size bytes of data from the current position of @reader. This is useful to read chunked formats and make sure that one doesn't read beyond the size of the sub-chunk. Unlike gst_byte_reader_get_sub_reader(), this function does not modify the current position of @reader. + - FALSE on error or if @reader does not contain @size more bytes from + FALSE on error or if @reader does not contain @size more bytes from the current position, and otherwise TRUE - an existing and initialized #GstByteReader instance + an existing and initialized #GstByteReader instance - a #GstByteReader instance to initialize as sub-reader + a #GstByteReader instance to initialize as sub-reader - size of @sub_reader in bytes + size of @sub_reader in bytes - Read an unsigned 16 bit big endian integer into @val + Read an unsigned 16 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint16 to store the result + Pointer to a #guint16 to store the result - Read an unsigned 16 bit little endian integer into @val + Read an unsigned 16 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint16 to store the result + Pointer to a #guint16 to store the result - Read an unsigned 24 bit big endian integer into @val + Read an unsigned 24 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 24 bit little endian integer into @val + Read an unsigned 24 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 32 bit big endian integer into @val + Read an unsigned 32 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 32 bit little endian integer into @val + Read an unsigned 32 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint32 to store the result + Pointer to a #guint32 to store the result - Read an unsigned 64 bit big endian integer into @val + Read an unsigned 64 bit big endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint64 to store the result + Pointer to a #guint64 to store the result - Read an unsigned 64 bit little endian integer into @val + Read an unsigned 64 bit little endian integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint64 to store the result + Pointer to a #guint64 to store the result - Read an unsigned 8 bit integer into @val but keep the current position. + Read an unsigned 8 bit integer into @val but keep the current position. + - %TRUE if successful, %FALSE otherwise. + %TRUE if successful, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Pointer to a #guint8 to store the result + Pointer to a #guint8 to store the result - Sets the new position of a #GstByteReader instance to @pos in bytes. + Sets the new position of a #GstByteReader instance to @pos in bytes. + - %TRUE if the position could be set successfully, %FALSE + %TRUE if the position could be set successfully, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - The new position in bytes + The new position in bytes - Skips @nbytes bytes of the #GstByteReader instance. + Skips @nbytes bytes of the #GstByteReader instance. + - %TRUE if @nbytes bytes could be skipped, %FALSE otherwise. + %TRUE if @nbytes bytes could be skipped, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - the number of bytes to skip + the number of bytes to skip - Skips a NUL-terminated UTF-16 string in the #GstByteReader instance, + 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. + %TRUE if a string could be skipped, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Skips a NUL-terminated UTF-32 string in the #GstByteReader instance, + 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. + %TRUE if a string could be skipped, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance - Skips a NUL-terminated string in the #GstByteReader instance, advancing + 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. + %TRUE if a string could be skipped, %FALSE otherwise. - a #GstByteReader instance + a #GstByteReader instance @@ -9331,507 +12621,748 @@ This function will fail if no NUL-terminator was found in in the data. - Create a new #GstByteReader instance, which will read from @data. + Create a new #GstByteReader instance, which will read from @data. Free-function: gst_byte_reader_free + - a new #GstByteReader instance + a new #GstByteReader instance - data from which the + data from which the #GstByteReader should read - Size of @data in bytes + Size of @data in bytes - #GstByteWriter provides a byte writer and reader that can write/read different + #GstByteWriter provides a byte writer and reader that can write/read different integer and floating point types to/from a memory buffer. It provides functions for writing/reading signed/unsigned, little/big endian integers of 8, 16, 24, 32 and 64 bits and functions for reading little/big endian floating points numbers of 32 and 64 bits. It also provides functions to write/read NUL-terminated strings in various character encodings. + - #GstByteReader parent + #GstByteReader parent - Allocation size of the data + Allocation size of the data - If %TRUE no reallocations are allowed + If %TRUE no reallocations are allowed - If %FALSE no reallocations are allowed and copies of data are returned + If %FALSE no reallocations are allowed and copies of data are returned - + - Checks if enough free space from the current write cursor is + 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 + %TRUE if at least @size bytes are still available - #GstByteWriter instance + #GstByteWriter instance - Number of bytes that should be available + Number of bytes that should be available - Writes @size bytes containing @value to @writer. + Writes @size bytes containing @value to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to be written + Value to be written - Number of bytes to be written + Number of bytes to be written - Frees @writer and all memory allocated by it. + Frees @writer and all memory allocated by it. + - #GstByteWriter instance + #GstByteWriter instance - Frees @writer and all memory allocated by it except + Frees @writer and all memory allocated by it except the current data, which is returned as #GstBuffer. Free-function: gst_buffer_unref + - the current data as buffer. gst_buffer_unref() + the current data as buffer. gst_buffer_unref() after usage. - #GstByteWriter instance + #GstByteWriter instance - Frees @writer and all memory allocated by it except + Frees @writer and all memory allocated by it except the current data, which is returned. Free-function: g_free + - the current data. g_free() after usage. + the current data. g_free() after usage. - #GstByteWriter instance + #GstByteWriter instance - Returns the remaining size of data that can still be written. If + 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 + the remaining size of data that can still be written - #GstByteWriter instance + #GstByteWriter instance - Initializes @writer to an empty instance + Initializes @writer to an empty instance + - #GstByteWriter instance + #GstByteWriter instance - Initializes @writer with the given + Initializes @writer with the given memory area. If @initialized is %TRUE it is possible to read @size bytes from the #GstByteWriter from the beginning. + - #GstByteWriter instance + #GstByteWriter instance - Memory area for writing + Memory area for writing - Size of @data in bytes + Size of @data in bytes - If %TRUE the complete data can be read from the beginning + If %TRUE the complete data can be read from the beginning - Initializes @writer with the given initial data size. + Initializes @writer with the given initial data size. + - #GstByteWriter instance + #GstByteWriter instance - Initial size of data + Initial size of data - If %TRUE the data can't be reallocated + If %TRUE the data can't be reallocated - Writes @size bytes of @data to @writer. + Writes @size bytes of @data to @writer. + - %TRUE if the data could be written + %TRUE if the data could be written - #GstByteWriter instance + #GstByteWriter instance - source #GstBuffer + source #GstBuffer - offset to copy from + offset to copy from - total size to copy. If -1, all data is copied + total size to copy. If -1, all data is copied - Writes @size bytes of @data to @writer. + Writes @size bytes of @data to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Data to write + Data to write - Size of @data in bytes + Size of @data in bytes - Writes a big endian 32 bit float to @writer. + Writes a big endian 32 bit float to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a little endian 32 bit float to @writer. + Writes a little endian 32 bit float to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a big endian 64 bit float to @writer. + Writes a big endian 64 bit float to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a little endian 64 bit float to @writer. + Writes a little endian 64 bit float to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed big endian 16 bit integer to @writer. + Writes a signed big endian 16 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed little endian 16 bit integer to @writer. + Writes a signed little endian 16 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed big endian 24 bit integer to @writer. + Writes a signed big endian 24 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed little endian 24 bit integer to @writer. + Writes a signed little endian 24 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed big endian 32 bit integer to @writer. + Writes a signed big endian 32 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed little endian 32 bit integer to @writer. + Writes a signed little endian 32 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed big endian 64 bit integer to @writer. + Writes a signed big endian 64 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed little endian 64 bit integer to @writer. + Writes a signed little endian 64 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a signed 8 bit integer to @writer. + Writes a signed 8 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a NUL-terminated UTF16 string to @writer (including the terminator). + Writes a NUL-terminated UTF16 string to @writer (including the terminator). + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - UTF16 string to write + UTF16 string to write @@ -9840,18 +13371,27 @@ read @size bytes from the #GstByteWriter from the beginning. - Writes a NUL-terminated UTF32 string to @writer (including the terminator). + Writes a NUL-terminated UTF32 string to @writer (including the terminator). + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - UTF32 string to write + UTF32 string to write @@ -9860,220 +13400,327 @@ read @size bytes from the #GstByteWriter from the beginning. - Writes a NUL-terminated UTF8 string to @writer (including the terminator). + Writes a NUL-terminated UTF8 string to @writer (including the terminator). + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - UTF8 string to write + UTF8 string to write - Writes a unsigned big endian 16 bit integer to @writer. + Writes a unsigned big endian 16 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned little endian 16 bit integer to @writer. + Writes a unsigned little endian 16 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned big endian 24 bit integer to @writer. + Writes a unsigned big endian 24 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned little endian 24 bit integer to @writer. + Writes a unsigned little endian 24 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned big endian 32 bit integer to @writer. + Writes a unsigned big endian 32 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned little endian 32 bit integer to @writer. + Writes a unsigned little endian 32 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned big endian 64 bit integer to @writer. + Writes a unsigned big endian 64 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned little endian 64 bit integer to @writer. + Writes a unsigned little endian 64 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Writes a unsigned 8 bit integer to @writer. + Writes a unsigned 8 bit integer to @writer. + - %TRUE if the value could be written + %TRUE if the value could be written - #GstByteWriter instance + #GstByteWriter instance - Value to write + Value to write - Resets @writer and frees the data if it's + Resets @writer and frees the data if it's owned by @writer. + - #GstByteWriter instance + #GstByteWriter instance - Resets @writer and returns the current data as buffer. + Resets @writer and returns the current data as buffer. Free-function: gst_buffer_unref + - the current data as buffer. gst_buffer_unref() + the current data as buffer. gst_buffer_unref() after usage. - #GstByteWriter instance + #GstByteWriter instance - Resets @writer and returns the current data. + Resets @writer and returns the current data. Free-function: g_free + - the current data. g_free() after + the current data. g_free() after usage. @@ -10081,7 +13728,9 @@ usage. - #GstByteWriter instance + #GstByteWriter instance @@ -10089,37 +13738,53 @@ usage. - Creates a new, empty #GstByteWriter instance + Creates a new, empty #GstByteWriter instance Free-function: gst_byte_writer_free + - a new, empty #GstByteWriter instance + a new, empty #GstByteWriter instance - Creates a new #GstByteWriter instance with the given + 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. Free-function: gst_byte_writer_free + - a new #GstByteWriter instance + a new #GstByteWriter instance - Memory area for writing + Memory area for writing - Size of @data in bytes + Size of @data in bytes - If %TRUE the complete data can be read from the beginning + If %TRUE the complete data can be read from the beginning @@ -10127,46 +13792,255 @@ Free-function: gst_byte_writer_free - Creates a new #GstByteWriter instance with the given + Creates a new #GstByteWriter instance with the given initial data size. Free-function: gst_byte_writer_free + - a new #GstByteWriter instance + a new #GstByteWriter instance - Initial size of data + Initial size of data - If %TRUE the data can't be reallocated + If %TRUE the data can't be reallocated + + + + + + + + + + + + + + + + Returns the DTS that has been converted to running time when using +gst_collect_pads_clip_running_time(). Unlike the value saved into +the buffer, this value is of type gint64 and may be negative. This allow +properly handling streams with frame reordering where the first DTS may +be negative. If the initial DTS was not set, this value will be +set to %G_MININT64. + + + + A #GstCollectData. + + + + + Check if running DTS value store is valid. + + + + A #GstCollectData. + + + + + + + + + + + + Get the stream lock of @pads. The stream lock is used to coordinate and +serialize execution among the various streams being collected, and in +protecting the resources used to accomplish this. + + + + a #GstCollectPads + + + + + A flags word containing #GstCollectPadsStateFlags flags set +on this collected pad. + + + + a #GstCollectData. + + + + + Gives the status of a specific flag on a collected pad. + + + + a #GstCollectData. + + + the #GstCollectPadsStateFlags to check. + + + + + Sets a state flag on a collected pad. + + + + a #GstCollectData. + + + the #GstCollectPadsStateFlags to set. + + + + + Clears a state flag on a collected pad. + + + + a #GstCollectData. + + + the #GstCollectPadsStateFlags to clear. + + + + + Lock the stream lock of @pads. + + + + a #GstCollectPads + + + + + Unlock the stream lock of @pads. + + + + a #GstCollectPads + + + - Structure used by the collect_pads. + Structure used by the collect_pads. + - owner #GstCollectPads + owner #GstCollectPads - #GstPad managed by this data + #GstPad managed by this data - currently queued buffer. + currently queued buffer. - position in the buffer + position in the buffer - last segment received. + last segment received. @@ -10176,13 +14050,16 @@ Free-function: gst_byte_writer_free + + - + @@ -10190,15 +14067,20 @@ Free-function: gst_byte_writer_free - A function that will be called when the #GstCollectData will be freed. + 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 + the #GstCollectData that will be freed @@ -10206,6 +14088,7 @@ memory and resources allocated for it. + glib:type-name="GstCollectPads" glib:get-type="gst_collect_pads_get_type" glib:type-struct="CollectPadsClass"> - Manages a set of pads that operate in collect mode. This means that control + Manages a set of pads that operate in collect mode. This means that control is given to the manager of this object when all pads have data. * Collectpads are created with gst_collect_pads_new(). A callback should then @@ -10250,17 +14135,25 @@ is given to the manager of this object when all pads have data. CollectPads element is not waiting for data to be collected on non-waiting pads. Thus these pads may but need not have data when the callback is called. All pads are in waiting mode by default. + - Create a new instance of #GstCollectPads. + Create a new instance of #GstCollectPads. MT safe. + - a new #GstCollectPads, or %NULL in case of an error. + a new #GstCollectPads, or %NULL in case of an error. - Add a pad to the collection of collect pads. The pad has to be + 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. @@ -10285,40 +14178,55 @@ The pad will be automatically activated in push mode when @pads is started. MT safe. + - a new #GstCollectData to identify the + a new #GstCollectData to identify the new pad. Or %NULL if wrong parameters are supplied. - the collectpads to use + the collectpads to use - the pad to add + the pad to add - the size of the returned #GstCollectData structure + the size of the returned #GstCollectData structure - function to be called before the returned + function to be called before the returned #GstCollectData structure is freed - whether to lock this pad in usual waiting state + whether to lock this pad in usual waiting state - Query how much bytes can be read from each queued buffer. This means + 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. @@ -10326,40 +14234,54 @@ This function should be called with @pads STREAM_LOCK held, such as in the callback. MT safe. + - The maximum number of bytes queued on all pads. This function + The maximum number of bytes queued on all pads. This function returns 0 if a pad has no queued buffer. - the collectpads to query + the collectpads to query - Convenience clipping function that converts incoming buffer's timestamp + Convenience clipping function that converts incoming buffer's timestamp to running time, or clips the buffer if outside configured segment. Since 1.6, this clipping function also sets the DTS parameter of the GstCollectData structure. This version of the running time DTS can be negative. G_MININT64 is used to indicate invalid value. + - the collectpads to use + the collectpads to use - collect data of corresponding pad + collect data of corresponding pad - buffer being clipped + buffer being clipped transfer-ownership="full" optional="1" allow-none="1"> - output buffer with running time, or NULL if clipped + output buffer with running time, or NULL if clipped - user data (unused) + user data (unused) - Default #GstCollectPads event handling that elements should always + Default #GstCollectPads event handling that elements should always chain up to to ensure proper operation. Element might however indicate event should not be forwarded downstream. + - the collectpads to use + the collectpads to use - collect data of corresponding pad + collect data of corresponding pad - event being processed + event being processed - process but do not send event downstream + process but do not send event downstream - Flush @size bytes from the pad @data. + Flush @size bytes from the pad @data. This function should be called with @pads STREAM_LOCK held, such as in the callback. MT safe. + - The number of bytes flushed This can be less than @size and + The number of bytes flushed This can be less than @size and is 0 if the pad was end-of-stream. - the collectpads to query + the collectpads to query - the data to use + the data to use - the number of bytes to flush + the number of bytes to flush - Peek at the buffer currently queued in @data. This function + Peek at the buffer currently queued in @data. This function should be called with the @pads STREAM_LOCK held, such as in the callback handler. MT safe. + - The buffer in @data or %NULL if no + The buffer in @data or %NULL if no buffer is queued. should unref the buffer after usage. - the collectpads to peek + the collectpads to peek - the data to use + the data to use - Pop the buffer currently queued in @data. This function + Pop the buffer currently queued in @data. This function should be called with the @pads STREAM_LOCK held, such as in the callback handler. MT safe. + - The buffer in @data or %NULL if no + The buffer in @data or %NULL if no buffer was queued. You should unref the buffer after usage. - the collectpads to pop + the collectpads to pop - the data to use + the data to use - Default #GstCollectPads query handling that elements should always + Default #GstCollectPads query handling that elements should always chain up to to ensure proper operation. Element might however indicate query should not be forwarded downstream. + - the collectpads to use + the collectpads to use - collect data of corresponding pad + collect data of corresponding pad - query being processed + query being processed - process but do not send event downstream + process but do not send event downstream - Get a subbuffer of @size bytes from the given pad @data. + Get a subbuffer of @size bytes from the given pad @data. This function should be called with @pads STREAM_LOCK held, such as in the callback. MT safe. + - A sub buffer. The size of the buffer can + A sub buffer. The size of the buffer can be less that requested. A return of %NULL signals that the pad is end-of-stream. Unref the buffer after use. - the collectpads to query + the collectpads to query - the data to use + the data to use - the number of bytes to read + the number of bytes to read - Remove a pad from the collection of collect pads. This function will also + 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. + %TRUE if the pad could be removed. - the collectpads to use + the collectpads to use - the pad to remove + the pad to remove - Set the callback function and user data that will be called with + Set the callback function and user data that will be called with the oldest buffer when all pads have been collected, or %NULL on EOS. If a buffer is passed, the callback owns a reference and must unref it. MT safe. + - the collectpads to use + the collectpads to use - the function to set + the function to set @@ -10584,28 +14588,37 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the function + user data passed to the function - Install a clipping function that is called right after a buffer is received + Install a clipping function that is called right after a buffer is received on a pad managed by @pads. See #GstCollectPadsClipFunction for more info. + - the collectpads to use + the collectpads to use - clip function to install + clip function to install @@ -10613,29 +14626,38 @@ on a pad managed by @pads. See #GstCollectPadsClipFunction for more info. transfer-ownership="none" nullable="1" allow-none="1"> - user data to pass to @clip_func + user data to pass to @clip_func - Set the timestamp comparison function. + Set the timestamp comparison function. MT safe. + - the pads to use + the pads to use - the function to set + the function to set @@ -10643,14 +14665,18 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the function + user data passed to the function - Set the event callback function and user data that will be called when + Set the event callback function and user data that will be called when collectpads has received an event originating from one of the collected pads. If the event being processed is a serialized one, this callback is called with @pads STREAM_LOCK held, otherwise not. As this lock should be @@ -10658,19 +14684,24 @@ held when calling a number of CollectPads functions, it should be acquired if so (unusually) needed. MT safe. + - the collectpads to use + the collectpads to use - the function to set + the function to set @@ -10678,7 +14709,9 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the function + user data passed to the function @@ -10686,22 +14719,29 @@ MT safe. - Install a flush function that is called when the internal + Install a flush function that is called when the internal state of all pads should be flushed as part of flushing seek handling. See #GstCollectPadsFlushFunction for more info. + - the collectpads to use + the collectpads to use - flush function to install + flush function to install @@ -10709,35 +14749,46 @@ handling. See #GstCollectPadsFlushFunction for more info. transfer-ownership="none" nullable="1" allow-none="1"> - user data to pass to @func + user data to pass to @func - Change the flushing state of all the pads in the collection. No pad + 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. Caller must ensure that downstream streaming (thread) is not blocked, e.g. by sending a FLUSH_START downstream. MT safe. + - the collectpads to use + the collectpads to use - desired state of the pads + desired state of the pads - CollectPads provides a default collection algorithm that will determine + CollectPads provides a default collection algorithm that will determine the oldest buffer available on all of its pads, and then delegate to a configured callback. However, if circumstances are more complicated and/or more control @@ -10748,33 +14799,42 @@ gst_collect_pads_set_buffer_function() callback. If this callback is set, the former will be unset. MT safe. + - the collectpads to use + the collectpads to use - the function to set + the function to set - user data passed to the function + user data passed to the function - Set the query callback function and user data that will be called after + Set the query callback function and user data that will be called after collectpads has received a query originating from one of the collected pads. If the query being processed is a serialized one, this callback is called with @pads STREAM_LOCK held, otherwise not. As this lock should be @@ -10782,19 +14842,24 @@ held when calling a number of CollectPads functions, it should be acquired if so (unusually) needed. MT safe. + - the collectpads to use + the collectpads to use - the function to set + the function to set @@ -10802,13 +14867,17 @@ MT safe. transfer-ownership="none" nullable="1" allow-none="1"> - user data passed to the function + user data passed to the function - Sets a pad to waiting or non-waiting mode, if at least this pad + Sets a pad to waiting or non-waiting mode, if at least this pad has not been created with locked waiting state, in which case nothing happens. @@ -10816,20 +14885,27 @@ This function should be called with @pads STREAM_LOCK held, such as in the callback. MT safe. + - the collectpads + the collectpads - the data to use + the data to use - boolean indicating whether this pad should operate + boolean indicating whether this pad should operate in waiting or non-waiting mode @@ -10838,81 +14914,111 @@ MT safe. - Default #GstCollectPads event handling for the src pad of elements. + Default #GstCollectPads event handling for the src pad of elements. Elements can chain up to this to let flushing seek event handling be done by #GstCollectPads. + - the #GstCollectPads to use + the #GstCollectPads to use - src #GstPad that received the event + src #GstPad that received the event - event being processed + event being processed - Starts the processing of data in the collect_pads. + Starts the processing of data in the collect_pads. MT safe. + - the collectpads to use + the collectpads to use - Stops the processing of data in the collect_pads. this function + Stops the processing of data in the collect_pads. this function will also unblock any blocking operations. MT safe. + - the collectpads to use + the collectpads to use - Get a subbuffer of @size bytes from the given pad @data. Flushes the amount + Get a subbuffer of @size bytes from the given pad @data. Flushes the amount of read bytes. This function should be called with @pads STREAM_LOCK held, such as in the callback. MT safe. + - A sub buffer. The size of the buffer can + A sub buffer. The size of the buffer can be less that requested. A return of %NULL signals that the pad is end-of-stream. Unref the buffer after use. - the collectpads to query + the collectpads to query - the data to use + the data to use - the number of bytes to read + the number of bytes to read @@ -10921,7 +15027,9 @@ end-of-stream. Unref the buffer after use. - #GList of #GstCollectData managed + #GList of #GstCollectData managed by this #GstCollectPads. @@ -10934,31 +15042,42 @@ end-of-stream. Unref the buffer after use. - + - A function that will be called when a (considered oldest) buffer can be muxed. + A function that will be called when a (considered oldest) buffer can be muxed. If all pads have reached EOS, this function is called with %NULL @buffer and %NULL @data. + - %GST_FLOW_OK for success + %GST_FLOW_OK for success - the #GstCollectPads that triggered the callback + the #GstCollectPads that triggered the callback - the #GstCollectData of pad that has received the buffer + the #GstCollectData of pad that has received the buffer - the #GstBuffer + the #GstBuffer nullable="1" allow-none="1" closure="3"> - user data passed to gst_collect_pads_set_buffer_function() + user data passed to gst_collect_pads_set_buffer_function() @@ -10974,18 +15095,21 @@ and %NULL @data. + - + - A function that will be called when @inbuffer is received on the pad managed + A function that will be called when @inbuffer is received on the pad managed by @data in the collectpad object @pads. The function should use the segment of @data and the negotiated media type on @@ -10993,28 +15117,39 @@ the pad to perform clipping of @inbuffer. This function takes ownership of @inbuffer and should output a buffer in @outbuffer or return %NULL in @outbuffer if the buffer should be dropped. + - a #GstFlowReturn that corresponds to the result of clipping. + a #GstFlowReturn that corresponds to the result of clipping. - a #GstCollectPads + a #GstCollectPads - a #GstCollectData + a #GstCollectData - the input #GstBuffer + the input #GstBuffer - the output #GstBuffer + the output #GstBuffer - user data + user data - A function for comparing two timestamps of buffers or newsegments collected on one pad. + A function for comparing two timestamps of buffers or newsegments collected on one pad. + - Integer less than zero when first timestamp is deemed older than the second one. + Integer less than zero when first timestamp is deemed older than the second one. Zero if the timestamps are deemed equally old. Integer greater than zero when second timestamp is deemed older than the first one. - the #GstCollectPads that is comparing the timestamps + the #GstCollectPads that is comparing the timestamps - the first #GstCollectData + the first #GstCollectData - the first timestamp + the first timestamp - the second #GstCollectData + the second #GstCollectData - the second timestamp + the second timestamp - user data passed to gst_collect_pads_set_compare_function() + user data passed to gst_collect_pads_set_compare_function() - A function that will be called while processing an event. It takes + A function that will be called while processing an event. It takes ownership of the event and is responsible for chaining up (to gst_collect_pads_event_default()) or dropping events (such typical cases being handled by the default handler). + - %TRUE if the pad could handle the event + %TRUE if the pad could handle the event - the #GstCollectPads that triggered the callback + the #GstCollectPads that triggered the callback - the #GstPad that received an event + the #GstPad that received an event - the #GstEvent received + the #GstEvent received nullable="1" allow-none="1" closure="3"> - user data passed to gst_collect_pads_set_event_function() + user data passed to gst_collect_pads_set_event_function() @@ -11103,18 +15270,23 @@ being handled by the default handler). - A function that will be called while processing a flushing seek event. + A function that will be called while processing a flushing seek event. The function should flush any internal state of the element and the state of all the pads. It should clear only the state not directly managed by the @pads object. It is therefore not necessary to call gst_collect_pads_set_flushing nor gst_collect_pads_clear from this function. + - a #GstCollectPads + a #GstCollectPads - user data + user data - A function that will be called when all pads have received data. + A function that will be called when all pads have received data. + - %GST_FLOW_OK for success + %GST_FLOW_OK for success - the #GstCollectPads that triggered the callback + the #GstCollectPads that triggered the callback - user data passed to gst_collect_pads_set_function() + user data passed to gst_collect_pads_set_function() @@ -11151,27 +15334,39 @@ gst_collect_pads_set_flushing nor gst_collect_pads_clear from this function. + - A function that will be called while processing a query. It takes + A function that will be called while processing a query. It takes ownership of the query and is responsible for chaining up (to events downstream (with gst_pad_event_default()). + - %TRUE if the pad could handle the event + %TRUE if the pad could handle the event - the #GstCollectPads that triggered the callback + the #GstCollectPads that triggered the callback - the #GstPad that received an event + the #GstPad that received an event - the #GstEvent received + the #GstEvent received nullable="1" allow-none="1" closure="3"> - user data passed to gst_collect_pads_set_query_function() + user data passed to gst_collect_pads_set_query_function() + - Set if collectdata's pad is EOS. + Set if collectdata's pad is EOS. - Set if collectdata's pad is flushing. + Set if collectdata's pad is flushing. - Set if collectdata's pad received a + Set if collectdata's pad received a new_segment event. - Set if collectdata's pad must be waited + Set if collectdata's pad must be waited for when collecting. - Set collectdata's pad WAITING state must + Set collectdata's pad WAITING state must not be changed. #GstCollectPadsStateFlags indicate private state of a collectdata('s pad). + + + + + + + + + + + + + + glib:type-name="GstDataQueue" glib:get-type="gst_data_queue_get_type" glib:type-struct="DataQueueClass"> - #GstDataQueue is an object that handles threadsafe queueing of objects. It + #GstDataQueue is an object that handles threadsafe queueing of objects. It also provides size-related functionality. This object should be used for any #GstElement that wishes to provide some sort of queueing functionality. + - Creates a new #GstDataQueue. If @fullcallback or @emptycallback are supplied, then + Creates a new #GstDataQueue. If @fullcallback or @emptycallback are supplied, then the #GstDataQueue will call the respective callback to signal full or empty condition. If the callbacks are NULL the #GstDataQueue will instead emit 'full' and 'empty' signals. + - a new #GstDataQueue. + a new #GstDataQueue. - the callback used to tell if the element considers the queue full + 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 full. - the callback which will be called when the queue is considered empty. + the callback which will be called when the queue is considered empty. @@ -11258,13 +15498,16 @@ or not. transfer-ownership="none" nullable="1" allow-none="1"> - a #gpointer that will be passed to the @checkfull, @fullcallback, + a #gpointer that will be passed to the @checkfull, @fullcallback, and @emptycallback callbacks. + @@ -11275,6 +15518,7 @@ or not. + @@ -11288,18 +15532,27 @@ or not. c:identifier="gst_data_queue_drop_head" version="1.2" introspectable="0"> - Pop and unref the head-most #GstMiniObject with the given #GType. + Pop and unref the head-most #GstMiniObject with the given #GType. + - %TRUE if an element was removed. + %TRUE if an element was removed. - The #GstDataQueue to drop an item from. + The #GstDataQueue to drop an item from. - The #GType of the item to drop. + The #GType of the item to drop. @@ -11308,15 +15561,20 @@ or not. c:identifier="gst_data_queue_flush" version="1.2" introspectable="0"> - Flushes all the contents of the @queue. Any call to #gst_data_queue_push and + Flushes all the contents of the @queue. Any call to #gst_data_queue_push and #gst_data_queue_pop will be released. MT safe. + - a #GstDataQueue. + a #GstDataQueue. @@ -11325,20 +15583,27 @@ MT safe. c:identifier="gst_data_queue_get_level" version="1.2" introspectable="0"> - Get the current level of the queue. + Get the current level of the queue. + - The #GstDataQueue + The #GstDataQueue - the location to store the result + the location to store the result @@ -11347,15 +15612,22 @@ MT safe. c:identifier="gst_data_queue_is_empty" version="1.2" introspectable="0"> - Queries if there are any items in the @queue. + Queries if there are any items in the @queue. MT safe. + - %TRUE if @queue is empty. + %TRUE if @queue is empty. - a #GstDataQueue. + a #GstDataQueue. @@ -11364,16 +15636,23 @@ MT safe. c:identifier="gst_data_queue_is_full" version="1.2" introspectable="0"> - Queries if @queue is full. This check will be done using the + Queries if @queue is full. This check will be done using the #GstDataQueueCheckFullFunction registered with @queue. MT safe. + - %TRUE if @queue is full. + %TRUE if @queue is full. - a #GstDataQueue. + a #GstDataQueue. @@ -11382,14 +15661,19 @@ MT safe. c:identifier="gst_data_queue_limits_changed" version="1.2" introspectable="0"> - Inform the queue that the limits for the fullness check have changed and that + 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 limits. + - The #GstDataQueue + The #GstDataQueue @@ -11398,24 +15682,33 @@ any blocking gst_data_queue_push() should be unblocked to recheck the limits. - Retrieves the first @item available on the @queue without removing it. + Retrieves the first @item available on the @queue without removing it. If the queue is currently empty, the call will block until at least one item is available, OR the @queue is set to the flushing state. MT safe. + - %TRUE if an @item was successfully retrieved from the @queue. + %TRUE if an @item was successfully retrieved from the @queue. - a #GstDataQueue. + a #GstDataQueue. - pointer to store the returned #GstDataQueueItem. + pointer to store the returned #GstDataQueueItem. @@ -11424,24 +15717,33 @@ MT safe. c:identifier="gst_data_queue_pop" version="1.2" introspectable="0"> - Retrieves the first @item available on the @queue. If the queue is currently + 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 @queue is set to the flushing state. MT safe. + - %TRUE if an @item was successfully retrieved from the @queue. + %TRUE if an @item was successfully retrieved from the @queue. - a #GstDataQueue. + a #GstDataQueue. - pointer to store the returned #GstDataQueueItem. + pointer to store the returned #GstDataQueueItem. @@ -11450,7 +15752,9 @@ MT safe. c:identifier="gst_data_queue_push" version="1.2" introspectable="0"> - Pushes a #GstDataQueueItem (or a structure that begins with the same fields) + 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. @@ -11459,17 +15763,24 @@ Note that this function has slightly different semantics than gst_pad_push() and gst_pad_push_event(): this function only takes ownership of @item and 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. + %TRUE if the @item was successfully pushed on the @queue. - a #GstDataQueue. + a #GstDataQueue. - a #GstDataQueueItem. + a #GstDataQueueItem. @@ -11478,7 +15789,9 @@ is returned, the caller is responsible for freeing @item and its contents. c:identifier="gst_data_queue_push_force" version="1.2" introspectable="0"> - Pushes a #GstDataQueueItem (or a structure that begins with the same fields) + Pushes a #GstDataQueueItem (or a structure that begins with the same fields) on the @queue. It ignores if the @queue is full or not and forces the @item to be pushed anyway. MT safe. @@ -11487,17 +15800,24 @@ Note that this function has slightly different semantics than gst_pad_push() and gst_pad_push_event(): this function only takes ownership of @item and 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. + %TRUE if the @item was successfully pushed on the @queue. - a #GstDataQueue. + a #GstDataQueue. - a #GstDataQueueItem. + a #GstDataQueueItem. @@ -11506,23 +15826,30 @@ is returned, the caller is responsible for freeing @item and its contents. c:identifier="gst_data_queue_set_flushing" version="1.2" introspectable="0"> - Sets the queue to flushing state if @flushing is %TRUE. If set to flushing + 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 #GstDataQueue. + a #GstDataQueue. - a #gboolean stating if the queue will be flushing or not. + a #gboolean stating if the queue will be flushing or not. @@ -11537,19 +15864,23 @@ MT Safe. - the parent structure + the parent structure - + - Reports that the queue became empty (empty). + 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. @@ -11558,7 +15889,9 @@ properties. - Reports that the queue became full (full). + 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. @@ -11570,34 +15903,49 @@ properties. - The prototype of the function used to inform the queue that it should be + 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. + %TRUE if the queue should be considered full. - a #GstDataQueue. + a #GstDataQueue. - The number of visible items currently in the queue. + The number of visible items currently in the queue. - The amount of bytes currently in the queue. + The amount of bytes currently in the queue. - The accumulated duration of the items currently in the queue. + The accumulated duration of the items currently in the queue. - The #gpointer registered when the #GstDataQueue was created. + The #gpointer registered when the #GstDataQueue was created. @@ -11605,11 +15953,13 @@ considered as full. + + @@ -11622,6 +15972,7 @@ considered as full. + @@ -11633,12 +15984,13 @@ considered as full. - + + @@ -11655,6 +16007,7 @@ considered as full. + @@ -11671,51 +16024,74 @@ considered as full. - Structure used by #GstDataQueue. You can supply a different structure, as + Structure used by #GstDataQueue. You can supply a different structure, as long as the top of the structure is identical to this structure. + - the #GstMiniObject to queue. + the #GstMiniObject to queue. - the size in bytes of the miniobject. + the size in bytes of the miniobject. - the duration in #GstClockTime of the miniobject. Can not be + the duration in #GstClockTime of the miniobject. Can not be %GST_CLOCK_TIME_NONE. - %TRUE if @object should be considered as a visible object. + %TRUE if @object should be considered as a visible object. - The #GDestroyNotify function to use to free the #GstDataQueueItem. + The #GDestroyNotify function to use to free the #GstDataQueueItem. This function should also drop the reference to @object the owner of the #GstDataQueueItem is assumed to hold. - + + - Structure describing the size of a queue. + Structure describing the size of a queue. + - number of buffers + number of buffers - number of bytes + number of bytes - amount of time + amount of time @@ -11725,7 +16101,9 @@ This function should also drop the reference to @object the owner of the glib:type-name="GstFlowCombiner" glib:get-type="gst_flow_combiner_get_type" c:symbol-prefix="flow_combiner"> - Utility struct to help handling #GstFlowReturn combination. Useful for + Utility struct to help handling #GstFlowReturn combination. Useful for #GstElement<!-- -->s that have multiple source pads and need to combine the different #GstFlowReturn for those pads. @@ -11756,29 +16134,42 @@ These rules are: %GST_FLOW_ERROR or below, GST_FLOW_NOT_NEGOTIATED and GST_FLOW_FLUSHING are returned immediately from the gst_flow_combiner_update_flow() function. + - Creates a new #GstFlowCombiner, use gst_flow_combiner_free() to free it. + Creates a new #GstFlowCombiner, use gst_flow_combiner_free() to free it. + - A new #GstFlowCombiner + A new #GstFlowCombiner - Adds a new #GstPad to the #GstFlowCombiner. + Adds a new #GstPad to the #GstFlowCombiner. + - the #GstFlowCombiner + the #GstFlowCombiner - the #GstPad that is being added + the #GstPad that is being added @@ -11786,38 +16177,55 @@ returned immediately from the gst_flow_combiner_update_flow() function. - Removes all pads from a #GstFlowCombiner and resets it to its initial state. + Removes all pads from a #GstFlowCombiner and resets it to its initial state. + - the #GstFlowCombiner to clear + the #GstFlowCombiner to clear - Frees a #GstFlowCombiner struct and all its internal data. + Frees a #GstFlowCombiner struct and all its internal data. + - the #GstFlowCombiner to free + the #GstFlowCombiner to free - Increments the reference count on the #GstFlowCombiner. + Increments the reference count on the #GstFlowCombiner. + - the #GstFlowCombiner. + the #GstFlowCombiner. - the #GstFlowCombiner to add a reference to. + the #GstFlowCombiner to add a reference to. @@ -11825,17 +16233,24 @@ returned immediately from the gst_flow_combiner_update_flow() function. - Removes a #GstPad from the #GstFlowCombiner. + Removes a #GstPad from the #GstFlowCombiner. + - the #GstFlowCombiner + the #GstFlowCombiner - the #GstPad to remove + the #GstPad to remove @@ -11843,13 +16258,18 @@ returned immediately from the gst_flow_combiner_update_flow() function. - Reset flow combiner and all pads to their initial state without removing pads. + Reset flow combiner and all pads to their initial state without removing pads. + - the #GstFlowCombiner to clear + the #GstFlowCombiner to clear @@ -11857,13 +16277,18 @@ returned immediately from the gst_flow_combiner_update_flow() function. - Decrements the reference count on the #GstFlowCombiner. + Decrements the reference count on the #GstFlowCombiner. + - the #GstFlowCombiner to unreference. + the #GstFlowCombiner to unreference. @@ -11871,23 +16296,32 @@ returned immediately from the gst_flow_combiner_update_flow() function. - Computes the combined flow return for the pads in it. + Computes the combined flow return for the pads in it. The #GstFlowReturn parameter should be the last flow return update for a pad in this #GstFlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained #GstFlowReturn. + - The combined #GstFlowReturn + The combined #GstFlowReturn - the #GstFlowCombiner + the #GstFlowCombiner - the latest #GstFlowReturn received for a pad in this #GstFlowCombiner + the latest #GstFlowReturn received for a pad in this #GstFlowCombiner @@ -11895,33 +16329,251 @@ return is the same as the latest obtained #GstFlowReturn. - Sets the provided pad's last flow return to provided value and computes + Sets the provided pad's last flow return to provided value and computes the combined flow return for the pads in it. The #GstFlowReturn parameter should be the last flow return update for a pad in this #GstFlowCombiner. It will use this value to be able to shortcut some combinations and avoid looking over all pads again. e.g. The last combined return is the same as the latest obtained #GstFlowReturn. + - The combined #GstFlowReturn + The combined #GstFlowReturn - the #GstFlowCombiner + the #GstFlowCombiner - the #GstPad whose #GstFlowReturn to update + the #GstPad whose #GstFlowReturn to update - the latest #GstFlowReturn received for a pad in this #GstFlowCombiner + the latest #GstFlowReturn received for a pad in this #GstFlowCombiner + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstPushSrc" glib:get-type="gst_push_src_get_type" glib:type-struct="PushSrcClass"> - This class is mostly useful for elements that cannot do + This class is mostly useful for elements that cannot do random access, or at least very slowly. The source usually prefers to push out a fixed size buffer. @@ -11948,7 +16602,9 @@ addition to the ::create method. Seeking, flushing, scheduling and sync is all handled by this base class. + + @@ -11962,6 +16618,7 @@ base class. + @@ -11975,6 +16632,7 @@ base class. + @@ -11991,7 +16649,7 @@ base class. - + @@ -11999,15 +16657,21 @@ base class. - Subclasses can override any of the available virtual methods or not, as + Subclasses can override any of the available virtual methods or not, as needed. At the minimum, the @fill method should be overridden to produce buffers. + - Element parent class + Element parent class + @@ -12023,6 +16687,7 @@ buffers. + @@ -12038,6 +16703,7 @@ buffers. + @@ -12052,7 +16718,7 @@ buffers. - + @@ -12061,20 +16727,28 @@ buffers. c:type="GstQueueArray" disguised="1" introspectable="0"> - #GstQueueArray is an object that provides standard queue functionality + #GstQueueArray is an object that provides standard queue functionality based on an array instead of linked lists. This reduces the overhead caused by memory management by a large factor. + - Clears queue @array and frees all memory associated to it. + Clears queue @array and frees all memory associated to it. + - a #GstQueueArray object + a #GstQueueArray object @@ -12083,18 +16757,27 @@ caused by memory management by a large factor. c:identifier="gst_queue_array_drop_element" version="1.2" introspectable="0"> - Drops the queue element at position @idx from queue @array. + Drops the queue element at position @idx from queue @array. + - the dropped element + the dropped element - a #GstQueueArray object + a #GstQueueArray object - index to drop + index to drop @@ -12103,27 +16786,38 @@ caused by memory management by a large factor. c:identifier="gst_queue_array_drop_struct" version="1.6" introspectable="0"> - Drops the queue element at position @idx from queue @array and copies the + Drops the queue element at position @idx from queue @array and copies the data of the element or structure that was removed into @p_struct if @p_struct is set (not NULL). + - TRUE on success, or FALSE on error + TRUE on success, or FALSE on error - a #GstQueueArray object + a #GstQueueArray object - index to drop + index to drop - address into which to store the data of the dropped structure, or NULL + address into which to store the data of the dropped structure, or NULL @@ -12132,16 +16826,23 @@ data of the element or structure that was removed into @p_struct if c:identifier="gst_queue_array_find" version="1.2" introspectable="0"> - Finds an element in the queue @array, either by comparing every element + Finds an element in the queue @array, either by comparing every element with @func or by looking up @data if no compare function @func is provided, and returning the index of the found element. + - Index of the found element or -1 if nothing was found. + Index of the found element or -1 if nothing was found. - a #GstQueueArray object + a #GstQueueArray object nullable="1" allow-none="1" closure="1"> - comparison function, or %NULL to find @data by value + comparison function, or %NULL to find @data by value - data for comparison function + data for comparison function @@ -12165,13 +16870,18 @@ and returning the index of the found element. c:identifier="gst_queue_array_free" version="1.2" introspectable="0"> - Frees queue @array and all memory associated to it. + Frees queue @array and all memory associated to it. + - a #GstQueueArray object + a #GstQueueArray object @@ -12180,14 +16890,21 @@ and returning the index of the found element. c:identifier="gst_queue_array_get_length" version="1.2" introspectable="0"> - Returns the length of the queue @array + Returns the length of the queue @array + - the length of the queue @array. + the length of the queue @array. - a #GstQueueArray object + a #GstQueueArray object @@ -12196,14 +16913,21 @@ and returning the index of the found element. c:identifier="gst_queue_array_is_empty" version="1.2" introspectable="0"> - Checks if the queue @array is empty. + Checks if the queue @array is empty. + - %TRUE if the queue @array is empty + %TRUE if the queue @array is empty - a #GstQueueArray object + a #GstQueueArray object @@ -12212,15 +16936,22 @@ and returning the index of the found element. c:identifier="gst_queue_array_peek_head" version="1.2" introspectable="0"> - Returns the head of the queue @array and does not + Returns the head of the queue @array and does not remove it from the queue. + - The head of the queue + The head of the queue - a #GstQueueArray object + a #GstQueueArray object @@ -12229,16 +16960,23 @@ remove it from the queue. c:identifier="gst_queue_array_peek_head_struct" version="1.6" introspectable="0"> - Returns the head of the queue @array without removing it from the queue. + Returns the head of the queue @array without removing it from the queue. + - pointer to element or struct, or NULL if @array was empty. The + pointer to element or struct, or NULL if @array was empty. The data pointed to by the returned pointer stays valid only as long as the queue array is not modified further! - a #GstQueueArray object + a #GstQueueArray object @@ -12247,9 +16985,14 @@ remove it from the queue. c:identifier="gst_queue_array_peek_nth" version="1.16" introspectable="0"> - Returns the item at @idx in @array, but does not remove it from the queue. + Returns the item at @idx in @array, but does not remove it from the queue. + - The item, or %NULL if @idx was out of bounds + The item, or %NULL if @idx was out of bounds @@ -12265,9 +17008,14 @@ remove it from the queue. c:identifier="gst_queue_array_peek_nth_struct" version="1.16" introspectable="0"> - Returns the item at @idx in @array, but does not remove it from the queue. + Returns the item at @idx in @array, but does not remove it from the queue. + - The item, or %NULL if @idx was out of bounds + The item, or %NULL if @idx was out of bounds @@ -12283,14 +17031,21 @@ remove it from the queue. c:identifier="gst_queue_array_peek_tail" version="1.14" introspectable="0"> - Returns the tail of the queue @array, but does not remove it from the queue. + Returns the tail of the queue @array, but does not remove it from the queue. + - The tail of the queue + The tail of the queue - a #GstQueueArray object + a #GstQueueArray object @@ -12299,14 +17054,21 @@ remove it from the queue. c:identifier="gst_queue_array_peek_tail_struct" version="1.14" introspectable="0"> - Returns the tail of the queue @array, but does not remove it from the queue. + Returns the tail of the queue @array, but does not remove it from the queue. + - The tail of the queue + The tail of the queue - a #GstQueueArray object + a #GstQueueArray object @@ -12315,15 +17077,22 @@ remove it from the queue. c:identifier="gst_queue_array_pop_head" version="1.2" introspectable="0"> - Returns and head of the queue @array and removes + Returns and head of the queue @array and removes it from the queue. + - The head of the queue + The head of the queue - a #GstQueueArray object + a #GstQueueArray object @@ -12332,16 +17101,23 @@ it from the queue. c:identifier="gst_queue_array_pop_head_struct" version="1.6" introspectable="0"> - Returns the head of the queue @array and removes it from the queue. + Returns the head of the queue @array and removes it from the queue. + - pointer to element or struct, or NULL if @array was empty. The + pointer to element or struct, or NULL if @array was empty. The data pointed to by the returned pointer stays valid only as long as the queue array is not modified further! - a #GstQueueArray object + a #GstQueueArray object @@ -12350,15 +17126,22 @@ it from the queue. c:identifier="gst_queue_array_pop_tail" version="1.14" introspectable="0"> - Returns the tail of the queue @array and removes + Returns the tail of the queue @array and removes it from the queue. + - The tail of the queue + The tail of the queue - a #GstQueueArray object + a #GstQueueArray object @@ -12367,15 +17150,22 @@ it from the queue. c:identifier="gst_queue_array_pop_tail_struct" version="1.14" introspectable="0"> - Returns the tail of the queue @array and removes + Returns the tail of the queue @array and removes it from the queue. + - The tail of the queue + The tail of the queue - a #GstQueueArray object + a #GstQueueArray object @@ -12384,26 +17174,34 @@ it from the queue. c:identifier="gst_queue_array_push_tail" version="1.2" introspectable="0"> - Pushes @data to the tail of the queue @array. + Pushes @data to the tail of the queue @array. + - a #GstQueueArray object + a #GstQueueArray object - object to push + object to push + @@ -12423,7 +17221,9 @@ it from the queue. c:identifier="gst_queue_array_set_clear_func" version="1.16" introspectable="0"> - Sets a function to clear an element of @array. + Sets a function to clear an element of @array. The @clear_func will be called when an element in the array data segment is removed and when the array is freed and data @@ -12433,16 +17233,21 @@ pointer to the element to clear, rather than the element itself. Note that in contrast with other uses of #GDestroyNotify functions, @clear_func is expected to clear the contents of the array element it is given, but not free the element itself. + - a #GstQueueArray object + a #GstQueueArray object - a function to clear an element of @array + a function to clear an element of @array @@ -12451,15 +17256,22 @@ the array element it is given, but not free the element itself. c:identifier="gst_queue_array_new" version="1.2" introspectable="0"> - Allocates a new #GstQueueArray object with an initial + Allocates a new #GstQueueArray object with an initial queue size of @initial_size. + - a new #GstQueueArray object + a new #GstQueueArray object - Initial size of the new queue + Initial size of the new queue @@ -12468,19 +17280,28 @@ queue size of @initial_size. c:identifier="gst_queue_array_new_for_struct" version="1.6" introspectable="0"> - Allocates a new #GstQueueArray object for elements (e.g. structures) + Allocates a new #GstQueueArray object for elements (e.g. structures) of size @struct_size, with an initial queue size of @initial_size. + - a new #GstQueueArray object + a new #GstQueueArray object - Size of each element (e.g. structure) in the array + Size of each element (e.g. structure) in the array - Initial size of the new queue + Initial size of the new queue @@ -12488,42 +17309,57 @@ of size @struct_size, with an initial queue size of @initial_size. - This function will be called by gst_type_find_helper_get_range() when + 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 + GST_FLOW_OK for success - a #GstObject that will handle the getrange request + a #GstObject that will handle the getrange request - the parent of @obj or %NULL + the parent of @obj or %NULL - the offset of the range + the offset of the range - the length of the range + the length of the range - a memory location to hold the result buffer + a memory location to hold the result buffer @@ -12532,23 +17368,32 @@ This function is supposed to behave exactly like a #GstPadGetRangeFunction. - Create a new #GstBitReader instance, which will read from @data. + Create a new #GstBitReader instance, which will read from @data. Free-function: gst_bit_reader_free + - a new #GstBitReader instance + a new #GstBitReader instance - Data from which the #GstBitReader + Data from which the #GstBitReader should read - Size of @data in bytes + Size of @data in bytes @@ -12557,11 +17402,16 @@ Free-function: gst_bit_reader_free c:identifier="gst_bit_writer_new" moved-to="BitWriter.new" introspectable="0"> - Creates a new, empty #GstBitWriter instance. + Creates a new, empty #GstBitWriter instance. Free-function: gst_bit_writer_free + - a new, empty #GstByteWriter instance + a new, empty #GstByteWriter instance @@ -12569,26 +17419,37 @@ Free-function: gst_bit_writer_free c:identifier="gst_bit_writer_new_with_data" moved-to="BitWriter.new_with_data" introspectable="0"> - Creates a new #GstBitWriter instance with the given memory area. If + Creates a new #GstBitWriter instance with the given memory area. If @initialized is %TRUE it is possible to read @size bits from the -#GstBitWriter from the beginnig. +#GstBitWriter from the beginning. Free-function: gst_bit_writer_free + - a new #GstBitWriter instance + a new #GstBitWriter instance - Memory area for writing + Memory area for writing - Size of @data in bytes + Size of @data in bytes - if %TRUE the complete data can be read from the beginning + if %TRUE the complete data can be read from the beginning @@ -12597,58 +17458,150 @@ Free-function: gst_bit_writer_free c:identifier="gst_bit_writer_new_with_size" moved-to="BitWriter.new_with_size" introspectable="0"> - Creates a #GstBitWriter instance with the given initial data size. + Creates a #GstBitWriter instance with the given initial data size. Free-function: gst_bit_writer_free + - a new #GstBitWriter instance + a new #GstBitWriter instance - Initial size of data in bytes + Initial size of data in bytes - If %TRUE the data can't be reallocated + If %TRUE the data can't be reallocated + + + + + + + + + + + + + + + + + + - Create a new #GstByteReader instance, which will read from @data. + Create a new #GstByteReader instance, which will read from @data. Free-function: gst_byte_reader_free + - a new #GstByteReader instance + a new #GstByteReader instance - data from which the + data from which the #GstByteReader should read - Size of @data in bytes + Size of @data in bytes + + 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. + +This function will fail if no NUL-terminator was found in in the data. + + + + a #GstByteReader instance + + + address of a + #gchar pointer variable in which to store the result + + + + + 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. + +This function will fail if no NUL-terminator was found in in the data. + + + + a #GstByteReader instance + + + - Creates a new, empty #GstByteWriter instance + Creates a new, empty #GstByteWriter instance Free-function: gst_byte_writer_free + - a new, empty #GstByteWriter instance + a new, empty #GstByteWriter instance @@ -12656,26 +17609,37 @@ Free-function: gst_byte_writer_free c:identifier="gst_byte_writer_new_with_data" moved-to="ByteWriter.new_with_data" introspectable="0"> - Creates a new #GstByteWriter instance with the given + 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. Free-function: gst_byte_writer_free + - a new #GstByteWriter instance + a new #GstByteWriter instance - Memory area for writing + Memory area for writing - Size of @data in bytes + Size of @data in bytes - If %TRUE the complete data can be read from the beginning + If %TRUE the complete data can be read from the beginning @@ -12684,39 +17648,77 @@ Free-function: gst_byte_writer_free c:identifier="gst_byte_writer_new_with_size" moved-to="ByteWriter.new_with_size" introspectable="0"> - Creates a new #GstByteWriter instance with the given + Creates a new #GstByteWriter instance with the given initial data size. Free-function: gst_byte_writer_free + - a new #GstByteWriter instance + a new #GstByteWriter instance - Initial size of data + Initial size of data - If %TRUE the data can't be reallocated + If %TRUE the data can't be reallocated + + Write a NUL-terminated string to @writer (including the terminator). The +string is assumed to be in an 8-bit encoding (e.g. ASCII,UTF-8 or +ISO-8859-1). + + + + #GstByteWriter instance + + + Null terminated string + + + - Allocates a new #GstQueueArray object with an initial + Allocates a new #GstQueueArray object with an initial queue size of @initial_size. + - a new #GstQueueArray object + a new #GstQueueArray object - Initial size of the new queue + Initial size of the new queue @@ -12726,46 +17728,66 @@ queue size of @initial_size. moved-to="QueueArray.new_for_struct" version="1.6" introspectable="0"> - Allocates a new #GstQueueArray object for elements (e.g. structures) + Allocates a new #GstQueueArray object for elements (e.g. structures) of size @struct_size, with an initial queue size of @initial_size. + - a new #GstQueueArray object + a new #GstQueueArray object - Size of each element (e.g. structure) in the array + Size of each element (e.g. structure) in the array - Initial size of the new queue + Initial size of the new queue - Tries to find what type of data is flowing from the given source #GstPad. + Tries to find what type of data is flowing from the given source #GstPad. Free-function: gst_caps_unref + - the #GstCaps corresponding to the data + the #GstCaps corresponding to the data stream. Returns %NULL if no #GstCaps matches the data stream. - A source #GstPad + A source #GstPad - The length in bytes + The length in bytes - Tries to find what type of data is contained in the given #GstBuffer, the + 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. @@ -12777,8 +17799,11 @@ and the caps with the highest probability will be returned, or %NULL if the content of the buffer could not be identified. Free-function: gst_caps_unref + - the #GstCaps corresponding to the data, + the #GstCaps corresponding to the data, or %NULL if no type could be found. The caller should free the caps returned with gst_caps_unref(). @@ -12788,11 +17813,15 @@ Free-function: gst_caps_unref transfer-ownership="none" nullable="1" allow-none="1"> - object doing the typefinding, or %NULL (used for logging) + object doing the typefinding, or %NULL (used for logging) - a #GstBuffer with data to typefind + a #GstBuffer with data to typefind transfer-ownership="full" optional="1" allow-none="1"> - location to store the probability of the found + location to store the probability of the found caps, or %NULL @@ -12811,7 +17842,9 @@ Free-function: gst_caps_unref - Tries to find what type of data is contained in the given #GstBuffer, the + 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. @@ -12827,8 +17860,11 @@ functions for the given extension, which might speed up the typefinding in many cases. Free-function: gst_caps_unref + - the #GstCaps corresponding to the data, + the #GstCaps corresponding to the data, or %NULL if no type could be found. The caller should free the caps returned with gst_caps_unref(). @@ -12838,18 +17874,24 @@ Free-function: gst_caps_unref transfer-ownership="none" nullable="1" allow-none="1"> - object doing the typefinding, or %NULL (used for logging) + object doing the typefinding, or %NULL (used for logging) - a #GstBuffer with data to typefind + a #GstBuffer with data to typefind - extension of the media, or %NULL + extension of the media, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - location to store the probability of the found + location to store the probability of the found caps, or %NULL @@ -12867,7 +17911,9 @@ Free-function: gst_caps_unref - Tries to find what type of data is contained in the given @data, the + Tries to find what type of data is contained in the given @data, the assumption being that the data represents the beginning of the stream or file. @@ -12879,8 +17925,11 @@ and the caps with the highest probability will be returned, or %NULL if the content of @data could not be identified. Free-function: gst_caps_unref + - the #GstCaps corresponding to the data, + the #GstCaps corresponding to the data, or %NULL if no type could be found. The caller should free the caps returned with gst_caps_unref(). @@ -12890,17 +17939,23 @@ Free-function: gst_caps_unref transfer-ownership="none" nullable="1" allow-none="1"> - object doing the typefinding, or %NULL (used for logging) + object doing the typefinding, or %NULL (used for logging) - * a pointer with data to typefind + * a pointer with data to typefind - the size of @data + the size of @data transfer-ownership="full" optional="1" allow-none="1"> - location to store the probability of the found + location to store the probability of the found caps, or %NULL @@ -12919,7 +17976,9 @@ Free-function: gst_caps_unref - Tries to find what type of data is contained in the given @data, the + Tries to find what type of data is contained in the given @data, the assumption being that the data represents the beginning of the stream or file. @@ -12935,8 +17994,11 @@ functions for the given extension, which might speed up the typefinding in many cases. Free-function: gst_caps_unref + - the #GstCaps corresponding to the data, + the #GstCaps corresponding to the data, or %NULL if no type could be found. The caller should free the caps returned with gst_caps_unref(). @@ -12946,24 +18008,32 @@ Free-function: gst_caps_unref transfer-ownership="none" nullable="1" allow-none="1"> - object doing the typefinding, or %NULL (used for logging) + object doing the typefinding, or %NULL (used for logging) - * a pointer with data to typefind + * a pointer with data to typefind - the size of @data + the size of @data - extension of the media, or %NULL + extension of the media, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - location to store the probability of the found + location to store the probability of the found caps, or %NULL @@ -12981,15 +18053,20 @@ Free-function: gst_caps_unref - Tries to find the best #GstCaps associated with @extension. + 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. Free-function: gst_caps_unref + - the #GstCaps corresponding to + the #GstCaps corresponding to @extension, or %NULL if no type could be found. The caller should free the caps returned with gst_caps_unref(). @@ -12999,18 +18076,24 @@ Free-function: gst_caps_unref transfer-ownership="none" nullable="1" allow-none="1"> - object doing the typefinding, or %NULL (used for logging) + object doing the typefinding, or %NULL (used for logging) - an extension + an extension - Utility function to do pull-based typefinding. Unlike gst_type_find_helper() + 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 @@ -13024,38 +18107,51 @@ functions for the given extension, which might speed up the typefinding in many cases. Free-function: gst_caps_unref + - the #GstCaps corresponding to the data + the #GstCaps corresponding to the data stream. Returns %NULL if no #GstCaps matches the data stream. - A #GstObject that will be passed as first argument to @func + A #GstObject that will be passed as first argument to @func - the parent of @obj or %NULL + the parent of @obj or %NULL - A generic #GstTypeFindHelperGetRangeFunction that will + A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding - The length in bytes + The length in bytes - extension of the media, or %NULL + extension of the media, or %NULL transfer-ownership="full" optional="1" allow-none="1"> - location to store the probability of the found + location to store the probability of the found caps, or %NULL @@ -13074,7 +18172,9 @@ Free-function: gst_caps_unref - Utility function to do pull-based typefinding. Unlike gst_type_find_helper() + 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 @@ -13086,45 +18186,60 @@ 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. + - the last %GstFlowReturn from pulling a buffer or %GST_FLOW_OK if + the last %GstFlowReturn from pulling a buffer or %GST_FLOW_OK if typefinding was successful. - A #GstObject that will be passed as first argument to @func + A #GstObject that will be passed as first argument to @func - the parent of @obj or %NULL + the parent of @obj or %NULL - A generic #GstTypeFindHelperGetRangeFunction that will + A generic #GstTypeFindHelperGetRangeFunction that will be used to access data at random offsets when doing the typefinding - The length in bytes + The length in bytes - extension of the media, or %NULL + extension of the media, or %NULL - returned caps + returned caps transfer-ownership="full" optional="1" allow-none="1"> - location to store the probability of the found + location to store the probability of the found caps, or %NULL diff --git a/girs/GstController-1.0.gir b/girs/GstController-1.0.gir index 620bc1f97a..6e1c0c8528 100644 --- a/girs/GstController-1.0.gir +++ b/girs/GstController-1.0.gir @@ -24,39 +24,61 @@ and/or use gtk-doc annotations. --> glib:type-name="GstARGBControlBinding" glib:get-type="gst_argb_control_binding_get_type" glib:type-struct="ARGBControlBindingClass"> - A value mapping object that attaches multiple control sources to a guint + A value mapping object that attaches multiple control sources to a guint gobject properties representing a color. A control value of 0.0 will turn the color component off and a value of 1.0 will be the color level. + - Create a new control-binding that attaches the given #GstControlSource to the + Create a new control-binding that attaches the given #GstControlSource to the #GObject property. + - the new #GstARGBControlBinding + the new #GstARGBControlBinding - the object of the property + the object of the property - the property-name to attach the control source + the property-name to attach the control source - the control source for the alpha channel + the control source for the alpha channel - the control source for the red channel + the control source for the red channel - the control source for the green channel + the control source for the green channel - the control source for the blue channel + the control source for the blue channel @@ -107,7 +129,7 @@ color component off and a value of 1.0 will be the color level. - + @@ -115,35 +137,83 @@ color component off and a value of 1.0 will be the color level. - The class structure of #GstARGBControlBinding. + The class structure of #GstARGBControlBinding. + - Parent class + Parent class - + + + + + + + + + + + + + + + + + + + + + + - An internal structure for value+time and various temporary + An internal structure for value+time and various temporary values used for interpolation. This "inherits" from GstTimedValue. + - timestamp of the value change + timestamp of the value change - the new value + the new value + + @@ -152,6 +222,8 @@ GstTimedValue. + @@ -163,34 +235,81 @@ GstTimedValue. - + + Copies a #GstControlPoint + + A copy of @cp + The control point to copy - Frees all data allocated by a #GstControlPoint instance. + Frees all data allocated by a #GstControlPoint instance. + - the object to free + the object to free + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstDirectControlBinding" glib:get-type="gst_direct_control_binding_get_type" glib:type-struct="DirectControlBindingClass"> - A value mapping object that attaches control sources to gobject properties. It + A value mapping object that attaches control sources to gobject properties. It will map the control values directly to the target property range. If a non-absolute direct control binding is used, the value range [0.0 ... 1.0] is mapped to full target property range, and all values outside the range will be clipped. An absolute control binding will not do any value transformations. + - Create a new control-binding that attaches the #GstControlSource to the + Create a new control-binding that attaches the #GstControlSource to the #GObject property. It will map the control source range [0.0 ... 1.0] to the full target property range, and clip all values outside this range. + - the new #GstDirectControlBinding + the new #GstDirectControlBinding - the object of the property + the object of the property - the property-name to attach the control source + the property-name to attach the control source - the control source + the control source @@ -230,24 +365,36 @@ the full target property range, and clip all values outside this range. - Create a new control-binding that attaches the #GstControlSource to the + Create a new control-binding that attaches the #GstControlSource to the #GObject property. It will directly map the control source values to the target property range without any transformations. + - the new #GstDirectControlBinding + the new #GstDirectControlBinding - the object of the property + the object of the property - the property-name to attach the control source + the property-name to attach the control source - the control source + the control source @@ -288,12 +435,16 @@ target property range without any transformations. c:type="GstDirectControlBindingConvertGValue"/> + - + + @@ -303,62 +454,258 @@ target property range without any transformations. - The class structure of #GstDirectControlBinding. + The class structure of #GstDirectControlBinding. + - Parent class + Parent class - + - Function to map a control-value to the target GValue. + Function to map a control-value to the target GValue. + - the #GstDirectControlBinding instance + the #GstDirectControlBinding instance - the value returned by the cotnrol source + the value returned by the cotnrol source - the target GValue + the target GValue - Function to map a control-value to the target plain data type. + Function to map a control-value to the target plain data type. + - the #GstDirectControlBinding instance + the #GstDirectControlBinding instance - the value returned by the cotnrol source + the value returned by the cotnrol source - the target location + the target location + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstInterpolationControlSource" glib:get-type="gst_interpolation_control_source_get_type" glib:type-struct="InterpolationControlSourceClass"> - #GstInterpolationControlSource is a #GstControlSource, that interpolates values between user-given + #GstInterpolationControlSource is a #GstControlSource, that interpolates values between user-given control points. It supports several interpolation modes and property types. To use #GstInterpolationControlSource get a new instance by calling @@ -374,11 +723,19 @@ gst_interpolation_control_source_new(), bind it to a #GParamSpec and set some control points by calling gst_timed_value_control_source_set(). All functions are MT-safe. + - This returns a new, unbound #GstInterpolationControlSource. + This returns a new, unbound #GstInterpolationControlSource. + - a new, unbound #GstInterpolationControlSource. + a new, unbound #GstInterpolationControlSource. @@ -394,7 +751,7 @@ All functions are MT-safe. c:type="GstInterpolationControlSourcePrivate*"/> - + @@ -402,12 +759,14 @@ All functions are MT-safe. + - + @@ -415,38 +774,50 @@ All functions are MT-safe. + - The various interpolation modes available. + The various interpolation modes available. - steps-like interpolation, default + steps-like interpolation, default - linear interpolation + linear interpolation - cubic interpolation (natural), may overshoot + cubic interpolation (natural), may overshoot the min or max values set by the control point, but is more 'curvy' - monotonic cubic interpolation, will not + monotonic cubic interpolation, will not produce any values outside of the min-max range set by the control points - (Since 1.8) + (Since: 1.8) glib:type-name="GstLFOControlSource" glib:get-type="gst_lfo_control_source_get_type" glib:type-struct="LFOControlSourceClass"> - #GstLFOControlSource is a #GstControlSource, that provides several periodic + #GstLFOControlSource is a #GstControlSource, that provides several periodic waveforms as control values. To use #GstLFOControlSource get a new instance by calling @@ -464,29 +837,45 @@ gst_lfo_control_source_new(), bind it to a #GParamSpec and set the relevant properties. All functions are MT-safe. + - This returns a new, unbound #GstLFOControlSource. + This returns a new, unbound #GstLFOControlSource. + - a new, unbound #GstLFOControlSource. + a new, unbound #GstLFOControlSource. - Specifies the amplitude for the waveform of this #GstLFOControlSource. + Specifies the amplitude for the waveform of this #GstLFOControlSource. - Specifies the frequency that should be used for the waveform + Specifies the frequency that should be used for the waveform of this #GstLFOControlSource. It should be large enough so that the period is longer than one nanosecond. - Specifies the value offset for the waveform of this #GstLFOControlSource. + Specifies the value offset for the waveform of this #GstLFOControlSource. - Specifies the timeshift to the right that should be used for the waveform + Specifies the timeshift to the right that should be used for the waveform of this #GstLFOControlSource in nanoseconds. To get a n nanosecond shift to the left use @@ -494,7 +883,9 @@ To get a n nanosecond shift to the left use - Specifies the waveform that should be used for this #GstLFOControlSource. + Specifies the waveform that should be used for this #GstLFOControlSource. @@ -508,7 +899,7 @@ To get a n nanosecond shift to the left use - + @@ -516,11 +907,13 @@ To get a n nanosecond shift to the left use + - + @@ -528,43 +921,117 @@ To get a n nanosecond shift to the left use + - The various waveform modes available. + The various waveform modes available. - sine waveform + sine waveform - square waveform + square waveform - saw waveform + saw waveform - reverse saw waveform + reverse saw waveform - triangle waveform + triangle waveform + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - A #GstControlBinding that forwards requests to another #GstControlBinding + A #GstControlBinding that forwards requests to another #GstControlBinding + - #GstProxyControlBinding forwards all access to data or sync_values() + #GstProxyControlBinding forwards all access to data or `sync_values()` requests from @property_name on @object to the control binding at @ref_property_name on @ref_object. + - a new #GstControlBinding that proxies the control interface between + a new #GstControlBinding that proxies the control interface between properties on different #GstObject's - a #GstObject + a #GstObject - the property name in @object to control + the property name in @object to control - a #GstObject to forward all + a #GstObject to forward all #GstControlBinding requests to - the property_name in @ref_object to control + the property_name in @ref_object to control @@ -614,7 +1099,7 @@ properties on different #GstObject's - + @@ -622,16 +1107,100 @@ properties on different #GstObject's - Opaque #GstProxyControlBindingClass struct + Opaque #GstProxyControlBindingClass struct + - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstTimedValueControlSource" glib:get-type="gst_timed_value_control_source_get_type" glib:type-struct="TimedValueControlSourceClass"> - Base class for #GstControlSource that use time-stamped values. + Base class for #GstControlSource that use time-stamped values. When overriding bind, chain up first to give this bind implementation a chance to setup things. All functions are MT-safe. + - Find last value before given timestamp in control point list. + Find last value before given timestamp in control point list. If all values in the control point list come after the given timestamp or no values exist, %NULL is returned. For use in control source implementations. + - the found #GSequenceIter or %NULL + the found #GSequenceIter or %NULL - the control source to search in + the control source to search in - the search key + the search key - Returns a read-only copy of the list of #GstTimedValue for the given property. + Returns a read-only copy of the list of #GstTimedValue for the given property. Free the list after done with it. + - a copy + a copy of the list, or %NULL if the property isn't handled by the controller @@ -682,7 +1271,9 @@ of the list, or %NULL if the property isn't handled by the controller - the #GstTimedValueControlSource to get the list from + the #GstTimedValueControlSource to get the list from @@ -690,56 +1281,86 @@ of the list, or %NULL if the property isn't handled by the controller - Get the number of control points that are set. + Get the number of control points that are set. + - the number of control points that are set. + the number of control points that are set. - the #GstTimedValueControlSource to get the number of values from + the #GstTimedValueControlSource to get the number of values from - Set the value of given controller-handled property at a certain time. + Set the value of given controller-handled property at a certain time. + - FALSE if the values couldn't be set, TRUE otherwise. + FALSE if the values couldn't be set, TRUE otherwise. - the #GstTimedValueControlSource object + the #GstTimedValueControlSource object - the time the control-change is scheduled for + the time the control-change is scheduled for - the control-value + the control-value - Sets multiple timed values at once. + Sets multiple timed values at once. + - FALSE if the values couldn't be set, TRUE otherwise. + FALSE if the values couldn't be set, TRUE otherwise. - the #GstTimedValueControlSource object + the #GstTimedValueControlSource object - a list + a list with #GstTimedValue items @@ -748,33 +1369,49 @@ with #GstTimedValue items - Used to remove the value of given controller-handled property at a certain + 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. + FALSE if the value couldn't be unset (i.e. not found, TRUE otherwise. - the #GstTimedValueControlSource object + the #GstTimedValueControlSource object - the time the control-change should be removed from + the time the control-change should be removed from - Used to remove all time-stamped values of given controller-handled property + Used to remove all time-stamped values of given controller-handled property + - the #GstTimedValueControlSource object + the #GstTimedValueControlSource object @@ -800,42 +1437,54 @@ time. c:type="GstTimedValueControlSourcePrivate*"/> - + - Emitted right after the new value has been added to @self + Emitted right after the new value has been added to @self - The newly added #GstTimedValue + The newly added #GstTimedValue - Emitted right after the new value has been set on @timed_signals + Emitted right after the new value has been set on @timed_signals - The #GstTimedValue where the value changed + The #GstTimedValue where the value changed - Emitted when @timed_value is removed from @self + Emitted when @timed_value is removed from @self - The removed #GstTimedValue + The removed #GstTimedValue @@ -844,11 +1493,13 @@ time. + - + @@ -856,6 +1507,8 @@ time. + glib:type-name="GstTriggerControlSource" glib:get-type="gst_trigger_control_source_get_type" glib:type-struct="TriggerControlSourceClass"> - #GstTriggerControlSource is a #GstControlSource, that returns values from user-given + #GstTriggerControlSource is a #GstControlSource, that returns values from user-given control points. It allows for a tolerance on the time-stamps. To use #GstTriggerControlSource get a new instance by calling @@ -872,10 +1527,18 @@ gst_trigger_control_source_new(), bind it to a #GParamSpec and set some control points by calling gst_timed_value_control_source_set(). All functions are MT-safe. + - This returns a new, unbound #GstTriggerControlSource. + This returns a new, unbound #GstTriggerControlSource. + - a new, unbound #GstTriggerControlSource. + a new, unbound #GstTriggerControlSource. @@ -891,7 +1554,7 @@ All functions are MT-safe. c:type="GstTriggerControlSourcePrivate*"/> - + @@ -899,12 +1562,14 @@ All functions are MT-safe. + - + @@ -912,16 +1577,24 @@ All functions are MT-safe. + - Reset the controlled value cache. + Reset the controlled value cache. + - the #GstTimedValueControlSource + the #GstTimedValueControlSource diff --git a/girs/GstNet-1.0.gir b/girs/GstNet-1.0.gir index 2356c34efb..56815b3cc3 100644 --- a/girs/GstNet-1.0.gir +++ b/girs/GstNet-1.0.gir @@ -18,25 +18,163 @@ and/or use gtk-doc annotations. --> shared-library="libgstnet-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - The size of the packets sent between network clocks. + The size of the packets sent between network clocks. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - #GstNetAddressMeta can be used to store a network address (a #GSocketAddress) + #GstNetAddressMeta can be used to store a network address (a #GSocketAddress) in a #GstBuffer so that it network elements can track the to and from address of the buffer. + - the parent type + the parent type - a #GSocketAddress stored as metadata + a #GSocketAddress stored as metadata + @@ -49,7 +187,9 @@ of the buffer. glib:type-name="GstNetClientClock" glib:get-type="gst_net_client_clock_get_type" glib:type-struct="NetClientClockClass"> - #GstNetClientClock implements a custom #GstClock that synchronizes its time + #GstNetClientClock implements a custom #GstClock that synchronizes its time to a remote time provider such as #GstNetTimeProvider. #GstNtpClock implements a #GstClock that synchronizes its time to a remote NTPv4 server. @@ -71,30 +211,45 @@ gst_pipeline_use_clock(). If you set a #GstBus on the clock via the "bus" object property, it will send @GST_MESSAGE_ELEMENT messages with an attached #GstStructure containing statistics about clock accuracy and network traffic. + - Create a new #GstNetClientInternalClock that will report the time + Create a new #GstNetClientClock that will report the time provided by the #GstNetTimeProvider on @remote_address and @remote_port. + - a new #GstClock that receives a time from the remote + a new #GstClock that receives a time from the remote clock. - a name for the clock + a name for the clock - the address or hostname of the remote clock provider + the address or hostname of the remote clock provider - the port of the remote clock provider + the port of the remote clock provider - initial time of the clock + initial time of the clock @@ -141,7 +296,7 @@ clock. - + @@ -149,11 +304,12 @@ clock. + - + @@ -161,23 +317,34 @@ clock. + - #GstNetControlMessageMeta can be used to store control messages (ancillary + #GstNetControlMessageMeta can be used to store control messages (ancillary data) which was received with or is to be sent alongside the buffer data. When used with socket sinks and sources which understand this meta it allows sending and receiving ancillary data such as unix credentials (See #GUnixCredentialsMessage) and Unix file descriptions (See #GUnixFDMessage). + - the parent type + the parent type - a #GSocketControlMessage stored as metadata + a #GSocketControlMessage stored as metadata + @@ -188,18 +355,27 @@ sending and receiving ancillary data such as unix credentials (See glib:type-name="GstNetTimePacket" glib:get-type="gst_net_time_packet_get_type" c:symbol-prefix="net_time_packet"> - Various functions for receiving, sending an serializing #GstNetTimePacket + Various functions for receiving, sending an serializing #GstNetTimePacket structures. + - the local time when this packet was sent + the local time when this packet was sent - the remote time observation + the remote time observation - Creates a new #GstNetTimePacket from a buffer received over the network. The + 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. @@ -207,13 +383,18 @@ If @buffer is %NULL, the local and remote times will be set to #GST_CLOCK_TIME_NONE. MT safe. Caller owns return value (gst_net_time_packet_free to free). + - The new #GstNetTimePacket. + The new #GstNetTimePacket. - a buffer from which to construct the packet, or NULL + a buffer from which to construct the packet, or NULL @@ -221,67 +402,97 @@ MT safe. Caller owns return value (gst_net_time_packet_free to free). - Make a copy of @packet. + Make a copy of @packet. + - a copy of @packet, free with gst_net_time_packet_free(). + a copy of @packet, free with gst_net_time_packet_free(). - the #GstNetTimePacket + the #GstNetTimePacket - Free @packet. + Free @packet. + - the #GstNetTimePacket + the #GstNetTimePacket - Sends a #GstNetTimePacket over a socket. + Sends a #GstNetTimePacket over a socket. MT safe. + - TRUE if successful, FALSE in case an error occurred. + TRUE if successful, FALSE in case an error occurred. - the #GstNetTimePacket to send + the #GstNetTimePacket to send - socket to send the time packet on + socket to send the time packet on - address to send the time packet to + address to send the time packet to - Serialized a #GstNetTimePacket into a newly-allocated sequence of + 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. + A newly allocated sequence of #GST_NET_TIME_PACKET_SIZE bytes. - the #GstNetTimePacket + the #GstNetTimePacket @@ -289,23 +500,32 @@ MT safe. Caller owns return value (g_free to free). - Receives a #GstNetTimePacket over a socket. Handles interrupted system + Receives a #GstNetTimePacket over a socket. Handles interrupted system calls, but otherwise returns NULL on error. + - a new #GstNetTimePacket, or NULL on error. Free + a new #GstNetTimePacket, or NULL on error. Free with gst_net_time_packet_free() when done. - socket to receive the time packet on + socket to receive the time packet on - address of variable to return sender address + address of variable to return sender address @@ -318,7 +538,9 @@ calls, but otherwise returns NULL on error. glib:type-name="GstNetTimeProvider" glib:get-type="gst_net_time_provider_get_type" glib:type-struct="NetTimeProviderClass"> - This object exposes the time of a #GstClock on the network. + This object exposes the time of a #GstClock on the network. A #GstNetTimeProvider is created with gst_net_time_provider_new() which takes a #GstClock, an address and a port number as arguments. @@ -327,28 +549,41 @@ After creating the object, a client clock such as #GstNetClientClock can query the exposed clock over the network for its values. The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. + - Allows network clients to get the current time of @clock. + Allows network clients to get the current time of @clock. + - the new #GstNetTimeProvider, or NULL on error + the new #GstNetTimeProvider, or NULL on error - a #GstClock to export over the network + a #GstClock to export over the network - an address to bind on as a dotted quad + an address to bind on as a dotted quad (xxx.xxx.xxx.xxx), IPv6 address, or NULL to bind to all addresses - a port to bind on, or 0 to let the kernel choose + a port to bind on, or 0 to let the kernel choose @@ -385,7 +620,7 @@ The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. c:type="GstNetTimeProviderPrivate*"/> - + @@ -393,11 +628,12 @@ The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. + - + @@ -405,6 +641,7 @@ The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. + glib:type-name="GstNtpClock" glib:get-type="gst_ntp_clock_get_type" glib:type-struct="NtpClockClass"> + - Create a new #GstNtpClock that will report the time provided by + Create a new #GstNtpClock that will report the time provided by the NTPv4 server on @remote_address and @remote_port. + - a new #GstClock that receives a time from the remote + a new #GstClock that receives a time from the remote clock. - a name for the clock + a name for the clock - the address or hostname of the remote clock provider + the address or hostname of the remote clock provider - the port of the remote clock provider + the port of the remote clock provider - initial time of the clock + initial time of the clock @@ -447,7 +699,7 @@ clock. - + @@ -455,50 +707,79 @@ clock. + - + + + + + + + + + + + + + + + - PTP clock identification that can be passed to gst_ptp_init() to + PTP clock identification that can be passed to gst_ptp_init() to automatically select one based on the MAC address of interfaces + + + + + - GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only + GstPtpClock implements a PTP (IEEE1588:2008) ordinary clock in slave-only mode, that allows a GStreamer pipeline to synchronize to a PTP network clock in some specific domain. @@ -519,8 +800,11 @@ To gather statistics about the PTP clock synchronization, gst_ptp_statistics_callback_add() can be used. This gives the application the possibility to collect all kinds of statistics from the clock synchronization. + - Creates a new PTP clock instance that exports the PTP time of the master + Creates a new PTP clock instance that exports the PTP time of the master clock in @domain. This clock can be slaved to other clocks as needed. If gst_ptp_init() was not called before, this will call gst_ptp_init() with @@ -531,17 +815,24 @@ times from the PTP master clock on the network. Once this happens the GstPtpClock::internal-clock property will become non-NULL. You can check this with gst_clock_wait_for_sync(), the GstClock::synced signal and gst_clock_is_synced(). + - A new #GstClock + A new #GstClock - Name of the clock + Name of the clock - PTP domain + PTP domain @@ -568,7 +859,7 @@ gst_clock_is_synced(). - + @@ -576,21 +867,29 @@ gst_clock_is_synced(). - Opaque #GstPtpClockClass structure. + Opaque #GstPtpClockClass structure. + - parented to #GstSystemClockClass + parented to #GstSystemClockClass - + + - The statistics can be the following structures: + The statistics can be the following structures: GST_PTP_STATISTICS_NEW_DOMAIN_FOUND: "domain" G_TYPE_UINT The domain identifier of the domain @@ -626,16 +925,21 @@ GST_PTP_STATISTICS_TIME_UPDATED: "rate" G_TYPE_DOUBLE Internal/external rate If %FALSE is returned, the callback is removed and never called again. + - PTP domain identifier + PTP domain identifier - New statistics + New statistics nullable="1" allow-none="1" closure="2"> - Data passed to gst_ptp_statistics_callback_add() + Data passed to gst_ptp_statistics_callback_add() - Attaches @addr as metadata in a #GstNetAddressMeta to @buffer. + Attaches @addr as metadata in a #GstNetAddressMeta to @buffer. + - a #GstNetAddressMeta connected to @buffer + a #GstNetAddressMeta connected to @buffer - a #GstBuffer + a #GstBuffer - a @GSocketAddress to connect to @buffer + a @GSocketAddress to connect to @buffer - Attaches @message as metadata in a #GstNetControlMessageMeta to @buffer. + Attaches @message as metadata in a #GstNetControlMessageMeta to @buffer. + - a #GstNetControlMessageMeta connected to @buffer + a #GstNetControlMessageMeta connected to @buffer - a #GstBuffer + a #GstBuffer - a @GSocketControlMessage to attach to @buffer + a @GSocketControlMessage to attach to @buffer @@ -687,21 +1012,39 @@ If %FALSE is returned, the callback is removed and never called again. - Find the #GstNetAddressMeta on @buffer. + Find the #GstNetAddressMeta on @buffer. + - the #GstNetAddressMeta or %NULL when there + the #GstNetAddressMeta or %NULL when there is no such metadata on @buffer. - a #GstBuffer + a #GstBuffer + + + + + + + + @@ -709,12 +1052,15 @@ is no such metadata on @buffer. + + @@ -722,6 +1068,8 @@ is no such metadata on @buffer. + @@ -730,37 +1078,79 @@ is no such metadata on @buffer. c:identifier="gst_net_time_packet_receive" moved-to="NetTimePacket.receive" throws="1"> - Receives a #GstNetTimePacket over a socket. Handles interrupted system + Receives a #GstNetTimePacket over a socket. Handles interrupted system calls, but otherwise returns NULL on error. + - a new #GstNetTimePacket, or NULL on error. Free + a new #GstNetTimePacket, or NULL on error. Free with gst_net_time_packet_free() when done. - socket to receive the time packet on + socket to receive the time packet on - address of variable to return sender address + address of variable to return sender address + + Configures IP_TOS value of socket, i.e. sets QoS DSCP. + + + TRUE if successful, FALSE in case an error occurred. + + + + + Socket to configure + + + + QoS DSCP value + + + + - Deinitialize the GStreamer PTP subsystem and stop the PTP clock. If there + Deinitialize the GStreamer PTP subsystem and stop the PTP clock. If there are any remaining GstPtpClock instances, they won't be further synchronized to the PTP network clock. + - Initialize the GStreamer PTP subsystem and create a PTP ordinary clock in + Initialize the GStreamer PTP subsystem and create a PTP ordinary clock in slave-only mode for all domains on the given @interfaces with the given @clock_id. @@ -769,20 +1159,27 @@ generated from the MAC address of the first network interface. This function is automatically called by gst_ptp_clock_new() with default parameters if it wasn't called before. + - %TRUE if the GStreamer PTP clock subsystem could be initialized. + %TRUE if the GStreamer PTP clock subsystem could be initialized. - PTP clock id of this process' clock or %GST_PTP_CLOCK_ID_NONE + PTP clock id of this process' clock or %GST_PTP_CLOCK_ID_NONE - network interfaces to run the clock on + network interfaces to run the clock on @@ -792,19 +1189,29 @@ parameters if it wasn't called before. - Check if the GStreamer PTP clock subsystem is initialized. + Check if the GStreamer PTP clock subsystem is initialized. + - %TRUE if the GStreamer PTP clock subsystem is initialized. + %TRUE if the GStreamer PTP clock subsystem is initialized. - Check if PTP clocks are generally supported on this system, and if previous + Check if PTP clocks are generally supported on this system, and if previous initializations did not fail. + - %TRUE if PTP clocks are generally supported on this system, and + %TRUE if PTP clocks are generally supported on this system, and previous initializations did not fail. @@ -812,10 +1219,15 @@ previous initializations did not fail. - Installs a new statistics callback for gathering PTP statistics. See + Installs a new statistics callback for gathering PTP statistics. See GstPtpStatisticsCallback for a list of statistics that are provided. + - Id for the callback that can be passed to + Id for the callback that can be passed to gst_ptp_statistics_callback_remove() @@ -825,7 +1237,9 @@ gst_ptp_statistics_callback_remove() scope="notified" closure="1" destroy="2"> - GstPtpStatisticsCallback to call + GstPtpStatisticsCallback to call @@ -833,11 +1247,15 @@ gst_ptp_statistics_callback_remove() transfer-ownership="none" nullable="1" allow-none="1"> - Data to pass to the callback + Data to pass to the callback - GDestroyNotify to destroy the data + GDestroyNotify to destroy the data @@ -845,14 +1263,19 @@ gst_ptp_statistics_callback_remove() - Removes a PTP statistics callback that was previously added with + Removes a PTP statistics callback that was previously added with gst_ptp_statistics_callback_add(). + - Callback id to remove + Callback id to remove diff --git a/girs/GstPbutils-1.0.gir b/girs/GstPbutils-1.0.gir index e68342b582..1db863dfbb 100644 --- a/girs/GstPbutils-1.0.gir +++ b/girs/GstPbutils-1.0.gir @@ -19,30 +19,74 @@ and/or use gtk-doc annotations. --> c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstAudioVisualizer" glib:get-type="gst_audio_visualizer_get_type" glib:type-struct="AudioVisualizerClass"> - A baseclass for scopes (visualizers). It takes care of re-fitting the + A baseclass for scopes (visualizers). It takes care of re-fitting the audio-rate to video-rate and handles renegotiation (downstream video size changes). It also provides several background shading effects. These effects are -applied to a previous picture before the render() implementation can draw a +applied to a previous picture before the `render()` implementation can draw a new frame. + + @@ -72,6 +122,8 @@ new frame. + @@ -88,6 +140,8 @@ new frame. + @@ -123,11 +177,15 @@ new frame. + + @@ -140,6 +198,8 @@ new frame. + @@ -158,6 +218,8 @@ new frame. + @@ -175,75 +237,101 @@ new frame. + - Different types of supported background shading functions. + Different types of supported background shading functions. - no shading + no shading - plain fading + plain fading - fade and move up + fade and move up - fade and move down + fade and move down - fade and move left + fade and move left - fade and move right + fade and move right - fade and move horizontally out + fade and move horizontally out - fade and move horizontally in + fade and move horizontally in - fade and move vertically out + fade and move vertically out - fade and move vertically in + fade and move vertically in + @@ -259,6 +347,100 @@ new frame. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstDiscoverer" glib:get-type="gst_discoverer_get_type" glib:type-struct="DiscovererClass"> - The #GstDiscoverer is a utility object which allows to get as much + The #GstDiscoverer is a utility object which allows to get as much information as possible from one or many URIs. It provides two APIs, allowing usage in blocking or non-blocking mode. @@ -282,10 +466,18 @@ By default this will use the GLib default main context unless you have set a custom context using g_main_context_push_thread_default(). All the information is returned in a #GstDiscovererInfo structure. + - Creates a new #GstDiscoverer with the provided timeout. + Creates a new #GstDiscoverer with the provided timeout. + - The new #GstDiscoverer. + The new #GstDiscoverer. If an error occurred when creating the discoverer, @err will be set accordingly and %NULL will be returned. If @err is set, the caller must free it when no longer needed using g_error_free(). @@ -293,13 +485,17 @@ free it when no longer needed using g_error_free(). - timeout per file, in nanoseconds. Allowed are values between + timeout per file, in nanoseconds. Allowed are values between one second (#GST_SECOND) and one hour (3600 * #GST_SECOND) + @@ -316,6 +512,8 @@ free it when no longer needed using g_error_free(). + @@ -326,6 +524,8 @@ free it when no longer needed using g_error_free(). + @@ -339,6 +539,8 @@ free it when no longer needed using g_error_free(). + @@ -351,73 +553,105 @@ free it when no longer needed using g_error_free(). - Synchronously discovers the given @uri. + Synchronously discovers the given @uri. A copy of @uri will be made internally, so the caller can safely g_free() afterwards. + - the result of the scanning. Can be %NULL if an + the result of the scanning. Can be %NULL if an error occurred. - A #GstDiscoverer + A #GstDiscoverer - The URI to run on. + The URI to run on. - Appends the given @uri to the list of URIs to discoverer. The actual + Appends the given @uri to the list of URIs to discoverer. The actual discovery of the @uri will only take place if gst_discoverer_start() has been called. A copy of @uri will be made internally, so the caller can safely g_free() afterwards. + - %TRUE if the @uri was successfully appended to the list of pending + %TRUE if the @uri was successfully appended to the list of pending uris, else %FALSE - A #GstDiscoverer + A #GstDiscoverer - the URI to add. + the URI to add. - Allow asynchronous discovering of URIs to take place. + Allow asynchronous discovering of URIs to take place. A #GMainLoop must be available for #GstDiscoverer to properly work in asynchronous mode. + - A #GstDiscoverer + A #GstDiscoverer - Stop the discovery of any pending URIs and clears the list of + Stop the discovery of any pending URIs and clears the list of pending URIS (if any). + - A #GstDiscoverer + A #GstDiscoverer @@ -426,7 +660,9 @@ pending URIS (if any). writable="1" construct="1" transfer-ownership="none"> - The duration (in nanoseconds) after which the discovery of an individual + The duration (in nanoseconds) after which the discovery of an individual URI will timeout. If the discovery of a URI times out, the %GST_DISCOVERER_TIMEOUT will be @@ -446,12 +682,14 @@ set on the result flags. - + - Will be emitted in async mode when all information on a URI could be + Will be emitted in async mode when all information on a URI could be discovered, or an error occurred. When an error occurs, @info might still contain some partial information, @@ -461,14 +699,18 @@ depending on the circumstances of the error. - the results #GstDiscovererInfo + the results #GstDiscovererInfo - #GError, which will be non-NULL + #GError, which will be non-NULL if an error occurred during discovery. You must not free this #GError, it will be freed by @@ -478,13 +720,17 @@ depending on the circumstances of the error. - Will be emitted in async mode when all pending URIs have been processed. + Will be emitted in async mode when all pending URIs have been processed. - This signal is emitted after the source element has been created for, so + This signal is emitted after the source element has been created for, so the URI being discovered, so it can be configured by setting additional properties (e.g. set a proxy server for an http source, or set the device and read speed for an audio cd source). @@ -496,13 +742,17 @@ thread. - source element + source element - Will be emitted when the discover starts analyzing the pending URIs + Will be emitted when the discover starts analyzing the pending URIs @@ -514,16 +764,24 @@ thread. parent="DiscovererStreamInfo" glib:type-name="GstDiscovererAudioInfo" glib:get-type="gst_discoverer_audio_info_get_type"> - #GstDiscovererStreamInfo specific to audio streams. + #GstDiscovererStreamInfo specific to audio streams. + - the average or nominal bitrate of the stream in bits/second. + the average or nominal bitrate of the stream in bits/second. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -532,15 +790,21 @@ thread. + - the channel-mask of the stream, refer to + the channel-mask of the stream, refer to gst_audio_channel_positions_from_mask() for more information. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -548,13 +812,19 @@ information. + - the number of channels in the stream. + the number of channels in the stream. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -562,13 +832,19 @@ information. + - the number of bits used per sample in each channel. + the number of bits used per sample in each channel. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -576,13 +852,19 @@ information. + - the language of the stream, or NULL if unknown. + the language of the stream, or NULL if unknown. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -590,13 +872,19 @@ information. + - the maximum bitrate of the stream in bits/second. + the maximum bitrate of the stream in bits/second. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -604,13 +892,19 @@ information. + - the sample rate of the stream in Hertz. + the sample rate of the stream in Hertz. - a #GstDiscovererAudioInfo + a #GstDiscovererAudioInfo @@ -620,11 +914,15 @@ information. + + @@ -637,6 +935,8 @@ information. + @@ -649,6 +949,8 @@ information. + @@ -667,6 +969,8 @@ information. + @@ -681,7 +985,7 @@ information. - + @@ -692,11 +996,17 @@ information. parent="DiscovererStreamInfo" glib:type-name="GstDiscovererContainerInfo" glib:get-type="gst_discoverer_container_info_get_type"> - #GstDiscovererStreamInfo specific to container streams. + #GstDiscovererStreamInfo specific to container streams. + - the list of + the list of #GstDiscovererStreamInfo this container stream offers. Free with gst_discoverer_stream_info_list_free() after usage. @@ -705,7 +1015,9 @@ Free with gst_discoverer_stream_info_list_free() after usage. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -718,40 +1030,62 @@ Free with gst_discoverer_stream_info_list_free() after usage. parent="GObject.Object" glib:type-name="GstDiscovererInfo" glib:get-type="gst_discoverer_info_get_type"> - Structure containing the information of a URI analyzed by #GstDiscoverer. + Structure containing the information of a URI analyzed by #GstDiscoverer. - Parses a #GVariant as produced by gst_discoverer_info_to_variant() + Parses a #GVariant as produced by gst_discoverer_info_to_variant() back to a #GstDiscovererInfo. + - A newly-allocated #GstDiscovererInfo. + A newly-allocated #GstDiscovererInfo. - A #GVariant to deserialize into a #GstDiscovererInfo. + A #GVariant to deserialize into a #GstDiscovererInfo. + - A copy of the #GstDiscovererInfo + A copy of the #GstDiscovererInfo - a #GstDiscovererInfo + a #GstDiscovererInfo - Finds all the #GstDiscovererAudioInfo contained in @info + Finds all the #GstDiscovererAudioInfo contained in @info + - A #GList of + A #GList of matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). @@ -760,16 +1094,24 @@ gst_discoverer_stream_info_list_free(). - a #GstDiscovererInfo + a #GstDiscovererInfo - Finds all the #GstDiscovererContainerInfo contained in @info + Finds all the #GstDiscovererContainerInfo contained in @info + - A #GList of + A #GList of matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). @@ -778,20 +1120,28 @@ gst_discoverer_stream_info_list_free(). - a #GstDiscovererInfo + a #GstDiscovererInfo + - the duration of the URI in #GstClockTime (nanoseconds). + the duration of the URI in #GstClockTime (nanoseconds). - a #GstDiscovererInfo + a #GstDiscovererInfo @@ -799,13 +1149,19 @@ gst_discoverer_stream_info_list_free(). + - whether the URI is live. + whether the URI is live. - a #GstDiscovererInfo + a #GstDiscovererInfo @@ -815,15 +1171,21 @@ gst_discoverer_stream_info_list_free(). deprecated="1"> This functions is deprecated since version 1.4, use #gst_discoverer_info_get_missing_elements_installer_details + - Miscellaneous information stored as a #GstStructure + Miscellaneous information stored as a #GstStructure (for example: information about missing plugins). If you wish to use the #GstStructure after the life-time of @info, you will need to copy it. - a #GstDiscovererInfo + a #GstDiscovererInfo @@ -831,10 +1193,16 @@ gst_discoverer_stream_info_list_free(). - Get the installer details for missing elements + Get the installer details for missing elements + - An array of strings -containing informations about how to install the various missing elements + An array of strings +containing information about how to install the various missing elements for @info to be usable. If you wish to use the strings after the life-time of @info, you will need to copy them. @@ -843,41 +1211,59 @@ of @info, you will need to copy them. - a #GstDiscovererStreamInfo to retrieve installer detail + a #GstDiscovererStreamInfo to retrieve installer detail for the missing element + - the result of the discovery as a #GstDiscovererResult. + the result of the discovery as a #GstDiscovererResult. - a #GstDiscovererInfo + a #GstDiscovererInfo + - the whether the URI is seekable. + the whether the URI is seekable. - a #GstDiscovererInfo + a #GstDiscovererInfo + - the structure (or topology) of the URI as a + the structure (or topology) of the URI as a #GstDiscovererStreamInfo. This structure can be traversed to see the original hierarchy. Unref with gst_discoverer_stream_info_unref() after usage. @@ -885,15 +1271,21 @@ gst_discoverer_stream_info_unref() after usage. - a #GstDiscovererInfo + a #GstDiscovererInfo + - the list of + the list of all streams contained in the #info. Free after usage with gst_discoverer_stream_info_list_free(). @@ -902,17 +1294,25 @@ with gst_discoverer_stream_info_list_free(). - a #GstDiscovererInfo + a #GstDiscovererInfo - Finds the #GstDiscovererStreamInfo contained in @info that match the + Finds the #GstDiscovererStreamInfo contained in @info that match the given @streamtype. + - A #GList of + A #GList of matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). @@ -921,20 +1321,30 @@ gst_discoverer_stream_info_list_free(). - a #GstDiscovererInfo + a #GstDiscovererInfo - a #GType derived from #GstDiscovererStreamInfo + a #GType derived from #GstDiscovererStreamInfo - Finds all the #GstDiscovererSubtitleInfo contained in @info + Finds all the #GstDiscovererSubtitleInfo contained in @info + - A #GList of + A #GList of matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). @@ -943,55 +1353,81 @@ gst_discoverer_stream_info_list_free(). - a #GstDiscovererInfo + a #GstDiscovererInfo + - all tags contained in the URI. If you wish to use + all tags contained in the URI. If you wish to use the tags after the life-time of @info, you will need to copy them. - a #GstDiscovererInfo + a #GstDiscovererInfo + - TOC contained in the URI. If you wish to use + TOC contained in the URI. If you wish to use the TOC after the life-time of @info, you will need to copy it. - a #GstDiscovererInfo + a #GstDiscovererInfo + - the URI to which this information corresponds to. + the URI to which this information corresponds to. Copy it if you wish to use it after the life-time of @info. - a #GstDiscovererInfo + a #GstDiscovererInfo - Finds all the #GstDiscovererVideoInfo contained in @info + Finds all the #GstDiscovererVideoInfo contained in @info + - A #GList of + A #GList of matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). @@ -1000,7 +1436,9 @@ gst_discoverer_stream_info_list_free(). - a #GstDiscovererInfo + a #GstDiscovererInfo @@ -1008,22 +1446,32 @@ gst_discoverer_stream_info_list_free(). - Serializes @info to a #GVariant that can be parsed again + Serializes @info to a #GVariant that can be parsed again through gst_discoverer_info_from_variant(). Note that any #GstToc (s) that might have been discovered will not be serialized for now. + - A newly-allocated #GVariant representing @info. + A newly-allocated #GVariant representing @info. - A #GstDiscovererInfo + A #GstDiscovererInfo - A combination of #GstDiscovererSerializeFlags to specify + A combination of #GstDiscovererSerializeFlags to specify what needs to be serialized. @@ -1034,47 +1482,63 @@ what needs to be serialized. + - Result values for the discovery process. + Result values for the discovery process. - The discovery was successful + The discovery was successful - the URI is invalid + the URI is invalid - an error happened and the GError is set + an error happened and the GError is set - the discovery timed-out + the discovery timed-out - the discoverer was already discovering a file + the discoverer was already discovering a file - Some plugins are missing for full discovery + Some plugins are missing for full discovery glib:type-name="GstDiscovererSerializeFlags" glib:get-type="gst_discoverer_serialize_flags_get_type" c:type="GstDiscovererSerializeFlags"> - You can use these flags to control what is serialized by + You can use these flags to control what is serialized by gst_discoverer_info_to_variant() - Serialize only basic information, excluding + Serialize only basic information, excluding caps, tags and miscellaneous information - Serialize the caps for each stream + Serialize the caps for each stream - Serialize the tags for each stream + Serialize the tags for each stream - Serialize miscellaneous information for each stream + Serialize miscellaneous information for each stream - Serialize all the available info, including + Serialize all the available info, including caps, tags and miscellaneous information @@ -1123,7 +1599,9 @@ caps, tags and miscellaneous information parent="GObject.Object" glib:type-name="GstDiscovererStreamInfo" glib:get-type="gst_discoverer_stream_info_get_type"> - Base structure for information concerning a media stream. Depending on the + Base structure for information concerning a media stream. Depending on the stream type, one can find more media-specific information in #GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and #GstDiscovererContainerInfo. @@ -1140,14 +1618,20 @@ corresponding to the AVI container, which in turn will have a for the audio and video streams respectively. - Decrements the reference count of all contained #GstDiscovererStreamInfo + Decrements the reference count of all contained #GstDiscovererStreamInfo and fress the #GList. + - a #GList of #GstDiscovererStreamInfo + a #GList of #GstDiscovererStreamInfo @@ -1156,14 +1640,20 @@ and fress the #GList. + - the #GstCaps of the stream. Unref with + the #GstCaps of the stream. Unref with #gst_caps_unref after usage. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1174,15 +1664,21 @@ and fress the #GList. deprecated="1"> This functions is deprecated since version 1.4, use #gst_discoverer_info_get_missing_elements_installer_details + - additional information regarding the stream (for + additional information regarding the stream (for example codec version, profile, etc..). If you wish to use the #GstStructure after the life-time of @info you will need to copy it. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1190,15 +1686,21 @@ after the life-time of @info you will need to copy it. + - the next #GstDiscovererStreamInfo in a chain. %NULL + the next #GstDiscovererStreamInfo in a chain. %NULL for final streams. Unref with #gst_discoverer_stream_info_unref after usage. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1206,15 +1708,21 @@ Unref with #gst_discoverer_stream_info_unref after usage. + - the previous #GstDiscovererStreamInfo in a chain. + the previous #GstDiscovererStreamInfo in a chain. %NULL for starting points. Unref with #gst_discoverer_stream_info_unref after usage. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1222,14 +1730,20 @@ after usage. + - the stream ID of this stream. If you wish to + the stream ID of this stream. If you wish to use the stream ID after the life-time of @info you will need to copy it. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1237,14 +1751,20 @@ use the stream ID after the life-time of @info you will need to copy it. + - a human readable name for the stream type of the given @info (ex : "audio", + a human readable name for the stream type of the given @info (ex : "audio", "container",...). - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1252,28 +1772,40 @@ use the stream ID after the life-time of @info you will need to copy it. + - the tags contained in this stream. If you wish to + the tags contained in this stream. If you wish to use the tags after the life-time of @info you will need to copy them. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo + - the TOC contained in this stream. If you wish to + the TOC contained in this stream. If you wish to use the TOC after the life-time of @info you will need to copy it. - a #GstDiscovererStreamInfo + a #GstDiscovererStreamInfo @@ -1286,17 +1818,25 @@ use the TOC after the life-time of @info you will need to copy it. parent="DiscovererStreamInfo" glib:type-name="GstDiscovererSubtitleInfo" glib:get-type="gst_discoverer_subtitle_info_get_type"> - #GstDiscovererStreamInfo specific to subtitle streams (this includes text and + #GstDiscovererStreamInfo specific to subtitle streams (this includes text and image based ones). + - the language of the stream, or NULL if unknown. + the language of the stream, or NULL if unknown. - a #GstDiscovererSubtitleInfo + a #GstDiscovererSubtitleInfo @@ -1309,16 +1849,24 @@ image based ones). parent="DiscovererStreamInfo" glib:type-name="GstDiscovererVideoInfo" glib:get-type="gst_discoverer_video_info_get_type"> - #GstDiscovererStreamInfo specific to video streams (this includes images). + #GstDiscovererStreamInfo specific to video streams (this includes images). + - the average or nominal bitrate of the video stream in bits/second. + the average or nominal bitrate of the video stream in bits/second. - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1326,13 +1874,19 @@ image based ones). + - the depth in bits of the video stream. + the depth in bits of the video stream. - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1340,13 +1894,19 @@ image based ones). + - the framerate of the video stream (denominator). + the framerate of the video stream (denominator). - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1354,13 +1914,19 @@ image based ones). + - the framerate of the video stream (numerator). + the framerate of the video stream (numerator). - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1368,13 +1934,19 @@ image based ones). + - the height of the video stream in pixels. + the height of the video stream in pixels. - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1382,13 +1954,19 @@ image based ones). + - the maximum bitrate of the video stream in bits/second. + the maximum bitrate of the video stream in bits/second. - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1396,13 +1974,19 @@ image based ones). + - the Pixel Aspect Ratio (PAR) of the video stream (denominator). + the Pixel Aspect Ratio (PAR) of the video stream (denominator). - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1410,13 +1994,19 @@ image based ones). + - the Pixel Aspect Ratio (PAR) of the video stream (numerator). + the Pixel Aspect Ratio (PAR) of the video stream (numerator). - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1424,13 +2014,19 @@ image based ones). + - the width of the video stream in pixels. + the width of the video stream in pixels. - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1438,14 +2034,20 @@ image based ones). + - %TRUE if the video stream corresponds to an image (i.e. only contains + %TRUE if the video stream corresponds to an image (i.e. only contains one frame). - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo @@ -1453,62 +2055,138 @@ one frame). + - %TRUE if the stream is interlaced, else %FALSE. + %TRUE if the stream is interlaced, else %FALSE. - a #GstDiscovererVideoInfo + a #GstDiscovererVideoInfo + + + + + + + - #GstEncodingTarget category for recording and capture. + #GstEncodingTarget category for recording and capture. Targets within this category are optimized for low latency encoding. + - #GstEncodingTarget category for device-specific targets. + #GstEncodingTarget category for device-specific targets. The name of the target will usually be the constructor and model of the device, and that target will contain #GstEncodingProfiles suitable for that device. + - #GstEncodingTarget category for file extensions. + #GstEncodingTarget category for file extensions. The name of the target will be the name of the file extensions possible for a particular target. Those targets are defining like 'default' formats usually used for a particular file extension. + - #GstEncodingTarget category for online-services. + #GstEncodingTarget category for online-services. The name of the target will usually be the name of the online service and that target will contain #GstEncodingProfiles suitable for that online service. + - #GstEncodingTarget category for storage, archiving and editing targets. + #GstEncodingTarget category for storage, archiving and editing targets. Those targets can be lossless and/or provide very fast random access content. The name of the target will usually be the container type or editing target, and that target will contain #GstEncodingProfiles suitable for editing or storage. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstEncodingAudioProfile" glib:get-type="gst_encoding_audio_profile_get_type" glib:type-struct="EncodingAudioProfileClass"> - Variant of #GstEncodingProfile for audio streams. + Variant of #GstEncodingProfile for audio streams. + - Creates a new #GstEncodingAudioProfile + Creates a new #GstEncodingAudioProfile All provided allocatable arguments will be internally copied, so can be safely freed/unreferenced after calling this method. + - the newly created #GstEncodingAudioProfile. + the newly created #GstEncodingAudioProfile. - the #GstCaps + the #GstCaps - the preset(s) to use on the encoder, can be %NULL + the preset(s) to use on the encoder, can be %NULL - the #GstCaps used to restrict the input to the encoder, can be + the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details. - the number of time this stream must be used. 0 means any number of + the number of time this stream must be used. 0 means any number of times (including never) @@ -1558,6 +2254,8 @@ NULL. See gst_encoding_profile_get_restriction() for more details. c:type="GstEncodingAudioProfileClass" disguised="1" glib:is-gtype-struct-for="EncodingAudioProfile"> + glib:type-name="GstEncodingContainerProfile" glib:get-type="gst_encoding_container_profile_get_type" glib:type-struct="EncodingContainerProfileClass"> - Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile + Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile + - Creates a new #GstEncodingContainerProfile. + Creates a new #GstEncodingContainerProfile. + - The newly created #GstEncodingContainerProfile. + The newly created #GstEncodingContainerProfile. @@ -1580,77 +2288,109 @@ NULL. See gst_encoding_profile_get_restriction() for more details. transfer-ownership="none" nullable="1" allow-none="1"> - The name of the container profile, can be %NULL + The name of the container profile, can be %NULL - The description of the container profile, + The description of the container profile, can be %NULL - The format to use for this profile + The format to use for this profile - The preset to use for this profile. + The preset to use for this profile. - Add a #GstEncodingProfile to the list of profiles handled by @container. + Add a #GstEncodingProfile to the list of profiles handled by @container. No copy of @profile will be made, if you wish to use it elsewhere after this method you should increment its reference count. + - %TRUE if the @stream was properly added, else %FALSE. + %TRUE if the @stream was properly added, else %FALSE. - the #GstEncodingContainerProfile to use + the #GstEncodingContainerProfile to use - the #GstEncodingProfile to add. + the #GstEncodingProfile to add. - Checks if @container contains a #GstEncodingProfile identical to + Checks if @container contains a #GstEncodingProfile identical to @profile. + - %TRUE if @container contains a #GstEncodingProfile identical + %TRUE if @container contains a #GstEncodingProfile identical to @profile, else %FALSE. - a #GstEncodingContainerProfile + a #GstEncodingContainerProfile - a #GstEncodingProfile + a #GstEncodingProfile + - + the list of contained #GstEncodingProfile. @@ -1658,7 +2398,9 @@ the list of contained #GstEncodingProfile. - a #GstEncodingContainerProfile + a #GstEncodingContainerProfile @@ -1669,6 +2411,8 @@ the list of contained #GstEncodingProfile. c:type="GstEncodingContainerProfileClass" disguised="1" glib:is-gtype-struct-for="EncodingContainerProfile"> + glib:type-name="GstEncodingProfile" glib:get-type="gst_encoding_profile_get_type" glib:type-struct="EncodingProfileClass"> - The opaque base class object for all encoding profiles. This contains generic + The opaque base class object for all encoding profiles. This contains generic information like name, description, format and preset. + - Find the #GstEncodingProfile with the specified name and category. + Find the #GstEncodingProfile with the specified name and category. + - The matching #GstEncodingProfile or %NULL. + The matching #GstEncodingProfile or %NULL. - The name of the target + The name of the target - The name of the profile, if %NULL + The name of the profile, if %NULL provided, it will default to the encoding profile called `default`. @@ -1702,166 +2460,244 @@ provided, it will default to the encoding profile called `default`. transfer-ownership="none" nullable="1" allow-none="1"> - The target category. Can be %NULL + The target category. Can be %NULL - Creates a #GstEncodingProfile matching the formats from the given + Creates a #GstEncodingProfile matching the formats from the given #GstDiscovererInfo. Streams other than audio or video (eg, subtitles), are currently ignored. + - The new #GstEncodingProfile or %NULL. + The new #GstEncodingProfile or %NULL. - The #GstDiscovererInfo to read from + The #GstDiscovererInfo to read from - - Makes a deep copy of @self + + Makes a deep copy of @self + - The copy of @self - -Since 1.12 + The copy of @self - The #GstEncodingProfile to copy + The #GstEncodingProfile to copy - Get whether the format that has been negotiated in at some point can be renegotiated + Get whether the format that has been negotiated in at some point can be renegotiated later during the encoding. + - a #GstEncodingProfile + a #GstEncodingProfile + - the description of the profile, can be %NULL. + the description of the profile, can be %NULL. - a #GstEncodingProfile + a #GstEncodingProfile + - a suitable file extension for @profile, or NULL. + a suitable file extension for @profile, or NULL. - a #GstEncodingProfile + a #GstEncodingProfile + - the #GstCaps corresponding to the media format used + the #GstCaps corresponding to the media format used in the profile. Unref after usage. - a #GstEncodingProfile + a #GstEncodingProfile - Computes the full output caps that this @profile will be able to consume. + Computes the full output caps that this @profile will be able to consume. + - The full caps the given @profile can consume. Call + The full caps the given @profile can consume. Call gst_caps_unref() when you are done with the caps. - a #GstEncodingProfile + a #GstEncodingProfile + - the name of the profile, can be %NULL. + the name of the profile, can be %NULL. - a #GstEncodingProfile + a #GstEncodingProfile + - The number of times the profile is used in its parent + The number of times the profile is used in its parent container profile. If 0, it is not a mandatory stream. - a #GstEncodingProfile + a #GstEncodingProfile + - the name of the #GstPreset to be used in the profile. + the name of the #GstPreset to be used in the profile. This is the name that has been set when saving the preset. - a #GstEncodingProfile + a #GstEncodingProfile + - the name of the #GstPreset factory to be used in the profile. + the name of the #GstPreset factory to be used in the profile. - a #GstEncodingProfile + a #GstEncodingProfile + - The restriction #GstCaps to apply before the encoder + The restriction #GstCaps to apply before the encoder that will be used in the profile. The fields present in restriction caps are properties of the raw stream (that is before encoding), such as height and width for video and depth and sampling rate for audio. Does not apply to @@ -1871,25 +2707,57 @@ Can be %NULL. Unref after usage. - a #GstEncodingProfile + a #GstEncodingProfile + + + + + + + + #TRUE if the stream represented by @profile should use a single +segment before the encoder, #FALSE otherwise. This means that buffers will be retimestamped +and segments will be eat so as to appear as one segment. + + + + + a #GstEncodingProfile + - the human-readable name of the type of @profile. + the human-readable name of the type of @profile. - a #GstEncodingProfile + a #GstEncodingProfile + @@ -1900,36 +2768,54 @@ Can be %NULL. Unref after usage. - Checks whether the two #GstEncodingProfile are equal + Checks whether the two #GstEncodingProfile are equal + - %TRUE if @a and @b are equal, else %FALSE. + %TRUE if @a and @b are equal, else %FALSE. - a #GstEncodingProfile + a #GstEncodingProfile - a #GstEncodingProfile + a #GstEncodingProfile - Sets whether the format that has been negotiated in at some point can be renegotiated + Sets whether the format that has been negotiated in at some point can be renegotiated later during the encoding. + - a #GstEncodingProfile + a #GstEncodingProfile - Whether the format that has been negotiated first can be renegotiated + Whether the format that has been negotiated first can be renegotiated during the encoding @@ -1937,161 +2823,252 @@ during the encoding - Set @description as the given description for the @profile. A copy of + Set @description as the given description for the @profile. A copy of @description will be made internally. + - a #GstEncodingProfile + a #GstEncodingProfile - the description to set on the profile + the description to set on the profile - Set whether the profile should be used or not. - -Since 1.6 + c:identifier="gst_encoding_profile_set_enabled" + version="1.6"> + Set whether the profile should be used or not. + - a #GstEncodingProfile + a #GstEncodingProfile - %FALSE to disable #profile, %TRUE to enable it + %FALSE to disable @profile, %TRUE to enable it - Sets the media format used in the profile. + Sets the media format used in the profile. + - a #GstEncodingProfile + a #GstEncodingProfile - the media format to use in the profile. + the media format to use in the profile. - Set @name as the given name for the @profile. A copy of @name will be made + Set @name as the given name for the @profile. A copy of @name will be made internally. + - a #GstEncodingProfile + a #GstEncodingProfile - the name to set on the profile + the name to set on the profile - Set the number of time the profile is used in its parent + Set the number of time the profile is used in its parent container profile. If 0, it is not a mandatory stream + - a #GstEncodingProfile + a #GstEncodingProfile - the number of time the profile can be used + the number of time the profile can be used - Sets the name of the #GstElement that implements the #GstPreset interface + Sets the name of the #GstElement that implements the #GstPreset interface to use for the profile. This is the name that has been set when saving the preset. + - a #GstEncodingProfile + a #GstEncodingProfile - the element preset to use + the element preset to use - Sets the name of the #GstPreset's factory to be used in the profile. + Sets the name of the #GstPreset's factory to be used in the profile. + - a #GstEncodingProfile + a #GstEncodingProfile - The name of the preset to use in this @profile. + The name of the preset to use in this @profile. - Set the restriction #GstCaps to apply before the encoder + Set the restriction #GstCaps to apply before the encoder that will be used in the profile. See gst_encoding_profile_get_restriction() for more about restrictions. Does not apply to #GstEncodingContainerProfile. + - a #GstEncodingProfile + a #GstEncodingProfile - the restriction to apply + the restriction to apply + + If using a single segment, buffers will be retimestamped +and segments will be eat so as to appear as one segment. + + + + + + + a #GstEncodingProfile + + + + #TRUE if the stream represented by @profile should use a single +segment before the encoder #FALSE otherwise. + + + + @@ -2100,6 +3077,8 @@ for more about restrictions. Does not apply to #GstEncodingContainerProfile. + - Collection of #GstEncodingProfile for a specific target or use-case. + Collection of #GstEncodingProfile for a specific target or use-case. When being stored/loaded, targets come from a specific category, like #GST_ENCODING_CATEGORY_DEVICE. - Creates a new #GstEncodingTarget. + Creates a new #GstEncodingTarget. The name and category can only consist of lowercase ASCII letters for the first character, followed by either lowercase ASCII letters, digits or hyphens ('-'). -The @category <emphasis>should</emphasis> be one of the existing +The @category *should* be one of the existing well-defined categories, like #GST_ENCODING_CATEGORY_DEVICE, but it -<emphasis>can</emphasis> be a application or user specific category if +*can* be a application or user specific category if needed. + - The newly created #GstEncodingTarget or %NULL if + The newly created #GstEncodingTarget or %NULL if there was an error. - The name of the target. + The name of the target. - The name of the category to which this @target + The name of the category to which this @target belongs. For example: #GST_ENCODING_CATEGORY_DEVICE. - A description of #GstEncodingTarget in the + A description of #GstEncodingTarget in the current locale. - A #GList of + A #GList of #GstEncodingProfile. @@ -2152,18 +3147,26 @@ current locale. - Searches for the #GstEncodingTarget with the given name, loads it + Searches for the #GstEncodingTarget with the given name, loads it and returns it. If the category name is specified only targets from that category will be searched for. + - The #GstEncodingTarget if available, else %NULL. + The #GstEncodingTarget if available, else %NULL. - the name of the #GstEncodingTarget to load (automatically + the name of the #GstEncodingTarget to load (automatically converted to lower case internally as capital letters are not valid for target names). @@ -2172,7 +3175,9 @@ valid for target names). transfer-ownership="none" nullable="1" allow-none="1"> - the name of the target category, like + the name of the target category, like #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL @@ -2181,102 +3186,150 @@ valid for target names). - Opens the provided file and returns the contained #GstEncodingTarget. + Opens the provided file and returns the contained #GstEncodingTarget. + - The #GstEncodingTarget contained in the file, else + The #GstEncodingTarget contained in the file, else %NULL - The file location to load the #GstEncodingTarget from + The file location to load the #GstEncodingTarget from - Adds the given @profile to the @target. Each added profile must have + Adds the given @profile to the @target. Each added profile must have a unique name within the profile. The @target will steal a reference to the @profile. If you wish to use the profile after calling this method, you should increase its reference count. + - %TRUE if the profile was added, else %FALSE. + %TRUE if the profile was added, else %FALSE. - the #GstEncodingTarget to add a profile to + the #GstEncodingTarget to add a profile to - the #GstEncodingProfile to add + the #GstEncodingProfile to add + - The category of the @target. For example: + The category of the @target. For example: #GST_ENCODING_CATEGORY_DEVICE. - a #GstEncodingTarget + a #GstEncodingTarget + - The description of the @target. + The description of the @target. - a #GstEncodingTarget + a #GstEncodingTarget + - The name of the @target. + The name of the @target. - a #GstEncodingTarget + a #GstEncodingTarget + - The matching #GstEncodingProfile, or %NULL. + The matching #GstEncodingProfile, or %NULL. - a #GstEncodingTarget + a #GstEncodingTarget - the name of the profile to retrieve + the name of the profile to retrieve + - A list of + A list of #GstEncodingProfile(s) this @target handles. @@ -2284,20 +3337,30 @@ count. - a #GstEncodingTarget + a #GstEncodingTarget - Saves the @target to a default user-local directory. + Saves the @target to a default user-local directory. + - %TRUE if the target was correctly saved, else %FALSE. + %TRUE if the target was correctly saved, else %FALSE. - a #GstEncodingTarget + a #GstEncodingTarget @@ -2305,18 +3368,28 @@ count. - Saves the @target to the provided file location. + Saves the @target to the provided file location. + - %TRUE if the target was correctly saved, else %FALSE. + %TRUE if the target was correctly saved, else %FALSE. - a #GstEncodingTarget + a #GstEncodingTarget - the location to store the @target at. + the location to store the @target at. @@ -2329,9 +3402,15 @@ count. glib:type-name="GstEncodingVideoProfile" glib:get-type="gst_encoding_video_profile_get_type" glib:type-struct="EncodingVideoProfileClass"> - Variant of #GstEncodingProfile for video streams, allows specifying the @pass. + Variant of #GstEncodingProfile for video streams, allows specifying the @pass. + - Creates a new #GstEncodingVideoProfile + Creates a new #GstEncodingVideoProfile All provided allocatable arguments will be internally copied, so can be safely freed/unreferenced after calling this method. @@ -2341,32 +3420,44 @@ please refer to the gst_encoding_video_profile_set_pass() documentation. If you wish to use/force a constant framerate please refer to the gst_encoding_video_profile_set_variableframerate() documentation. + - the newly created #GstEncodingVideoProfile. + the newly created #GstEncodingVideoProfile. - the #GstCaps + the #GstCaps - the preset(s) to use on the encoder, can be %NULL + the preset(s) to use on the encoder, can be %NULL - the #GstCaps used to restrict the input to the encoder, can be + the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details. - the number of time this stream must be used. 0 means any number of + the number of time this stream must be used. 0 means any number of times (including never) @@ -2374,15 +3465,23 @@ NULL. See gst_encoding_profile_get_restriction() for more details. - Get the pass number if this is part of a multi-pass profile. + Get the pass number if this is part of a multi-pass profile. + - The pass number. Starts at 1 for multi-pass. 0 if this is + The pass number. Starts at 1 for multi-pass. 0 if this is not a multi-pass profile - a #GstEncodingVideoProfile + a #GstEncodingVideoProfile @@ -2390,13 +3489,19 @@ not a multi-pass profile + - Whether non-constant video framerate is allowed for encoding. + Whether non-constant video framerate is allowed for encoding. - a #GstEncodingVideoProfile + a #GstEncodingVideoProfile @@ -2404,41 +3509,57 @@ not a multi-pass profile - Sets the pass number of this video profile. The first pass profile should have + Sets the pass number of this video profile. The first pass profile should have this value set to 1. If this video profile isn't part of a multi-pass profile, you may set it to 0 (the default value). + - a #GstEncodingVideoProfile + a #GstEncodingVideoProfile - the pass number for this profile + the pass number for this profile - If set to %TRUE, then the incoming stream will be allowed to have non-constant + If set to %TRUE, then the incoming stream will be allowed to have non-constant framerate. If set to %FALSE (default value), then the incoming stream will be normalized by dropping/duplicating frames in order to produce a constance framerate. + - a #GstEncodingVideoProfile + a #GstEncodingVideoProfile - a boolean + a boolean @@ -2448,24 +3569,188 @@ constance framerate. c:type="GstEncodingVideoProfileClass" disguised="1" glib:is-gtype-struct-for="EncodingVideoProfile"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Opaque context structure for the plugin installation. Use the provided + Opaque context structure for the plugin installation. Use the provided API to set details on it. + - Creates a new #GstInstallPluginsContext. + Creates a new #GstInstallPluginsContext. + - a new #GstInstallPluginsContext. Free with + a new #GstInstallPluginsContext. Free with gst_install_plugins_context_free() when no longer needed + @@ -2478,13 +3763,19 @@ gst_install_plugins_context_free() when no longer needed - Frees a #GstInstallPluginsContext. + Frees a #GstInstallPluginsContext. + - a #GstInstallPluginsContext + a #GstInstallPluginsContext @@ -2493,22 +3784,30 @@ gst_install_plugins_context_free() when no longer needed - This function is used to tell the external installer process whether it + This function is used to tell the external installer process whether it should ask for confirmation or not before searching for missing plugins. If set, this option will be passed to the installer via a --interaction=[show-confirm-search|hide-confirm-search] command line option. + - a #GstInstallPluginsContext + a #GstInstallPluginsContext - whether to ask for confirmation before searching for plugins + whether to ask for confirmation before searching for plugins @@ -2516,7 +3815,9 @@ If set, this option will be passed to the installer via a - This function is used to pass the calling application's desktop file ID to + This function is used to pass the calling application's desktop file ID to the external installer process. A desktop file ID is the basename of the desktop file, including the @@ -2524,17 +3825,23 @@ A desktop file ID is the basename of the desktop file, including the If set, the desktop file ID will be passed to the installer via a --desktop-id= command line option. + - a #GstInstallPluginsContext + a #GstInstallPluginsContext - the desktop file ID of the calling application + the desktop file ID of the calling application @@ -2542,7 +3849,9 @@ If set, the desktop file ID will be passed to the installer via a - Sets the startup notification ID for the launched process. + Sets the startup notification ID for the launched process. This is typically used to to pass the current X11 event timestamp to the external installer process. @@ -2560,24 +3869,32 @@ like this: startup_id = g_strdup_printf ("_TIME%u", timestamp); ... ]| + - a #GstInstallPluginsContext + a #GstInstallPluginsContext - the startup notification ID + the startup notification ID - This function is for X11-based applications (such as most Gtk/Qt + This function is for X11-based applications (such as most Gtk/Qt applications on linux/unix) only. You can use it to tell the external installer the XID of your main application window. That way the installer can make its own window transient to your application window during the @@ -2599,17 +3916,23 @@ window like this: ##endif ... ]| + - a #GstInstallPluginsContext + a #GstInstallPluginsContext - the XWindow ID (XID) of the top-level application + the XWindow ID (XID) of the top-level application @@ -2617,15 +3940,21 @@ window like this: - The prototype of the callback function that will be called once the + The prototype of the callback function that will be called once the external plugin installer program has returned. You only need to provide a callback function if you are using the asynchronous interface. + - whether the installation of the requested plugins succeeded or not + whether the installation of the requested plugins succeeded or not nullable="1" allow-none="1" closure="1"> - the user data passed to gst_install_plugins_async() + the user data passed to gst_install_plugins_async() @@ -2642,7 +3973,9 @@ a callback function if you are using the asynchronous interface. glib:type-name="GstInstallPluginsReturn" glib:get-type="gst_install_plugins_return_get_type" c:type="GstInstallPluginsReturn"> - Result codes returned by gst_install_plugins_async() and + Result codes returned by gst_install_plugins_async() and gst_install_plugins_sync(), and also the result code passed to the #GstInstallPluginsResultFunc specified with gst_install_plugins_async(). @@ -2652,14 +3985,18 @@ program and to what extent the requested plugins could be installed. value="0" c:identifier="GST_INSTALL_PLUGINS_SUCCESS" glib:nick="success"> - all of the requested plugins could be + all of the requested plugins could be installed - no appropriate installation candidate for + no appropriate installation candidate for any of the requested plugins could be found. Only return this if nothing has been installed. Return #GST_INSTALL_PLUGINS_PARTIAL_SUCCESS if some (but not all) of the requested plugins could be installed. @@ -2668,7 +4005,9 @@ program and to what extent the requested plugins could be installed. value="2" c:identifier="GST_INSTALL_PLUGINS_ERROR" glib:nick="error"> - an error occured during the installation. If + an error occurred during the installation. If this happens, the user has already seen an error message and another one should not be displayed @@ -2676,33 +4015,43 @@ program and to what extent the requested plugins could be installed. value="3" c:identifier="GST_INSTALL_PLUGINS_PARTIAL_SUCCESS" glib:nick="partial-success"> - some of the requested plugins could + some of the requested plugins could be installed, but not all - the user has aborted the installation + the user has aborted the installation - the installer had an unclean exit code + the installer had an unclean exit code (ie. death by signal) - the helper returned an invalid status code + the helper returned an invalid status code - returned by gst_install_plugins_async() to + returned by gst_install_plugins_async() to indicate that everything went fine so far and the provided callback will be called with the result of the installation later @@ -2710,85 +4059,135 @@ program and to what extent the requested plugins could be installed. value="201" c:identifier="GST_INSTALL_PLUGINS_INTERNAL_FAILURE" glib:nick="internal-failure"> - some internal failure has - occured when trying to start the installer + some internal failure has + occurred when trying to start the installer - the helper script to call the + the helper script to call the actual installer is not installed - a previously-started plugin + a previously-started plugin installation is still in progress, try again later - Convenience function to return the descriptive string associated + Convenience function to return the descriptive string associated with a status code. This function returns English strings and should not be used for user messages. It is here only to assist in debugging. + - a descriptive string for the status code in @ret + a descriptive string for the status code in @ret - the return status code + the return status code + + + + + + + - The major version of GStreamer's gst-plugins-base libraries at compile time. + The major version of GStreamer's gst-plugins-base libraries at compile time. + - The micro version of GStreamer's gst-plugins-base libraries at compile time. + The micro version of GStreamer's gst-plugins-base libraries at compile time. + - The minor version of GStreamer's gst-plugins-base libraries at compile time. + The minor version of GStreamer's gst-plugins-base libraries at compile time. + - The nano version of GStreamer's gst-plugins-base libraries at compile time. + The nano version of GStreamer's gst-plugins-base libraries at compile time. Actual releases have 0, GIT versions have 1, prerelease versions have 2-... + - Sets the level and profile on @caps if it can be determined from + Sets the level and profile on @caps if it can be determined from @audio_config. See gst_codec_utils_aac_get_level() and gst_codec_utils_aac_get_profile() for more details on the parameters. @caps must be audio/mpeg caps with an "mpegversion" field of either 2 or 4. If mpegversion is 4, the "base-profile" field is also set in @caps. + - %TRUE if the level and profile could be set, %FALSE otherwise. + %TRUE if the level and profile could be set, %FALSE otherwise. - the #GstCaps to which level and profile fields are to be added + the #GstCaps to which level and profile fields are to be added - a pointer to the AudioSpecificConfig + a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. (See below for more details) @@ -2796,23 +4195,32 @@ If mpegversion is 4, the "base-profile" field is also set in @caps. - Length of @audio_config in bytes + Length of @audio_config in bytes - Returns the channels of the given AAC stream. + c:identifier="gst_codec_utils_aac_get_channels" + version="1.10"> + Returns the channels of the given AAC stream. + - The channels or 0 if the channel could not be determined. - -Since 1.10 + The channels or 0 if the channel could not be determined. - a pointer to the AudioSpecificConfig + a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. @@ -2820,29 +4228,41 @@ Since 1.10 - Length of @audio_config in bytes + Length of @audio_config in bytes - Translates the sample rate to the index corresponding to it in AAC spec. + Translates the sample rate to the index corresponding to it in AAC spec. + - The AAC index for this sample rate, -1 if the rate is not a + The AAC index for this sample rate, -1 if the rate is not a valid AAC sample rate. - Sample rate + Sample rate - Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC + Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC streams, the constraints from the AAC audio profile are applied. For AAC Main, LTP, SSR and others, the Main profile is used. @@ -2855,14 +4275,20 @@ most significant bit of the first byte: next 24 bits define the actual sample frequency, and subsequent fields are appropriately shifted). * Bit 9:12 contains the channel configuration + - The level as a const string and %NULL if the level could not be + The level as a const string and %NULL if the level could not be determined. - a pointer to the AudioSpecificConfig + a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. @@ -2870,24 +4296,34 @@ determined. - Length of @audio_config in bytes + Length of @audio_config in bytes - Returns the profile of the given AAC stream as a string. The profile is + Returns the profile of the given AAC stream as a string. The profile is normally determined using the AudioObjectType field which is in the first 5 bits of @audio_config + - The profile as a const string and %NULL if the profile could not be + The profile as a const string and %NULL if the profile could not be determined. - a pointer to the AudioSpecificConfig + a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. @@ -2895,24 +4331,33 @@ determined. - Length of @audio_config in bytes + Length of @audio_config in bytes - Translates the sample rate index found in AAC headers to the actual sample + c:identifier="gst_codec_utils_aac_get_sample_rate" + version="1.10"> + Translates the sample rate index found in AAC headers to the actual sample rate. + - The sample rate if sr_idx is valid, 0 otherwise. - -Since 1.10 + The sample rate if sr_idx is valid, 0 otherwise. - a pointer to the AudioSpecificConfig + a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. @@ -2920,22 +4365,32 @@ Since 1.10 - Length of @audio_config + Length of @audio_config - Translates the sample rate index found in AAC headers to the actual sample + Translates the sample rate index found in AAC headers to the actual sample rate. + - The sample rate if @sr_idx is valid, 0 otherwise. + The sample rate if @sr_idx is valid, 0 otherwise. - Sample rate index as from the AudioSpecificConfig (MPEG-4 + Sample rate index as from the AudioSpecificConfig (MPEG-4 container) or ADTS frame header @@ -2943,69 +4398,101 @@ rate. - Sets the level and profile in @caps if it can be determined from @sps. See + Sets the level and profile in @caps if it can be determined from @sps. See gst_codec_utils_h264_get_level() and gst_codec_utils_h264_get_profile() for more details on the parameters. + - %TRUE if the level and profile could be set, %FALSE otherwise. + %TRUE if the level and profile could be set, %FALSE otherwise. - the #GstCaps to which the level and profile are to be added + the #GstCaps to which the level and profile are to be added - Pointer to the sequence parameter set for the stream. + Pointer to the sequence parameter set for the stream. - Length of the data available in @sps. + Length of the data available in @sps. - Converts the level indication (level_idc) in the stream's + Converts the level indication (level_idc) in the stream's sequence parameter set into a string. The SPS is expected to have the same format as for gst_codec_utils_h264_get_profile(). + - The level as a const string, or %NULL if there is an error. + The level as a const string, or %NULL if there is an error. - Pointer to the sequence parameter set for the stream. + Pointer to the sequence parameter set for the stream. - Length of the data available in @sps. + Length of the data available in @sps. - Transform a level string from the caps into the level_idc + Transform a level string from the caps into the level_idc + - the level_idc or 0 if the level is unknown + the level_idc or 0 if the level is unknown - A level string from caps + A level string from caps - Converts the profile indication (profile_idc) in the stream's + Converts the profile indication (profile_idc) in the stream's sequence parameter set into a string. The SPS is expected to have the following format, as defined in the H.264 specification. The SPS is viewed as a bitstream here, with bit 0 being the most significant bit of the first @@ -3019,97 +4506,135 @@ byte. * Bit 12 - constraint_set3_flag * Bit 13:15 - Reserved * Bit 16:24 - Level indication + - The profile as a const string, or %NULL if there is an error. + The profile as a const string, or %NULL if there is an error. - Pointer to the sequence parameter set for the stream. + Pointer to the sequence parameter set for the stream. - Length of the data available in @sps. + Length of the data available in @sps. - Sets the level, tier and profile in @caps if it can be determined from + c:identifier="gst_codec_utils_h265_caps_set_level_tier_and_profile" + version="1.4"> + Sets the level, tier and profile in @caps if it can be determined from @profile_tier_level. See gst_codec_utils_h265_get_level(), gst_codec_utils_h265_get_tier() and gst_codec_utils_h265_get_profile() for more details on the parameters. + - %TRUE if the level, tier, profile could be set, %FALSE otherwise. - -Since 1.4 + %TRUE if the level, tier, profile could be set, %FALSE otherwise. - the #GstCaps to which the level, tier and profile are to be added + the #GstCaps to which the level, tier and profile are to be added - Pointer to the profile_tier_level + Pointer to the profile_tier_level struct - Length of the data available in @profile_tier_level. + Length of the data available in @profile_tier_level. - Converts the level indication (general_level_idc) in the stream's + c:identifier="gst_codec_utils_h265_get_level" + version="1.4"> + Converts the level indication (general_level_idc) in the stream's profile_tier_level structure into a string. The profiel_tier_level is expected to have the same format as for gst_codec_utils_h264_get_profile(). + - The level as a const string, or %NULL if there is an error. - -Since 1.4 + The level as a const string, or %NULL if there is an error. - Pointer to the profile_tier_level + Pointer to the profile_tier_level for the stream - Length of the data available in @profile_tier_level. + Length of the data available in @profile_tier_level. - Transform a level string from the caps into the level_idc + c:identifier="gst_codec_utils_h265_get_level_idc" + version="1.4"> + Transform a level string from the caps into the level_idc + - the level_idc or 0 if the level is unknown - -Since 1.4 + the level_idc or 0 if the level is unknown - A level string from caps + A level string from caps - Converts the profile indication (general_profile_idc) in the stream's + c:identifier="gst_codec_utils_h265_get_profile" + version="1.4"> + Converts the profile indication (general_profile_idc) in the stream's profile_level_tier structure into a string. The profile_tier_level is expected to have the following format, as defined in the H.265 specification. The profile_tier_level is viewed as a bitstream here, @@ -3123,125 +4648,172 @@ with bit 0 being the most significant bit of the first byte. * Bit 41 - general_interlaced_source_flag * Bit 42 - general_non_packed_constraint_flag * Bit 43 - general_frame_only_constraint_flag -* Bit 44:87 - general_reserved_zero_44bits +* Bit 44:87 - See below * Bit 88:95 - general_level_idc + - The profile as a const string, or %NULL if there is an error. - -Since 1.4 + The profile as a const string, or %NULL if there is an error. - Pointer to the profile_tier_level + Pointer to the profile_tier_level structure for the stream. - Length of the data available in @profile_tier_level + Length of the data available in @profile_tier_level - Converts the tier indication (general_tier_flag) in the stream's + c:identifier="gst_codec_utils_h265_get_tier" + version="1.4"> + Converts the tier indication (general_tier_flag) in the stream's profile_tier_level structure into a string. The profile_tier_level is expected to have the same format as for gst_codec_utils_h264_get_profile(). + - The tier as a const string, or %NULL if there is an error. - -Since 1.4 + The tier as a const string, or %NULL if there is an error. - Pointer to the profile_tier_level + Pointer to the profile_tier_level for the stream. - Length of the data available in @profile_tier_level. + Length of the data available in @profile_tier_level. - Sets the level and profile in @caps if it can be determined from + Sets the level and profile in @caps if it can be determined from @vis_obj_seq. See gst_codec_utils_mpeg4video_get_level() and gst_codec_utils_mpeg4video_get_profile() for more details on the parameters. + - %TRUE if the level and profile could be set, %FALSE otherwise. + %TRUE if the level and profile could be set, %FALSE otherwise. - the #GstCaps to which the level and profile are to be added + the #GstCaps to which the level and profile are to be added - Pointer to the visual object + Pointer to the visual object sequence for the stream. - Length of the data available in @sps. + Length of the data available in @sps. - Converts the level indication in the stream's visual object sequence into + Converts the level indication in the stream's visual object sequence into a string. @vis_obj_seq is expected to be the data following the visual object sequence start code. Only the first byte (profile_and_level_indication) is used. + - The level as a const string, or NULL if there is an error. + The level as a const string, or NULL if there is an error. - Pointer to the visual object + Pointer to the visual object sequence for the stream. - Length of the data available in @sps. + Length of the data available in @sps. - Converts the profile indication in the stream's visual object sequence into + Converts the profile indication in the stream's visual object sequence into a string. @vis_obj_seq is expected to be the data following the visual object sequence start code. Only the first byte (profile_and_level_indication) is used. + - The profile as a const string, or NULL if there is an error. + The profile as a const string, or NULL if there is an error. - Pointer to the visual object + Pointer to the visual object sequence for the stream. - Length of the data available in @sps. + Length of the data available in @sps. @@ -3249,38 +4821,56 @@ object sequence start code. Only the first byte - Creates Opus caps from the given parameters. + Creates Opus caps from the given parameters. + - The #GstCaps, or %NULL if the parameters would lead to + The #GstCaps, or %NULL if the parameters would lead to invalid Opus caps. - the sample rate + the sample rate - the number of channels + the number of channels - the channel mapping family + the channel mapping family - the number of independent streams + the number of independent streams - the number of stereo streams + the number of stereo streams - the mapping between the streams + the mapping between the streams @@ -3290,22 +4880,32 @@ invalid Opus caps. - Creates Opus caps from the given OpusHead @header and comment header + Creates Opus caps from the given OpusHead @header and comment header @comments. + - The #GstCaps. + The #GstCaps. - OpusHead header + OpusHead header - Comment header or NULL + Comment header or NULL @@ -3313,47 +4913,69 @@ invalid Opus caps. - Creates OpusHead header from the given parameters. + Creates OpusHead header from the given parameters. + - The #GstBuffer containing the OpusHead. + The #GstBuffer containing the OpusHead. - the sample rate + the sample rate - the number of channels + the number of channels - the channel mapping family + the channel mapping family - the number of independent streams + the number of independent streams - the number of stereo streams + the number of stereo streams - the mapping between the streams + the mapping between the streams - Pre-skip in 48kHz samples or 0 + Pre-skip in 48kHz samples or 0 - Output gain or 0 + Output gain or 0 @@ -3361,56 +4983,76 @@ invalid Opus caps. - Parses Opus caps and fills the different fields with defaults if possible. + Parses Opus caps and fills the different fields with defaults if possible. + - %TRUE if parsing was successful, %FALSE otherwise. + %TRUE if parsing was successful, %FALSE otherwise. - the #GstCaps to parse the data from + the #GstCaps to parse the data from - the sample rate + the sample rate - the number of channels + the number of channels - the channel mapping family + the channel mapping family - the number of independent streams + the number of independent streams - the number of stereo streams + the number of stereo streams - the mapping between the streams + the mapping between the streams @@ -3420,56 +5062,76 @@ invalid Opus caps. - Parses the OpusHead header. + Parses the OpusHead header. + - %TRUE if parsing was successful, %FALSE otherwise. + %TRUE if parsing was successful, %FALSE otherwise. - the OpusHead #GstBuffer + the OpusHead #GstBuffer - the sample rate + the sample rate - the number of channels + the number of channels - the channel mapping family + the channel mapping family - the number of independent streams + the number of independent streams - the number of stereo streams + the number of stereo streams - the mapping between the streams + the mapping between the streams @@ -3478,24 +5140,98 @@ invalid Opus caps. direction="out" caller-allocates="0" transfer-ownership="full"> - Pre-skip in 48kHz samples or 0 + Pre-skip in 48kHz samples or 0 - Output gain or 0 + Output gain or 0 + + Increments the reference count of @info. + + + + a #GstDiscovererInfo + + + + + Decrements the reference count of @info. + + + + a #GstDiscovererInfo + + + + + Increments the reference count of @info. + + + + a #GstDiscovererStreamInfo + + + + + Decrements the reference count of @info. + + + + a #GstDiscovererStreamInfo + + + - List all available #GstEncodingTarget for the specified category, or all categories + List all available #GstEncodingTarget for the specified category, or all categories if @categoryname is %NULL. + - The list of #GstEncodingTarget + The list of #GstEncodingTarget @@ -3505,7 +5241,9 @@ if @categoryname is %NULL. transfer-ownership="none" nullable="1" allow-none="1"> - The category, for ex: #GST_ENCODING_CATEGORY_DEVICE. + The category, for ex: #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL. @@ -3513,18 +5251,90 @@ Can be %NULL. - Lists all #GstEncodingTarget categories present on disk. + Lists all #GstEncodingTarget categories present on disk. + - A list + A list of #GstEncodingTarget categories. + + Increases the reference count of the @profile. + + + + a #GstEncodingProfile + + + + + Decreases the reference count of the @profile, possibly freeing the @profile. + + + + a #GstEncodingProfile + + + + + Increases the reference count of the @target. + + + + a #GstEncodingTarget + + + + + Decreases the reference count of the @target, possibly freeing it. + + + + a #GstEncodingTarget + + + - Requests plugin installation without blocking. Once the plugins have been + Requests plugin installation without blocking. Once the plugins have been installed or installation has failed, @func will be called with the result of the installation and your provided @user_data pointer. @@ -3540,13 +5350,19 @@ application via the provided API, such as gst_missing_element_message_new(). It is possible to request the installation of multiple missing plugins in one go (as might be required if there is a demuxer for a certain format installed but no suitable video decoder and no suitable audio decoder). + - result code whether an external installer could be started + result code whether an external installer could be started - NULL-terminated array + NULL-terminated array of installer string details (see below) @@ -3556,7 +5372,9 @@ installed but no suitable video decoder and no suitable audio decoder). transfer-ownership="none" nullable="1" allow-none="1"> - a #GstInstallPluginsContext, or NULL + a #GstInstallPluginsContext, or NULL @@ -3564,7 +5382,9 @@ installed but no suitable video decoder and no suitable audio decoder). transfer-ownership="none" scope="async" closure="3"> - the function to call when the installer program returns + the function to call when the installer program returns @@ -3572,52 +5392,76 @@ installed but no suitable video decoder and no suitable audio decoder). transfer-ownership="none" nullable="1" allow-none="1"> - the user data to pass to @func when called, or NULL + the user data to pass to @func when called, or NULL - Checks whether plugin installation (initiated by this application only) + Checks whether plugin installation (initiated by this application only) is currently in progress. + - TRUE if plugin installation is in progress, otherwise FALSE + TRUE if plugin installation is in progress, otherwise FALSE - Convenience function to return the descriptive string associated + Convenience function to return the descriptive string associated with a status code. This function returns English strings and should not be used for user messages. It is here only to assist in debugging. + - a descriptive string for the status code in @ret + a descriptive string for the status code in @ret - the return status code + the return status code - Checks whether plugin installation is likely to be supported by the + Checks whether plugin installation is likely to be supported by the current environment. This currently only checks whether the helper script that is to be provided by the distribution or operating system vendor exists. + - TRUE if plugin installation is likely to be supported. + TRUE if plugin installation is likely to be supported. - Requests plugin installation and block until the plugins have been + Requests plugin installation and block until the plugins have been installed or installation has failed. This function should almost never be used, it only exists for cases where @@ -3625,13 +5469,19 @@ a non-GLib main loop is running and the user wants to run it in a separate thread and marshal the result back asynchronously into the main thread using the other non-GLib main loop. You should almost always use gst_install_plugins_async() instead of this function. + - the result of the installation. + the result of the installation. - NULL-terminated array + NULL-terminated array of installer string details @@ -3641,7 +5491,9 @@ gst_install_plugins_async() instead of this function. transfer-ownership="none" nullable="1" allow-none="1"> - a #GstInstallPluginsContext, or NULL + a #GstInstallPluginsContext, or NULL @@ -3649,21 +5501,31 @@ gst_install_plugins_async() instead of this function. - Checks whether @msg is a missing plugins message. + Checks whether @msg is a missing plugins message. + - %TRUE if @msg is a missing-plugins message, otherwise %FALSE. + %TRUE if @msg is a missing-plugins message, otherwise %FALSE. - a #GstMessage + a #GstMessage - Returns an opaque string containing all the details about the missing + Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). @@ -3671,41 +5533,59 @@ This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. + - a newly-allocated detail string, or NULL on error. Free string + a newly-allocated detail string, or NULL on error. Free string with g_free() when not needed any longer. - the (fixed) caps for which a decoder element is needed + the (fixed) caps for which a decoder element is needed - Creates a missing-plugin message for @element to notify the application + Creates a missing-plugin message for @element to notify the application that a decoder element for a particular set of (fixed) caps is missing. This function is mainly for use in plugins. + - a new #GstMessage, or NULL on error + a new #GstMessage, or NULL on error - the #GstElement posting the message + the #GstElement posting the message - the (fixed) caps for which a decoder element is needed + the (fixed) caps for which a decoder element is needed - Returns an opaque string containing all the details about the missing + Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). @@ -3713,14 +5593,20 @@ This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. + - a newly-allocated detail string, or NULL on error. Free string + a newly-allocated detail string, or NULL on error. Free string with g_free() when not needed any longer. - the name of the missing element (element factory), + the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc" @@ -3728,20 +5614,30 @@ missing. - Creates a missing-plugin message for @element to notify the application + Creates a missing-plugin message for @element to notify the application that a certain required element is missing. This function is mainly for use in plugins. + - a new #GstMessage, or NULL on error + a new #GstMessage, or NULL on error - the #GstElement posting the message + the #GstElement posting the message - the name of the missing element (element factory), + the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc" @@ -3749,7 +5645,9 @@ use in plugins. - Returns an opaque string containing all the details about the missing + Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). @@ -3757,82 +5655,116 @@ This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. + - a newly-allocated detail string, or NULL on error. Free string + a newly-allocated detail string, or NULL on error. Free string with g_free() when not needed any longer. - the (fixed) caps for which an encoder element is needed + the (fixed) caps for which an encoder element is needed - Creates a missing-plugin message for @element to notify the application + Creates a missing-plugin message for @element to notify the application that an encoder element for a particular set of (fixed) caps is missing. This function is mainly for use in plugins. + - a new #GstMessage, or NULL on error + a new #GstMessage, or NULL on error - the #GstElement posting the message + the #GstElement posting the message - the (fixed) caps for which an encoder element is needed + the (fixed) caps for which an encoder element is needed - Returns a localised string describing the missing feature, for use in + Returns a localised string describing the missing feature, for use in error dialogs and the like. Should never return NULL unless @msg is not a valid missing-plugin message. This function is mainly for applications that need a human-readable string describing a missing plugin, given a previously collected missing-plugin message + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT + a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT - Returns an opaque string containing all the details about the missing + Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions. + - a newly-allocated detail string, or NULL on error. Free string + a newly-allocated detail string, or NULL on error. Free string with g_free() when not needed any longer. - a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT + a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT - Returns an opaque string containing all the details about the missing + Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). @@ -3840,14 +5772,20 @@ This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. + - a newly-allocated detail string, or NULL on error. Free string + a newly-allocated detail string, or NULL on error. Free string with g_free() when not needed any longer. - the URI protocol the missing source needs to implement, + the URI protocol the missing source needs to implement, e.g. "http" or "mms" @@ -3855,20 +5793,30 @@ missing. - Creates a missing-plugin message for @element to notify the application + Creates a missing-plugin message for @element to notify the application that a sink element for a particular URI protocol is missing. This function is mainly for use in plugins. + - a new #GstMessage, or NULL on error + a new #GstMessage, or NULL on error - the #GstElement posting the message + the #GstElement posting the message - the URI protocol the missing sink needs to implement, + the URI protocol the missing sink needs to implement, e.g. "http" or "smb" @@ -3876,7 +5824,9 @@ function is mainly for use in plugins. - Returns an opaque string containing all the details about the missing + Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). @@ -3884,14 +5834,20 @@ This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. + - a newly-allocated detail string, or NULL on error. Free string + a newly-allocated detail string, or NULL on error. Free string with g_free() when not needed any longer. - the URI protocol the missing source needs to implement, + the URI protocol the missing source needs to implement, e.g. "http" or "mms" @@ -3899,20 +5855,30 @@ missing. - Creates a missing-plugin message for @element to notify the application + Creates a missing-plugin message for @element to notify the application that a source element for a particular URI protocol is missing. This function is mainly for use in plugins. + - a new #GstMessage, or NULL on error + a new #GstMessage, or NULL on error - the #GstElement posting the message + the #GstElement posting the message - the URI protocol the missing source needs to implement, + the URI protocol the missing source needs to implement, e.g. "http" or "mms" @@ -3920,170 +5886,237 @@ function is mainly for use in plugins. - Adds a codec tag describing the format specified by @caps to @taglist. + Adds a codec tag describing the format specified by @caps to @taglist. + - TRUE if a codec tag was added, FALSE otherwise. + TRUE if a codec tag was added, FALSE otherwise. - a #GstTagList + a #GstTagList - a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC, + a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC, #GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC. If none is specified, the function will attempt to detect the appropriate category. - the (fixed) #GstCaps for which a codec tag should be added. + the (fixed) #GstCaps for which a codec tag should be added. - Returns a localised (as far as this is possible) string describing the + Returns a localised (as far as this is possible) string describing the media format specified in @caps, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @caps is invalid. Also see the convenience function gst_pb_utils_add_codec_description_to_tag_list(). + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - the (fixed) #GstCaps for which an format description is needed + the (fixed) #GstCaps for which an format description is needed - Returns a localised string describing an decoder for the format specified + Returns a localised string describing an decoder for the format specified in @caps, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @factory_name or @caps are invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - the (fixed) #GstCaps for which an decoder description is needed + the (fixed) #GstCaps for which an decoder description is needed - Returns a localised string describing the given element, for use in + Returns a localised string describing the given element, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @factory_name is invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - the name of the element, e.g. "giosrc" + the name of the element, e.g. "giosrc" - Returns a localised string describing an encoder for the format specified + Returns a localised string describing an encoder for the format specified in @caps, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @factory_name or @caps are invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - the (fixed) #GstCaps for which an encoder description is needed + the (fixed) #GstCaps for which an encoder description is needed - Returns a localised string describing a sink element handling the protocol + Returns a localised string describing a sink element handling the protocol specified in @protocol, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @protocol is invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - the protocol the sink element needs to handle, e.g. "http" + the protocol the sink element needs to handle, e.g. "http" - Returns a localised string describing a source element handling the protocol + Returns a localised string describing a source element handling the protocol specified in @protocol, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @protocol is invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. + - a newly-allocated description string, or NULL on error. Free + a newly-allocated description string, or NULL on error. Free string with g_free() when not needed any longer. - the protocol the source element needs to handle, e.g. "http" + the protocol the source element needs to handle, e.g. "http" - Initialises the base utils support library. This function is not + Initialises the base utils support library. This function is not thread-safe. Applications should call it after calling gst_init(), plugins should call it from their plugin_init function. This function may be called multiple times. It will do nothing if the library has already been initialised. + - Gets the version number of the GStreamer Plugins Base libraries. + Gets the version number of the GStreamer Plugins Base libraries. + @@ -4092,39 +6125,53 @@ library has already been initialised. direction="out" caller-allocates="0" transfer-ownership="full"> - pointer to a guint to store the major version number, or %NULL + pointer to a guint to store the major version number, or %NULL - pointer to a guint to store the minor version number, or %NULL + pointer to a guint to store the minor version number, or %NULL - pointer to a guint to store the micro version number, or %NULL + pointer to a guint to store the micro version number, or %NULL - pointer to a guint to store the nano version number, or %NULL + pointer to a guint to store the nano version number, or %NULL - This function returns a string that is useful for describing this version + This function returns a string that is useful for describing this version of GStreamer's gst-plugins-base libraries to the outside world: user agent strings, logging, about dialogs ... + - a newly allocated string describing this version of gst-plugins-base + a newly allocated string describing this version of gst-plugins-base diff --git a/girs/GstRtp-1.0.gir b/girs/GstRtp-1.0.gir index bbfc42c368..f6f004ca3b 100644 --- a/girs/GstRtp-1.0.gir +++ b/girs/GstRtp-1.0.gir @@ -15,8 +15,70 @@ and/or use gtk-doc annotations. --> shared-library="libgstrtp-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Note: The API in this module is not yet declared stable. + Note: The API in this module is not yet declared stable. The GstRTPCBuffer helper functions makes it easy to parse and create regular #GstBuffer objects that contain compound RTCP packets. These buffers are typically @@ -26,6 +88,7 @@ An RTCP buffer consists of 1 or more #GstRTCPPacket structures that you can retrieve with gst_rtcp_buffer_get_first_packet(). #GstRTCPPacket acts as a pointer into the RTCP buffer; you can move to the next packet with gst_rtcp_packet_move_to_next(). + @@ -33,189 +96,281 @@ gst_rtcp_packet_move_to_next(). - Add a new packet of @type to @rtcp. @packet will point to the newly created + Add a new packet of @type to @rtcp. @packet will point to the newly created packet. + - %TRUE if the packet could be created. This function returns %FALSE + %TRUE if the packet could be created. This function returns %FALSE if the max mtu is exceeded for the buffer. - a valid RTCP buffer + a valid RTCP buffer - the #GstRTCPType of the new packet + the #GstRTCPType of the new packet - pointer to new packet + pointer to new packet - Initialize a new #GstRTCPPacket pointer that points to the first packet in + Initialize a new #GstRTCPPacket pointer that points to the first packet in @rtcp. + - TRUE if the packet existed in @rtcp. + TRUE if the packet existed in @rtcp. - a valid RTCP buffer + a valid RTCP buffer - a #GstRTCPPacket + a #GstRTCPPacket - Get the number of RTCP packets in @rtcp. + Get the number of RTCP packets in @rtcp. + - the number of RTCP packets in @rtcp. + the number of RTCP packets in @rtcp. - a valid RTCP buffer + a valid RTCP buffer - Finish @rtcp after being constructed. This function is usually called + Finish @rtcp after being constructed. This function is usually called after gst_rtcp_buffer_map() and after adding the RTCP items to the new buffer. The function adjusts the size of @rtcp with the total length of all the added packets. + - a buffer with an RTCP packet + a buffer with an RTCP packet - Open @buffer for reading or writing, depending on @flags. The resulting RTCP + Open @buffer for reading or writing, depending on @flags. The resulting RTCP buffer state is stored in @rtcp. + - a buffer with an RTCP packet + a buffer with an RTCP packet - flags for the mapping + flags for the mapping - resulting #GstRTCPBuffer + resulting #GstRTCPBuffer - Create a new buffer for constructing RTCP packets. The packet will have a + Create a new buffer for constructing RTCP packets. The packet will have a maximum size of @mtu. + - A newly allocated buffer. + A newly allocated buffer. - the maximum mtu size. + the maximum mtu size. - Create a new buffer and set the data to a copy of @len + Create a new buffer and set the data to a copy of @len bytes of @data and the size to @len. The data will be freed when the buffer is freed. + - A newly allocated buffer with a copy of @data and of size @len. + A newly allocated buffer with a copy of @data and of size @len. - data for the new buffer + data for the new buffer - the length of data + the length of data - Create a new buffer and set the data and size of the buffer to @data and @len + Create a new buffer and set the data and size of the buffer to @data and @len respectively. @data will be freed when the buffer is unreffed, so this function transfers ownership of @data to the new buffer. + - A newly allocated buffer with @data and of size @len. + A newly allocated buffer with @data and of size @len. - data for the new buffer + data for the new buffer - the length of data + the length of data - Check if the data pointed to by @buffer is a valid RTCP packet using + Check if the data pointed to by @buffer is a valid RTCP packet using gst_rtcp_buffer_validate_data(). + - TRUE if @buffer is a valid RTCP packet. + TRUE if @buffer is a valid RTCP packet. - the buffer to validate + the buffer to validate - Check if the @data and @size point to the data of a valid compound, + Check if the @data and @size point to the data of a valid compound, non-reduced size RTCP packet. Use this function to validate a packet before using the other functions in this module. + - TRUE if the data points to a valid RTCP packet. + TRUE if the data points to a valid RTCP packet. - the data to validate + the data to validate - the length of @data to validate + the length of @data to validate @@ -223,26 +378,36 @@ this module. - Check if the @data and @size point to the data of a valid RTCP packet. + Check if the @data and @size point to the data of a valid RTCP packet. Use this function to validate a packet before using the other functions in this module. This function is updated to support reduced size rtcp packets according to RFC 5506 and will validate full compound RTCP packets as well as reduced size RTCP packets. + - TRUE if the data points to a valid RTCP packet. + TRUE if the data points to a valid RTCP packet. - the data to validate + the data to validate - the length of @data to validate + the length of @data to validate @@ -250,15 +415,23 @@ size RTCP packets. - Check if the data pointed to by @buffer is a valid RTCP packet using + Check if the data pointed to by @buffer is a valid RTCP packet using gst_rtcp_buffer_validate_reduced(). + - TRUE if @buffer is a valid RTCP packet. + TRUE if @buffer is a valid RTCP packet. - the buffer to validate + the buffer to validate @@ -268,97 +441,137 @@ gst_rtcp_buffer_validate_reduced(). glib:type-name="GstRTCPFBType" glib:get-type="gst_rtcpfb_type_get_type" c:type="GstRTCPFBType"> - Different types of feedback messages. + Different types of feedback messages. - Invalid type + Invalid type - Generic NACK + Generic NACK - Temporary Maximum Media Stream Bit Rate Request + Temporary Maximum Media Stream Bit Rate Request - Temporary Maximum Media Stream Bit Rate + Temporary Maximum Media Stream Bit Rate Notification - Request an SR packet for early + Request an SR packet for early synchronization + + - Picture Loss Indication + Picture Loss Indication - Slice Loss Indication + Slice Loss Indication - Reference Picture Selection Indication + Reference Picture Selection Indication - Application layer Feedback + Application layer Feedback - Full Intra Request Command + Full Intra Request Command - Temporal-Spatial Trade-off Request + Temporal-Spatial Trade-off Request - Temporal-Spatial Trade-off Notification + Temporal-Spatial Trade-off Notification - Video Back Channel Message + Video Back Channel Message - Data structure that points to a packet at @offset in @buffer. + Data structure that points to a packet at @offset in @buffer. The size of the structure is made public to allow stack allocations. + - pointer to RTCP buffer + pointer to RTCP buffer - offset of packet in buffer data + offset of packet in buffer data @@ -384,69 +597,103 @@ The size of the structure is made public to allow stack allocations. - Add profile-specific extension @data to @packet. If @packet already + Add profile-specific extension @data to @packet. If @packet already contains profile-specific extension @data will be appended to the existing extension. + - %TRUE if the profile specific extension data was added. + %TRUE if the profile specific extension data was added. - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - profile-specific data + profile-specific data - length of the profile-specific data in bytes + length of the profile-specific data in bytes - Add a new report block to @packet with the given values. + Add a new report block to @packet with the given values. + - %TRUE if the packet was created. This function can return %FALSE if + %TRUE if the packet was created. This function can return %FALSE if the max MTU is exceeded or the number of report blocks is greater than #GST_RTCP_MAX_RB_COUNT. - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - data source being reported + data source being reported - fraction lost since last SR/RR + fraction lost since last SR/RR - the cumululative number of packets lost + the cumululative number of packets lost - the extended last sequence number received + the extended last sequence number received - the interarrival jitter + the interarrival jitter - the last SR packet from this source + the last SR packet from this source - the delay since last SR packet + the delay since last SR packet @@ -454,14 +701,22 @@ the max MTU is exceeded or the number of report blocks is greater than - Get the application-dependent data attached to a RTPFB or PSFB @packet. + Get the application-dependent data attached to a RTPFB or PSFB @packet. + - A pointer to the data + A pointer to the data - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket @@ -469,15 +724,23 @@ the max MTU is exceeded or the number of report blocks is greater than - Get the length of the application-dependent data attached to an APP + Get the length of the application-dependent data attached to an APP @packet. + - The length of data in 32-bit words. + The length of data in 32-bit words. - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket @@ -485,14 +748,22 @@ the max MTU is exceeded or the number of report blocks is greater than - Get the name field of the APP @packet. + Get the name field of the APP @packet. + - The 4-byte name field, not zero-terminated. + The 4-byte name field, not zero-terminated. - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket @@ -500,14 +771,22 @@ the max MTU is exceeded or the number of report blocks is greater than - Get the SSRC/CSRC field of the APP @packet. + Get the SSRC/CSRC field of the APP @packet. + - The SSRC/CSRC. + The SSRC/CSRC. - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket @@ -515,14 +794,22 @@ the max MTU is exceeded or the number of report blocks is greater than - Get the subtype field of the APP @packet. + Get the subtype field of the APP @packet. + - The subtype. + The subtype. - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket @@ -530,20 +817,30 @@ the max MTU is exceeded or the number of report blocks is greater than - Set the length of the application-dependent data attached to an APP + Set the length of the application-dependent data attached to an APP @packet. + - %TRUE if there was enough space in the packet to add this much + %TRUE if there was enough space in the packet to add this much data. - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket - Length of the data in 32-bit words + Length of the data in 32-bit words @@ -551,17 +848,25 @@ data. - Set the name field of the APP @packet. + Set the name field of the APP @packet. + - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket - 4-byte ASCII name + 4-byte ASCII name @@ -569,17 +874,25 @@ data. - Set the SSRC/CSRC field of the APP @packet. + Set the SSRC/CSRC field of the APP @packet. + - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket - SSRC/CSRC of the packet + SSRC/CSRC of the packet @@ -587,164 +900,248 @@ data. - Set the subtype field of the APP @packet. + Set the subtype field of the APP @packet. + - a valid APP #GstRTCPPacket + a valid APP #GstRTCPPacket - subtype of the packet + subtype of the packet - Add @ssrc to the BYE @packet. + Add @ssrc to the BYE @packet. + - %TRUE if the ssrc was added. This function can return %FALSE if + %TRUE if the ssrc was added. This function can return %FALSE if the max MTU is exceeded or the number of sources blocks is greater than #GST_RTCP_MAX_BYE_SSRC_COUNT. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - an SSRC to add + an SSRC to add - Adds @len SSRCs in @ssrc to BYE @packet. + Adds @len SSRCs in @ssrc to BYE @packet. + - %TRUE if the all the SSRCs were added. This function can return %FALSE if + %TRUE if the all the SSRCs were added. This function can return %FALSE if the max MTU is exceeded or the number of sources blocks is greater than #GST_RTCP_MAX_BYE_SSRC_COUNT. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - an array of SSRCs to add + an array of SSRCs to add - number of elements in @ssrc + number of elements in @ssrc - Get the @nth SSRC of the BYE @packet. + Get the @nth SSRC of the BYE @packet. + - The @nth SSRC of @packet. + The @nth SSRC of @packet. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - the nth SSRC to get + the nth SSRC to get - Get the reason in @packet. + Get the reason in @packet. + - The reason for the BYE @packet or NULL if the packet did not contain + The reason for the BYE @packet or NULL if the packet did not contain a reason string. The string must be freed with g_free() after usage. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - Get the length of the reason string. + Get the length of the reason string. + - The length of the reason string or 0 when there is no reason string + The length of the reason string or 0 when there is no reason string present. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - Get the number of SSRC fields in @packet. + Get the number of SSRC fields in @packet. + - The number of SSRC fields in @packet. + The number of SSRC fields in @packet. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - Set the reason string to @reason in @packet. + Set the reason string to @reason in @packet. + - TRUE if the string could be set. + TRUE if the string could be set. - a valid BYE #GstRTCPPacket + a valid BYE #GstRTCPPacket - a reason string + a reason string - The profile-specific extension data is copied into a new allocated + The profile-specific extension data is copied into a new allocated memory area @data. This must be freed with g_free() after usage. + - %TRUE if there was valid data. + %TRUE if there was valid data. - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - result profile-specific data + result profile-specific data @@ -753,206 +1150,314 @@ memory area @data. This must be freed with g_free() after usage. direction="out" caller-allocates="0" transfer-ownership="full"> - length of the profile-specific extension data + length of the profile-specific extension data - Get the Feedback Control Information attached to a RTPFB or PSFB @packet. + Get the Feedback Control Information attached to a RTPFB or PSFB @packet. + - a pointer to the FCI + a pointer to the FCI - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - Get the length of the Feedback Control Information attached to a + Get the length of the Feedback Control Information attached to a RTPFB or PSFB @packet. + - The length of the FCI in 32-bit words. + The length of the FCI in 32-bit words. - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - Get the media SSRC field of the RTPFB or PSFB @packet. + Get the media SSRC field of the RTPFB or PSFB @packet. + - the media SSRC. + the media SSRC. - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - Get the sender SSRC field of the RTPFB or PSFB @packet. + Get the sender SSRC field of the RTPFB or PSFB @packet. + - the sender SSRC. + the sender SSRC. - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - Get the feedback message type of the FB @packet. + Get the feedback message type of the FB @packet. + - The feedback message type. + The feedback message type. - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - Set the length of the Feedback Control Information attached to a + Set the length of the Feedback Control Information attached to a RTPFB or PSFB @packet. + - %TRUE if there was enough space in the packet to add this much FCI + %TRUE if there was enough space in the packet to add this much FCI - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - Length of the FCI in 32-bit words + Length of the FCI in 32-bit words - Set the media SSRC field of the RTPFB or PSFB @packet. + Set the media SSRC field of the RTPFB or PSFB @packet. + - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - a media SSRC + a media SSRC - Set the sender SSRC field of the RTPFB or PSFB @packet. + Set the sender SSRC field of the RTPFB or PSFB @packet. + - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - a sender SSRC + a sender SSRC - Set the feedback message type of the FB @packet. + Set the feedback message type of the FB @packet. + - a valid RTPFB or PSFB #GstRTCPPacket + a valid RTPFB or PSFB #GstRTCPPacket - the #GstRTCPFBType to set + the #GstRTCPFBType to set - Get the count field in @packet. + Get the count field in @packet. + - The count field in @packet or -1 if @packet does not point to a + The count field in @packet or -1 if @packet does not point to a valid packet. - a valid #GstRTCPPacket + a valid #GstRTCPPacket - Get the length field of @packet. This is the length of the packet in + Get the length field of @packet. This is the length of the packet in 32-bit words minus one. + - The length field of @packet. + The length field of @packet. - a valid #GstRTCPPacket + a valid #GstRTCPPacket - Get the packet padding of the packet pointed to by @packet. + Get the packet padding of the packet pointed to by @packet. + - If the packet has the padding bit set. + If the packet has the padding bit set. - a valid #GstRTCPPacket + a valid #GstRTCPPacket + - %TRUE if there was valid data. + %TRUE if there was valid data. - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - result profile-specific data + result profile-specific data @@ -961,199 +1466,291 @@ valid packet. direction="out" caller-allocates="0" transfer-ownership="full"> - result length of the profile-specific data + result length of the profile-specific data + - The number of 32-bit words containing profile-specific extension + The number of 32-bit words containing profile-specific extension data from @packet. - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - Parse the values of the @nth report block in @packet and store the result in + Parse the values of the @nth report block in @packet and store the result in the values. + - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - the nth report block in @packet + the nth report block in @packet - result for data source being reported + result for data source being reported - result for fraction lost since last SR/RR + result for fraction lost since last SR/RR - result for the cumululative number of packets lost + result for the cumululative number of packets lost - result for the extended last sequence number received + result for the extended last sequence number received - result for the interarrival jitter + result for the interarrival jitter - result for the last SR packet from this source + result for the last SR packet from this source - result for the delay since last SR packet + result for the delay since last SR packet - Get the number of report blocks in @packet. + Get the number of report blocks in @packet. + - The number of report blocks in @packet. + The number of report blocks in @packet. - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - Get the packet type of the packet pointed to by @packet. + Get the packet type of the packet pointed to by @packet. + - The packet type or GST_RTCP_TYPE_INVALID when @packet is not + The packet type or GST_RTCP_TYPE_INVALID when @packet is not pointing to a valid packet. - a valid #GstRTCPPacket + a valid #GstRTCPPacket - Move the packet pointer @packet to the next packet in the payload. + Move the packet pointer @packet to the next packet in the payload. Use gst_rtcp_buffer_get_first_packet() to initialize @packet. + - TRUE if @packet is pointing to a valid packet after calling this + TRUE if @packet is pointing to a valid packet after calling this function. - a #GstRTCPPacket + a #GstRTCPPacket - Removes the packet pointed to by @packet and moves pointer to the next one + Removes the packet pointed to by @packet and moves pointer to the next one + - TRUE if @packet is pointing to a valid packet after calling this + TRUE if @packet is pointing to a valid packet after calling this function. - a #GstRTCPPacket + a #GstRTCPPacket - Get the ssrc field of the RR @packet. + Get the ssrc field of the RR @packet. + - the ssrc. + the ssrc. - a valid RR #GstRTCPPacket + a valid RR #GstRTCPPacket - Set the ssrc field of the RR @packet. + Set the ssrc field of the RR @packet. + - a valid RR #GstRTCPPacket + a valid RR #GstRTCPPacket - the SSRC to set + the SSRC to set - Add a new SDES entry to the current item in @packet. + Add a new SDES entry to the current item in @packet. + - %TRUE if the item could be added, %FALSE if the MTU has been + %TRUE if the item could be added, %FALSE if the MTU has been reached. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - the #GstRTCPSDESType of the SDES entry + the #GstRTCPSDESType of the SDES entry - the data length + the data length - the data + the data @@ -1162,52 +1759,76 @@ reached. - Add a new SDES item for @ssrc to @packet. + Add a new SDES item for @ssrc to @packet. + - %TRUE if the item could be added, %FALSE if the maximum amount of + %TRUE if the item could be added, %FALSE if the maximum amount of items has been exceeded for the SDES packet or the MTU has been reached. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - the SSRC of the new item to add + the SSRC of the new item to add - This function is like gst_rtcp_packet_sdes_get_entry() but it returns a + This function is like gst_rtcp_packet_sdes_get_entry() but it returns a null-terminated copy of the data instead. use g_free() after usage. + - %TRUE if there was valid data. + %TRUE if there was valid data. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - result of the entry type + result of the entry type - result length of the entry data + result length of the entry data - result entry data + result entry data @@ -1216,66 +1837,96 @@ null-terminated copy of the data instead. use g_free() after usage. - Move to the first SDES entry in the current item. + Move to the first SDES entry in the current item. + - %TRUE if there was a first entry. + %TRUE if there was a first entry. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - Move to the first SDES item in @packet. + Move to the first SDES item in @packet. + - TRUE if there was a first item. + TRUE if there was a first item. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - Get the data of the current SDES item entry. @type (when not NULL) will + Get the data of the current SDES item entry. @type (when not NULL) will contain the type of the entry. @data (when not NULL) will point to @len bytes. When @type refers to a text item, @data will point to a UTF8 string. Note that this UTF8 string is NOT null-terminated. Use gst_rtcp_packet_sdes_copy_entry() to get a null-terminated copy of the entry. + - %TRUE if there was valid data. + %TRUE if there was valid data. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - result of the entry type + result of the entry type - result length of the entry data + result length of the entry data - result entry data + result entry data @@ -1284,183 +1935,269 @@ gst_rtcp_packet_sdes_copy_entry() to get a null-terminated copy of the entry. - Get the number of items in the SDES packet @packet. + Get the number of items in the SDES packet @packet. + - The number of items in @packet. + The number of items in @packet. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - Get the SSRC of the current SDES item. + Get the SSRC of the current SDES item. + - the SSRC of the current item. + the SSRC of the current item. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - Move to the next SDES entry in the current item. + Move to the next SDES entry in the current item. + - %TRUE if there was a next entry. + %TRUE if there was a next entry. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - Move to the next SDES item in @packet. + Move to the next SDES item in @packet. + - TRUE if there was a next item. + TRUE if there was a next item. - a valid SDES #GstRTCPPacket + a valid SDES #GstRTCPPacket - Set the @nth new report block in @packet with the given values. + Set the @nth new report block in @packet with the given values. Note: Not implemented. + - a valid SR or RR #GstRTCPPacket + a valid SR or RR #GstRTCPPacket - the nth report block to set + the nth report block to set - data source being reported + data source being reported - fraction lost since last SR/RR + fraction lost since last SR/RR - the cumululative number of packets lost + the cumululative number of packets lost - the extended last sequence number received + the extended last sequence number received - the interarrival jitter + the interarrival jitter - the last SR packet from this source + the last SR packet from this source - the delay since last SR packet + the delay since last SR packet - Parse the SR sender info and store the values. + Parse the SR sender info and store the values. + - a valid SR #GstRTCPPacket + a valid SR #GstRTCPPacket - result SSRC + result SSRC - result NTP time + result NTP time - result RTP time + result RTP time - result packet count + result packet count - result octet count + result octet count - Set the given values in the SR packet @packet. + Set the given values in the SR packet @packet. + - a valid SR #GstRTCPPacket + a valid SR #GstRTCPPacket - the SSRC + the SSRC - the NTP time + the NTP time - the RTP time + the RTP time - the packet count + the packet count - the octet count + the octet count @@ -1468,14 +2205,22 @@ Note: Not implemented. - Move to the first extended report block in XR @packet. + Move to the first extended report block in XR @packet. + - TRUE if there was a first extended report block. + TRUE if there was a first extended report block. - a valid XR #GstRTCPPacket + a valid XR #GstRTCPPacket @@ -1483,14 +2228,20 @@ Note: Not implemented. + - The number of 32-bit words containing type-specific block + The number of 32-bit words containing type-specific block data from @packet. - a valid XR #GstRTCPPacket + a valid XR #GstRTCPPacket @@ -1498,14 +2249,22 @@ Note: Not implemented. - Get the extended report block type of the XR @packet. + Get the extended report block type of the XR @packet. + - The extended report block type. + The extended report block type. - a valid XR #GstRTCPPacket + a valid XR #GstRTCPPacket @@ -1513,30 +2272,46 @@ Note: Not implemented. - Parse the extended report block for DLRR report block type. + Parse the extended report block for DLRR report block type. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has DLRR Report Block. + a valid XR #GstRTCPPacket which has DLRR Report Block. - the index of sub-block to retrieve. + the index of sub-block to retrieve. - the SSRC of the receiver. + the SSRC of the receiver. - the last receiver reference timestamp of @ssrc. + the last receiver reference timestamp of @ssrc. - the delay since @last_rr. + the delay since @last_rr. @@ -1544,22 +2319,34 @@ Note: Not implemented. - Retrieve the packet receipt time of @seq which ranges in [begin_seq, end_seq). + Retrieve the packet receipt time of @seq which ranges in [begin_seq, end_seq). + - %TRUE if the report block returns the receipt time correctly. + %TRUE if the report block returns the receipt time correctly. - a valid XR #GstRTCPPacket which has the Packet Recept Times Report Block. + a valid XR #GstRTCPPacket which has the Packet Recept Times Report Block. - the sequence to retrieve the time. + the sequence to retrieve the time. - the packet receipt time of @seq. + the packet receipt time of @seq. @@ -1567,30 +2354,46 @@ Note: Not implemented. - Parse the Packet Recept Times Report Block from a XR @packet + Parse the Packet Recept Times Report Block from a XR @packet + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has a Packet Receipt Times Report Block + a valid XR #GstRTCPPacket which has a Packet Receipt Times Report Block - the SSRC of the RTP data packet source being reported upon by this report block. + the SSRC of the RTP data packet source being reported upon by this report block. - the amount of thinning performed on the sequence number space. + the amount of thinning performed on the sequence number space. - the first sequence number that this block reports on. + the first sequence number that this block reports on. - the last sequence number that this block reports on plus one. + the last sequence number that this block reports on plus one. @@ -1598,34 +2401,52 @@ Note: Not implemented. - Parse the extended report block for Loss RLE and Duplicated LRE block type. + Parse the extended report block for Loss RLE and Duplicated LRE block type. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report. + a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report. - the SSRC of the RTP data packet source being reported upon by this report block. + the SSRC of the RTP data packet source being reported upon by this report block. - the amount of thinning performed on the sequence number space. + the amount of thinning performed on the sequence number space. - the first sequence number that this block reports on. + the first sequence number that this block reports on. - the last sequence number that this block reports on plus one. + the last sequence number that this block reports on plus one. - the number of chunks calculated by block length. + the number of chunks calculated by block length. @@ -1633,22 +2454,34 @@ Note: Not implemented. - Retrieve actual chunk data. + Retrieve actual chunk data. + - %TRUE if the report block returns chunk correctly. + %TRUE if the report block returns chunk correctly. - a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report. + a valid XR #GstRTCPPacket which is Loss RLE or Duplicate RLE report. - the index of chunk to retrieve. + the index of chunk to retrieve. - the @nth chunk. + the @nth chunk. @@ -1656,17 +2489,25 @@ Note: Not implemented. + - %TRUE if the report block returns the reference time correctly. + %TRUE if the report block returns the reference time correctly. - a valid XR #GstRTCPPacket which has the Receiver Reference Time. + a valid XR #GstRTCPPacket which has the Receiver Reference Time. - NTP timestamp + NTP timestamp @@ -1674,14 +2515,22 @@ Note: Not implemented. - Get the ssrc field of the XR @packet. + Get the ssrc field of the XR @packet. + - the ssrc. + the ssrc. - a valid XR #GstRTCPPacket + a valid XR #GstRTCPPacket @@ -1689,26 +2538,40 @@ Note: Not implemented. - Extract a basic information from static summary report block of XR @packet. + Extract a basic information from static summary report block of XR @packet. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has Statics Summary Report Block. + a valid XR #GstRTCPPacket which has Statics Summary Report Block. - the SSRC of the source. + the SSRC of the source. - the first sequence number that this block reports on. + the first sequence number that this block reports on. - the last sequence number that this block reports on plus one. + the last sequence number that this block reports on plus one. @@ -1716,31 +2579,47 @@ Note: Not implemented. - Extract jitter information from the statistics summary. If the jitter flag in + Extract jitter information from the statistics summary. If the jitter flag in a block header is set as zero, all of jitters will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has Statics Summary Report Block. + a valid XR #GstRTCPPacket which has Statics Summary Report Block. - the minimum relative transit time between two sequences. + the minimum relative transit time between two sequences. - the maximum relative transit time between two sequences. + the maximum relative transit time between two sequences. - the mean relative transit time between two sequences. + the mean relative transit time between two sequences. - the standard deviation of the relative transit time between two sequences. + the standard deviation of the relative transit time between two sequences. @@ -1748,23 +2627,35 @@ a block header is set as zero, all of jitters will be zero. - Get the number of lost or duplicate packets. If the flag in a block header + Get the number of lost or duplicate packets. If the flag in a block header is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has Statics Summary Report Block. + a valid XR #GstRTCPPacket which has Statics Summary Report Block. - the number of lost packets between begin_seq and end_seq. + the number of lost packets between begin_seq and end_seq. - the number of duplicate packets between begin_seq and end_seq. + the number of duplicate packets between begin_seq and end_seq. @@ -1772,34 +2663,52 @@ is set as zero, @lost_packets or @dup_packets will be zero. - Extract the value of ttl for ipv4, or hop limit for ipv6. + Extract the value of ttl for ipv4, or hop limit for ipv6. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has Statics Summary Report Block. + a valid XR #GstRTCPPacket which has Statics Summary Report Block. - the flag to indicate that the return values are ipv4 ttl or ipv6 hop limits. + the flag to indicate that the return values are ipv4 ttl or ipv6 hop limits. - the minimum TTL or Hop Limit value of data packets between two sequences. + the minimum TTL or Hop Limit value of data packets between two sequences. - the maximum TTL or Hop Limit value of data packets between two sequences. + the maximum TTL or Hop Limit value of data packets between two sequences. - the mean TTL or Hop Limit value of data packets between two sequences. + the mean TTL or Hop Limit value of data packets between two sequences. - the standard deviation of the TTL or Hop Limit value of data packets between two sequences. + the standard deviation of the TTL or Hop Limit value of data packets between two sequences. @@ -1807,29 +2716,43 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the fraction of RTP data packets within burst periods. + the fraction of RTP data packets within burst periods. - the fraction of RTP data packets within inter-burst gaps. + the fraction of RTP data packets within inter-burst gaps. - the mean duration(ms) of the burst periods. + the mean duration(ms) of the burst periods. - the mean duration(ms) of the gap periods. + the mean duration(ms) of the gap periods. @@ -1837,21 +2760,31 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the gap threshold. + the gap threshold. - the receiver configuration byte. + the receiver configuration byte. @@ -1859,21 +2792,31 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the most recently calculated round trip time between RTP interfaces(ms) + the most recently calculated round trip time between RTP interfaces(ms) - the most recently estimated end system delay(ms) + the most recently estimated end system delay(ms) @@ -1881,25 +2824,37 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the current nominal jitter buffer delay(ms) + the current nominal jitter buffer delay(ms) - the current maximum jitter buffer delay(ms) + the current maximum jitter buffer delay(ms) - the absolute maximum delay(ms) + the absolute maximum delay(ms) @@ -1907,17 +2862,25 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the SSRC of source + the SSRC of source @@ -1925,21 +2888,31 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the fraction of RTP data packets from the source lost. + the fraction of RTP data packets from the source lost. - the fraction of RTP data packets from the source that have been discarded. + the fraction of RTP data packets from the source that have been discarded. @@ -1947,29 +2920,43 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the R factor is a voice quality metric describing the segment of the call. + the R factor is a voice quality metric describing the segment of the call. - the external R factor is a voice quality metric. + the external R factor is a voice quality metric. - the estimated mean opinion score for listening quality. + the estimated mean opinion score for listening quality. - the estimated mean opinion score for conversational quality. + the estimated mean opinion score for conversational quality. @@ -1977,29 +2964,43 @@ is set as zero, @lost_packets or @dup_packets will be zero. + - %TRUE if the report block is correctly parsed. + %TRUE if the report block is correctly parsed. - a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. + a valid XR #GstRTCPPacket which has VoIP Metrics Report Block. - the ratio of the signal level to a 0 dBm reference. + the ratio of the signal level to a 0 dBm reference. - the ratio of the silent period background noise level to a 0 dBm reference. + the ratio of the silent period background noise level to a 0 dBm reference. - the residual echo return loss value. + the residual echo return loss value. - the gap threshold. + the gap threshold. @@ -2007,14 +3008,22 @@ is set as zero, @lost_packets or @dup_packets will be zero. - Move to the next extended report block in XR @packet. + Move to the next extended report block in XR @packet. + - TRUE if there was a next extended report block. + TRUE if there was a next extended report block. - a valid XR #GstRTCPPacket + a valid XR #GstRTCPPacket @@ -2024,126 +3033,168 @@ is set as zero, @lost_packets or @dup_packets will be zero. glib:type-name="GstRTCPSDESType" glib:get-type="gst_rtcpsdes_type_get_type" c:type="GstRTCPSDESType"> - Different types of SDES content. + Different types of SDES content. - Invalid SDES entry + Invalid SDES entry - End of SDES list + End of SDES list - Canonical name + Canonical name - User name + User name - User's electronic mail address + User's electronic mail address - User's phone number + User's phone number - Geographic user location + Geographic user location - Name of application or tool + Name of application or tool - Notice about the source + Notice about the source - Private extensions + Private extensions - Different RTCP packet types. + Different RTCP packet types. - Invalid type + Invalid type - Sender report + Sender report - Receiver report + Receiver report - Source description + Source description - Goodbye + Goodbye - Application defined + Application defined - Transport layer feedback. + Transport layer feedback. - Payload-specific feedback. + Payload-specific feedback. - Extended report. + Extended report. glib:type-name="GstRTCPXRType" glib:get-type="gst_rtcpxr_type_get_type" c:type="GstRTCPXRType"> - Types of RTCP Extended Reports, those are defined in RFC 3611 and other RFCs + Types of RTCP Extended Reports, those are defined in RFC 3611 and other RFCs according to the [IANA registry](https://www.iana.org/assignments/rtcp-xr-block-types/rtcp-xr-block-types.xhtml). - Invalid XR Report Block + Invalid XR Report Block - Loss RLE Report Block + Loss RLE Report Block - Duplicate RLE Report Block + Duplicate RLE Report Block - Packet Receipt Times Report Block + Packet Receipt Times Report Block - Receiver Reference Time Report Block + Receiver Reference Time Report Block - Delay since the last Receiver Report + Delay since the last Receiver Report - Statistics Summary Report Block + Statistics Summary Report Block - VoIP Metrics Report Block + VoIP Metrics Report Block - The maximum amount of SSRCs in a BYE packet. + The maximum amount of SSRCs in a BYE packet. + - The maximum amount of Receiver report blocks in RR and SR messages. + The maximum amount of Receiver report blocks in RR and SR messages. + - The maximum text length for an SDES item. + The maximum text length for an SDES item. + - The maximum amount of SDES items. + The maximum amount of SDES items. + - Mask for version, padding bit and packet type pair allowing reduced size + Mask for version, padding bit and packet type pair allowing reduced size packets, basically it accepts other types than RR and SR + - Mask for version, padding bit and packet type pair + Mask for version, padding bit and packet type pair + - Valid value for the first two bytes of an RTCP packet after applying + Valid value for the first two bytes of an RTCP packet after applying #GST_RTCP_VALID_MASK to them. + - The supported RTCP version 2. + The supported RTCP version 2. + glib:type-name="GstRTPBaseAudioPayload" glib:get-type="gst_rtp_base_audio_payload_get_type" glib:type-struct="RTPBaseAudioPayloadClass"> - Provides a base class for audio RTP payloaders for frame or sample based + Provides a base class for audio RTP payloaders for frame or sample based audio codecs (constant bitrate) This class derives from GstRTPBasePayload. It can be used for payloading @@ -2275,7 +3370,7 @@ RTP packets always contain full frames. To use this base class, your child element needs to call either gst_rtp_base_audio_payload_set_frame_based() or gst_rtp_base_audio_payload_set_sample_based(). This is usually done in the -element's _init() function. Then, the child element must call either +element's `_init()` function. Then, the child element must call either gst_rtp_base_audio_payload_set_frame_options(), gst_rtp_base_audio_payload_set_sample_options() or gst_rtp_base_audio_payload_set_samplebits_options. Since @@ -2283,162 +3378,236 @@ GstRTPBaseAudioPayload derives from GstRTPBasePayload, the child element must set any variables or call/override any functions required by that base class. The child element does not need to override any other functions specific to GstRTPBaseAudioPayload. + - Create an RTP buffer and store @payload_len bytes of the adapter as the + Create an RTP buffer and store @payload_len bytes of the adapter as the payload. Set the timestamp on the new buffer to @timestamp before pushing the buffer downstream. If @payload_len is -1, all pending bytes will be flushed. If @timestamp is -1, the timestamp will be calculated automatically. + - a #GstFlowReturn + a #GstFlowReturn - a #GstRTPBasePayload + a #GstRTPBasePayload - length of payload + length of payload - a #GstClockTime + a #GstClockTime - Gets the internal adapter used by the depayloader. + Gets the internal adapter used by the depayloader. + - a #GstAdapter. + a #GstAdapter. - a #GstRTPBaseAudioPayload + a #GstRTPBaseAudioPayload - Create an RTP buffer and store @payload_len bytes of @data as the + Create an RTP buffer and store @payload_len bytes of @data as the payload. Set the timestamp on the new buffer to @timestamp before pushing the buffer downstream. + - a #GstFlowReturn + a #GstFlowReturn - a #GstRTPBasePayload + a #GstRTPBasePayload - data to set as payload + data to set as payload - length of payload + length of payload - a #GstClockTime + a #GstClockTime - Tells #GstRTPBaseAudioPayload that the child element is for a frame based + Tells #GstRTPBaseAudioPayload that the child element is for a frame based audio codec + - a pointer to the element. + a pointer to the element. - Sets the options for frame based audio codecs. + Sets the options for frame based audio codecs. + - a pointer to the element. + a pointer to the element. - The duraction of an audio frame in milliseconds. + The duraction of an audio frame in milliseconds. - The size of an audio frame in bytes. + The size of an audio frame in bytes. - Tells #GstRTPBaseAudioPayload that the child element is for a sample based + Tells #GstRTPBaseAudioPayload that the child element is for a sample based audio codec + - a pointer to the element. + a pointer to the element. - Sets the options for sample based audio codecs. + Sets the options for sample based audio codecs. + - a pointer to the element. + a pointer to the element. - Size per sample in bytes. + Size per sample in bytes. - Sets the options for sample based audio codecs. + Sets the options for sample based audio codecs. + - a pointer to the element. + a pointer to the element. - Size per sample in bits. + Size per sample in bits. @@ -2466,7 +3635,7 @@ audio codec - + @@ -2474,13 +3643,19 @@ audio codec - Base class for audio RTP payloader. + Base class for audio RTP payloader. + - the parent class + the parent class - + @@ -2488,6 +3663,8 @@ audio codec + glib:type-name="GstRTPBaseDepayload" glib:get-type="gst_rtp_base_depayload_get_type" glib:type-struct="RTPBaseDepayloadClass"> - Provides a base class for RTP depayloaders + Provides a base class for RTP depayloaders + + @@ -2512,6 +3695,8 @@ audio codec + @@ -2525,6 +3710,8 @@ audio codec + @@ -2538,6 +3725,8 @@ audio codec + @@ -2551,6 +3740,8 @@ audio codec + @@ -2566,53 +3757,81 @@ audio codec - Queries whether #GstRTPSourceMeta will be added to depayloaded buffers. + Queries whether #GstRTPSourceMeta will be added to depayloaded buffers. + - %TRUE if source-info is enabled. + %TRUE if source-info is enabled. - a #GstRTPBaseDepayload + a #GstRTPBaseDepayload - Push @out_buf to the peer of @filter. This function takes ownership of + Push @out_buf to the peer of @filter. This function takes ownership of @out_buf. -This function will by default apply the last incomming timestamp on +This function will by default apply the last incoming timestamp on the outgoing buffer when it didn't have a timestamp already. + - a #GstFlowReturn. + a #GstFlowReturn. - a #GstRTPBaseDepayload + a #GstRTPBaseDepayload - a #GstBuffer + a #GstBuffer - Push @out_list to the peer of @filter. This function takes ownership of + Push @out_list to the peer of @filter. This function takes ownership of @out_list. + - a #GstFlowReturn. + a #GstFlowReturn. - a #GstRTPBaseDepayload + a #GstRTPBaseDepayload - a #GstBufferList + a #GstBufferList @@ -2620,30 +3839,54 @@ the outgoing buffer when it didn't have a timestamp already. - Enable or disable adding #GstRTPSourceMeta to depayloaded buffers. + Enable or disable adding #GstRTPSourceMeta to depayloaded buffers. + - a #GstRTPBaseDepayload + a #GstRTPBaseDepayload - whether to add meta about RTP sources to buffer + whether to add meta about RTP sources to buffer + + Max seqnum reorder before the sender is assumed to have restarted. + +When max-reorder is set to 0 all reordered/duplicate packets are +considered coming from a restarted sender. + + - Add RTP source information found in RTP header as meta to output buffer. + Add RTP source information found in RTP header as meta to output buffer. - Various depayloader statistics retrieved atomically (and are therefore + Various depayloader statistics retrieved atomically (and are therefore synchroized with each other). This property return a GstStructure named application/x-rtp-depayload-stats containing the following fields relating to the last processed buffer and current state of the stream being depayloaded: @@ -2684,7 +3927,7 @@ the last processed buffer and current state of the stream being depayloaded: c:type="GstRTPBaseDepayloadPrivate*"/> - + @@ -2692,13 +3935,21 @@ the last processed buffer and current state of the stream being depayloaded: - Base class for RTP depayloaders. + Base class for RTP depayloaders. + - the parent class + the parent class + @@ -2714,6 +3965,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2729,6 +3982,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2744,6 +3999,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2759,6 +4016,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2773,7 +4032,7 @@ the last processed buffer and current state of the stream being depayloaded: - + @@ -2781,6 +4040,8 @@ the last processed buffer and current state of the stream being depayloaded: + - Provides a base class for RTP payloaders + Provides a base class for RTP payloaders + + @@ -2808,6 +4075,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2821,6 +4090,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2837,6 +4108,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2850,6 +4123,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2863,6 +4138,8 @@ the last processed buffer and current state of the stream being depayloaded: + @@ -2878,30 +4155,44 @@ the last processed buffer and current state of the stream being depayloaded: - Allocate a new #GstBuffer with enough data to hold an RTP packet with + Allocate a new #GstBuffer with enough data to hold an RTP packet with minimum @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len. If @payload has #GstRTPBasePayload:source-info %TRUE additional CSRCs may be allocated and filled with RTP source information. + - A newly allocated buffer that can hold an RTP packet with given + A newly allocated buffer that can hold an RTP packet with given parameters. - a #GstRTPBasePayload + a #GstRTPBasePayload - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the minimum number of CSRC entries + the minimum number of CSRC entries @@ -2909,43 +4200,65 @@ parameters. - Count the total number of RTP sources found in the meta of @buffer, which + Count the total number of RTP sources found in the meta of @buffer, which will be automically added by gst_rtp_base_payload_allocate_output_buffer(). If #GstRTPBasePayload:source-info is %FALSE the count will be 0. + - The number of sources. + The number of sources. - a #GstRTPBasePayload + a #GstRTPBasePayload - a #GstBuffer, typically the buffer to payload + a #GstBuffer, typically the buffer to payload - Check if the packet with @size and @duration would exceed the configured + Check if the packet with @size and @duration would exceed the configured maximum size. + - %TRUE if the packet of @size and @duration would exceed the + %TRUE if the packet of @size and @duration would exceed the configured MTU or max_ptime. - a #GstRTPBasePayload + a #GstRTPBasePayload - the size of the packet + the size of the packet - the duration of the packet + the duration of the packet @@ -2953,86 +4266,128 @@ configured MTU or max_ptime. - Queries whether the payloader will add contributing sources (CSRCs) to the + Queries whether the payloader will add contributing sources (CSRCs) to the RTP header from #GstRTPSourceMeta. + - %TRUE if source-info is enabled. + %TRUE if source-info is enabled. - a #GstRTPBasePayload + a #GstRTPBasePayload - Push @buffer to the peer element of the payloader. The SSRC, payload type, + Push @buffer to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first. This function takes ownership of @buffer. + - a #GstFlowReturn. + a #GstFlowReturn. - a #GstRTPBasePayload + a #GstRTPBasePayload - a #GstBuffer + a #GstBuffer - Push @list to the peer element of the payloader. The SSRC, payload type, + Push @list to the peer element of the payloader. The SSRC, payload type, seqnum and timestamp of the RTP buffer will be updated first. This function takes ownership of @list. + - a #GstFlowReturn. + a #GstFlowReturn. - a #GstRTPBasePayload + a #GstRTPBasePayload - a #GstBufferList + a #GstBufferList - Set the rtp options of the payloader. These options will be set in the caps + Set the rtp options of the payloader. These options will be set in the caps of the payloader. Subclasses must call this method before calling gst_rtp_base_payload_push() or gst_rtp_base_payload_set_outcaps(). + - a #GstRTPBasePayload + a #GstRTPBasePayload - the media type (typically "audio" or "video") + the media type (typically "audio" or "video") - if the payload type is dynamic + if the payload type is dynamic - the encoding name + the encoding name - the clock rate of the media + the clock rate of the media @@ -3040,25 +4395,37 @@ gst_rtp_base_payload_push() or gst_rtp_base_payload_set_outcaps(). - Configure the output caps with the optional parameters. + Configure the output caps with the optional parameters. Variable arguments should be in the form field name, field type (as a GType), value(s). The last variable argument should be NULL. + - %TRUE if the caps could be set. + %TRUE if the caps could be set. - a #GstRTPBasePayload + a #GstRTPBasePayload - the first field name or %NULL + the first field name or %NULL - field values + field values @@ -3066,18 +4433,26 @@ Variable arguments should be in the form field name, field type - Enable or disable adding contributing sources to RTP packets from + Enable or disable adding contributing sources to RTP packets from #GstRTPSourceMeta. + - a #GstRTPBasePayload + a #GstRTPBasePayload - whether to add contributing sources to RTP packets + whether to add contributing sources to RTP packets @@ -3086,7 +4461,9 @@ Variable arguments should be in the form field name, field type - Minimum duration of the packet data in ns (can't go above MTU) + Minimum duration of the packet data in ns (can't go above MTU) @@ -3096,12 +4473,16 @@ Variable arguments should be in the form field name, field type version="1.16" writable="1" transfer-ownership="none"> - Make the payloader timestamp packets according to the Rate-Control=no + Make the payloader timestamp packets according to the Rate-Control=no behaviour specified in the ONVIF replay spec. - Try to use the offset fields to generate perfect RTP timestamps. When this + Try to use the offset fields to generate perfect RTP timestamps. When this option is disabled, RTP timestamps are generated from GST_BUFFER_PTS of each payloaded buffer. The PTSes of buffers may not necessarily increment with the amount of data in each input buffer, consider e.g. the case where @@ -3122,9 +4503,27 @@ timestamps for audio streams. - Force buffers to be multiples of this duration in ns (0 disables) + Force buffers to be multiples of this duration in ns (0 disables) + + Make the RTP packets' timestamps be scaled with the segment's rate +(corresponding to RTSP speed parameter). Disabling this property means +the timestamps will not be affected by the set delivery speed (RTSP speed). + +Example: A server wants to allow streaming a recorded video in double +speed but still have the timestamps correspond to the position in the +video. This is achieved by the client setting RTSP Speed to 2 while the +server has this property disabled. + + @@ -3135,7 +4534,9 @@ timestamps for audio streams. version="1.16" writable="1" transfer-ownership="none"> - Enable writing the CSRC field in allocated RTP header based on RTP source + Enable writing the CSRC field in allocated RTP header based on RTP source information found in the input buffer's #GstRTPSourceMeta. @@ -3143,7 +4544,9 @@ information found in the input buffer's #GstRTPSourceMeta. - Various payloader statistics retrieved atomically (and are therefore + Various payloader statistics retrieved atomically (and are therefore synchroized with each other), these can be used e.g. to generate an RTP-Info header. This property return a GstStructure named application/x-rtp-payload-stats containing the following fields relating to @@ -3165,6 +4568,21 @@ the last processed buffer and current state of the stream being payloaded: + + The RTP header-extension ID used for tagging buffers with Transport-Wide +Congestion Control sequence-numbers. + +To use this across multiple bundled streams (transport wide), the +GstRTPFunnel can mux TWCC sequence-numbers together. + +This is experimental, as it is still a draft and not yet a standard. + + @@ -3235,7 +4653,7 @@ the last processed buffer and current state of the stream being payloaded: - + @@ -3243,13 +4661,21 @@ the last processed buffer and current state of the stream being payloaded: - Base class for audio RTP payloader. + Base class for audio RTP payloader. + - the parent class + the parent class + @@ -3268,6 +4694,8 @@ the last processed buffer and current state of the stream being payloaded: + @@ -3283,6 +4711,8 @@ the last processed buffer and current state of the stream being payloaded: + @@ -3298,6 +4728,8 @@ the last processed buffer and current state of the stream being payloaded: + @@ -3313,6 +4745,8 @@ the last processed buffer and current state of the stream being payloaded: + @@ -3328,6 +4762,8 @@ the last processed buffer and current state of the stream being payloaded: + @@ -3345,7 +4781,7 @@ the last processed buffer and current state of the stream being payloaded: - + @@ -3353,149 +4789,220 @@ the last processed buffer and current state of the stream being payloaded: + - The GstRTPBuffer helper functions makes it easy to parse and create regular + The GstRTPBuffer helper functions makes it easy to parse and create regular #GstBuffer objects that contain RTP payloads. These buffers are typically of 'application/x-rtp' #GstCaps. + - pointer to RTP buffer + pointer to RTP buffer - internal state + internal state - array of data - + array of data + - array of size - + array of size + - array of #GstMapInfo - + array of #GstMapInfo + - Adds a RFC 5285 header extension with a one byte header to the end of the + Adds a RFC 5285 header extension with a one byte header to the end of the RTP header. If there is already a RFC 5285 header extension with a one byte header, the new extension will be appended. It will not work if there is already a header extension that does not follow -the mecanism described in RFC 5285 or if there is a header extension with +the mechanism described in RFC 5285 or if there is a header extension with a two bytes header as described in RFC 5285. In that case, use gst_rtp_buffer_add_extension_twobytes_header() + - %TRUE if header extension could be added + %TRUE if header extension could be added - the RTP packet + the RTP packet - The ID of the header extension (between 1 and 14). + The ID of the header extension (between 1 and 14). - location for data + location for data - the size of the data in bytes + the size of the data in bytes - Adds a RFC 5285 header extension with a two bytes header to the end of the + Adds a RFC 5285 header extension with a two bytes header to the end of the RTP header. If there is already a RFC 5285 header extension with a two bytes header, the new extension will be appended. It will not work if there is already a header extension that does not follow -the mecanism described in RFC 5285 or if there is a header extension with +the mechanism described in RFC 5285 or if there is a header extension with a one byte header as described in RFC 5285. In that case, use gst_rtp_buffer_add_extension_onebyte_header() + - %TRUE if header extension could be added + %TRUE if header extension could be added - the RTP packet + the RTP packet - Application specific bits + Application specific bits - The ID of the header extension + The ID of the header extension - location for data + location for data - the size of the data in bytes + the size of the data in bytes - Get the CSRC at index @idx in @buffer. + Get the CSRC at index @idx in @buffer. + - the CSRC at index @idx in host order. + the CSRC at index @idx in host order. - the RTP packet + the RTP packet - the index of the CSRC to get + the index of the CSRC to get - Get the CSRC count of the RTP packet in @buffer. + Get the CSRC count of the RTP packet in @buffer. + - the CSRC count of @buffer. + the CSRC count of @buffer. - the RTP packet + the RTP packet - Check if the extension bit is set on the RTP packet in @buffer. + Check if the extension bit is set on the RTP packet in @buffer. + - TRUE if @buffer has the extension bit set. + TRUE if @buffer has the extension bit set. - the RTP packet + the RTP packet @@ -3504,7 +5011,9 @@ gst_rtp_buffer_add_extension_onebyte_header() c:identifier="gst_rtp_buffer_get_extension_bytes" shadows="get_extension_data" version="1.2"> - Similar to gst_rtp_buffer_get_extension_data, but more suitable for language + Similar to gst_rtp_buffer_get_extension_data, but more suitable for language bindings usage. @bits will contain the extension 16 bits of custom data and the extension data (not including the extension header) is placed in a new #GBytes structure. @@ -3512,21 +5021,29 @@ the extension data (not including the extension header) is placed in a new If @rtp did not contain an extension, this function will return %NULL, with @bits unchanged. If there is an extension header but no extension data then an empty #GBytes will be returned. + - A new #GBytes if an extension header was present + A new #GBytes if an extension header was present and %NULL otherwise. - the RTP packet + the RTP packet - location for header bits + location for header bits @@ -3535,33 +5052,45 @@ and %NULL otherwise. c:identifier="gst_rtp_buffer_get_extension_data" shadowed-by="get_extension_bytes" introspectable="0"> - Get the extension data. @bits will contain the extension 16 bits of custom + Get the extension data. @bits will contain the extension 16 bits of custom data. @data will point to the data in the extension and @wordlen will contain the length of @data in 32 bits words. If @buffer did not contain an extension, this function will return %FALSE with @bits, @data and @wordlen unchanged. + - TRUE if @buffer had the extension bit set. + TRUE if @buffer had the extension bit set. - the RTP packet + the RTP packet - location for result bits + location for result bits - location for data + location for data @@ -3570,37 +5099,53 @@ with @bits, @data and @wordlen unchanged. direction="out" caller-allocates="0" transfer-ownership="full"> - location for length of @data in 32 bits words + location for length of @data in 32 bits words - Parses RFC 5285 style header extensions with a one byte header. It will + Parses RFC 5285 style header extensions with a one byte header. It will return the nth extension with the requested id. + - TRUE if @buffer had the requested header extension + TRUE if @buffer had the requested header extension - the RTP packet + the RTP packet - The ID of the header extension to be read (between 1 and 14). + The ID of the header extension to be read (between 1 and 14). - Read the nth extension packet with the requested ID + Read the nth extension packet with the requested ID - + location for data @@ -3610,44 +5155,62 @@ return the nth extension with the requested id. direction="out" caller-allocates="0" transfer-ownership="full"> - the size of the data in bytes + the size of the data in bytes - Parses RFC 5285 style header extensions with a two bytes header. It will + Parses RFC 5285 style header extensions with a two bytes header. It will return the nth extension with the requested id. + - TRUE if @buffer had the requested header extension + TRUE if @buffer had the requested header extension - the RTP packet + the RTP packet - Application specific bits + Application specific bits - The ID of the header extension to be read (between 1 and 14). + The ID of the header extension to be read (between 1 and 14). - Read the nth extension packet with the requested ID + Read the nth extension packet with the requested ID - + location for data @@ -3657,62 +5220,96 @@ return the nth extension with the requested id. direction="out" caller-allocates="0" transfer-ownership="full"> - the size of the data in bytes + the size of the data in bytes - Return the total length of the header in @buffer. This include the length of + Return the total length of the header in @buffer. This include the length of the fixed header, the CSRC list and the extension header. + - The total length of the header in @buffer. + The total length of the header in @buffer. - the RTP packet + the RTP packet - Check if the marker bit is set on the RTP packet in @buffer. + Check if the marker bit is set on the RTP packet in @buffer. + - TRUE if @buffer has the marker bit set. + TRUE if @buffer has the marker bit set. - the RTP packet + the RTP packet - Return the total length of the packet in @buffer. + Return the total length of the packet in @buffer. + - The total length of the packet in @buffer. + The total length of the packet in @buffer. - the RTP packet + the RTP packet - Check if the padding bit is set on the RTP packet in @buffer. + Check if the padding bit is set on the RTP packet in @buffer. + - TRUE if @buffer has the padding bit set. + TRUE if @buffer has the padding bit set. - the RTP packet + the RTP packet @@ -3721,10 +5318,16 @@ the fixed header, the CSRC list and the extension header. c:identifier="gst_rtp_buffer_get_payload" shadowed-by="get_payload_bytes" introspectable="0"> - Get a pointer to the payload data in @buffer. This pointer is valid as long + Get a pointer to the payload data in @buffer. This pointer is valid as long as a reference to @buffer is held. + - A pointer + A pointer to the payload data in @buffer. @@ -3732,23 +5335,33 @@ to the payload data in @buffer. - the RTP packet + the RTP packet - Create a buffer of the payload of the RTP packet in @buffer. This function + Create a buffer of the payload of the RTP packet in @buffer. This function will internally create a subbuffer of @buffer so that a memcpy can be avoided. + - A new buffer with the data of the payload. + A new buffer with the data of the payload. - the RTP packet + the RTP packet @@ -3757,475 +5370,709 @@ avoided. c:identifier="gst_rtp_buffer_get_payload_bytes" shadows="get_payload" version="1.2"> - Similar to gst_rtp_buffer_get_payload, but more suitable for language + Similar to gst_rtp_buffer_get_payload, but more suitable for language bindings usage. The return value is a pointer to a #GBytes structure containing the payload data in @rtp. + - A new #GBytes containing the payload data in @rtp. + A new #GBytes containing the payload data in @rtp. - the RTP packet + the RTP packet - Get the length of the payload of the RTP packet in @buffer. + Get the length of the payload of the RTP packet in @buffer. + - The length of the payload in @buffer. + The length of the payload in @buffer. - the RTP packet + the RTP packet - Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes + Create a subbuffer of the payload of the RTP packet in @buffer. @offset bytes are skipped in the payload and the subbuffer will be of size @len. If @len is -1 the total payload starting from @offset is subbuffered. + - A new buffer with the specified data of the payload. + A new buffer with the specified data of the payload. - the RTP packet + the RTP packet - the offset in the payload + the offset in the payload - the length in the payload + the length in the payload - Get the payload type of the RTP packet in @buffer. + Get the payload type of the RTP packet in @buffer. + - The payload type. + The payload type. - the RTP packet + the RTP packet - Get the sequence number of the RTP packet in @buffer. + Get the sequence number of the RTP packet in @buffer. + - The sequence number in host order. + The sequence number in host order. - the RTP packet + the RTP packet - Get the SSRC of the RTP packet in @buffer. + Get the SSRC of the RTP packet in @buffer. + - the SSRC of @buffer in host order. + the SSRC of @buffer in host order. - the RTP packet + the RTP packet - Get the timestamp of the RTP packet in @buffer. + Get the timestamp of the RTP packet in @buffer. + - The timestamp in host order. + The timestamp in host order. - the RTP packet + the RTP packet - Get the version number of the RTP packet in @buffer. + Get the version number of the RTP packet in @buffer. + - The version of @buffer. + The version of @buffer. - the RTP packet + the RTP packet - Set the amount of padding in the RTP packet in @buffer to + Set the amount of padding in the RTP packet in @buffer to @len. If @len is 0, the padding is removed. NOTE: This function does not work correctly. + - the RTP packet + the RTP packet - the new amount of padding + the new amount of padding - Modify the CSRC at index @idx in @buffer to @csrc. + Modify the CSRC at index @idx in @buffer to @csrc. + - the RTP packet + the RTP packet - the CSRC index to set + the CSRC index to set - the CSRC in host order to set at @idx + the CSRC in host order to set at @idx - Set the extension bit on the RTP packet in @buffer to @extension. + Set the extension bit on the RTP packet in @buffer to @extension. + - the RTP packet + the RTP packet - the new extension + the new extension - Set the extension bit of the rtp buffer and fill in the @bits and @length of the + Set the extension bit of the rtp buffer and fill in the @bits and @length of the extension header. If the existing extension data is not large enough, it will be made larger. + - True if done. + True if done. - the RTP packet + the RTP packet - the bits specific for the extension + the bits specific for the extension - the length that counts the number of 32-bit words in + the length that counts the number of 32-bit words in the extension, excluding the extension header ( therefore zero is a valid length) - Set the marker bit on the RTP packet in @buffer to @marker. + Set the marker bit on the RTP packet in @buffer to @marker. + - the RTP packet + the RTP packet - the new marker + the new marker - Set the total @rtp size to @len. The data in the buffer will be made + Set the total @rtp size to @len. The data in the buffer will be made larger if needed. Any padding will be removed from the packet. + - the RTP packet + the RTP packet - the new packet length + the new packet length - Set the padding bit on the RTP packet in @buffer to @padding. + Set the padding bit on the RTP packet in @buffer to @padding. + - the buffer + the buffer - the new padding + the new padding - Set the payload type of the RTP packet in @buffer to @payload_type. + Set the payload type of the RTP packet in @buffer to @payload_type. + - the RTP packet + the RTP packet - the new type + the new type - Set the sequence number of the RTP packet in @buffer to @seq. + Set the sequence number of the RTP packet in @buffer to @seq. + - the RTP packet + the RTP packet - the new sequence number + the new sequence number - Set the SSRC on the RTP packet in @buffer to @ssrc. + Set the SSRC on the RTP packet in @buffer to @ssrc. + - the RTP packet + the RTP packet - the new SSRC + the new SSRC - Set the timestamp of the RTP packet in @buffer to @timestamp. + Set the timestamp of the RTP packet in @buffer to @timestamp. + - the RTP packet + the RTP packet - the new timestamp + the new timestamp - Set the version of the RTP packet in @buffer to @version. + Set the version of the RTP packet in @buffer to @version. + - the RTP packet + the RTP packet - the new version + the new version - Unmap @rtp previously mapped with gst_rtp_buffer_map(). + Unmap @rtp previously mapped with gst_rtp_buffer_map(). + - a #GstRTPBuffer + a #GstRTPBuffer - Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs, + Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len. @buffer must be writable and all previous memory in @buffer will be freed. If @pad_len is >0, the padding bit will be set. All other RTP header fields will be set to 0/FALSE. + - a #GstBuffer + a #GstBuffer - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries - Calculate the header length of an RTP packet with @csrc_count CSRC entries. + Calculate the header length of an RTP packet with @csrc_count CSRC entries. An RTP packet can have at most 15 CSRC entries. + - The length of an RTP header with @csrc_count CSRC entries. + The length of an RTP header with @csrc_count CSRC entries. - the number of CSRC entries + the number of CSRC entries - Calculate the total length of an RTP packet with a payload size of @payload_len, + Calculate the total length of an RTP packet with a payload size of @payload_len, a padding of @pad_len and a @csrc_count CSRC entries. + - The total length of an RTP header with given parameters. + The total length of an RTP header with given parameters. - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries - Calculate the length of the payload of an RTP packet with size @packet_len, + Calculate the length of the payload of an RTP packet with size @packet_len, a padding of @pad_len and a @csrc_count CSRC entries. + - The length of the payload of an RTP packet with given parameters. + The length of the payload of an RTP packet with given parameters. - the length of the total RTP packet + the length of the total RTP packet - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries - Compare two sequence numbers, taking care of wraparounds. This function + Compare two sequence numbers, taking care of wraparounds. This function returns the difference between @seqnum1 and @seqnum2. + - a negative value if @seqnum1 is bigger than @seqnum2, 0 if they + a negative value if @seqnum1 is bigger than @seqnum2, 0 if they are equal or a positive value if @seqnum1 is smaller than @segnum2. - a sequence number + a sequence number - a sequence number + a sequence number - Get the default clock-rate for the static payload type @payload_type. + Get the default clock-rate for the static payload type @payload_type. + - the default clock rate or -1 if the payload type is not static or + the default clock rate or -1 if the payload type is not static or the clock-rate is undefined. - the static payload type + the static payload type - Update the @exttimestamp field with the extended timestamp of @timestamp + Update the @exttimestamp field with the extended timestamp of @timestamp For the first call of the method, @exttimestamp should point to a location with a value of -1. @@ -4233,8 +6080,12 @@ This function is able to handle both forward and backward timestamps taking into account: - timestamp wraparound making sure that the returned value is properly increased. - timestamp unwraparound making sure that the returned value is properly decreased. + - The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards. + The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards. @@ -4242,130 +6093,250 @@ into account: direction="inout" caller-allocates="0" transfer-ownership="full"> - a previous extended timestamp + a previous extended timestamp - a new timestamp + a new timestamp - - Map the contents of @buffer into @rtp. + + Similar to gst_rtp_buffer_get_extension_onebyte_header, but working +on the #GBytes you get from gst_rtp_buffer_get_extension_bytes. +Parses RFC 5285 style header extensions with a one byte header. It will +return the nth extension with the requested id. + - %TRUE if @buffer could be mapped. + TRUE if @bytes had the requested header extension + + + + + #GBytes + + + + The bit-pattern. Anything but 0xBEDE is rejected. + + + + The ID of the header extension to be read (between 1 and 14). + + + + Read the nth extension packet with the requested ID + + + + + location for data + + + + + + the size of the data in bytes + + + + + + Map the contents of @buffer into @rtp. + + + %TRUE if @buffer could be mapped. - a #GstBuffer + a #GstBuffer - #GstMapFlags + #GstMapFlags - a #GstRTPBuffer + a #GstRTPBuffer - Allocate a new #GstBuffer with enough data to hold an RTP packet with + Allocate a new #GstBuffer with enough data to hold an RTP packet with @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len. All other RTP header fields will be set to 0/FALSE. + - A newly allocated buffer that can hold an RTP packet with given + A newly allocated buffer that can hold an RTP packet with given parameters. - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries - Create a new #GstBuffer that can hold an RTP packet that is exactly + Create a new #GstBuffer that can hold an RTP packet that is exactly @packet_len long. The length of the payload depends on @pad_len and @csrc_count and can be calculated with gst_rtp_buffer_calc_payload_len(). All RTP header fields will be set to 0/FALSE. + - A newly allocated buffer that can hold an RTP packet of @packet_len. + A newly allocated buffer that can hold an RTP packet of @packet_len. - the total length of the packet + the total length of the packet - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries - Create a new buffer and set the data to a copy of @len + Create a new buffer and set the data to a copy of @len bytes of @data and the size to @len. The data will be freed when the buffer is freed. + - A newly allocated buffer with a copy of @data and of size @len. + A newly allocated buffer with a copy of @data and of size @len. - data for the new + data for the new buffer - the length of data + the length of data - Create a new buffer and set the data and size of the buffer to @data and @len + Create a new buffer and set the data and size of the buffer to @data and @len respectively. @data will be freed when the buffer is unreffed, so this function transfers ownership of @data to the new buffer. + - A newly allocated buffer with @data and of size @len. + A newly allocated buffer with @data and of size @len. - + data for the new buffer - the length of data + the length of data @@ -4376,7 +6347,9 @@ function transfers ownership of @data to the new buffer. glib:type-name="GstRTPBufferFlags" glib:get-type="gst_rtp_buffer_flags_get_type" c:type="GstRTPBufferFlags"> - Additional RTP buffer flags. These flags can potentially be used on any + Additional RTP buffer flags. These flags can potentially be used on any buffers carrying RTP packets. Note that these are only valid for #GstCaps of type: application/x-rtp (x-rtcp). @@ -4385,14 +6358,18 @@ They can conflict with other extended buffer flags. value="1048576" c:identifier="GST_RTP_BUFFER_FLAG_RETRANSMISSION" glib:nick="retransmission"> - The #GstBuffer was once wrapped + The #GstBuffer was once wrapped in a retransmitted packet as specified by RFC 4588. - The packet represents redundant RTP packet. + The packet represents redundant RTP packet. The flag is used in gstrtpstorage to be able to hold the packetback and use it only for recovery from packet loss. Since: 1.14 @@ -4401,7 +6378,9 @@ They can conflict with other extended buffer flags. value="268435456" c:identifier="GST_RTP_BUFFER_FLAG_LAST" glib:nick="last"> - Offset to define more flags. + Offset to define more flags. glib:type-name="GstRTPBufferMapFlags" glib:get-type="gst_rtp_buffer_map_flags_get_type" c:type="GstRTPBufferMapFlags"> - Additional mapping flags for gst_rtp_buffer_map(). + Additional mapping flags for gst_rtp_buffer_map(). - Skip mapping and validation of RTP + Skip mapping and validation of RTP padding and RTP pad count when present. Useful for buffers where the padding may be encrypted. @@ -4422,14 +6405,18 @@ They can conflict with other extended buffer flags. value="16777216" c:identifier="GST_RTP_BUFFER_MAP_FLAG_LAST" glib:nick="last"> - Offset to define more flags + Offset to define more flags - Standard predefined fixed payload types. + Standard predefined fixed payload types. The official list is at: http://www.iana.org/assignments/rtp-parameters @@ -4445,224 +6432,310 @@ Reserved for RTCP conflict avoidance: 72-76 value="0" c:identifier="GST_RTP_PAYLOAD_PCMU" glib:nick="pcmu"> - ITU-T G.711. mu-law audio (RFC 3551) + ITU-T G.711. mu-law audio (RFC 3551) - RFC 3551 says reserved + RFC 3551 says reserved - RFC 3551 says reserved + RFC 3551 says reserved - GSM audio + GSM audio - ITU G.723.1 audio + ITU G.723.1 audio - IMA ADPCM wave type (RFC 3551) + IMA ADPCM wave type (RFC 3551) - IMA ADPCM wave type (RFC 3551) + IMA ADPCM wave type (RFC 3551) - experimental linear predictive encoding + experimental linear predictive encoding - ITU-T G.711 A-law audio (RFC 3551) + ITU-T G.711 A-law audio (RFC 3551) - ITU-T G.722 (RFC 3551) + ITU-T G.722 (RFC 3551) - stereo PCM + stereo PCM - mono PCM + mono PCM - EIA & TIA standard IS-733 + EIA & TIA standard IS-733 - Comfort Noise (RFC 3389) + Comfort Noise (RFC 3389) - Audio MPEG 1-3. + Audio MPEG 1-3. - ITU-T G.728 Speech coder (RFC 3551) + ITU-T G.728 Speech coder (RFC 3551) - IMA ADPCM wave type (RFC 3551) + IMA ADPCM wave type (RFC 3551) - IMA ADPCM wave type (RFC 3551) + IMA ADPCM wave type (RFC 3551) - ITU-T G.729 Speech coder (RFC 3551) + ITU-T G.729 Speech coder (RFC 3551) - See RFC 2029 + See RFC 2029 - ISO Standards 10918-1 and 10918-2 (RFC 2435) + ISO Standards 10918-1 and 10918-2 (RFC 2435) - nv encoding by Ron Frederick + nv encoding by Ron Frederick - ITU-T Recommendation H.261 (RFC 2032) + ITU-T Recommendation H.261 (RFC 2032) - Video MPEG 1 & 2 (RFC 2250) + Video MPEG 1 & 2 (RFC 2250) - MPEG-2 transport stream (RFC 2250) + MPEG-2 transport stream (RFC 2250) - Video H263 (RFC 2190) + Video H263 (RFC 2190) - Structure holding default payload type information. + Structure holding default payload type information. + - payload type, -1 means dynamic + payload type, -1 means dynamic - the media type(s), usually "audio", "video", "application", "text", + the media type(s), usually "audio", "video", "application", "text", "message". - the encoding name of @pt + the encoding name of @pt - default clock rate, 0 = unknown/variable + default clock rate, 0 = unknown/variable - encoding parameters. For audio this is the number of + encoding parameters. For audio this is the number of channels. NULL = not applicable. - the bitrate of the media. 0 = unknown/variable. + the bitrate of the media. 0 = unknown/variable. - + - Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is + Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is mostly used to get the default clock-rate and bandwidth for dynamic payload types specified with @media and @encoding name. -The search for @encoding_name will be performed in a case insensitve way. +The search for @encoding_name will be performed in a case insensitive way. + - a #GstRTPPayloadInfo or NULL when no info could be found. + a #GstRTPPayloadInfo or NULL when no info could be found. - the media to find + the media to find - the encoding name to find + the encoding name to find - Get the #GstRTPPayloadInfo for @payload_type. This function is + Get the #GstRTPPayloadInfo for @payload_type. This function is mostly used to get the default clock-rate and bandwidth for static payload types specified with @payload_type. + - a #GstRTPPayloadInfo or NULL when no info could be found. + a #GstRTPPayloadInfo or NULL when no info could be found. - the payload_type to find + the payload_type to find @@ -4673,81 +6746,117 @@ types specified with @payload_type. glib:type-name="GstRTPProfile" glib:get-type="gst_rtp_profile_get_type" c:type="GstRTPProfile"> - The transfer profile to use. + The transfer profile to use. - invalid profile + invalid profile - the Audio/Visual profile (RFC 3551) + the Audio/Visual profile (RFC 3551) - the secure Audio/Visual profile (RFC 3711) + the secure Audio/Visual profile (RFC 3711) - the Audio/Visual profile with feedback (RFC 4585) + the Audio/Visual profile with feedback (RFC 4585) - the secure Audio/Visual profile with feedback (RFC 5124) + the secure Audio/Visual profile with feedback (RFC 5124) - Meta describing the source(s) of the buffer. + Meta describing the source(s) of the buffer. + - parent #GstMeta + parent #GstMeta - the SSRC + the SSRC - whether @ssrc is set and valid + whether @ssrc is set and valid - pointer to the CSRCs - + pointer to the CSRCs + - number of elements in @csrc + number of elements in @csrc - Appends @csrc to the list of contributing sources in @meta. + Appends @csrc to the list of contributing sources in @meta. + - %TRUE if all elements in @csrc was added, %FALSE otherwise. + %TRUE if all elements in @csrc was added, %FALSE otherwise. - a #GstRTPSourceMeta + a #GstRTPSourceMeta - the csrcs to append + the csrcs to append - number of elements in @csrc + number of elements in @csrc @@ -4755,14 +6864,21 @@ types specified with @payload_type. - Count the total number of RTP sources found in @meta, both SSRC and CSRC. + Count the total number of RTP sources found in @meta, both SSRC and CSRC. + - The number of RTP sources + The number of RTP sources - a #GstRTPSourceMeta + a #GstRTPSourceMeta @@ -4770,265 +6886,577 @@ types specified with @payload_type. - Sets @ssrc in @meta. If @ssrc is %NULL the ssrc of @meta will be unset. + Sets @ssrc in @meta. If @ssrc is %NULL the ssrc of @meta will be unset. + - %TRUE on success, %FALSE otherwise. + %TRUE on success, %FALSE otherwise. - a #GstRTPSourceMeta + a #GstRTPSourceMeta - pointer to the SSRC + pointer to the SSRC + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Get access to the configured MTU of @payload. + + + + a #GstRTPBasePayload + + + + + Get access to the configured payload type of @payload. + + + + a #GstRTPBasePayload + + + + + Get access to the sinkpad of @payload. + + + + a #GstRTPBasePayload + + + + + Get access to the srcpad of @payload. + + + + a #GstRTPBasePayload + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Check if @pt is a dynamic payload type. + + + + a payload type + + + + + + + + + + + + + + + + + + + - The supported RTP version 2. + The supported RTP version 2. + - Attaches RTP source information to @buffer. + Attaches RTP source information to @buffer. + - the #GstRTPSourceMeta on @buffer. + the #GstRTPSourceMeta on @buffer. - a #GstBuffer + a #GstBuffer - pointer to the SSRC + pointer to the SSRC - pointer to the CSRCs + pointer to the CSRCs - number of elements in @csrc + number of elements in @csrc @@ -5036,15 +7464,22 @@ types specified with @payload_type. - Find the #GstRTPSourceMeta on @buffer. + Find the #GstRTPSourceMeta on @buffer. + - the #GstRTPSourceMeta or %NULL when there + the #GstRTPSourceMeta or %NULL when there is no such metadata on @buffer. - a #GstBuffer + a #GstBuffer @@ -5052,22 +7487,31 @@ is no such metadata on @buffer. - Open @buffer for reading or writing, depending on @flags. The resulting RTCP + Open @buffer for reading or writing, depending on @flags. The resulting RTCP buffer state is stored in @rtcp. + - a buffer with an RTCP packet + a buffer with an RTCP packet - flags for the mapping + flags for the mapping - resulting #GstRTCPBuffer + resulting #GstRTCPBuffer @@ -5075,15 +7519,22 @@ buffer state is stored in @rtcp. - Create a new buffer for constructing RTCP packets. The packet will have a + Create a new buffer for constructing RTCP packets. The packet will have a maximum size of @mtu. + - A newly allocated buffer. + A newly allocated buffer. - the maximum mtu size. + the maximum mtu size. @@ -5091,22 +7542,31 @@ maximum size of @mtu. - Create a new buffer and set the data to a copy of @len + Create a new buffer and set the data to a copy of @len bytes of @data and the size to @len. The data will be freed when the buffer is freed. + - A newly allocated buffer with a copy of @data and of size @len. + A newly allocated buffer with a copy of @data and of size @len. - data for the new buffer + data for the new buffer - the length of data + the length of data @@ -5114,22 +7574,31 @@ is freed. - Create a new buffer and set the data and size of the buffer to @data and @len + Create a new buffer and set the data and size of the buffer to @data and @len respectively. @data will be freed when the buffer is unreffed, so this function transfers ownership of @data to the new buffer. + - A newly allocated buffer with @data and of size @len. + A newly allocated buffer with @data and of size @len. - data for the new buffer + data for the new buffer - the length of data + the length of data @@ -5137,15 +7606,22 @@ function transfers ownership of @data to the new buffer. - Check if the data pointed to by @buffer is a valid RTCP packet using + Check if the data pointed to by @buffer is a valid RTCP packet using gst_rtcp_buffer_validate_data(). + - TRUE if @buffer is a valid RTCP packet. + TRUE if @buffer is a valid RTCP packet. - the buffer to validate + the buffer to validate @@ -5153,23 +7629,32 @@ gst_rtcp_buffer_validate_data(). - Check if the @data and @size point to the data of a valid compound, + Check if the @data and @size point to the data of a valid compound, non-reduced size RTCP packet. Use this function to validate a packet before using the other functions in this module. + - TRUE if the data points to a valid RTCP packet. + TRUE if the data points to a valid RTCP packet. - the data to validate + the data to validate - the length of @data to validate + the length of @data to validate @@ -5178,26 +7663,35 @@ this module. c:identifier="gst_rtcp_buffer_validate_data_reduced" moved-to="RTCPBuffer.validate_data_reduced" version="1.6"> - Check if the @data and @size point to the data of a valid RTCP packet. + Check if the @data and @size point to the data of a valid RTCP packet. Use this function to validate a packet before using the other functions in this module. This function is updated to support reduced size rtcp packets according to RFC 5506 and will validate full compound RTCP packets as well as reduced size RTCP packets. + - TRUE if the data points to a valid RTCP packet. + TRUE if the data points to a valid RTCP packet. - the data to validate + the data to validate - the length of @data to validate + the length of @data to validate @@ -5206,79 +7700,114 @@ size RTCP packets. c:identifier="gst_rtcp_buffer_validate_reduced" moved-to="RTCPBuffer.validate_reduced" version="1.6"> - Check if the data pointed to by @buffer is a valid RTCP packet using + Check if the data pointed to by @buffer is a valid RTCP packet using gst_rtcp_buffer_validate_reduced(). + - TRUE if @buffer is a valid RTCP packet. + TRUE if @buffer is a valid RTCP packet. - the buffer to validate + the buffer to validate - Converts an NTP time to UNIX nanoseconds. @ntptime can typically be + Converts an NTP time to UNIX nanoseconds. @ntptime can typically be the NTP time of an SR RTCP message and contains, in the upper 32 bits, the number of seconds since 1900 and, in the lower 32 bits, the fractional seconds. The resulting value will be the number of nanoseconds since 1970. + - the UNIX time for @ntptime in nanoseconds. + the UNIX time for @ntptime in nanoseconds. - an NTP timestamp + an NTP timestamp - Convert @name into a @GstRTCPSDESType. @name is typically a key in a + Convert @name into a @GstRTCPSDESType. @name is typically a key in a #GstStructure containing SDES items. + - the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name + the #GstRTCPSDESType for @name or #GST_RTCP_SDES_PRIV when @name is a private sdes item. - a SDES name + a SDES name - Converts @type to the string equivalent. The string is typically used as a + Converts @type to the string equivalent. The string is typically used as a key in a #GstStructure containing SDES items. + - the string equivalent of @type + the string equivalent of @type - a #GstRTCPSDESType + a #GstRTCPSDESType - Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should + Converts a UNIX timestamp in nanoseconds to an NTP time. The caller should pass a value with nanoseconds since 1970. The NTP time will, in the upper 32 bits, contain the number of seconds since 1900 and, in the lower 32 bits, the fractional seconds. The resulting value can be used as an ntptime for constructing SR RTCP packets. + - the NTP time for @unixtime. + the NTP time for @unixtime. - an UNIX timestamp in nanoseconds + an UNIX timestamp in nanoseconds @@ -5286,29 +7815,40 @@ for constructing SR RTCP packets. - Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs, + Allocate enough data in @buffer to hold an RTP packet with @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len. @buffer must be writable and all previous memory in @buffer will be freed. If @pad_len is >0, the padding bit will be set. All other RTP header fields will be set to 0/FALSE. + - a #GstBuffer + a #GstBuffer - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries @@ -5316,15 +7856,22 @@ will be set to 0/FALSE. - Calculate the header length of an RTP packet with @csrc_count CSRC entries. + Calculate the header length of an RTP packet with @csrc_count CSRC entries. An RTP packet can have at most 15 CSRC entries. + - The length of an RTP header with @csrc_count CSRC entries. + The length of an RTP header with @csrc_count CSRC entries. - the number of CSRC entries + the number of CSRC entries @@ -5332,23 +7879,34 @@ An RTP packet can have at most 15 CSRC entries. - Calculate the total length of an RTP packet with a payload size of @payload_len, + Calculate the total length of an RTP packet with a payload size of @payload_len, a padding of @pad_len and a @csrc_count CSRC entries. + - The total length of an RTP header with given parameters. + The total length of an RTP header with given parameters. - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries @@ -5356,23 +7914,34 @@ a padding of @pad_len and a @csrc_count CSRC entries. - Calculate the length of the payload of an RTP packet with size @packet_len, + Calculate the length of the payload of an RTP packet with size @packet_len, a padding of @pad_len and a @csrc_count CSRC entries. + - The length of the payload of an RTP packet with given parameters. + The length of the payload of an RTP packet with given parameters. - the length of the total RTP packet + the length of the total RTP packet - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries @@ -5380,20 +7949,29 @@ a padding of @pad_len and a @csrc_count CSRC entries. - Compare two sequence numbers, taking care of wraparounds. This function + Compare two sequence numbers, taking care of wraparounds. This function returns the difference between @seqnum1 and @seqnum2. + - a negative value if @seqnum1 is bigger than @seqnum2, 0 if they + a negative value if @seqnum1 is bigger than @seqnum2, 0 if they are equal or a positive value if @seqnum1 is smaller than @segnum2. - a sequence number + a sequence number - a sequence number + a sequence number @@ -5401,15 +7979,22 @@ are equal or a positive value if @seqnum1 is smaller than @segnum2. - Get the default clock-rate for the static payload type @payload_type. + Get the default clock-rate for the static payload type @payload_type. + - the default clock rate or -1 if the payload type is not static or + the default clock rate or -1 if the payload type is not static or the clock-rate is undefined. - the static payload type + the static payload type @@ -5417,7 +8002,9 @@ the clock-rate is undefined. - Update the @exttimestamp field with the extended timestamp of @timestamp + Update the @exttimestamp field with the extended timestamp of @timestamp For the first call of the method, @exttimestamp should point to a location with a value of -1. @@ -5425,8 +8012,11 @@ This function is able to handle both forward and backward timestamps taking into account: - timestamp wraparound making sure that the returned value is properly increased. - timestamp unwraparound making sure that the returned value is properly decreased. + - The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards. + The extended timestamp of @timestamp or 0 if the result can't go anywhere backwards. @@ -5434,37 +8024,117 @@ into account: direction="inout" caller-allocates="0" transfer-ownership="full"> - a previous extended timestamp + a previous extended timestamp - a new timestamp + a new timestamp + + Similar to gst_rtp_buffer_get_extension_onebyte_header, but working +on the #GBytes you get from gst_rtp_buffer_get_extension_bytes. +Parses RFC 5285 style header extensions with a one byte header. It will +return the nth extension with the requested id. + + + TRUE if @bytes had the requested header extension + + + + + #GBytes + + + + The bit-pattern. Anything but 0xBEDE is rejected. + + + + The ID of the header extension to be read (between 1 and 14). + + + + Read the nth extension packet with the requested ID + + + + + location for data + + + + + + the size of the data in bytes + + + + - Map the contents of @buffer into @rtp. + Map the contents of @buffer into @rtp. + - %TRUE if @buffer could be mapped. + %TRUE if @buffer could be mapped. - a #GstBuffer + a #GstBuffer - #GstMapFlags + #GstMapFlags - a #GstRTPBuffer + a #GstRTPBuffer @@ -5472,25 +8142,36 @@ into account: - Allocate a new #GstBuffer with enough data to hold an RTP packet with + Allocate a new #GstBuffer with enough data to hold an RTP packet with @csrc_count CSRCs, a payload length of @payload_len and padding of @pad_len. All other RTP header fields will be set to 0/FALSE. + - A newly allocated buffer that can hold an RTP packet with given + A newly allocated buffer that can hold an RTP packet with given parameters. - the length of the payload + the length of the payload - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries @@ -5498,25 +8179,36 @@ parameters. - Create a new #GstBuffer that can hold an RTP packet that is exactly + Create a new #GstBuffer that can hold an RTP packet that is exactly @packet_len long. The length of the payload depends on @pad_len and @csrc_count and can be calculated with gst_rtp_buffer_calc_payload_len(). All RTP header fields will be set to 0/FALSE. + - A newly allocated buffer that can hold an RTP packet of @packet_len. + A newly allocated buffer that can hold an RTP packet of @packet_len. - the total length of the packet + the total length of the packet - the amount of padding + the amount of padding - the number of CSRC entries + the number of CSRC entries @@ -5524,23 +8216,32 @@ All RTP header fields will be set to 0/FALSE. - Create a new buffer and set the data to a copy of @len + Create a new buffer and set the data to a copy of @len bytes of @data and the size to @len. The data will be freed when the buffer is freed. + - A newly allocated buffer with a copy of @data and of size @len. + A newly allocated buffer with a copy of @data and of size @len. - data for the new + data for the new buffer - the length of data + the length of data @@ -5548,89 +8249,125 @@ is freed. - Create a new buffer and set the data and size of the buffer to @data and @len + Create a new buffer and set the data and size of the buffer to @data and @len respectively. @data will be freed when the buffer is unreffed, so this function transfers ownership of @data to the new buffer. + - A newly allocated buffer with @data and of size @len. + A newly allocated buffer with @data and of size @len. - + data for the new buffer - the length of data + the length of data - Reads the NTP time from the @size NTP-56 extension bytes in @data and store the + Reads the NTP time from the @size NTP-56 extension bytes in @data and store the result in @ntptime. + - %TRUE on success. + %TRUE on success. - the data to read from + the data to read from - the size of @data + the size of @data - the result NTP time + the result NTP time - Reads the NTP time from the @size NTP-64 extension bytes in @data and store the + Reads the NTP time from the @size NTP-64 extension bytes in @data and store the result in @ntptime. + - %TRUE on success. + %TRUE on success. - the data to read from + the data to read from - the size of @data + the size of @data - the result NTP time + the result NTP time - Writes the NTP time in @ntptime to the format required for the NTP-56 header + Writes the NTP time in @ntptime to the format required for the NTP-56 header extension. @data must hold at least #GST_RTP_HDREXT_NTP_56_SIZE bytes. + - %TRUE on success. + %TRUE on success. @@ -5638,25 +8375,36 @@ extension. @data must hold at least #GST_RTP_HDREXT_NTP_56_SIZE bytes. transfer-ownership="none" nullable="1" allow-none="1"> - the data to write to + the data to write to - the size of @data + the size of @data - the NTP time + the NTP time - Writes the NTP time in @ntptime to the format required for the NTP-64 header + Writes the NTP time in @ntptime to the format required for the NTP-64 header extension. @data must hold at least #GST_RTP_HDREXT_NTP_64_SIZE bytes. + - %TRUE on success. + %TRUE on success. @@ -5664,15 +8412,21 @@ extension. @data must hold at least #GST_RTP_HDREXT_NTP_64_SIZE bytes. transfer-ownership="none" nullable="1" allow-none="1"> - the data to write to + the data to write to - the size of @data + the size of @data - the NTP time + the NTP time @@ -5680,22 +8434,32 @@ extension. @data must hold at least #GST_RTP_HDREXT_NTP_64_SIZE bytes. - Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is + Get the #GstRTPPayloadInfo for @media and @encoding_name. This function is mostly used to get the default clock-rate and bandwidth for dynamic payload types specified with @media and @encoding name. -The search for @encoding_name will be performed in a case insensitve way. +The search for @encoding_name will be performed in a case insensitive way. + - a #GstRTPPayloadInfo or NULL when no info could be found. + a #GstRTPPayloadInfo or NULL when no info could be found. - the media to find + the media to find - the encoding name to find + the encoding name to find @@ -5703,22 +8467,31 @@ The search for @encoding_name will be performed in a case insensitve way. - Get the #GstRTPPayloadInfo for @payload_type. This function is + Get the #GstRTPPayloadInfo for @payload_type. This function is mostly used to get the default clock-rate and bandwidth for static payload types specified with @payload_type. + - a #GstRTPPayloadInfo or NULL when no info could be found. + a #GstRTPPayloadInfo or NULL when no info could be found. - the payload_type to find + the payload_type to find + @@ -5726,6 +8499,7 @@ types specified with @payload_type. + diff --git a/girs/GstRtsp-1.0.gir b/girs/GstRtsp-1.0.gir index 1f2acf875a..3724bc12fc 100644 --- a/girs/GstRtsp-1.0.gir +++ b/girs/GstRtsp-1.0.gir @@ -17,22 +17,42 @@ and/or use gtk-doc annotations. --> shared-library="libgstrtsp-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + - RTSP Authentication credentials + RTSP Authentication credentials + - a #GstRTSPAuthMethod + a #GstRTSPAuthMethod - A NULL-terminated array of #GstRTSPAuthParam + A NULL-terminated array of #GstRTSPAuthParam - The authorization for the basic schem + The authorization for the basic schem @@ -40,24 +60,32 @@ and/or use gtk-doc annotations. --> glib:type-name="GstRTSPAuthMethod" glib:get-type="gst_rtsp_auth_method_get_type" c:type="GstRTSPAuthMethod"> - Authentication methods, ordered by strength + Authentication methods, ordered by strength - no authentication + no authentication - basic authentication + basic authentication - digest authentication + digest authentication glib:type-name="GstRTSPAuthParam" glib:get-type="gst_rtsp_auth_param_get_type" c:symbol-prefix="rtsp_auth_param"> - RTSP Authentication parameter + RTSP Authentication parameter + - The name of the parameter + The name of the parameter - The value of the parameter + The value of the parameter + @@ -85,6 +123,8 @@ and/or use gtk-doc annotations. --> + @@ -96,89 +136,210 @@ and/or use gtk-doc annotations. --> - This object manages the RTSP connection to the server. It provides function + This object manages the RTSP connection to the server. It provides function to receive and send bytes and messages. + - Clear the list of authentication directives stored in @conn. + Clear the list of authentication directives stored in @conn. + - a #GstRTSPConnection + a #GstRTSPConnection - Close the connected @conn. After this call, the connection is in the same + Close the connected @conn. After this call, the connection is in the same state as when it was first created. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - - Attempt to connect to the url of @conn made with + + Attempt to connect to the url of @conn made with gst_rtsp_connection_create(). If @timeout is %NULL this function can block forever. If @timeout contains a valid timeout, this function will return #GST_RTSP_ETIMEOUT after the timeout expired. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK when a connection could be made. + #GST_RTSP_OK when a connection could be made. - a #GstRTSPConnection + a #GstRTSPConnection - a #GTimeVal timeout + a GTimeVal timeout + + Attempt to connect to the url of @conn made with +gst_rtsp_connection_create(). If @timeout is 0 this function can block +forever. If @timeout contains a valid timeout, this function will return +#GST_RTSP_ETIMEOUT after the timeout expired. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK when a connection could be made. + + + + + a #GstRTSPConnection + + + + a timeout in microseconds + + + + - Attempt to connect to the url of @conn made with + c:identifier="gst_rtsp_connection_connect_with_response" + version="1.8" + deprecated="1" + deprecated-version="1.18"> + Attempt to connect to the url of @conn made with gst_rtsp_connection_create(). If @timeout is %NULL this function can block forever. If @timeout contains a valid timeout, this function will return #GST_RTSP_ETIMEOUT after the timeout expired. If @conn is set to tunneled, @response will contain a response to the tunneling request messages. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK when a connection could be made. - -Since 1.8 + #GST_RTSP_OK when a connection could be made. - a #GstRTSPConnection + a #GstRTSPConnection - a #GTimeVal timeout + a GTimeVal timeout - a #GstRTSPMessage + a #GstRTSPMessage + + + + + + Attempt to connect to the url of @conn made with +gst_rtsp_connection_create(). If @timeout is 0 this function can block +forever. If @timeout contains a valid timeout, this function will return +#GST_RTSP_ETIMEOUT after the timeout expired. If @conn is set to tunneled, +@response will contain a response to the tunneling request messages. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK when a connection could be made. + + + + + a #GstRTSPConnection + + + + a timeout in microseconds + + + + a #GstRTSPMessage - If @conn received the first tunnel connection and @conn2 received + If @conn received the first tunnel connection and @conn2 received the second tunnel connection, link the two connections together so that @conn manages the tunneled connection. @@ -187,92 +348,140 @@ gst_rtsp_connection_free(). If @conn2 is %NULL then only the base64 decoding context will be setup for @conn. + - return GST_RTSP_OK on success. + return GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - a #GstRTSPConnection or %NULL + a #GstRTSPConnection or %NULL - Start or stop the flushing action on @conn. When flushing, all current + Start or stop the flushing action on @conn. When flushing, all current and future actions on @conn will return #GST_RTSP_EINTR until the connection is set to non-flushing mode again. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPConnection + a #GstRTSPConnection - start or stop the flush + start or stop the flush - Close and free @conn. + Close and free @conn. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - Retrieve the IP address of the other end of @conn. + Retrieve the IP address of the other end of @conn. + - The IP address as a string. this value remains valid until the + The IP address as a string. this value remains valid until the connection is closed. - a #GstRTSPConnection + a #GstRTSPConnection - Get the file descriptor for reading. + Get the file descriptor for reading. + - the file descriptor used for reading or %NULL on + the file descriptor used for reading or %NULL on error. The file descriptor remains valid until the connection is closed. - a #GstRTSPConnection + a #GstRTSPConnection + - %TRUE if the #GstRTSPConnection remembers the session id in the + %TRUE if the #GstRTSPConnection remembers the session id in the last response to set it on any further request. - a #GstRTSPConnection + a #GstRTSPConnection @@ -281,7 +490,9 @@ last response to set it on any further request. c:identifier="gst_rtsp_connection_get_tls" version="1.2" throws="1"> - Get the TLS connection of @conn. + Get the TLS connection of @conn. For client side this will return the #GTlsClientConnection when connected over TLS. @@ -289,13 +500,19 @@ over TLS. For server side connections, this function will create a GTlsServerConnection when called the first time and will return that same connection on subsequent calls. The server is then responsible for configuring the TLS connection. + - the TLS connection for @conn. + the TLS connection for @conn. - a #GstRTSPConnection + a #GstRTSPConnection @@ -303,18 +520,26 @@ calls. The server is then responsible for configuring the TLS connection. - Gets the anchor certificate authorities database that will be used + Gets the anchor certificate authorities database that will be used after a server certificate can't be verified with the default certificate database. + - the anchor certificate authorities database, or NULL if no + the anchor certificate authorities database, or NULL if no database has been previously set. Use g_object_unref() to release the certificate database. - a #GstRTSPConnection + a #GstRTSPConnection @@ -322,17 +547,25 @@ certificate database. - Gets a #GTlsInteraction object to be used when the connection or certificate + Gets a #GTlsInteraction object to be used when the connection or certificate database need to interact with the user. This will be used to prompt the user for passwords where necessary. + - a reference on the #GTlsInteraction. Use + a reference on the #GTlsInteraction. Use g_object_unref() to release. - a #GstRTSPConnection + a #GstRTSPConnection @@ -340,96 +573,176 @@ g_object_unref() to release. - Gets the TLS validation flags used to verify the peer certificate + Gets the TLS validation flags used to verify the peer certificate when a TLS connection is established. + - the validationg flags. + the validationg flags. - a #GstRTSPConnection + a #GstRTSPConnection - Get the tunnel session id the connection. + Get the tunnel session id the connection. + - returns a non-empty string if @conn is being tunneled over HTTP. + returns a non-empty string if @conn is being tunneled over HTTP. - a #GstRTSPConnection + a #GstRTSPConnection - Retrieve the URL of the other end of @conn. + Retrieve the URL of the other end of @conn. + - The URL. This value remains valid until the + The URL. This value remains valid until the connection is freed. - a #GstRTSPConnection + a #GstRTSPConnection - Get the file descriptor for writing. + Get the file descriptor for writing. + - the file descriptor used for writing or NULL on + the file descriptor used for writing or NULL on error. The file descriptor remains valid until the connection is closed. - a #GstRTSPConnection + a #GstRTSPConnection - Get the tunneling state of the connection. + Get the tunneling state of the connection. + - if @conn is using HTTP tunneling. + if @conn is using HTTP tunneling. - a #GstRTSPConnection + a #GstRTSPConnection - Calculate the next timeout for @conn, storing the result in @timeout. + c:identifier="gst_rtsp_connection_next_timeout" + deprecated="1" + deprecated-version="1.18"> + Calculate the next timeout for @conn, storing the result in @timeout. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPConnection + a #GstRTSPConnection - a timeout + a timeout - - Wait up to the specified @timeout for the connection to become available for + + Calculate the next timeout for @conn + + + #the next timeout in microseconds + + + + + a #GstRTSPConnection + + + + + + Wait up to the specified @timeout for the connection to become available for at least one of the operations specified in @events. When the function returns with #GST_RTSP_OK, @revents will contain a bitmask of available operations on @conn. @@ -437,170 +750,477 @@ with #GST_RTSP_OK, @revents will contain a bitmask of available operations on @timeout can be %NULL, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - a bitmask of #GstRTSPEvent flags to check + a bitmask of #GstRTSPEvent flags to check - location for result flags + location for result flags - a timeout + a timeout - - Attempt to read @size bytes into @data from the connected @conn, blocking up to -the specified @timeout. @timeout can be %NULL, in which case this function -might block forever. + + Wait up to the specified @timeout for the connection to become available for +at least one of the operations specified in @events. When the function returns +with #GST_RTSP_OK, @revents will contain a bitmask of available operations on +@conn. + +@timeout can be 0, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection + + + + a bitmask of #GstRTSPEvent flags to check + + + + location for result flags + + + + a timeout in microseconds + + + + + + Attempt to read @size bytes into @data from the connected @conn, blocking up to +the specified @timeout. @timeout can be %NULL, in which case this function +might block forever. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK on success. + + + + + a #GstRTSPConnection - the data to read + the data to read - the size of @data + the size of @data - a timeout value or %NULL + a timeout value or %NULL - - Attempt to read into @message from the connected @conn, blocking up to -the specified @timeout. @timeout can be %NULL, in which case this function + + Attempt to read @size bytes into @data from the connected @conn, blocking up to +the specified @timeout. @timeout can be 0, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection + + + + the data to read + + + + the size of @data + + + + a timeout value in microseconds + + + + + + Attempt to read into @message from the connected @conn, blocking up to +the specified @timeout. @timeout can be %NULL, in which case this function +might block forever. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK on success. + + + + + a #GstRTSPConnection - the message to read + the message to read - a timeout value or %NULL + a timeout value or %NULL + + Attempt to read into @message from the connected @conn, blocking up to +the specified @timeout. @timeout can be 0, in which case this function +might block forever. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK on success. + + + + + a #GstRTSPConnection + + + + the message to read + + + + a timeout value or 0 + + + + - Reset the timeout of @conn. + Reset the timeout of @conn. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPConnection + a #GstRTSPConnection - - Attempt to send @message to the connected @conn, blocking up to + + Attempt to send @message to the connected @conn, blocking up to the specified @timeout. @timeout can be %NULL, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - the message to send + the message to send - a timeout value or %NULL + a timeout value or %NULL - Attempt to send @messages to the connected @conn, blocking up to + version="1.16" + deprecated="1" + deprecated-version="1.18"> + Attempt to send @messages to the connected @conn, blocking up to the specified @timeout. @timeout can be %NULL, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - the messages to send + the messages to send - the number of messages to send + the number of messages to send - a timeout value or %NULL + a timeout value or %NULL + + Attempt to send @messages to the connected @conn, blocking up to +the specified @timeout. @timeout can be 0, in which case this function +might block forever. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK on Since. + + + + + a #GstRTSPConnection + + + + the messages to send + + + + + + the number of messages to send + + + + a timeout value in microseconds + + + + + + Attempt to send @message to the connected @conn, blocking up to +the specified @timeout. @timeout can be 0, in which case this function +might block forever. + +This function can be cancelled with gst_rtsp_connection_flush(). + + + #GST_RTSP_OK on success. + + + + + a #GstRTSPConnection + + + + the message to send + + + + a timeout value in microseconds + + + + - Sets a custom accept-certificate function for checking certificates for + Sets a custom accept-certificate function for checking certificates for validity. This will directly map to #GTlsConnection 's "accept-certificate" signal and be performed after the default checks of #GstRTSPConnection (checking against the #GTlsDatabase with the given #GTlsCertificateFlags) have failed. If no #GTlsDatabase is set on this connection, only @func will be called. + - a #GstRTSPConnection + a #GstRTSPConnection scope="notified" closure="1" destroy="2"> - a #GstRTSPConnectionAcceptCertificateFunc to check certificates + a #GstRTSPConnectionAcceptCertificateFunc to check certificates @@ -616,158 +1238,260 @@ be called. transfer-ownership="none" nullable="1" allow-none="1"> - User data passed to @func + User data passed to @func - #GDestroyNotify for @user_data + #GDestroyNotify for @user_data - Configure @conn for authentication mode @method with @user and @pass as the + Configure @conn for authentication mode @method with @user and @pass as the user and password respectively. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPConnection + a #GstRTSPConnection - authentication method + authentication method - the user + the user - the password + the password - Setup @conn with authentication directives. This is not necesary for + Setup @conn with authentication directives. This is not necessary for methods #GST_RTSP_AUTH_NONE and #GST_RTSP_AUTH_BASIC. For #GST_RTSP_AUTH_DIGEST, directives should be taken from the digest challenge in the WWW-Authenticate response header and can include realm, domain, nonce, opaque, stale, algorithm, qop as per RFC2617. + - a #GstRTSPConnection + a #GstRTSPConnection - authentication directive + authentication directive - value + value + + Configure @conn to use the specified Content-Length limit. +Both requests and responses are validated. If content-length is +exceeded, ENOMEM error will be returned. + + + + + + + a #GstRTSPConnection + + + + Content-Length limit + + + + - By setting the HTTP mode to %TRUE the message parsing will support HTTP + By setting the HTTP mode to %TRUE the message parsing will support HTTP messages in addition to the RTSP messages. It will also disable the automatic handling of setting up an HTTP tunnel. + - a #GstRTSPConnection + a #GstRTSPConnection - %TRUE to enable manual HTTP mode + %TRUE to enable manual HTTP mode - Set the IP address of the server. + Set the IP address of the server. + - a #GstRTSPConnection + a #GstRTSPConnection - an ip address + an ip address - Set the proxy host and port. + Set the proxy host and port. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPConnection + a #GstRTSPConnection - the proxy host + the proxy host - the proxy port + the proxy port - Configure @conn to use the specified DSCP value. + Configure @conn to use the specified DSCP value. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - DSCP value + DSCP value - Sets if the #GstRTSPConnection should remember the session id from the last + Sets if the #GstRTSPConnection should remember the session id from the last response received and force it onto any further requests. The default value is %TRUE + - a #GstRTSPConnection + a #GstRTSPConnection - %TRUE if the connection should remember the session id + %TRUE if the connection should remember the session id @@ -775,19 +1499,27 @@ The default value is %TRUE - Sets the anchor certificate authorities database. This certificate + Sets the anchor certificate authorities database. This certificate database will be used to verify the server's certificate in case it can't be verified with the default certificate database first. + - a #GstRTSPConnection + a #GstRTSPConnection - a #GTlsDatabase + a #GTlsDatabase @@ -795,19 +1527,27 @@ can't be verified with the default certificate database first. - Sets a #GTlsInteraction object to be used when the connection or certificate + Sets a #GTlsInteraction object to be used when the connection or certificate database need to interact with the user. This will be used to prompt the user for passwords where necessary. + - a #GstRTSPConnection + a #GstRTSPConnection - a #GTlsInteraction + a #GTlsInteraction @@ -815,20 +1555,30 @@ user for passwords where necessary. - Sets the TLS validation flags to be used to verify the peer + Sets the TLS validation flags to be used to verify the peer certificate when a TLS connection is established. + - TRUE if the validation flags are set correctly, or FALSE if + TRUE if the validation flags are set correctly, or FALSE if @conn is NULL or is not a TLS connection. - a #GstRTSPConnection + a #GstRTSPConnection - the validation flags. + the validation flags. @@ -836,134 +1586,242 @@ certificate when a TLS connection is established. - Set the HTTP tunneling state of the connection. This must be configured before + Set the HTTP tunneling state of the connection. This must be configured before the @conn is connected. + - a #GstRTSPConnection + a #GstRTSPConnection - the new state + the new state - - Attempt to write @size bytes of @data to the connected @conn, blocking up to + + Attempt to write @size bytes of @data to the connected @conn, blocking up to the specified @timeout. @timeout can be %NULL, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPConnection + a #GstRTSPConnection - the data to write + the data to write - the size of @data + the size of @data - a timeout value or %NULL + a timeout value or %NULL - - Accept a new connection on @socket and create a new #GstRTSPConnection for -handling communication on new socket. + + Attempt to write @size bytes of @data to the connected @conn, blocking up to +the specified @timeout. @timeout can be 0, in which case this function +might block forever. + +This function can be cancelled with gst_rtsp_connection_flush(). + - #GST_RTSP_OK when @conn contains a valid connection. + #GST_RTSP_OK on success. + + + + + a #GstRTSPConnection + + + + the data to write + + + + the size of @data + + + + a timeout value or 0 + + + + + + Accept a new connection on @socket and create a new #GstRTSPConnection for +handling communication on new socket. + + + #GST_RTSP_OK when @conn contains a valid connection. - a socket + a socket - storage for a #GstRTSPConnection + storage for a #GstRTSPConnection - a #GCancellable to cancel the operation + a #GCancellable to cancel the operation - Create a newly allocated #GstRTSPConnection from @url and store it in @conn. + Create a newly allocated #GstRTSPConnection from @url and store it in @conn. The connection will not yet attempt to connect to @url, use gst_rtsp_connection_connect(). A copy of @url will be made. + - #GST_RTSP_OK when @conn contains a valid connection. + #GST_RTSP_OK when @conn contains a valid connection. - a #GstRTSPUrl + a #GstRTSPUrl - storage for a #GstRTSPConnection + storage for a #GstRTSPConnection - Create a new #GstRTSPConnection for handling communication on the existing + Create a new #GstRTSPConnection for handling communication on the existing socket @socket. The @initial_buffer contains zero terminated data already read from @socket which should be used before starting to read new data. + - #GST_RTSP_OK when @conn contains a valid connection. + #GST_RTSP_OK when @conn contains a valid connection. - a #GSocket + a #GSocket - the IP address of the other end + the IP address of the other end - the port used by the other end + the port used by the other end - data already read from @fd + data already read from @fd - storage for a #GstRTSPConnection + storage for a #GstRTSPConnection @@ -971,6 +1829,8 @@ read from @socket which should be used before starting to read new data. + @@ -997,18 +1857,24 @@ read from @socket which should be used before starting to read new data. glib:type-name="GstRTSPEvent" glib:get-type="gst_rtsp_event_get_type" c:type="GstRTSPEvent"> - The possible events for the connection. + The possible events for the connection. - connection is readable + connection is readable - connection is writable + connection is writable glib:type-name="GstRTSPExtension" glib:get-type="gst_rtsp_extension_get_type" glib:type-struct="RTSPExtensionInterface"> - This interface is implemented e.g. by the Windows Media Streaming RTSP + This interface is implemented e.g. by the Windows Media Streaming RTSP exentension (rtspwms) and the RealMedia RTSP extension (rtspreal). + + @@ -1036,6 +1908,8 @@ read from @socket which should be used before starting to read new data. + @@ -1049,6 +1923,8 @@ read from @socket which should be used before starting to read new data. + @@ -1062,6 +1938,8 @@ read from @socket which should be used before starting to read new data. + @@ -1075,6 +1953,8 @@ read from @socket which should be used before starting to read new data. + @@ -1091,6 +1971,8 @@ read from @socket which should be used before starting to read new data. + @@ -1107,6 +1989,8 @@ read from @socket which should be used before starting to read new data. + @@ -1120,6 +2004,8 @@ read from @socket which should be used before starting to read new data. + @@ -1136,6 +2022,8 @@ read from @socket which should be used before starting to read new data. + @@ -1149,6 +2037,8 @@ read from @socket which should be used before starting to read new data. + @@ -1162,6 +2052,8 @@ read from @socket which should be used before starting to read new data. + @@ -1178,6 +2070,8 @@ read from @socket which should be used before starting to read new data. + @@ -1192,6 +2086,8 @@ read from @socket which should be used before starting to read new data. + @@ -1206,6 +2102,8 @@ read from @socket which should be used before starting to read new data. + @@ -1220,6 +2118,8 @@ read from @socket which should be used before starting to read new data. + @@ -1236,6 +2136,8 @@ read from @socket which should be used before starting to read new data. + @@ -1253,6 +2155,8 @@ read from @socket which should be used before starting to read new data. + @@ -1266,6 +2170,8 @@ read from @socket which should be used before starting to read new data. + @@ -1282,6 +2188,8 @@ read from @socket which should be used before starting to read new data. + @@ -1296,6 +2204,8 @@ read from @socket which should be used before starting to read new data. + @@ -1331,12 +2241,18 @@ read from @socket which should be used before starting to read new data. - An interface representing RTSP extensions. + An interface representing RTSP extensions. + + @@ -1352,6 +2268,8 @@ read from @socket which should be used before starting to read new data. + @@ -1367,6 +2285,8 @@ read from @socket which should be used before starting to read new data. + @@ -1385,6 +2305,8 @@ read from @socket which should be used before starting to read new data. + @@ -1403,6 +2325,8 @@ read from @socket which should be used before starting to read new data. + @@ -1418,6 +2342,8 @@ read from @socket which should be used before starting to read new data. + @@ -1433,6 +2359,8 @@ read from @socket which should be used before starting to read new data. + @@ -1451,6 +2379,8 @@ read from @socket which should be used before starting to read new data. + @@ -1466,6 +2396,8 @@ read from @socket which should be used before starting to read new data. + @@ -1484,6 +2416,8 @@ read from @socket which should be used before starting to read new data. + @@ -1498,7 +2432,7 @@ read from @socket which should be used before starting to read new data. - + @@ -1507,31 +2441,41 @@ read from @socket which should be used before starting to read new data. glib:type-name="GstRTSPFamily" glib:get-type="gst_rtsp_family_get_type" c:type="GstRTSPFamily"> - The possible network families. + The possible network families. - unknown network family + unknown network family - internet + internet - internet V6 + internet V6 - Enumeration of rtsp header fields + Enumeration of rtsp header fields glib:type-name="GstRTSPLowerTrans" glib:get-type="gst_rtsp_lower_trans_get_type" c:type="GstRTSPLowerTrans"> - The different transport methods. + The different transport methods. - invalid transport flag + invalid transport flag - stream data over UDP + stream data over UDP - stream data over UDP multicast + stream data over UDP multicast - stream data over TCP + stream data over TCP - stream data tunneled over HTTP. + stream data tunneled over HTTP. - encrypt TCP and HTTP with TLS + encrypt TCP and HTTP with TLS glib:type-name="GstRTSPMessage" glib:get-type="gst_rtsp_msg_get_type" c:symbol-prefix="rtsp_msg"> - Provides methods for creating and parsing request, response and data messages. + Provides methods for creating and parsing request, response and data messages. + - the message type + the message type + + @@ -2048,6 +3016,8 @@ read from @socket which should be used before starting to read new data. + @@ -2059,6 +3029,8 @@ read from @socket which should be used before starting to read new data. + @@ -2079,28 +3051,40 @@ read from @socket which should be used before starting to read new data. - + - Add a header with key @field and @value to @msg. This function takes a copy + Add a header with key @field and @value to @msg. This function takes a copy of @value. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstRTSPHeaderField + a #GstRTSPHeaderField - the value of the header + the value of the header @@ -2108,114 +3092,172 @@ of @value. - Add a header with key @header and @value to @msg. This function takes a copy + Add a header with key @header and @value to @msg. This function takes a copy of @value. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - header string + header string - the value of the header + the value of the header - Append the currently configured headers in @msg to the #GString @str suitable + Append the currently configured headers in @msg to the #GString @str suitable for transmission. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - a string + a string - Allocate a new copy of @msg and store the result in @copy. The value in + Allocate a new copy of @msg and store the result in @copy. The value in @copy should be release with gst_rtsp_message_free function. + - a #GstRTSPResult + a #GstRTSPResult - a #GstRTSPMessage + a #GstRTSPMessage - pointer to new #GstRTSPMessage + pointer to new #GstRTSPMessage - Dump the contents of @msg to stdout. + Dump the contents of @msg to stdout. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - Free the memory used by @msg. + Free the memory used by @msg. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - Get the body of @msg. @data remains valid for as long as @msg is valid and + Get the body of @msg. @data remains valid for as long as @msg is valid and unchanged. If the message body was set as a #GstBuffer before this will cause the data to be copied and stored in the message. The #GstBuffer will no longer be kept in the message. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - location for the data + location for the data @@ -2224,7 +3266,9 @@ kept in the message. direction="out" caller-allocates="0" transfer-ownership="full"> - location for the size of @data + location for the size of @data @@ -2232,56 +3276,80 @@ kept in the message. - Get the body of @msg. @buffer remains valid for as long as @msg is valid and + Get the body of @msg. @buffer remains valid for as long as @msg is valid and unchanged. If body data was set from raw memory instead of a #GstBuffer this function will always return %NULL. The caller can check if there is a body buffer by calling gst_rtsp_message_has_body_buffer(). + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - location for the buffer + location for the buffer - Get the @indx header value with key @field from @msg. The result in @value + Get the @indx header value with key @field from @msg. The result in @value stays valid as long as it remains present in @msg. + - #GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key + #GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key was not found. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstRTSPHeaderField + a #GstRTSPHeaderField - pointer to hold the result + pointer to hold the result - the index of the header + the index of the header @@ -2289,44 +3357,66 @@ was not found. - Get the @index header value with key @header from @msg. The result in @value + Get the @index header value with key @header from @msg. The result in @value stays valid as long as it remains present in @msg. + - #GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key + #GST_RTSP_OK when @field was found, #GST_RTSP_ENOTIMPL if the key was not found. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstRTSPHeaderField + a #GstRTSPHeaderField - pointer to hold the result + pointer to hold the result - the index of the header + the index of the header - Get the message type of @msg. + Get the message type of @msg. + - the message type. + the message type. - a #GstRTSPMessage + a #GstRTSPMessage @@ -2334,105 +3424,157 @@ was not found. - Checks if @msg has a body and the body is stored as #GstBuffer. + Checks if @msg has a body and the body is stored as #GstBuffer. + - %TRUE if @msg has a body and it's stored as #GstBuffer, %FALSE + %TRUE if @msg has a body and it's stored as #GstBuffer, %FALSE otherwise. - a #GstRTSPMessage + a #GstRTSPMessage - Initialize @msg. This function is mostly used when @msg is allocated on the + Initialize @msg. This function is mostly used when @msg is allocated on the stack. The reverse operation of this is gst_rtsp_message_unset(). + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - Initialize a new data #GstRTSPMessage for @channel. + Initialize a new data #GstRTSPMessage for @channel. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - a channel + a channel - Initialize @msg as a request message with @method and @uri. To clear @msg + Initialize @msg as a request message with @method and @uri. To clear @msg again, use gst_rtsp_message_unset(). + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - the request method to use + the request method to use - the uri of the request + the uri of the request - Initialize @msg with @code and @reason. + Initialize @msg with @code and @reason. When @reason is %NULL, the default reason for @code will be used. When @request is not %NULL, the relevant headers will be copied to the new response message. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - the status code + the status code - the status reason or %NULL + the status reason or %NULL - the request that triggered the response or %NULL + the request that triggered the response or %NULL @@ -2440,9 +3582,15 @@ response message. - Parses the credentials given in a WWW-Authenticate or Authorization header. + Parses the credentials given in a WWW-Authenticate or Authorization header. + - + %NULL-terminated array of GstRTSPAuthCredential or %NULL. @@ -2450,49 +3598,71 @@ response message. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstRTSPHeaderField + a #GstRTSPHeaderField - Parse the data message @msg and store the channel in @channel. + Parse the data message @msg and store the channel in @channel. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - location to hold the channel + location to hold the channel - Parse the request message @msg and store the values @method, @uri and + Parse the request message @msg and store the values @method, @uri and @version. The result locations can be %NULL if one is not interested in its value. @uri remains valid for as long as @msg is valid and unchanged. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - location to hold the method + location to hold the method - location to hold the uri + location to hold the uri - location to hold the version + location to hold the version - Parse the response message @msg and store the values @code, @reason and + Parse the response message @msg and store the values @code, @reason and @version. The result locations can be %NULL if one is not interested in its value. @reason remains valid for as long as @msg is valid and unchanged. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - location to hold the status code + location to hold the status code - location to hold the status reason + location to hold the status reason - location to hold the version + location to hold the version - Remove the @indx header with key @field from @msg. If @indx equals -1, all + Remove the @indx header with key @field from @msg. If @indx equals -1, all headers will be removed. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstRTSPHeaderField + a #GstRTSPHeaderField - the index of the header + the index of the header @@ -2595,47 +3797,71 @@ headers will be removed. - Remove the @index header with key @header from @msg. If @index equals -1, + Remove the @index header with key @header from @msg. If @index equals -1, all matching headers will be removed. + - a #GstRTSPResult + a #GstRTSPResult - a #GstRTSPMessage + a #GstRTSPMessage - the header string + the header string - the index of the header + the index of the header - Set the body of @msg to a copy of @data. Any existing body or body buffer + Set the body of @msg to a copy of @data. Any existing body or body buffer will be replaced by the new body. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - the data + the data - the size of @data + the size of @data @@ -2643,40 +3869,60 @@ will be replaced by the new body. - Set the body of @msg to @buffer. Any existing body or body buffer + Set the body of @msg to @buffer. Any existing body or body buffer will be replaced by the new body. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstBuffer + a #GstBuffer - Take the body of @msg and store it in @data and @size. After this method, + Take the body of @msg and store it in @data and @size. After this method, the body and size of @msg will be set to %NULL and 0 respectively. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - location for the data + location for the data @@ -2685,7 +3931,9 @@ the body and size of @msg will be set to %NULL and 0 respectively. direction="out" caller-allocates="0" transfer-ownership="full"> - location for the size of @data + location for the size of @data @@ -2693,50 +3941,72 @@ the body and size of @msg will be set to %NULL and 0 respectively. - Take the body of @msg and store it in @buffer. After this method, + Take the body of @msg and store it in @buffer. After this method, the body and size of @msg will be set to %NULL and 0 respectively. If body data was set from raw memory instead of a #GstBuffer this function will always return %NULL. The caller can check if there is a body buffer by calling gst_rtsp_message_has_body_buffer(). + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - location for the buffer + location for the buffer - Set the body of @msg to @data and @size. This method takes ownership of + Set the body of @msg to @data and @size. This method takes ownership of @data. Any existing body or body buffer will be replaced by the new body. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - the data + the data - the size of @data + the size of @data @@ -2744,41 +4014,63 @@ calling gst_rtsp_message_has_body_buffer(). - Set the body of @msg to @buffer. This method takes ownership of @buffer. + Set the body of @msg to @buffer. This method takes ownership of @buffer. Any existing body or body buffer will be replaced by the new body. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstBuffer + a #GstBuffer - Add a header with key @field and @value to @msg. This function takes + Add a header with key @field and @value to @msg. This function takes ownership of @value. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - a #GstRTSPHeaderField + a #GstRTSPHeaderField - the value of the header + the value of the header @@ -2786,39 +4078,59 @@ ownership of @value. - Add a header with key @header and @value to @msg. This function takes + Add a header with key @header and @value to @msg. This function takes ownership of @value, but not of @header. + - a #GstRTSPResult. + a #GstRTSPResult. - a #GstRTSPMessage + a #GstRTSPMessage - a header string + a header string - the value of the header + the value of the header - Unset the contents of @msg so that it becomes an uninitialized + Unset the contents of @msg so that it becomes an uninitialized #GstRTSPMessage again. This function is mostly used in combination with gst_rtsp_message_init_request(), gst_rtsp_message_init_response() and gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPMessage + a #GstRTSPMessage @@ -2828,100 +4140,138 @@ gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures. - The different supported RTSP methods. + The different supported RTSP methods. - invalid method + invalid method - the DESCRIBE method + the DESCRIBE method - the ANNOUNCE method + the ANNOUNCE method - the GET_PARAMETER method + the GET_PARAMETER method - the OPTIONS method + the OPTIONS method - the PAUSE method + the PAUSE method - the PLAY method + the PLAY method - the RECORD method + the RECORD method - the REDIRECT method + the REDIRECT method - the SETUP method + the SETUP method - the SET_PARAMETER method + the SET_PARAMETER method - the TEARDOWN method + the TEARDOWN method - the GET method (HTTP). + the GET method (HTTP). - the POST method (HTTP). + the POST method (HTTP). - Convert @method to a string. + Convert @method to a string. + - a string representation of @method. + a string representation of @method. - a #GstRTSPMethod + a #GstRTSPMethod @@ -2931,118 +4281,168 @@ gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures. - The type of a message. + The type of a message. - invalid message type + invalid message type - RTSP request message + RTSP request message - RTSP response message + RTSP response message - HTTP request message. + HTTP request message. - HTTP response message. + HTTP response message. - data message + data message - The transfer profile to use. + The transfer profile to use. - invalid profile + invalid profile - the Audio/Visual profile (RFC 3551) + the Audio/Visual profile (RFC 3551) - the secure Audio/Visual profile (RFC 3711) + the secure Audio/Visual profile (RFC 3711) - the Audio/Visual profile with feedback (RFC 4585) + the Audio/Visual profile with feedback (RFC 4585) - the secure Audio/Visual profile with feedback (RFC 5124) + the secure Audio/Visual profile with feedback (RFC 5124) - Provides helper functions to deal with time ranges. + Provides helper functions to deal with time ranges. + - minimum value of the range + minimum value of the range - maximum value of the range + maximum value of the range - Converts the range in-place between different types of units. + Converts the range in-place between different types of units. Ranges containing the special value #GST_RTSP_TIME_NOW can not be converted as these are only valid for #GST_RTSP_RANGE_NPT. + - %TRUE if the range could be converted + %TRUE if the range could be converted - a #GstRTSPTimeRange + a #GstRTSPTimeRange - the unit to convert the range into + the unit to convert the range into - Free the memory allocated by @range. + Free the memory allocated by @range. + - a #GstRTSPTimeRange + a #GstRTSPTimeRange @@ -3050,67 +4450,97 @@ converted as these are only valid for #GST_RTSP_RANGE_NPT. - Retrieve the minimum and maximum values from @range converted to + Retrieve the minimum and maximum values from @range converted to #GstClockTime in @min and @max. A value of %GST_CLOCK_TIME_NONE will be used to signal #GST_RTSP_TIME_NOW and #GST_RTSP_TIME_END for @min and @max respectively. UTC times will be converted to nanoseconds since 1900. + - %TRUE on success. + %TRUE on success. - a #GstRTSPTimeRange + a #GstRTSPTimeRange - result minimum #GstClockTime + result minimum #GstClockTime - result maximum #GstClockTime + result maximum #GstClockTime - Parse @rangestr to a #GstRTSPTimeRange. + Parse @rangestr to a #GstRTSPTimeRange. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a range string to parse + a range string to parse - location to hold the #GstRTSPTimeRange result + location to hold the #GstRTSPTimeRange result - Convert @range into a string representation. + Convert @range into a string representation. + - The string representation of @range. g_free() after usage. + The string representation of @range. g_free() after usage. - a #GstRTSPTimeRange + a #GstRTSPTimeRange @@ -3120,196 +4550,262 @@ UTC times will be converted to nanoseconds since 1900. glib:type-name="GstRTSPRangeUnit" glib:get-type="gst_rtsp_range_unit_get_type" c:type="GstRTSPRangeUnit"> - Different possible time range units. + Different possible time range units. - SMPTE timecode + SMPTE timecode - 29.97 frames per second + 29.97 frames per second - 25 frames per second + 25 frames per second - Normal play time + Normal play time - Absolute time expressed as ISO 8601 timestamps + Absolute time expressed as ISO 8601 timestamps - Result codes from the RTSP functions. + Result codes from the RTSP functions. - no error + no error - some unspecified error occured + some unspecified error occurred - invalid arguments were provided to a function + invalid arguments were provided to a function - an operation was canceled + an operation was canceled - no memory was available for the operation + no memory was available for the operation - a host resolve error occured + a host resolve error occurred - function not implemented + function not implemented - a system error occured, errno contains more details + a system error occurred, errno contains more details - a parsing error occured + a parsing error occurred - windows networking could not start + windows networking could not start - windows networking stack has wrong version + windows networking stack has wrong version - end-of-file was reached + end-of-file was reached - a network problem occured, h_errno contains more details + a network problem occurred, h_errno contains more details - the host is not an IP host + the host is not an IP host - a timeout occured + a timeout occurred - the tunnel GET request has been performed + the tunnel GET request has been performed - the tunnel POST request has been performed + the tunnel POST request has been performed - last error + last error - The different RTSP states. + The different RTSP states. - invalid state + invalid state - initializing + initializing - ready for operation + ready for operation - seeking in progress + seeking in progress - playing + playing - recording + recording - Enumeration of rtsp status codes + Enumeration of rtsp status codes - A time indication. + A time indication. + - the time of the time + the time of the time - seconds when @type is GST_RTSP_TIME_SECONDS, + seconds when @type is GST_RTSP_TIME_SECONDS, GST_RTSP_TIME_UTC and GST_RTSP_TIME_FRAMES - Extra fields for a time indication. + Extra fields for a time indication. + - frames and subframes when type in GstRTSPTime is + frames and subframes when type in GstRTSPTime is GST_RTSP_TIME_FRAMES - year when type is GST_RTSP_TIME_UTC + year when type is GST_RTSP_TIME_UTC - month when type is GST_RTSP_TIME_UTC + month when type is GST_RTSP_TIME_UTC - day when type is GST_RTSP_TIME_UTC + day when type is GST_RTSP_TIME_UTC - A time range. + A time range. + - the time units used + the time units used - the minimum interval + the minimum interval - the maximum interval + the maximum interval - extra fields in the minimum interval (Since: 1.2) + extra fields in the minimum interval (Since: 1.2) - extra fields in the maximum interval (Since: 1.2) + extra fields in the maximum interval (Since: 1.2) @@ -3600,157 +5127,227 @@ UTC times will be converted to nanoseconds since 1900. glib:type-name="GstRTSPTimeType" glib:get-type="gst_rtsp_time_type_get_type" c:type="GstRTSPTimeType"> - Possible time types. + Possible time types. - seconds + seconds - now + now - end + end - frames and subframes + frames and subframes - UTC time + UTC time - The transfer mode to use. + The transfer mode to use. - invalid tansport mode + invalid tansport mode - transfer RTP data + transfer RTP data - transfer RDT (RealMedia) data + transfer RDT (RealMedia) data - Provides helper functions to deal with RTSP transport strings. + Provides helper functions to deal with RTSP transport strings. + - the transport mode + the transport mode - the tansport profile + the tansport profile - the lower transport + the lower transport - the destination ip/hostname + the destination ip/hostname - the source ip/hostname + the source ip/hostname - the number of layers + the number of layers - if play mode was selected + if play mode was selected - if record mode was selected + if record mode was selected - is append mode was selected + is append mode was selected - the interleave range + the interleave range - the time to live for multicast UDP + the time to live for multicast UDP - the port pair for multicast sessions + the port pair for multicast sessions - the client port pair for receiving data. For TCP + the client port pair for receiving data. For TCP based transports, applications can use this field to store the sender and receiver ports of the client. - the server port pair for receiving data. For TCP + the server port pair for receiving data. For TCP based transports, applications can use this field to store the sender and receiver ports of the server. - the ssrc that the sender/receiver will use + the ssrc that the sender/receiver will use - + - Convert @transport into a string that can be used to signal the transport in + Convert @transport into a string that can be used to signal the transport in an RTSP SETUP response. + - a string describing the RTSP transport or %NULL when the transport + a string describing the RTSP transport or %NULL when the transport is invalid. - a #GstRTSPTransport + a #GstRTSPTransport - Free the memory used by @transport. + Free the memory used by @transport. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransport + a #GstRTSPTransport @@ -3758,55 +5355,81 @@ is invalid. - Get the media type of @transport. This media type is typically + Get the media type of @transport. This media type is typically used to generate #GstCaps events. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransport + a #GstRTSPTransport - media type of @transport + media type of @transport - Initialize @transport so that it can be used. + Initialize @transport so that it can be used. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransport + a #GstRTSPTransport - Get the #GstElement that can handle the buffers transported over @trans. + Get the #GstElement that can handle the buffers transported over @trans. It is possible that there are several managers available, use @option to selected one. @manager will contain an element name or %NULL when no manager is needed/available for @trans. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransMode + a #GstRTSPTransMode caller-allocates="0" transfer-ownership="none" nullable="1"> - location to hold the result + location to hold the result - option index. + option index. @@ -3826,53 +5453,81 @@ needed/available for @trans. - Get the mime type of the transport mode @trans. This mime type is typically + Get the mime type of the transport mode @trans. This mime type is typically used to generate #GstCaps events. This functions only deals with the GstRTSPTransMode and only returns the mime type for #GST_RTSP_PROFILE_AVP. Use gst_rtsp_transport_get_media_type() instead. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransMode + a #GstRTSPTransMode - location to hold the result + location to hold the result - Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free() + Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free() after usage. + - a #GstRTSPResult. + a #GstRTSPResult. - location to hold the new #GstRTSPTransport + location to hold the new #GstRTSPTransport - Parse the RTSP transport string @str into @transport. + Parse the RTSP transport string @str into @transport. + - a #GstRTSPResult. + a #GstRTSPResult. - a transport string + a transport string - a #GstRTSPTransport + a #GstRTSPTransport @@ -3883,55 +5538,83 @@ after usage. glib:type-name="GstRTSPUrl" glib:get-type="gst_rtsp_url_get_type" c:symbol-prefix="rtsp_url"> - Provides helper functions to handle RTSP urls. + Provides helper functions to handle RTSP urls. + - the transports allowed + the transports allowed - the family + the family - the user + the user - the password + the password - the host + the host - the port + the port - the absolute path + the absolute path - additional query parameters + additional query parameters - Make a copy of @url. + Make a copy of @url. + - a copy of @url. Free with gst_rtsp_url_free () after usage. + a copy of @url. Free with gst_rtsp_url_free () after usage. - a #GstRTSPUrl + a #GstRTSPUrl - Splits the path of @url on '/' boundaries, decoding the resulting components, + Splits the path of @url on '/' boundaries, decoding the resulting components, The decoding performed by this routine is "URI decoding", as defined in RFC 3986, commonly known as percent-decoding. For example, a string "foo\%2fbar" @@ -3942,8 +5625,11 @@ unescaped to NUL, as that would prematurely terminate the string. Also note that since paths usually start with a slash, the first component will usually be the empty string. + - %NULL-terminated array of URL components. Free with + %NULL-terminated array of URL components. Free with g_strfreev() when no longer needed. @@ -3951,91 +5637,162 @@ g_strfreev() when no longer needed. - a #GstRTSPUrl + a #GstRTSPUrl - Free the memory used by @url. + Free the memory used by @url. + - a #GstRTSPUrl + a #GstRTSPUrl - Get the port number of @url. + Get the port number of @url. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPUrl + a #GstRTSPUrl - location to hold the port + location to hold the port - Get a newly allocated string describing the request URI for @url. + Get a newly allocated string describing the request URI for @url. + - a string with the request URI. g_free() after usage. + a string with the request URI. g_free() after usage. - a #GstRTSPUrl + a #GstRTSPUrl + + Get a newly allocated string describing the request URI for @url +combined with the control path for @control_path + + + a string with the request URI combined with the control path. +g_free() after usage. + + + + + a #GstRTSPUrl + + + + an RTSP aggregate control path + + + + - Set the port number in @url to @port. + Set the port number in @url to @port. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPUrl + a #GstRTSPUrl - the port + the port - Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage + Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage with gst_rtsp_url_free(). + - a #GstRTSPResult. + a #GstRTSPResult. - the url string to parse + the url string to parse - location to hold the result. + location to hold the result. @@ -4045,61 +5802,93 @@ with gst_rtsp_url_free(). glib:type-name="GstRTSPVersion" glib:get-type="gst_rtsp_version_get_type" c:type="GstRTSPVersion"> - The supported RTSP versions. + The supported RTSP versions. - unknown/invalid version + unknown/invalid version - version 1.0 + version 1.0 - version 1.1. + version 1.1. - version 2.0. + version 2.0. - Convert @version to a string. + Convert @version to a string. + - a string representation of @version. + a string representation of @version. - a #GstRTSPVersion + a #GstRTSPVersion - Opaque RTSP watch object that can be used for asynchronous RTSP + Opaque RTSP watch object that can be used for asynchronous RTSP operations. + - Adds a #GstRTSPWatch to a context so that it will be executed within that context. + Adds a #GstRTSPWatch to a context so that it will be executed within that context. + - the ID (greater than 0) for the watch within the GMainContext. + the ID (greater than 0) for the watch within the GMainContext. - a #GstRTSPWatch + a #GstRTSPWatch - a GMainContext (if NULL, the default context will be used) + a GMainContext (if NULL, the default context will be used) @@ -4107,14 +5896,20 @@ operations. - Get the maximum amount of bytes and messages that will be queued in @watch. + Get the maximum amount of bytes and messages that will be queued in @watch. See gst_rtsp_watch_set_send_backlog(). + - a #GstRTSPWatch + a #GstRTSPWatch transfer-ownership="full" optional="1" allow-none="1"> - maximum bytes + maximum bytes transfer-ownership="full" optional="1" allow-none="1"> - maximum messages + maximum messages - Reset @watch, this is usually called after gst_rtsp_connection_do_tunnel() + Reset @watch, this is usually called after gst_rtsp_connection_do_tunnel() when the file descriptors of the connection might have changed. + - a #GstRTSPWatch + a #GstRTSPWatch - Send a @message using the connection of the @watch. If it cannot be sent + Send a @message using the connection of the @watch. If it cannot be sent immediately, it will be queued for transmission in @watch. The contents of @message will then be serialized and transmitted when the connection of the @watch becomes writable. In case the @message is queued, the ID returned in @id will be non-zero and used as the ID argument in the message_sent callback. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPWatch + a #GstRTSPWatch - a #GstRTSPMessage + a #GstRTSPMessage transfer-ownership="full" optional="1" allow-none="1"> - location for a message ID or %NULL + location for a message ID or %NULL @@ -4184,30 +6001,42 @@ callback. - Sends @messages using the connection of the @watch. If they cannot be sent + Sends @messages using the connection of the @watch. If they cannot be sent immediately, they will be queued for transmission in @watch. The contents of @messages will then be serialized and transmitted when the connection of the @watch becomes writable. In case the @messages are queued, the ID returned in @id will be non-zero and used as the ID argument in the message_sent callback once the last message is sent. The callback will only be called once for the last message. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a #GstRTSPWatch + a #GstRTSPWatch - the messages to send + the messages to send - the number of messages to send + the number of messages to send transfer-ownership="full" optional="1" allow-none="1"> - location for a message ID or %NULL + location for a message ID or %NULL @@ -4224,19 +6055,27 @@ once for the last message. - When @flushing is %TRUE, abort a call to gst_rtsp_watch_wait_backlog() + When @flushing is %TRUE, abort a call to gst_rtsp_watch_wait_backlog() and make sure gst_rtsp_watch_write_data() returns immediately with #GST_RTSP_EINTR. And empty the queue. + - a #GstRTSPWatch + a #GstRTSPWatch - new flushing state + new flushing state @@ -4244,46 +6083,66 @@ and make sure gst_rtsp_watch_write_data() returns immediately with - Set the maximum amount of bytes and messages that will be queued in @watch. + Set the maximum amount of bytes and messages that will be queued in @watch. When the maximum amounts are exceeded, gst_rtsp_watch_write_data() and gst_rtsp_watch_send_message() will return #GST_RTSP_ENOMEM. A value of 0 for @bytes or @messages means no limits. + - a #GstRTSPWatch + a #GstRTSPWatch - maximum bytes + maximum bytes - maximum messages + maximum messages - Decreases the reference count of @watch by one. If the resulting reference + Decreases the reference count of @watch by one. If the resulting reference count is zero the watch and associated memory will be destroyed. + - a #GstRTSPWatch + a #GstRTSPWatch - Wait until there is place in the backlog queue, @timeout is reached + version="1.4" + deprecated="1" + deprecated-version="1.18"> + Wait until there is place in the backlog queue, @timeout is reached or @watch is set to flushing. If @timeout is %NULL this function can block forever. If @timeout @@ -4293,8 +6152,12 @@ after the timeout expired. The typically use of this function is when gst_rtsp_watch_write_data returns %GST_RTSP_ENOMEM. The caller then calls this function to wait for free space in the backlog queue and try again. + - %GST_RTSP_OK when if there is room in queue. + %GST_RTSP_OK when if there is room in queue. %GST_RTSP_ETIMEOUT when @timeout was reached. %GST_RTSP_EINTR when @watch is flushing %GST_RTSP_EINVAL when called with invalid parameters. @@ -4302,17 +6165,64 @@ free space in the backlog queue and try again. - a #GstRTSPWatch + a #GstRTSPWatch - a #GTimeVal timeout + a GTimeVal timeout + + Wait until there is place in the backlog queue, @timeout is reached +or @watch is set to flushing. + +If @timeout is 0 this function can block forever. If @timeout +contains a valid timeout, this function will return %GST_RTSP_ETIMEOUT +after the timeout expired. + +The typically use of this function is when gst_rtsp_watch_write_data +returns %GST_RTSP_ENOMEM. The caller then calls this function to wait for +free space in the backlog queue and try again. + + + %GST_RTSP_OK when if there is room in queue. + %GST_RTSP_ETIMEOUT when @timeout was reached. + %GST_RTSP_EINTR when @watch is flushing + %GST_RTSP_EINVAL when called with invalid parameters. + + + + + a #GstRTSPWatch + + + + a timeout in microseconds + + + + - Write @data using the connection of the @watch. If it cannot be sent + Write @data using the connection of the @watch. If it cannot be sent immediately, it will be queued for transmission in @watch. The contents of @message will then be serialized and transmitted when the connection of the @watch becomes writable. In case the @message is queued, the ID returned in @@ -4324,24 +6234,34 @@ This function will take ownership of @data and g_free() it after use. If the amount of queued data exceeds the limits set with gst_rtsp_watch_set_send_backlog(), this function will return #GST_RTSP_ENOMEM. + - #GST_RTSP_OK on success. #GST_RTSP_ENOMEM when the backlog limits + #GST_RTSP_OK on success. #GST_RTSP_ENOMEM when the backlog limits are reached. #GST_RTSP_EINTR when @watch was flushing. - a #GstRTSPWatch + a #GstRTSPWatch - the data to queue + the data to queue - the size of @data + the size of @data transfer-ownership="full" optional="1" allow-none="1"> - location for a message ID or %NULL + location for a message ID or %NULL @@ -4358,45 +6280,65 @@ are reached. #GST_RTSP_EINTR when @watch was flushing. - Create a watch object for @conn. The functions provided in @funcs will be + Create a watch object for @conn. The functions provided in @funcs will be called with @user_data when activity happened on the watch. The new watch is usually created so that it can be attached to a maincontext with gst_rtsp_watch_attach(). @conn must exist for the entire lifetime of the watch. + - a #GstRTSPWatch that can be used for asynchronous RTSP + a #GstRTSPWatch that can be used for asynchronous RTSP communication. Free with gst_rtsp_watch_unref () after usage. - a #GstRTSPConnection + a #GstRTSPConnection - watch functions + watch functions - user data to pass to @funcs + user data to pass to @funcs - notify when @user_data is not referenced anymore + notify when @user_data is not referenced anymore - Callback functions from a #GstRTSPWatch. + Callback functions from a #GstRTSPWatch. + + @@ -4419,6 +6361,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4441,6 +6385,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4460,6 +6406,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4482,6 +6430,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4501,6 +6451,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4520,6 +6472,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4548,6 +6502,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4567,6 +6523,8 @@ communication. Free with gst_rtsp_watch_unref () after usage. + @@ -4591,28 +6549,107 @@ communication. Free with gst_rtsp_watch_unref () after usage. - + + + Macro that checks the return value of @stmt and jumps to @label when it does +not equal #GST_RTSP_OK. + + + + a statement + + + a label + + + - The default RTSP port to connect to. + The default RTSP port to connect to. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - Free a %NULL-terminated array of credentials returned from + Free a %NULL-terminated array of credentials returned from gst_rtsp_message_parse_auth_credentials(). + - a %NULL-terminated array of #GstRTSPAuthCredential + a %NULL-terminated array of #GstRTSPAuthCredential @@ -4620,29 +6657,41 @@ gst_rtsp_message_parse_auth_credentials(). - Accept a new connection on @socket and create a new #GstRTSPConnection for + Accept a new connection on @socket and create a new #GstRTSPConnection for handling communication on new socket. + - #GST_RTSP_OK when @conn contains a valid connection. + #GST_RTSP_OK when @conn contains a valid connection. - a socket + a socket - storage for a #GstRTSPConnection + storage for a #GstRTSPConnection - a #GCancellable to cancel the operation + a #GCancellable to cancel the operation @@ -4650,25 +6699,35 @@ handling communication on new socket. - Create a newly allocated #GstRTSPConnection from @url and store it in @conn. + Create a newly allocated #GstRTSPConnection from @url and store it in @conn. The connection will not yet attempt to connect to @url, use gst_rtsp_connection_connect(). A copy of @url will be made. + - #GST_RTSP_OK when @conn contains a valid connection. + #GST_RTSP_OK when @conn contains a valid connection. - a #GstRTSPUrl + a #GstRTSPUrl - storage for a #GstRTSPConnection + storage for a #GstRTSPConnection @@ -4676,64 +6735,94 @@ A copy of @url will be made. - Create a new #GstRTSPConnection for handling communication on the existing + Create a new #GstRTSPConnection for handling communication on the existing socket @socket. The @initial_buffer contains zero terminated data already read from @socket which should be used before starting to read new data. + - #GST_RTSP_OK when @conn contains a valid connection. + #GST_RTSP_OK when @conn contains a valid connection. - a #GSocket + a #GSocket - the IP address of the other end + the IP address of the other end - the port used by the other end + the port used by the other end - data already read from @fd + data already read from @fd - storage for a #GstRTSPConnection + storage for a #GstRTSPConnection - Convert @header to a #GstRTSPHeaderField. + Convert @header to a #GstRTSPHeaderField. + - a #GstRTSPHeaderField for @header or #GST_RTSP_HDR_INVALID if the + a #GstRTSPHeaderField for @header or #GST_RTSP_HDR_INVALID if the header field is unknown. - a header string + a header string - Convert @method to a #GstRTSPMethod. + Convert @method to a #GstRTSPMethod. + - a #GstRTSPMethod for @method or #GST_RTSP_INVALID if the + a #GstRTSPMethod for @method or #GST_RTSP_INVALID if the method is unknown. - a method + a method @@ -4741,12 +6830,17 @@ method is unknown. - Calculates the digest auth response from the values given by the server and + Calculates the digest auth response from the values given by the server and the username and password. See RFC2069 for details. Currently only supported algorithm "md5". + - Authentication response or %NULL if unsupported + Authentication response or %NULL if unsupported @@ -4754,31 +6848,45 @@ Currently only supported algorithm "md5". transfer-ownership="none" nullable="1" allow-none="1"> - Hash algorithm to use, or %NULL for MD5 + Hash algorithm to use, or %NULL for MD5 - Request method, e.g. PLAY + Request method, e.g. PLAY - Realm + Realm - Username + Username - Password + Password - Original request URI + Original request URI - Nonce + Nonce @@ -4786,15 +6894,20 @@ Currently only supported algorithm "md5". - Calculates the digest auth response from the values given by the server and + Calculates the digest auth response from the values given by the server and the md5sum. See RFC2069 for details. This function is useful when the passwords are not stored in clear text, but instead in the same format as the .htdigest file. Currently only supported algorithm "md5". + - Authentication response or %NULL if unsupported + Authentication response or %NULL if unsupported @@ -4802,59 +6915,89 @@ Currently only supported algorithm "md5". transfer-ownership="none" nullable="1" allow-none="1"> - Hash algorithm to use, or %NULL for MD5 + Hash algorithm to use, or %NULL for MD5 - Request method, e.g. PLAY + Request method, e.g. PLAY - The md5 sum of username:realm:password + The md5 sum of username:realm:password - Original request URI + Original request URI - Nonce + Nonce - Check whether @field may appear multiple times in a message. + Check whether @field may appear multiple times in a message. + - %TRUE if multiple headers are allowed. + %TRUE if multiple headers are allowed. - a #GstRTSPHeaderField + a #GstRTSPHeaderField - Convert @field to a string. + Convert @field to a string. + - a string representation of @field. + a string representation of @field. - a #GstRTSPHeaderField + a #GstRTSPHeaderField - Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free(). + Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free(). + - a #GstRTSPResult. + a #GstRTSPResult. @@ -4862,17 +7005,25 @@ Currently only supported algorithm "md5". direction="out" caller-allocates="0" transfer-ownership="full"> - a location for the new #GstRTSPMessage + a location for the new #GstRTSPMessage - Create a new data #GstRTSPMessage with @channel and store the + Create a new data #GstRTSPMessage with @channel and store the result message in @msg. Free with gst_rtsp_message_free(). + - a #GstRTSPResult. + a #GstRTSPResult. @@ -4880,21 +7031,31 @@ result message in @msg. Free with gst_rtsp_message_free(). direction="out" caller-allocates="0" transfer-ownership="full"> - a location for the new #GstRTSPMessage + a location for the new #GstRTSPMessage - the channel + the channel - Create a new #GstRTSPMessage with @method and @uri and store the result + Create a new #GstRTSPMessage with @method and @uri and store the result request message in @msg. Free with gst_rtsp_message_free(). + - a #GstRTSPResult. + a #GstRTSPResult. @@ -4902,30 +7063,42 @@ request message in @msg. Free with gst_rtsp_message_free(). direction="out" caller-allocates="0" transfer-ownership="full"> - a location for the new #GstRTSPMessage + a location for the new #GstRTSPMessage - the request method to use + the request method to use - the uri of the request + the uri of the request - Create a new response #GstRTSPMessage with @code and @reason and store the + Create a new response #GstRTSPMessage with @code and @reason and store the result message in @msg. Free with gst_rtsp_message_free(). When @reason is %NULL, the default reason for @code will be used. When @request is not %NULL, the relevant headers will be copied to the new response message. + - a #GstRTSPResult. + a #GstRTSPResult. @@ -4933,25 +7106,33 @@ response message. direction="out" caller-allocates="0" transfer-ownership="full"> - a location for the new #GstRTSPMessage + a location for the new #GstRTSPMessage - the status code + the status code - the status reason or %NULL + the status reason or %NULL - the request that triggered the response or %NULL + the request that triggered the response or %NULL @@ -4959,28 +7140,42 @@ response message. - Convert @method to a string. + Convert @method to a string. + - a string representation of @method. + a string representation of @method. - a #GstRTSPMethod + a #GstRTSPMethod - Convert @options to a string. + Convert @options to a string. + - a new string of @options. g_free() after usage. + a new string of @options. g_free() after usage. - one or more #GstRTSPMethod + one or more #GstRTSPMethod @@ -4988,15 +7183,22 @@ response message. - Convert the comma separated list @options to a #GstRTSPMethod bitwise or + Convert the comma separated list @options to a #GstRTSPMethod bitwise or of methods. This functions is the reverse of gst_rtsp_options_as_text(). + - a #GstRTSPMethod + a #GstRTSPMethod - a comma separated list of options + a comma separated list of options @@ -5004,20 +7206,29 @@ of methods. This functions is the reverse of gst_rtsp_options_as_text(). - Converts the range in-place between different types of units. + Converts the range in-place between different types of units. Ranges containing the special value #GST_RTSP_TIME_NOW can not be converted as these are only valid for #GST_RTSP_RANGE_NPT. + - %TRUE if the range could be converted + %TRUE if the range could be converted - a #GstRTSPTimeRange + a #GstRTSPTimeRange - the unit to convert the range into + the unit to convert the range into @@ -5025,13 +7236,18 @@ converted as these are only valid for #GST_RTSP_RANGE_NPT. - Free the memory allocated by @range. + Free the memory allocated by @range. + - a #GstRTSPTimeRange + a #GstRTSPTimeRange @@ -5040,34 +7256,45 @@ converted as these are only valid for #GST_RTSP_RANGE_NPT. c:identifier="gst_rtsp_range_get_times" moved-to="RTSPRange.get_times" version="1.2"> - Retrieve the minimum and maximum values from @range converted to + Retrieve the minimum and maximum values from @range converted to #GstClockTime in @min and @max. A value of %GST_CLOCK_TIME_NONE will be used to signal #GST_RTSP_TIME_NOW and #GST_RTSP_TIME_END for @min and @max respectively. UTC times will be converted to nanoseconds since 1900. + - %TRUE on success. + %TRUE on success. - a #GstRTSPTimeRange + a #GstRTSPTimeRange - result minimum #GstClockTime + result minimum #GstClockTime - result maximum #GstClockTime + result maximum #GstClockTime @@ -5075,21 +7302,30 @@ UTC times will be converted to nanoseconds since 1900. - Parse @rangestr to a #GstRTSPTimeRange. + Parse @rangestr to a #GstRTSPTimeRange. + - #GST_RTSP_OK on success. + #GST_RTSP_OK on success. - a range string to parse + a range string to parse - location to hold the #GstRTSPTimeRange result + location to hold the #GstRTSPTimeRange result @@ -5097,41 +7333,62 @@ UTC times will be converted to nanoseconds since 1900. - Convert @range into a string representation. + Convert @range into a string representation. + - The string representation of @range. g_free() after usage. + The string representation of @range. g_free() after usage. - a #GstRTSPTimeRange + a #GstRTSPTimeRange - Convert @code to a string. + Convert @code to a string. + - a string representation of @code. + a string representation of @code. - a #GstRTSPStatusCode + a #GstRTSPStatusCode - Convert @result in a human readable string. + Convert @result in a human readable string. + - a newly allocated string. g_free() after usage. + a newly allocated string. g_free() after usage. - a #GstRTSPResult + a #GstRTSPResult @@ -5139,20 +7396,28 @@ UTC times will be converted to nanoseconds since 1900. - Get the #GstElement that can handle the buffers transported over @trans. + Get the #GstElement that can handle the buffers transported over @trans. It is possible that there are several managers available, use @option to selected one. @manager will contain an element name or %NULL when no manager is needed/available for @trans. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransMode + a #GstRTSPTransMode caller-allocates="0" transfer-ownership="none" nullable="1"> - location to hold the result + location to hold the result - option index. + option index. @@ -5173,22 +7442,32 @@ needed/available for @trans. c:identifier="gst_rtsp_transport_get_mime" moved-to="RTSPTransport.get_mime" deprecated="1"> - Get the mime type of the transport mode @trans. This mime type is typically + Get the mime type of the transport mode @trans. This mime type is typically used to generate #GstCaps events. This functions only deals with the GstRTSPTransMode and only returns the mime type for #GST_RTSP_PROFILE_AVP. Use gst_rtsp_transport_get_media_type() instead. + - #GST_RTSP_OK. + #GST_RTSP_OK. - a #GstRTSPTransMode + a #GstRTSPTransMode - location to hold the result + location to hold the result @@ -5196,15 +7475,23 @@ used to generate #GstCaps events. - Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free() + Allocate a new initialized #GstRTSPTransport. Use gst_rtsp_transport_free() after usage. + - a #GstRTSPResult. + a #GstRTSPResult. - location to hold the new #GstRTSPTransport + location to hold the new #GstRTSPTransport @@ -5212,18 +7499,28 @@ after usage. - Parse the RTSP transport string @str into @transport. + Parse the RTSP transport string @str into @transport. + - a #GstRTSPResult. + a #GstRTSPResult. - a transport string + a transport string - a #GstRTSPTransport + a #GstRTSPTransport @@ -5231,22 +7528,31 @@ after usage. - Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage + Parse the RTSP @urlstr into a newly allocated #GstRTSPUrl. Free after usage with gst_rtsp_url_free(). + - a #GstRTSPResult. + a #GstRTSPResult. - the url string to parse + the url string to parse - location to hold the result. + location to hold the result. @@ -5254,14 +7560,21 @@ with gst_rtsp_url_free(). - Convert @version to a string. + Convert @version to a string. + - a string representation of @version. + a string representation of @version. - a #GstRTSPVersion + a #GstRTSPVersion @@ -5270,36 +7583,50 @@ with gst_rtsp_url_free(). c:identifier="gst_rtsp_watch_new" moved-to="RTSPWatch.new" introspectable="0"> - Create a watch object for @conn. The functions provided in @funcs will be + Create a watch object for @conn. The functions provided in @funcs will be called with @user_data when activity happened on the watch. The new watch is usually created so that it can be attached to a maincontext with gst_rtsp_watch_attach(). @conn must exist for the entire lifetime of the watch. + - a #GstRTSPWatch that can be used for asynchronous RTSP + a #GstRTSPWatch that can be used for asynchronous RTSP communication. Free with gst_rtsp_watch_unref () after usage. - a #GstRTSPConnection + a #GstRTSPConnection - watch functions + watch functions - user data to pass to @funcs + user data to pass to @funcs - notify when @user_data is not referenced anymore + notify when @user_data is not referenced anymore diff --git a/girs/GstSdp-1.0.gir b/girs/GstSdp-1.0.gir index b3c7d00817..6a1d4b7d29 100644 --- a/girs/GstSdp-1.0.gir +++ b/girs/GstSdp-1.0.gir @@ -15,97 +15,156 @@ and/or use gtk-doc annotations. --> c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> - The different cache types + The different cache types + - The envelope key MUST NOT be cached + The envelope key MUST NOT be cached - The envelope key MUST be cached + The envelope key MUST be cached - The envelope key MUST be cached, but only + The envelope key MUST be cached, but only to be used for the specific CSB. + - The encryption algorithm used to encrypt the Encr data field + The encryption algorithm used to encrypt the Encr data field + - no encryption + no encryption - AES-CM using a 128-bit key + AES-CM using a 128-bit key - AES Key Wrap using a 128-bit key + AES Key Wrap using a 128-bit key - AES-GCM using a 128-bit key (Since 1.16) + AES-GCM using a 128-bit key (Since: 1.16) + - The key validity type + The key validity type + - No specific usage rule + No specific usage rule - The key is associated with the SPI/MKI + The key is associated with the SPI/MKI - The key has a start and expiration time + The key has a start and expiration time - The type of key. + The type of key. + - a TEK Generation Key + a TEK Generation Key - Traffic-Encrypting Key + Traffic-Encrypting Key - Specifies the authentication algorithm used + Specifies the authentication algorithm used + - no authentication + no authentication - HMAC-SHA-1-160 + HMAC-SHA-1-160 - The Security policy Map item for SRTP + The Security policy Map item for SRTP + - The security policy applied for the stream with @ssrc + The security policy applied for the stream with @ssrc - the SSRC that must be used for the stream + the SSRC that must be used for the stream - current rollover counter + current rollover counter - Specifies the method of uniquely mapping Crypto Sessions to the security + Specifies the method of uniquely mapping Crypto Sessions to the security protocol sessions. + - SRTP + SRTP glib:type-name="GstMIKEYMessage" glib:get-type="gst_mikey_message_get_type" c:symbol-prefix="mikey_message"> - Structure holding the information of the MIKEY message + Structure holding the information of the MIKEY message + - the version + the version - the #GstMIKEYType message type + the #GstMIKEYType message type - verify flag + verify flag - a #GstMIKEYPRFFunc + a #GstMIKEYPRFFunc - Identifies the Crypto Session Bundle + Identifies the Crypto Session Bundle - a #GstMIKEYMapType + a #GstMIKEYMapType - map info array of type depending on @map_type + map info array of type depending on @map_type - the payload array of #GstMIKEYPayload + the payload array of #GstMIKEYPayload @@ -156,9 +234,14 @@ protocol sessions. - Make a new MIKEY message. + Make a new MIKEY message. + - a new #GstMIKEYMessage on success + a new #GstMIKEYMessage on success @@ -166,18 +249,27 @@ protocol sessions. c:identifier="gst_mikey_message_new_from_bytes" version="1.4" throws="1"> - Make a new #GstMIKEYMessage from @bytes. + Make a new #GstMIKEYMessage from @bytes. + - a new #GstMIKEYMessage + a new #GstMIKEYMessage - a #GBytes + a #GBytes - a #GstMIKEYDecryptInfo + a #GstMIKEYDecryptInfo @@ -185,18 +277,25 @@ protocol sessions. - Makes mikey message including: + Makes mikey message including: - Security Policy Payload - Key Data Transport Payload - Key Data Sub-Payload + - a #GstMIKEYMessage, + a #GstMIKEYMessage, or %NULL if there is no srtp information in the caps. - a #GstCaps, including SRTP parameters (srtp/srtcp cipher, authorization, key data) + a #GstCaps, including SRTP parameters (srtp/srtcp cipher, authorization, key data) @@ -205,26 +304,37 @@ or %NULL if there is no srtp information in the caps. c:identifier="gst_mikey_message_new_from_data" version="1.4" throws="1"> - Parse @size bytes from @data into a #GstMIKEYMessage. @info contains the + Parse @size bytes from @data into a #GstMIKEYMessage. @info contains the parameters to decrypt and verify the data. + - a #GstMIKEYMessage on success or %NULL when parsing failed and + a #GstMIKEYMessage on success or %NULL when parsing failed and @error will be set. - bytes to read + bytes to read - length of @data + length of @data - #GstMIKEYDecryptInfo + #GstMIKEYDecryptInfo @@ -232,26 +342,39 @@ parameters to decrypt and verify the data. - Add a Crypto policy for SRTP to @msg. + Add a Crypto policy for SRTP to @msg. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - The security policy applied for the stream with @ssrc + The security policy applied for the stream with @ssrc - the SSRC that must be used for the stream + the SSRC that must be used for the stream - current rollover counter + current rollover counter @@ -259,18 +382,27 @@ parameters to decrypt and verify the data. - Add a new payload to @msg. + Add a new payload to @msg. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - a #GstMIKEYPayload + a #GstMIKEYPayload @@ -278,26 +410,39 @@ parameters to decrypt and verify the data. - Add a new PKE payload to @msg with the given parameters. + Add a new PKE payload to @msg with the given parameters. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - envelope key cache indicator + envelope key cache indicator - the length of @data + the length of @data - the encrypted envelope key + the encrypted envelope key @@ -307,22 +452,33 @@ parameters to decrypt and verify the data. - Add a new RAND payload to @msg with the given parameters. + Add a new RAND payload to @msg with the given parameters. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - the length of @rand + the length of @rand - random data + random data @@ -332,18 +488,27 @@ parameters to decrypt and verify the data. - Add a new RAND payload to @msg with @len random bytes. + Add a new RAND payload to @msg with @len random bytes. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - length + length @@ -351,22 +516,33 @@ parameters to decrypt and verify the data. - Add a new T payload to @msg with the given parameters. + Add a new T payload to @msg with the given parameters. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - specifies the timestamp type used + specifies the timestamp type used - The timestamp value of the specified @type + The timestamp value of the specified @type @@ -376,15 +552,22 @@ parameters to decrypt and verify the data. - Add a new T payload to @msg that contains the current time + Add a new T payload to @msg that contains the current time in NTP-UTC format. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage @@ -392,13 +575,18 @@ in NTP-UTC format. + - a #gchar, base64-encoded data + a #gchar, base64-encoded data - a #GstMIKEYMessage + a #GstMIKEYMessage @@ -406,22 +594,33 @@ in NTP-UTC format. - Find the @nth occurence of the payload with @type in @msg. + Find the @nth occurrence of the payload with @type in @msg. + - the @nth #GstMIKEYPayload of @type. + the @nth #GstMIKEYPayload of @type. - a #GstMIKEYMessage + a #GstMIKEYMessage - a #GstMIKEYPayloadType + a #GstMIKEYPayloadType - payload to find + payload to find @@ -429,18 +628,27 @@ in NTP-UTC format. - Get the policy information of @msg at @idx. + Get the policy information of @msg at @idx. + - a #GstMIKEYMapSRTP + a #GstMIKEYMapSRTP - a #GstMIKEYMessage + a #GstMIKEYMessage - an index + an index @@ -448,14 +656,21 @@ in NTP-UTC format. - Get the number of crypto sessions in @msg. + Get the number of crypto sessions in @msg. + - the number of crypto sessions + the number of crypto sessions - a #GstMIKEYMessage + a #GstMIKEYMessage @@ -463,14 +678,21 @@ in NTP-UTC format. - Get the number of payloads in @msg. + Get the number of payloads in @msg. + - the number of payloads in @msg + the number of payloads in @msg - a #GstMIKEYMessage + a #GstMIKEYMessage @@ -478,19 +700,28 @@ in NTP-UTC format. - Get the #GstMIKEYPayload at @idx in @msg + Get the #GstMIKEYPayload at @idx in @msg + - the #GstMIKEYPayload at @idx. The payload + the #GstMIKEYPayload at @idx. The payload remains valid for as long as it is part of @msg. - a #GstMIKEYMessage + a #GstMIKEYMessage - an index + an index @@ -498,24 +729,35 @@ remains valid for as long as it is part of @msg. - Insert a Crypto Session map for SRTP in @msg at @idx + Insert a Crypto Session map for SRTP in @msg at @idx When @idx is -1, the policy will be appended. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - the index to insert at + the index to insert at - the map info + the map info @@ -523,23 +765,34 @@ When @idx is -1, the policy will be appended. - Insert the @payload at index @idx in @msg. If @idx is -1, the payload + Insert the @payload at index @idx in @msg. If @idx is -1, the payload will be appended to @msg. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - an index + an index - a #GstMIKEYPayload + a #GstMIKEYPayload @@ -547,18 +800,27 @@ will be appended to @msg. - Remove the SRTP policy at @idx. + Remove the SRTP policy at @idx. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - the index to remove + the index to remove @@ -566,18 +828,27 @@ will be appended to @msg. - Remove the payload in @msg at @idx + Remove the payload in @msg at @idx + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - an index + an index @@ -585,22 +856,33 @@ will be appended to @msg. - Replace a Crypto Session map for SRTP in @msg at @idx with @map. + Replace a Crypto Session map for SRTP in @msg at @idx with @map. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - the index to insert at + the index to insert at - the map info + the map info @@ -608,22 +890,33 @@ will be appended to @msg. - Replace the payload at @idx in @msg with @payload. + Replace the payload at @idx in @msg with @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - an index + an index - a #GstMIKEYPayload + a #GstMIKEYPayload @@ -631,38 +924,57 @@ will be appended to @msg. - Set the information in @msg. + Set the information in @msg. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - a version + a version - a #GstMIKEYType + a #GstMIKEYType - verify flag + verify flag - the #GstMIKEYPRFFunc function to use + the #GstMIKEYPRFFunc function to use - the Crypto Session Bundle id + the Crypto Session Bundle id - the #GstMIKEYMapType + the #GstMIKEYMapType @@ -671,18 +983,27 @@ will be appended to @msg. c:identifier="gst_mikey_message_to_bytes" version="1.4" throws="1"> - Convert @msg to a #GBytes. + Convert @msg to a #GBytes. + - a new #GBytes for @msg. + a new #GBytes for @msg. - a #GstMIKEYMessage + a #GstMIKEYMessage - a #GstMIKEYEncryptInfo + a #GstMIKEYEncryptInfo @@ -690,28 +1011,40 @@ will be appended to @msg. + - %TRUE on success + %TRUE on success - a #GstMIKEYMessage + a #GstMIKEYMessage - a #GstCaps to be filled with SRTP parameters (srtp/srtcp cipher, authorization, key data) + a #GstCaps to be filled with SRTP parameters (srtp/srtcp cipher, authorization, key data) - The PRF function that has been/will be used for key derivation + The PRF function that has been/will be used for key derivation + - MIKEY-1 PRF function + MIKEY-1 PRF function glib:type-name="GstMIKEYPayload" glib:get-type="gst_mikey_payload_get_type" c:symbol-prefix="mikey_payload"> - Hold the common fields for all payloads + Hold the common fields for all payloads + - the payload type + the payload type - length of the payload + length of the payload - Make a new #GstMIKEYPayload with @type. + Make a new #GstMIKEYPayload with @type. + - a new #GstMIKEYPayload or %NULL on failure. + a new #GstMIKEYPayload or %NULL on failure. - a #GstMIKEYPayloadType + a #GstMIKEYPayloadType @@ -749,18 +1096,27 @@ will be appended to @msg. - Add a new sub payload to @payload. + Add a new sub payload to @payload. + - %TRUE on success. + %TRUE on success. - a #GstMIKEYPayload + a #GstMIKEYPayload - a #GstMIKEYPayload to add + a #GstMIKEYPayload to add @@ -768,15 +1124,22 @@ will be appended to @msg. - Get the number of sub payloads of @payload. @payload should be of type + Get the number of sub payloads of @payload. @payload should be of type %GST_MIKEY_PT_KEMAC. + - the number of sub payloads in @payload + the number of sub payloads in @payload - a #GstMIKEYPayload + a #GstMIKEYPayload @@ -784,19 +1147,28 @@ will be appended to @msg. - Get the sub payload of @payload at @idx. @payload should be of type + Get the sub payload of @payload at @idx. @payload should be of type %GST_MIKEY_PT_KEMAC. + - the #GstMIKEYPayload at @idx. + the #GstMIKEYPayload at @idx. - a #GstMIKEYPayload + a #GstMIKEYPayload - an index + an index @@ -804,18 +1176,27 @@ will be appended to @msg. - Remove the sub payload at @idx in @payload. + Remove the sub payload at @idx in @payload. + - %TRUE on success. + %TRUE on success. - a #GstMIKEYPayload + a #GstMIKEYPayload - the index to remove + the index to remove @@ -823,23 +1204,34 @@ will be appended to @msg. - Set the KEMAC parameters. @payload should point to a %GST_MIKEY_PT_KEMAC + Set the KEMAC parameters. @payload should point to a %GST_MIKEY_PT_KEMAC payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the #GstMIKEYEncAlg + the #GstMIKEYEncAlg - a #GstMIKEYMacAlg + a #GstMIKEYMacAlg @@ -847,32 +1239,47 @@ payload. - Set the key validity period in the %GST_MIKEY_PT_KEY_DATA @payload. + Set the key validity period in the %GST_MIKEY_PT_KEY_DATA @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the length of @vf_data + the length of @vf_data - the Valid From data + the Valid From data - the length of @vt_data + the length of @vt_data - the Valid To data + the Valid To data @@ -882,27 +1289,40 @@ payload. - Set @key_len bytes of @key_data of type @key_type as the key for the + Set @key_len bytes of @key_data of type @key_type as the key for the %GST_MIKEY_PT_KEY_DATA @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - a #GstMIKEYKeyDataType + a #GstMIKEYKeyDataType - the length of @key_data + the length of @key_data - the key of type @key_type + the key of type @key_type @@ -912,26 +1332,37 @@ payload. - Set the salt key data. If @salt_len is 0 and @salt_data is %NULL, the + Set the salt key data. If @salt_len is 0 and @salt_data is %NULL, the salt data will be removed. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the length of @salt_data + the length of @salt_data - the salt + the salt @@ -941,22 +1372,33 @@ salt data will be removed. - Set the SPI/MKI validity in the %GST_MIKEY_PT_KEY_DATA @payload. + Set the SPI/MKI validity in the %GST_MIKEY_PT_KEY_DATA @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the length of @spi_data + the length of @spi_data - the SPI/MKI data + the SPI/MKI data @@ -966,27 +1408,40 @@ salt data will be removed. - Set the PKE values in @payload. @payload must be of type + Set the PKE values in @payload. @payload must be of type %GST_MIKEY_PT_PKE. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - envelope key cache indicator + envelope key cache indicator - the length of @data + the length of @data - the encrypted envelope key + the encrypted envelope key @@ -996,22 +1451,33 @@ salt data will be removed. - Set the random values in a %GST_MIKEY_PT_RAND @payload. + Set the random values in a %GST_MIKEY_PT_RAND @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the length of @rand + the length of @rand - random values + random values @@ -1021,27 +1487,40 @@ salt data will be removed. - Add a new parameter to the %GST_MIKEY_PT_SP @payload with @type, @len + Add a new parameter to the %GST_MIKEY_PT_SP @payload with @type, @len and @val. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - a type + a type - a length + a length - @len bytes of data + @len bytes of data @@ -1051,15 +1530,22 @@ and @val. - Get the number of security policy parameters in a %GST_MIKEY_PT_SP + Get the number of security policy parameters in a %GST_MIKEY_PT_SP @payload. + - the number of parameters in @payload + the number of parameters in @payload - a #GstMIKEYPayload + a #GstMIKEYPayload @@ -1067,20 +1553,29 @@ and @val. - Get the Security Policy parameter in a %GST_MIKEY_PT_SP @payload + Get the Security Policy parameter in a %GST_MIKEY_PT_SP @payload at @idx. + - the #GstMIKEYPayloadSPParam at @idx in @payload + the #GstMIKEYPayloadSPParam at @idx in @payload - a #GstMIKEYPayload + a #GstMIKEYPayload - an index + an index @@ -1088,19 +1583,28 @@ at @idx. - Remove the Security Policy parameters from a %GST_MIKEY_PT_SP + Remove the Security Policy parameters from a %GST_MIKEY_PT_SP @payload at @idx. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - an index + an index @@ -1108,22 +1612,33 @@ at @idx. - Set the Security Policy parameters for @payload. + Set the Security Policy parameters for @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the policy number + the policy number - a #GstMIKEYSecProto + a #GstMIKEYSecProto @@ -1131,22 +1646,33 @@ at @idx. - Set the timestamp in a %GST_MIKEY_PT_T @payload. + Set the timestamp in a %GST_MIKEY_PT_T @payload. + - %TRUE on success + %TRUE on success - a #GstMIKEYPayload + a #GstMIKEYPayload - the #GstMIKEYTSType + the #GstMIKEYTSType - the timestamp value + the timestamp value @@ -1155,690 +1681,1062 @@ at @idx. - A structure holding the KEMAC payload + A structure holding the KEMAC payload + - the common #GstMIKEYPayload + the common #GstMIKEYPayload - the #GstMIKEYEncAlg + the #GstMIKEYEncAlg - the #GstMIKEYMacAlg + the #GstMIKEYMacAlg - the subpayloads + the subpayloads - The Key data payload contains key material. It should be added as sub + The Key data payload contains key material. It should be added as sub payload to the KEMAC. + - the payload header + the payload header - the #GstMIKEYKeyDataType of @key_data + the #GstMIKEYKeyDataType of @key_data - length of @key_data + length of @key_data - the key data + the key data - the length of @salt_data, can be 0 + the length of @salt_data, can be 0 - salt data + salt data - the Key Validity type + the Key Validity type - length of @kv_data - + length of @kv_data + - key validity data - + key validity data + - The Envelope data payload contains the encrypted envelope key that is + The Envelope data payload contains the encrypted envelope key that is used in the public-key transport to protect the data in the Key data transport payload. The encryption algorithm used is implicit from the certificate/public key used. + - the common #GstMIKEYPayload + the common #GstMIKEYPayload - envelope key cache indicator + envelope key cache indicator - length of @data + length of @data - the encrypted envelope key + the encrypted envelope key - The RAND payload consists of a (pseudo-)random bit-string + The RAND payload consists of a (pseudo-)random bit-string + - the payload header + the payload header - the length of @rand + the length of @rand - random values + random values - The Security Policy payload defines a set of policies that apply to a + The Security Policy payload defines a set of policies that apply to a specific security protocol + - the payload header + the payload header - the policy number + the policy number - the security protocol + the security protocol - array of #GstMIKEYPayloadSPParam + array of #GstMIKEYPayloadSPParam - A Type/Length/Value field for security paramaters + A Type/Length/Value field for security parameters + - specifies the type of the parameter + specifies the type of the parameter - specifies the length of @val + specifies the length of @val - specifies the value of the parameter + specifies the value of the parameter - The timestamp payload carries the timestamp information + The timestamp payload carries the timestamp information + - the payload header + the payload header - a #GstMIKEYTSType + a #GstMIKEYTSType - the timestamp value + the timestamp value - Different MIKEY Payload types. + Different MIKEY Payload types. + - Last payload + Last payload - Key data transport payload + Key data transport payload - Envelope data payload + Envelope data payload - DH data payload + DH data payload - Signature payload + Signature payload - Timestamp payload + Timestamp payload - ID payload + ID payload - Certificate Payload + Certificate Payload - Cert hash payload + Cert hash payload - Verfication message payload + Verification message payload - Security Policy payload + Security Policy payload - RAND payload + RAND payload - Error payload + Error payload - Key data sub-payload + Key data sub-payload - General Extension Payload + General Extension Payload - Specifies the security protocol + Specifies the security protocol + - SRTP + SRTP - This policy specifies the parameters for SRTP and SRTCP + This policy specifies the parameters for SRTP and SRTCP + - Encryption algorithm + Encryption algorithm - Session Encr. key length + Session Encr. key length - Authentication algorithm + Authentication algorithm - Session Auth. key length + Session Auth. key length - Session Salt key length + Session Salt key length - SRTP Pseudo Random Function + SRTP Pseudo Random Function - Key derivation rate + Key derivation rate - SRTP encryption off/on, 0 if off, 1 if on + SRTP encryption off/on, 0 if off, 1 if on - SRTCP encryption off/on, 0 if off, 1 if on + SRTCP encryption off/on, 0 if off, 1 if on - sender's FEC order + sender's FEC order - SRTP authentication off/on, 0 if off, 1 if on + SRTP authentication off/on, 0 if off, 1 if on - Authentication tag length + Authentication tag length - SRTP prefix length + SRTP prefix length - AEAD authentication tag length (Since 1.16) + AEAD authentication tag length (Since: 1.16) - Specifies the timestamp type. + Specifies the timestamp type. + - an NTP time in UTC timezone + an NTP time in UTC timezone - an NTP time + an NTP time - a counter + a counter - Different MIKEY data types. + Different MIKEY data types. + - Invalid type + Invalid type - Initiator's pre-shared key message + Initiator's pre-shared key message - Verification message of a Pre-shared key message + Verification message of a Pre-shared key message - Initiator's public-key transport message + Initiator's public-key transport message - Verification message of a public-key message + Verification message of a public-key message - Initiator's DH exchange message + Initiator's DH exchange message - Responder's DH exchange message + Responder's DH exchange message - Error message + Error message - The supported MIKEY version 1. + The supported MIKEY version 1. + - The contents of the SDP "a=" field which contains a key/value pair. + The contents of the SDP "a=" field which contains a key/value pair. + - the attribute key + the attribute key - the attribute value or NULL when it was a property attribute + the attribute value or NULL when it was a property attribute - Clear the attribute. + Clear the attribute. + - @GST_SDP_OK. + @GST_SDP_OK. - a #GstSDPAttribute + a #GstSDPAttribute - Set the attribute with @key and @value. + Set the attribute with @key and @value. + - @GST_SDP_OK. + @GST_SDP_OK. - a #GstSDPAttribute + a #GstSDPAttribute - the key + the key - the value + the value - The contents of the SDP "b=" field which specifies the proposed bandwidth to + The contents of the SDP "b=" field which specifies the proposed bandwidth to be used by the session or media. + - the bandwidth modifier type + the bandwidth modifier type - the bandwidth in kilobits per second + the bandwidth in kilobits per second - Reset the bandwidth information in @bw. + Reset the bandwidth information in @bw. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPBandwidth + a #GstSDPBandwidth - Set bandwidth information in @bw. + Set bandwidth information in @bw. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPBandwidth + a #GstSDPBandwidth - the bandwidth modifier type + the bandwidth modifier type - the bandwidth in kilobits per second + the bandwidth in kilobits per second - The contents of the SDP "c=" field which contains connection data. + The contents of the SDP "c=" field which contains connection data. + - the type of network. "IN" is defined to have the meaning + the type of network. "IN" is defined to have the meaning "Internet". - the type of @address. + the type of @address. - the address + the address - the time to live of the address + the time to live of the address - the number of layers + the number of layers - Clear the connection. + Clear the connection. + - @GST_SDP_OK. + @GST_SDP_OK. - a #GstSDPConnection + a #GstSDPConnection - Set the connection with the given parameters. + Set the connection with the given parameters. + - @GST_SDP_OK. + @GST_SDP_OK. - a #GstSDPConnection + a #GstSDPConnection - the type of network. "IN" is defined to have the meaning + the type of network. "IN" is defined to have the meaning "Internet". - the type of address. + the type of address. - the address + the address - the time to live of the address + the time to live of the address - the number of layers + the number of layers - The contents of the SDP "k=" field which is used to convey encryption + The contents of the SDP "k=" field which is used to convey encryption keys. + - the encryption type + the encryption type - the encryption data + the encryption data - The contents of the SDP "m=" field with all related fields. + The contents of the SDP "m=" field with all related fields. + - the media type + the media type - the transport port to which the media stream will be sent + the transport port to which the media stream will be sent - the number of ports or -1 if only one port was specified + the number of ports or -1 if only one port was specified - the transport protocol + the transport protocol - an array of #gchar formats + an array of #gchar formats - the media title + the media title - array of #GstSDPConnection with media connection information + array of #GstSDPConnection with media connection information - array of #GstSDPBandwidth with media bandwidth information + array of #GstSDPBandwidth with media bandwidth information - the encryption key + the encryption key - array of #GstSDPAttribute with the additional media attributes + array of #GstSDPAttribute with the additional media attributes - Add the attribute with @key and @value to @media. + Add the attribute with @key and @value to @media. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - a key + a key - a value + a value - Add the bandwidth information with @bwtype and @bandwidth to @media. + Add the bandwidth information with @bwtype and @bandwidth to @media. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - the bandwidth modifier type + the bandwidth modifier type - the bandwidth in kilobits per second + the bandwidth in kilobits per second - Add the given connection parameters to @media. + Add the given connection parameters to @media. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia - the type of network. "IN" is defined to have the meaning + the type of network. "IN" is defined to have the meaning "Internet". - the type of address. + the type of address. - the address + the address - the time to live of the address + the time to live of the address - the number of layers + the number of layers - Add the format information to @media. + Add the format information to @media. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - the format + the format - Convert the contents of @media to a text string. + Convert the contents of @media to a text string. + - A dynamically allocated string representing the media. + A dynamically allocated string representing the media. - a #GstSDPMedia + a #GstSDPMedia - Get the number of attribute fields in @media. + Get the number of attribute fields in @media. + - the number of attributes in @media. + the number of attributes in @media. - a #GstSDPMedia + a #GstSDPMedia @@ -1846,169 +2744,263 @@ keys. - Mapping of attributes of #GstSDPMedia to #GstCaps + Mapping of attributes of #GstSDPMedia to #GstCaps + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia - a #GstCaps + a #GstCaps - Get the number of bandwidth fields in @media. + Get the number of bandwidth fields in @media. + - the number of bandwidths in @media. + the number of bandwidths in @media. - a #GstSDPMedia + a #GstSDPMedia - Get the number of connection fields in @media. + Get the number of connection fields in @media. + - the number of connections in @media. + the number of connections in @media. - a #GstSDPMedia + a #GstSDPMedia - Allocate a new copy of @media and store the result in @copy. The value in + Allocate a new copy of @media and store the result in @copy. The value in @copy should be release with gst_sdp_media_free function. + - a #GstSDPResult + a #GstSDPResult - a #GstSDPMedia + a #GstSDPMedia - pointer to new #GstSDPMedia + pointer to new #GstSDPMedia - Get the number of formats in @media. + Get the number of formats in @media. + - the number of formats in @media. + the number of formats in @media. - a #GstSDPMedia + a #GstSDPMedia - Free all resources allocated by @media. @media should not be used anymore after + Free all resources allocated by @media. @media should not be used anymore after this function. This function should be used when @media was dynamically allocated with gst_sdp_media_new(). + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia - Get the attribute at position @idx in @media. + Get the attribute at position @idx in @media. + - the #GstSDPAttribute at position @idx. + the #GstSDPAttribute at position @idx. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - Get the first attribute value for @key in @media. + Get the first attribute value for @key in @media. + - the first attribute value for @key. + the first attribute value for @key. - a #GstSDPMedia + a #GstSDPMedia - a key + a key - Get the @nth attribute value for @key in @media. + Get the @nth attribute value for @key in @media. + - the @nth attribute value. + the @nth attribute value. - a #GstSDPMedia + a #GstSDPMedia - a key + a key - an index + an index - Get the bandwidth at position @idx in @media. + Get the bandwidth at position @idx in @media. + - the #GstSDPBandwidth at position @idx. + the #GstSDPBandwidth at position @idx. - a #GstSDPMedia + a #GstSDPMedia - an index + an index @@ -2016,156 +3008,244 @@ allocated with gst_sdp_media_new(). - Mapping of caps from SDP fields: + Mapping of caps from SDP fields: a=rtpmap:(payload) (encoding_name)/(clock_rate)[/(encoding_params)] a=framesize:(payload) (width)-(height) -a=fmtp:(payload) (param)[=(value)];... +a=fmtp:(payload) (param)[=(value)];... + +Note that the extmap attribute is set only by gst_sdp_media_attributes_to_caps(). + - a #GstCaps, or %NULL if an error happened + a #GstCaps, or %NULL if an error happened - a #GstSDPMedia + a #GstSDPMedia - a payload type + a payload type - Get the connection at position @idx in @media. + Get the connection at position @idx in @media. + - the #GstSDPConnection at position @idx. + the #GstSDPConnection at position @idx. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - Get the format information at position @idx in @media. + Get the format information at position @idx in @media. + - the format at position @idx. + the format at position @idx. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - Get the information of @media + Get the information of @media + - the information of @media. + the information of @media. - a #GstSDPMedia + a #GstSDPMedia - Get the encryption information from @media. + Get the encryption information from @media. + - a #GstSDPKey. + a #GstSDPKey. - a #GstSDPMedia + a #GstSDPMedia - Get the media description of @media. + Get the media description of @media. + - the media description. + the media description. - a #GstSDPMedia + a #GstSDPMedia - Get the number of ports for @media. + Get the number of ports for @media. + - the number of ports for @media. + the number of ports for @media. - a #GstSDPMedia + a #GstSDPMedia - Get the port number for @media. + Get the port number for @media. + - the port number of @media. + the port number of @media. - a #GstSDPMedia + a #GstSDPMedia - Get the transport protocol of @media + Get the transport protocol of @media + - the transport protocol of @media. + the transport protocol of @media. - a #GstSDPMedia + a #GstSDPMedia - Initialize @media so that its contents are as if it was freshly allocated + Initialize @media so that its contents are as if it was freshly allocated with gst_sdp_media_new(). This function is mostly used to initialize a media allocated on the stack. gst_sdp_media_uninit() undoes this operation. When this function is invoked on newly allocated data (with malloc or on the stack), its contents should be set to 0 before calling this function. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia @@ -2173,23 +3253,35 @@ stack), its contents should be set to 0 before calling this function. - Insert the attribute to @media at @idx. When @idx is -1, + Insert the attribute to @media at @idx. When @idx is -1, the attribute is appended. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - a #GstSDPAttribute + a #GstSDPAttribute @@ -2197,23 +3289,35 @@ the attribute is appended. - Insert the bandwidth information to @media at @idx. When @idx is -1, + Insert the bandwidth information to @media at @idx. When @idx is -1, the bandwidth is appended. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - a #GstSDPBandwidth + a #GstSDPBandwidth @@ -2221,23 +3325,35 @@ the bandwidth is appended. - Insert the connection information to @media at @idx. When @idx is -1, + Insert the connection information to @media at @idx. When @idx is -1, the connection is appended. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - a #GstSDPConnection + a #GstSDPConnection @@ -2245,23 +3361,35 @@ the connection is appended. - Insert the format information to @media at @idx. When @idx is -1, + Insert the format information to @media at @idx. When @idx is -1, the format is appended. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - the format + the format @@ -2269,22 +3397,32 @@ the format is appended. - Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute + Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute from a #GstSDPMedia. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia - pointer to new #GstMIKEYMessage + pointer to new #GstMIKEYMessage @@ -2292,18 +3430,28 @@ from a #GstSDPMedia. - Remove the attribute in @media at @idx. + Remove the attribute in @media at @idx. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index @@ -2311,18 +3459,28 @@ from a #GstSDPMedia. - Remove the bandwidth information in @media at @idx. + Remove the bandwidth information in @media at @idx. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index @@ -2330,18 +3488,28 @@ from a #GstSDPMedia. - Remove the connection information in @media at @idx. + Remove the connection information in @media at @idx. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index @@ -2349,18 +3517,28 @@ from a #GstSDPMedia. - Remove the format information in @media at @idx. + Remove the format information in @media at @idx. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index @@ -2368,22 +3546,34 @@ from a #GstSDPMedia. - Replace the attribute in @media at @idx with @attr. + Replace the attribute in @media at @idx with @attr. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - a #GstSDPAttribute + a #GstSDPAttribute @@ -2391,22 +3581,34 @@ from a #GstSDPMedia. - Replace the bandwidth information in @media at @idx with @bw. + Replace the bandwidth information in @media at @idx with @bw. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - a #GstSDPBandwidth + a #GstSDPBandwidth @@ -2414,22 +3616,34 @@ from a #GstSDPMedia. - Replace the connection information in @media at @idx with @conn. + Replace the connection information in @media at @idx with @conn. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - a #GstSDPConnection + a #GstSDPConnection @@ -2437,139 +3651,219 @@ from a #GstSDPMedia. - Replace the format information in @media at @idx with @format. + Replace the format information in @media at @idx with @format. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - an index + an index - the format + the format - Set the media information of @media to @information. + Set the media information of @media to @information. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - the media information + the media information - Adds the encryption information to @media. + Adds the encryption information to @media. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia - the encryption type + the encryption type - the encryption data + the encryption data - Set the media description of @media to @med. + Set the media description of @media to @med. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - the media description + the media description - Set the port information in @media. + Set the port information in @media. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - the port number + the port number - the number of ports + the number of ports - Set the media transport protocol of @media to @proto. + Set the media transport protocol of @media to @proto. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMedia + a #GstSDPMedia - the media transport protocol + the media transport protocol - Free all resources allocated in @media. @media should not be used anymore after + Free all resources allocated in @media. @media should not be used anymore after this function. This function should be used when @media was allocated on the stack and initialized with gst_sdp_media_init(). + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMedia + a #GstSDPMedia - Allocate a new GstSDPMedia and store the result in @media. + Allocate a new GstSDPMedia and store the result in @media. + - a #GstSDPResult. + a #GstSDPResult. @@ -2577,7 +3871,9 @@ stack and initialized with gst_sdp_media_init(). direction="out" caller-allocates="0" transfer-ownership="full"> - pointer to new #GstSDPMedia + pointer to new #GstSDPMedia @@ -2585,7 +3881,9 @@ stack and initialized with gst_sdp_media_init(). - Mapping of caps to SDP fields: + Mapping of caps to SDP fields: a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)] @@ -2593,18 +3891,28 @@ a=framesize:(payload) (width)-(height) a=fmtp:(payload) (param)[=(value)];... -a=rtcp-fb:(payload) (param1) [param2]... +a=rtcp-fb:(payload) (param1) [param2]... + +a=extmap:(id)[/direction] (extensionname) (extensionattributes) + - a #GstSDPResult. + a #GstSDPResult. - a #GstCaps + a #GstCaps - a #GstSDPMedia + a #GstSDPMedia @@ -2615,199 +3923,298 @@ a=rtcp-fb:(payload) (param1) [param2]... glib:type-name="GstSDPMessage" glib:get-type="gst_sdp_message_get_type" c:symbol-prefix="sdp_message"> - The GstSDPMessage helper functions makes it easy to parse and create SDP + The GstSDPMessage helper functions makes it easy to parse and create SDP messages. + - the protocol version + the protocol version - owner/creator and session identifier + owner/creator and session identifier - session name + session name - session information + session information - URI of description + URI of description - array of #gchar with email addresses + array of #gchar with email addresses - array of #gchar with phone numbers + array of #gchar with phone numbers - connection information for the session + connection information for the session - array of #GstSDPBandwidth with bandwidth information + array of #GstSDPBandwidth with bandwidth information - array of #GstSDPTime with time descriptions + array of #GstSDPTime with time descriptions - array of #GstSDPZone with time zone adjustments + array of #GstSDPZone with time zone adjustments - encryption key + encryption key - array of #GstSDPAttribute with session attributes + array of #GstSDPAttribute with session attributes - array of #GstSDPMedia with media descriptions + array of #GstSDPMedia with media descriptions - Add the attribute with @key and @value to @msg. + Add the attribute with @key and @value to @msg. + - @GST_SDP_OK. + @GST_SDP_OK. - a #GstSDPMessage + a #GstSDPMessage - the key + the key - the value + the value - Add the specified bandwidth information to @msg. + Add the specified bandwidth information to @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the bandwidth modifier type + the bandwidth modifier type - the bandwidth in kilobits per second + the bandwidth in kilobits per second - Add @email to the list of emails in @msg. + Add @email to the list of emails in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an email + an email - Adds @media to the array of medias in @msg. This function takes ownership of + Adds @media to the array of medias in @msg. This function takes ownership of the contents of @media so that @media will have to be reinitialized with gst_sdp_media_init() before it can be used again. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - a #GstSDPMedia to add + a #GstSDPMedia to add - Add @phone to the list of phones in @msg. + Add @phone to the list of phones in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - a phone + a phone - Add time information @start and @stop to @msg. + Add time information @start and @stop to @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the start time + the start time - the stop time + the stop time - the repeat times + the repeat times @@ -2815,49 +4222,77 @@ gst_sdp_media_init() before it can be used again. - Add time zone information to @msg. + Add time zone information to @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the NTP time that a time zone adjustment happens + the NTP time that a time zone adjustment happens - the offset from the time when the session was first scheduled + the offset from the time when the session was first scheduled - Convert the contents of @msg to a text string. + Convert the contents of @msg to a text string. + - A dynamically allocated string representing the SDP description. + A dynamically allocated string representing the SDP description. - a #GstSDPMessage + a #GstSDPMessage - Get the number of attributes in @msg. + Get the number of attributes in @msg. + - the number of attributes in @msg. + the number of attributes in @msg. - a #GstSDPMessage + a #GstSDPMessage @@ -2865,367 +4300,575 @@ gst_sdp_media_init() before it can be used again. - Mapping of attributes of #GstSDPMessage to #GstCaps + Mapping of attributes of #GstSDPMessage to #GstCaps + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - a #GstCaps + a #GstCaps - Get the number of bandwidth information in @msg. + Get the number of bandwidth information in @msg. + - the number of bandwidth information in @msg. + the number of bandwidth information in @msg. - a #GstSDPMessage + a #GstSDPMessage - Allocate a new copy of @msg and store the result in @copy. The value in + Allocate a new copy of @msg and store the result in @copy. The value in @copy should be release with gst_sdp_message_free function. + - a #GstSDPResult + a #GstSDPResult - a #GstSDPMessage + a #GstSDPMessage - pointer to new #GstSDPMessage + pointer to new #GstSDPMessage - Dump the parsed contents of @msg to stdout. + Dump the parsed contents of @msg to stdout. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get the number of emails in @msg. + Get the number of emails in @msg. + - the number of emails in @msg. + the number of emails in @msg. - a #GstSDPMessage + a #GstSDPMessage - Free all resources allocated by @msg. @msg should not be used anymore after + Free all resources allocated by @msg. @msg should not be used anymore after this function. This function should be used when @msg was dynamically allocated with gst_sdp_message_new(). + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get the attribute at position @idx in @msg. + Get the attribute at position @idx in @msg. + - the #GstSDPAttribute at position @idx. + the #GstSDPAttribute at position @idx. - a #GstSDPMessage + a #GstSDPMessage - the index + the index - Get the first attribute with key @key in @msg. + Get the first attribute with key @key in @msg. + - the attribute value of the first attribute with @key. + the attribute value of the first attribute with @key. - a #GstSDPMessage + a #GstSDPMessage - the key + the key - Get the @nth attribute with key @key in @msg. + Get the @nth attribute with key @key in @msg. + - the attribute value of the @nth attribute with @key. + the attribute value of the @nth attribute with @key. - a #GstSDPMessage + a #GstSDPMessage - the key + the key - the index + the index - Get the bandwidth at index @idx from @msg. + Get the bandwidth at index @idx from @msg. + - a #GstSDPBandwidth. + a #GstSDPBandwidth. - a #GstSDPMessage + a #GstSDPMessage - the bandwidth index + the bandwidth index - Get the connection of @msg. + Get the connection of @msg. + - a #GstSDPConnection. The result remains valid as long as @msg is valid. + a #GstSDPConnection. The result remains valid as long as @msg is valid. - a #GstSDPMessage + a #GstSDPMessage - Get the email with number @idx from @msg. + Get the email with number @idx from @msg. + - the email at position @idx. + the email at position @idx. - a #GstSDPMessage + a #GstSDPMessage - an email index + an email index - Get the information in @msg. + Get the information in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get the encryption information from @msg. + Get the encryption information from @msg. + - a #GstSDPKey. + a #GstSDPKey. - a #GstSDPMessage + a #GstSDPMessage - Get the media description at index @idx in @msg. + Get the media description at index @idx in @msg. + - a #GstSDPMedia. + a #GstSDPMedia. - a #GstSDPMessage + a #GstSDPMessage - the index + the index - Get the origin of @msg. + Get the origin of @msg. + - a #GstSDPOrigin. The result remains valid as long as @msg is valid. + a #GstSDPOrigin. The result remains valid as long as @msg is valid. - a #GstSDPMessage + a #GstSDPMessage - Get the phone with number @idx from @msg. + Get the phone with number @idx from @msg. + - the phone at position @idx. + the phone at position @idx. - a #GstSDPMessage + a #GstSDPMessage - a phone index + a phone index - Get the session name in @msg. + Get the session name in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get time information with index @idx from @msg. + Get time information with index @idx from @msg. + - a #GstSDPTime. + a #GstSDPTime. - a #GstSDPMessage + a #GstSDPMessage - the time index + the time index - Get the URI in @msg. + Get the URI in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get the version in @msg. + Get the version in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get time zone information with index @idx from @msg. + Get time zone information with index @idx from @msg. + - a #GstSDPZone. + a #GstSDPZone. - a #GstSDPMessage + a #GstSDPMessage - the zone index + the zone index - Initialize @msg so that its contents are as if it was freshly allocated + Initialize @msg so that its contents are as if it was freshly allocated with gst_sdp_message_new(). This function is mostly used to initialize a message allocated on the stack. gst_sdp_message_uninit() undoes this operation. When this function is invoked on newly allocated data (with malloc or on the stack), its contents should be set to 0 before calling this function. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage @@ -3233,24 +4876,36 @@ stack), its contents should be set to 0 before calling this function. - Insert attribute into the array of attributes in @msg + Insert attribute into the array of attributes in @msg at index @idx. When -1 is given as @idx, the attribute is inserted at the end. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an index + an index - a #GstSDPAttribute + a #GstSDPAttribute @@ -3258,24 +4913,36 @@ When -1 is given as @idx, the attribute is inserted at the end. - Insert bandwidth parameters into the array of bandwidths in @msg + Insert bandwidth parameters into the array of bandwidths in @msg at index @idx. When -1 is given as @idx, the bandwidth is inserted at the end. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an index + an index - the bandwidth + the bandwidth @@ -3283,23 +4950,35 @@ When -1 is given as @idx, the bandwidth is inserted at the end. - Insert @email into the array of emails in @msg at index @idx. + Insert @email into the array of emails in @msg at index @idx. When -1 is given as @idx, the email is inserted at the end. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an index + an index - an email + an email @@ -3307,23 +4986,35 @@ When -1 is given as @idx, the email is inserted at the end. - Insert @phone into the array of phone numbers in @msg at index @idx. + Insert @phone into the array of phone numbers in @msg at index @idx. When -1 is given as @idx, the phone is inserted at the end. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - a phone index + a phone index - a phone + a phone @@ -3331,24 +5022,36 @@ When -1 is given as @idx, the phone is inserted at the end. - Insert time parameters into the array of times in @msg + Insert time parameters into the array of times in @msg at index @idx. When -1 is given as @idx, the times are inserted at the end. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an index + an index - a #GstSDPTime + a #GstSDPTime @@ -3356,37 +5059,57 @@ When -1 is given as @idx, the times are inserted at the end. - Insert zone parameters into the array of zones in @msg + Insert zone parameters into the array of zones in @msg at index @idx. When -1 is given as @idx, the zone is inserted at the end. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an index + an index - a #GstSDPZone + a #GstSDPZone - Get the number of media descriptions in @msg. + Get the number of media descriptions in @msg. + - the number of media descriptions in @msg. + the number of media descriptions in @msg. - a #GstSDPMessage + a #GstSDPMessage @@ -3394,35 +5117,53 @@ When -1 is given as @idx, the zone is inserted at the end. - Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute + Creates a new #GstMIKEYMessage after parsing the key-mgmt attribute from a #GstSDPMessage. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - pointer to new #GstMIKEYMessage + pointer to new #GstMIKEYMessage - Get the number of phones in @msg. + Get the number of phones in @msg. + - the number of phones in @msg. + the number of phones in @msg. - a #GstSDPMessage + a #GstSDPMessage @@ -3430,18 +5171,28 @@ from a #GstSDPMessage. - Remove the attribute in @msg at index @idx. + Remove the attribute in @msg at index @idx. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the index + the index @@ -3449,18 +5200,28 @@ from a #GstSDPMessage. - Remove the bandwidth information in @msg at index @idx. + Remove the bandwidth information in @msg at index @idx. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the bandwidth index + the bandwidth index @@ -3468,18 +5229,28 @@ from a #GstSDPMessage. - Remove the email in @msg at index @idx. + Remove the email in @msg at index @idx. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an email index + an email index @@ -3487,18 +5258,28 @@ from a #GstSDPMessage. - Remove the phone number in @msg at index @idx. + Remove the phone number in @msg at index @idx. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - a phone index + a phone index @@ -3506,18 +5287,28 @@ from a #GstSDPMessage. - Remove the time information in @msg at index @idx. + Remove the time information in @msg at index @idx. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the index + the index @@ -3525,18 +5316,28 @@ from a #GstSDPMessage. - Remove the zone information in @msg at index @idx. + Remove the zone information in @msg at index @idx. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the index + the index @@ -3544,22 +5345,34 @@ from a #GstSDPMessage. - Replace the attribute in @msg at index @idx with @attr. + Replace the attribute in @msg at index @idx with @attr. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the index + the index - a #GstSDPAttribute + a #GstSDPAttribute @@ -3567,22 +5380,34 @@ from a #GstSDPMessage. - Replace the bandwidth information in @msg at index @idx with @bw. + Replace the bandwidth information in @msg at index @idx with @bw. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the bandwidth index + the bandwidth index - the bandwidth + the bandwidth @@ -3590,22 +5415,34 @@ from a #GstSDPMessage. - Replace the email in @msg at index @idx with @email. + Replace the email in @msg at index @idx with @email. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - an email index + an email index - an email + an email @@ -3613,22 +5450,34 @@ from a #GstSDPMessage. - Replace the phone number in @msg at index @idx with @phone. + Replace the phone number in @msg at index @idx with @phone. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - a phone index + a phone index - a phone + a phone @@ -3636,22 +5485,34 @@ from a #GstSDPMessage. - Replace the time information in @msg at index @idx with @t. + Replace the time information in @msg at index @idx with @t. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the index + the index - a #GstSDPTime + a #GstSDPTime @@ -3659,255 +5520,397 @@ from a #GstSDPMessage. - Replace the zone information in @msg at index @idx with @zone. + Replace the zone information in @msg at index @idx with @zone. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the index + the index - a #GstSDPZone + a #GstSDPZone - Configure the SDP connection in @msg with the given parameters. + Configure the SDP connection in @msg with the given parameters. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the type of network. "IN" is defined to have the meaning + the type of network. "IN" is defined to have the meaning "Internet". - the type of address. + the type of address. - the address + the address - the time to live of the address + the time to live of the address - the number of layers + the number of layers - Set the information in @msg. + Set the information in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the information + the information - Adds the encryption information to @msg. + Adds the encryption information to @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the encryption type + the encryption type - the encryption data + the encryption data - Configure the SDP origin in @msg with the given parameters. + Configure the SDP origin in @msg with the given parameters. + - #GST_SDP_OK. + #GST_SDP_OK. - a #GstSDPMessage + a #GstSDPMessage - the user name + the user name - a session id + a session id - a session version + a session version - a network type + a network type - an address type + an address type - an address + an address - Set the session name in @msg. + Set the session name in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the session name + the session name - Set the URI in @msg. + Set the URI in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the URI + the URI - Set the version in @msg. + Set the version in @msg. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - the version + the version - Get the number of time information entries in @msg. + Get the number of time information entries in @msg. + - the number of time information entries in @msg. + the number of time information entries in @msg. - a #GstSDPMessage + a #GstSDPMessage - Free all resources allocated in @msg. @msg should not be used anymore after + Free all resources allocated in @msg. @msg should not be used anymore after this function. This function should be used when @msg was allocated on the stack and initialized with gst_sdp_message_init(). + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPMessage + a #GstSDPMessage - Get the number of time zone information entries in @msg. + Get the number of time zone information entries in @msg. + - the number of time zone information entries in @msg. + the number of time zone information entries in @msg. - a #GstSDPMessage + a #GstSDPMessage - Creates a uri from @msg with the given @scheme. The uri has the format: + Creates a uri from @msg with the given @scheme. The uri has the format: \@scheme:///[#type=value *[&type=value]] Where each value is url encoded. + - a uri for @msg. + a uri for @msg. - the uri scheme + the uri scheme - the #GstSDPMessage + the #GstSDPMessage - Allocate a new GstSDPMessage and store the result in @msg. + Allocate a new GstSDPMessage and store the result in @msg. + - a #GstSDPResult. + a #GstSDPResult. @@ -3915,7 +5918,9 @@ stack and initialized with gst_sdp_message_init(). direction="out" caller-allocates="0" transfer-ownership="full"> - pointer to new #GstSDPMessage + pointer to new #GstSDPMessage @@ -3923,52 +5928,76 @@ stack and initialized with gst_sdp_message_init(). - Parse @text and create a new SDPMessage from these. + Parse @text and create a new SDPMessage from these. + - a #GstSDPResult. + a #GstSDPResult. - A dynamically allocated string representing the SDP description + A dynamically allocated string representing the SDP description - pointer to new #GstSDPMessage + pointer to new #GstSDPMessage - Parse the contents of @size bytes pointed to by @data and store the result in + Parse the contents of @size bytes pointed to by @data and store the result in @msg. + - #GST_SDP_OK on success. + #GST_SDP_OK on success. - the start of the buffer + the start of the buffer - the size of the buffer + the size of the buffer - the result #GstSDPMessage + the result #GstSDPMessage - Parse the null-terminated @uri and store the result in @msg. + Parse the null-terminated @uri and store the result in @msg. The uri should be of the form: @@ -3977,118 +6006,179 @@ The uri should be of the form: where value is url encoded. This looslely resembles http://tools.ietf.org/html/draft-fujikawa-sdp-url-01 + - #GST_SDP_OK on success. + #GST_SDP_OK on success. - the start of the uri + the start of the uri - the result #GstSDPMessage + the result #GstSDPMessage - The contents of the SDP "o=" field which gives the originator of the session + The contents of the SDP "o=" field which gives the originator of the session (their username and the address of the user's host) plus a session id and session version number. + - the user's login on the originating host, or it is "-" + the user's login on the originating host, or it is "-" if the originating host does not support the concept of user ids. - is a numeric string such that the tuple of @username, @sess_id, + is a numeric string such that the tuple of @username, @sess_id, @nettype, @addrtype and @addr form a globally unique identifier for the session. - a version number for this announcement + a version number for this announcement - the type of network. "IN" is defined to have the meaning + the type of network. "IN" is defined to have the meaning "Internet". - the type of @addr. + the type of @addr. - the globally unique address of the machine from which the session was + the globally unique address of the machine from which the session was created. - Return values for the SDP functions. + Return values for the SDP functions. + - A successful return value + A successful return value - a function was given invalid parameters + a function was given invalid parameters - The contents of the SDP "t=" field which specify the start and stop times for + The contents of the SDP "t=" field which specify the start and stop times for a conference session. + - start time for the conference. The value is the decimal + start time for the conference. The value is the decimal representation of Network Time Protocol (NTP) time values in seconds - stop time for the conference. The value is the decimal + stop time for the conference. The value is the decimal representation of Network Time Protocol (NTP) time values in seconds - repeat times for a session + repeat times for a session - Reset the time information in @t. + Reset the time information in @t. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPTime + a #GstSDPTime - Set time information @start, @stop and @repeat in @t. + Set time information @start, @stop and @repeat in @t. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPTime + a #GstSDPTime - the start time + the start time - the stop time + the stop time - the repeat times + the repeat times @@ -4097,96 +6187,170 @@ a conference session. - The contents of the SDP "z=" field which allows the sender to + The contents of the SDP "z=" field which allows the sender to specify a list of time zone adjustments and offsets from the base time. + - the NTP time that a time zone adjustment happens + the NTP time that a time zone adjustment happens - the offset from the time when the session was first scheduled + the offset from the time when the session was first scheduled - Reset the zone information in @zone. + Reset the zone information in @zone. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPZone + a #GstSDPZone - Set zone information in @zone. + Set zone information in @zone. + - a #GstSDPResult. + a #GstSDPResult. - a #GstSDPZone + a #GstSDPZone - the NTP time that a time zone adjustment happens + the NTP time that a time zone adjustment happens - the offset from the time when the session was first scheduled + the offset from the time when the session was first scheduled - The Application-Specific Maximum bandwidth modifier. + The Application-Specific Maximum bandwidth modifier. + - The Conference Total bandwidth modifier. + The Conference Total bandwidth modifier. + - The extension prefix bandwidth modifier. + The extension prefix bandwidth modifier. + - RTCP bandwidth allocated to data receivers (RFC 3556). + RTCP bandwidth allocated to data receivers (RFC 3556). + - RTCP bandwidth allocated to active data senders (RFC 3556). + RTCP bandwidth allocated to active data senders (RFC 3556). + - Transport Independent Application Specific Maximum bandwidth (RFC 3890). + Transport Independent Application Specific Maximum bandwidth (RFC 3890). + + + + + + + + + + + + + + + - Check if the given @addr is a multicast address. + Check if the given @addr is a multicast address. + - TRUE when @addr is multicast. + TRUE when @addr is multicast. - a network type + a network type - an address type + an address type - an address + an address @@ -4194,18 +6358,27 @@ time. - Makes key management data + Makes key management data + - a #gchar key-mgmt data, + a #gchar key-mgmt data, - a #gchar URI + a #gchar URI - a #gchar base64-encoded key data + a #gchar base64-encoded key data @@ -4213,9 +6386,14 @@ time. - Allocate a new GstSDPMedia and store the result in @media. + Allocate a new GstSDPMedia and store the result in @media. + - a #GstSDPResult. + a #GstSDPResult. @@ -4223,7 +6401,9 @@ time. direction="out" caller-allocates="0" transfer-ownership="full"> - pointer to new #GstSDPMedia + pointer to new #GstSDPMedia @@ -4232,7 +6412,9 @@ time. c:identifier="gst_sdp_media_set_media_from_caps" moved-to="SDPMedia.set_media_from_caps" version="1.8"> - Mapping of caps to SDP fields: + Mapping of caps to SDP fields: a=rtpmap:(payload) (encoding_name) or (clock_rate)[or (encoding_params)] @@ -4240,18 +6422,27 @@ a=framesize:(payload) (width)-(height) a=fmtp:(payload) (param)[=(value)];... -a=rtcp-fb:(payload) (param1) [param2]... +a=rtcp-fb:(payload) (param1) [param2]... + +a=extmap:(id)[/direction] (extensionname) (extensionattributes) + - a #GstSDPResult. + a #GstSDPResult. - a #GstCaps + a #GstCaps - a #GstSDPMedia + a #GstSDPMedia @@ -4259,22 +6450,31 @@ a=rtcp-fb:(payload) (param1) [param2]... - Creates a uri from @msg with the given @scheme. The uri has the format: + Creates a uri from @msg with the given @scheme. The uri has the format: \@scheme:///[#type=value *[&type=value]] Where each value is url encoded. + - a uri for @msg. + a uri for @msg. - the uri scheme + the uri scheme - the #GstSDPMessage + the #GstSDPMessage @@ -4282,9 +6482,14 @@ a=rtcp-fb:(payload) (param1) [param2]... - Allocate a new GstSDPMessage and store the result in @msg. + Allocate a new GstSDPMessage and store the result in @msg. + - a #GstSDPResult. + a #GstSDPResult. @@ -4292,7 +6497,9 @@ a=rtcp-fb:(payload) (param1) [param2]... direction="out" caller-allocates="0" transfer-ownership="full"> - pointer to new #GstSDPMessage + pointer to new #GstSDPMessage @@ -4301,21 +6508,30 @@ a=rtcp-fb:(payload) (param1) [param2]... c:identifier="gst_sdp_message_new_from_text" moved-to="SDPMessage.new_from_text" version="1.16"> - Parse @text and create a new SDPMessage from these. + Parse @text and create a new SDPMessage from these. + - a #GstSDPResult. + a #GstSDPResult. - A dynamically allocated string representing the SDP description + A dynamically allocated string representing the SDP description - pointer to new #GstSDPMessage + pointer to new #GstSDPMessage @@ -4323,25 +6539,36 @@ a=rtcp-fb:(payload) (param1) [param2]... - Parse the contents of @size bytes pointed to by @data and store the result in + Parse the contents of @size bytes pointed to by @data and store the result in @msg. + - #GST_SDP_OK on success. + #GST_SDP_OK on success. - the start of the buffer + the start of the buffer - the size of the buffer + the size of the buffer - the result #GstSDPMessage + the result #GstSDPMessage @@ -4349,7 +6576,9 @@ a=rtcp-fb:(payload) (param1) [param2]... - Parse the null-terminated @uri and store the result in @msg. + Parse the null-terminated @uri and store the result in @msg. The uri should be of the form: @@ -4358,17 +6587,24 @@ The uri should be of the form: where value is url encoded. This looslely resembles http://tools.ietf.org/html/draft-fujikawa-sdp-url-01 + - #GST_SDP_OK on success. + #GST_SDP_OK on success. - the start of the uri + the start of the uri - the result #GstSDPMessage + the result #GstSDPMessage diff --git a/girs/GstTag-1.0.gir b/girs/GstTag-1.0.gir index ebda563c56..79b4270238 100644 --- a/girs/GstTag-1.0.gir +++ b/girs/GstTag-1.0.gir @@ -15,44 +15,123 @@ and/or use gtk-doc annotations. --> shared-library="libgsttag-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + AcoustID Fingerprint (Chromaprint) + + + + + AcoustID Identifier + + + - Direction of contrast processing applied when capturing an image. (string) + Direction of contrast processing applied when capturing an image. (string) The allowed values are: "normal" "soft" "hard" + - Digital zoom ratio used when capturing an image. (double) + Digital zoom ratio used when capturing an image. (double) + - Exposure compensation using when capturing an image in EV. (double) + Exposure compensation using when capturing an image in EV. (double) + - Exposure mode used when capturing an image. (string) + Exposure mode used when capturing an image. (string) The allowed values are: "auto-exposure" "manual-exposure" "auto-bracket" + - Type of exposure control used when capturing an image. (string) + Type of exposure control used when capturing an image. (string) The allowed values are: "undefined" @@ -64,54 +143,72 @@ The allowed values are: "action" - biased towards fast shutter speed "portrait" - closeup, leaving background out of focus "landscape" - landscape photos, background in focus + - If flash was fired during the capture of an image. (boolean) + If flash was fired during the capture of an image. (boolean) Note that if this tag isn't present, it should not be assumed that the flash did not fire. It should be treated as unknown. + - The flash mode selected during the capture of an image. (string) + The flash mode selected during the capture of an image. (string) The allowed values are: "auto" "always" "never" + - Focal length used when capturing an image, in mm. (double) + Focal length used when capturing an image, in mm. (double) + - 35 mm equivalent focal length used when capturing an image, in mm. (double) + 35 mm equivalent focal length used when capturing an image, in mm. (double) + - Focal ratio (f-number) used when capturing an image. (double) + Focal ratio (f-number) used when capturing an image. (double) The value stored is the denominator of the focal ratio (f-number). For example, if this tag value is 2, the focal ratio is f/2. + - Gain adjustment applied to an image. (string) + Gain adjustment applied to an image. (string) The allowed values are: "none" @@ -119,18 +216,24 @@ The allowed values are: "high-gain-up" "low-gain-down" "high-gain-down" + - ISO speed used when capturing an image. (integer) + ISO speed used when capturing an image. (integer) + - Defines the way a camera determines the exposure. (string) + Defines the way a camera determines the exposure. (string) The allowed values are: "unknown" @@ -141,52 +244,67 @@ The allowed values are: "pattern" "partial" "other" + - Direction of saturation processing applied when capturing an image. (string) + Direction of saturation processing applied when capturing an image. (string) The allowed values are: "normal" "low-saturation" "high-saturation" + - Scene mode used when capturing an image. (string) + Scene mode used when capturing an image. (string) The allowed values are: "standard" "landscape" "portrait" "night-scene" + - Direction of sharpness processing applied when capturing an image. (string) + Direction of sharpness processing applied when capturing an image. (string) The allowed values are: "normal" "soft" "hard" + - Shutter speed used when capturing an image, in seconds. (fraction) + Shutter speed used when capturing an image, in seconds. (fraction) + - Indicates the source of capture. The device/medium used to do the + Indicates the source of capture. The device/medium used to do the capture. (string) Allowed values are: @@ -194,12 +312,15 @@ Allowed values are: "transparent-scanner" "reflex-scanner" "other" + - White balance mode used when capturing an image. (string) + White balance mode used when capturing an image. (string) The allowed values are: "auto" @@ -210,112 +331,235 @@ The allowed values are: "fluorescent" "fluorescent h" (newer daylight-calibrated fluorescents) "flash" + - CDDB disc id in its short form (e.g. 'aa063d0f') + CDDB disc id in its short form (e.g. 'aa063d0f') + - CDDB disc id including all details + CDDB disc id including all details + - Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-') + Musicbrainz disc id (e.g. 'ahg7JUcfR3vCYBphSDIogOOWrr0-') + - Musicbrainz disc id details + Musicbrainz disc id details + - Annodex CMML clip element tag + Annodex CMML clip element tag + - Annodex CMML head element tag + Annodex CMML head element tag + - Annodex CMML stream element tag + Annodex CMML stream element tag + + + + + + + + + + + + + + + - ID3V2 header size considered minimum input for some functions such as + ID3V2 header size considered minimum input for some functions such as gst_tag_list_from_id3v2_tag() and gst_tag_get_id3v2_tag_size() for example. + - Media (image/video) intended horizontal pixel density in ppi. (double) + Media (image/video) intended horizontal pixel density in ppi. (double) + - Media (image/video) intended vertical pixel density in ppi. (double) + Media (image/video) intended vertical pixel density in ppi. (double) + - Musical key in which the sound starts. It is represented as a string + Musical key in which the sound starts. It is represented as a string with a maximum length of three characters. The ground keys are represented with "A","B","C","D","E", "F" and "G" and halfkeys represented with "b" and "#". Minor is represented as "m" (e.g. "Dbm"). Off key is represented with an "o" only. This notation might be extended in the future to support non-minor/major keys. + - MusicBrainz album artist ID + MusicBrainz album artist ID + - MusicBrainz album ID + MusicBrainz album ID + - MusicBrainz artist ID + MusicBrainz artist ID + + + + + MusicBrainz Release Group ID + + + + + MusicBrainz Release Track ID + - MusicBrainz track ID + MusicBrainz track ID + - MusicBrainz track TRM ID + MusicBrainz track TRM ID + + + + + + + + + + + + + + + + + + + + + + + + + + + + + glib:type-name="GstTagDemux" glib:get-type="gst_tag_demux_get_type" glib:type-struct="TagDemuxClass"> - Provides a base class for demuxing tags at the beginning or end of a + Provides a base class for demuxing tags at the beginning or end of a stream and handles things like typefinding, querying, seeking, and different modes of operation (chain-based, pull_range-based, and providing downstream elements with random access if upstream supports that). The tag @@ -353,7 +599,9 @@ Subclasses have to do four things: for the identify function to decide whether the stream has a supported tag or not. A class parsing ID3v1 tags, for example, would set min_end_size to 128 bytes. + + @@ -373,6 +621,7 @@ Subclasses have to do four things: + @@ -389,6 +638,7 @@ Subclasses have to do four things: + @@ -411,14 +661,16 @@ Subclasses have to do four things: - parent element + parent element - + @@ -426,26 +678,37 @@ Subclasses have to do four things: - The #GstTagDemuxClass structure. See documentation at beginning of section + The #GstTagDemuxClass structure. See documentation at beginning of section for details about what subclasses need to override and do. + - the parent class. + the parent class. - minimum size required to identify a tag at the start and + minimum size required to identify a tag at the start and determine its total size. Set to 0 if not interested in start tags. Subclasses should set this in their class_init function. - minimum size required to identify a tag at the end and + minimum size required to identify a tag at the end and determine its total size. Set to 0 if not interested in end tags. Subclasses should set this in their class_init function. + @@ -467,6 +730,8 @@ Subclasses should set this in their class_init function. + @@ -491,6 +756,8 @@ Subclasses should set this in their class_init function. + @@ -508,48 +775,61 @@ Subclasses should set this in their class_init function. - + + - Result values from the parse_tag virtual function. + Result values from the parse_tag virtual function. - cannot parse tag, just skip it + cannot parse tag, just skip it - call again with less or more data + call again with less or more data - parsed tag successfully + parsed tag successfully - Type of image contained in an image tag (specified as "image-type" field in + Type of image contained in an image tag (specified as "image-type" field in the info structure in the image's #GstSample) - No image type. Can be used to + No image type. Can be used to tell functions such as gst_tag_image_data_to_image_sample() that no image type should be set. @@ -557,176 +837,232 @@ the info structure in the image's #GstSample) value="0" c:identifier="GST_TAG_IMAGE_TYPE_UNDEFINED" glib:nick="undefined"> - Undefined/other image type + Undefined/other image type - Cover (front) + Cover (front) - Cover (back) + Cover (back) - Leaflet page + Leaflet page - Medium (e.g. label side of CD) + Medium (e.g. label side of CD) - Lead artist/lead performer/soloist + Lead artist/lead performer/soloist - Artist/performer + Artist/performer - Conductor + Conductor - Band/orchestra + Band/orchestra - Composer + Composer - Lyricist/text writer + Lyricist/text writer - Recording location + Recording location - During recording + During recording - During performance + During performance - Movie/video screen capture + Movie/video screen capture - A fish as funny as the ID3v2 spec + A fish as funny as the ID3v2 spec - Illustration + Illustration - Band/artist logotype + Band/artist logotype - Publisher/studio logotype + Publisher/studio logotype - See http://creativecommons.org/ns for more information. + See http://creativecommons.org/ns for more information. - making multiple copies + making multiple copies is allowed - distribution, public display + distribution, public display and public performance are allowed - distribution of derivative + distribution of derivative works is allowed - commercial derivatives are allowed, + commercial derivatives are allowed, but only non-commercial distribution is allowed - copyright and license notices + copyright and license notices must be kept intact - credit must be given to + credit must be given to copyright holder and/or author - derivative works must be + derivative works must be licensed under the same terms or compatible terms as the original work - source code (the preferred + source code (the preferred form for making modifications) must be provided when exercising some rights granted by the license @@ -734,7 +1070,9 @@ the info structure in the image's #GstSample) value="4096" c:identifier="GST_TAG_LICENSE_REQUIRES_COPYLEFT" glib:nick="requires-copyleft"> - derivative and combined works + derivative and combined works must be licensed under specified terms, similar to those of the original work @@ -742,7 +1080,9 @@ the info structure in the image's #GstSample) value="8192" c:identifier="GST_TAG_LICENSE_REQUIRES_LESSER_COPYLEFT" glib:nick="requires-lesser-copyleft"> - derivative works must be + derivative works must be licensed under specified terms, with at least the same conditions as the original work; combinations with the work may be licensed under different terms @@ -751,28 +1091,36 @@ the info structure in the image's #GstSample) value="65536" c:identifier="GST_TAG_LICENSE_PROHIBITS_COMMERCIAL_USE" glib:nick="prohibits-commercial-use"> - exercising rights for + exercising rights for commercial purposes is prohibited - use in a + use in a non-developing country is prohibited - this license was created + this license was created by the Creative Commons project - this license was + this license was created by the Free Software Foundation (FSF) @@ -784,7 +1132,9 @@ the info structure in the image's #GstSample) glib:type-name="GstTagMux" glib:get-type="gst_tag_mux_get_type" glib:type-struct="TagMuxClass"> - Provides a base class for adding tags at the beginning or end of a + Provides a base class for adding tags at the beginning or end of a stream. ## Deriving from GstTagMux @@ -798,8 +1148,10 @@ Subclasses have to do the following things: GST_TAG_MUX_CLASS(mux_klass)->render_start_tag and/or GST_TAG_MUX_CLASS(mux_klass)->render_end_tag vfuncs and set up a render function. + + @@ -813,6 +1165,7 @@ Subclasses have to do the following things: + @@ -826,14 +1179,16 @@ Subclasses have to do the following things: - parent element + parent element - + @@ -841,14 +1196,20 @@ Subclasses have to do the following things: - The #GstTagMuxClass structure. Subclasses need to override at least one + The #GstTagMuxClass structure. Subclasses need to override at least one of the two render vfuncs. + - the parent class. + the parent class. + @@ -864,6 +1225,7 @@ of the two render vfuncs. + @@ -878,12 +1240,13 @@ of the two render vfuncs. - + + glib:type-name="GstTagXmpWriter" glib:get-type="gst_tag_xmp_writer_get_type" glib:type-struct="TagXmpWriterInterface"> - This interface is implemented by elements that are able to do XMP serialization. Examples for + This interface is implemented by elements that are able to do XMP serialization. Examples for such elements are #jifmux and #qtmux. Applications can use this interface to configure which XMP schemas should be used when serializing tags into XMP. Schemas are represented by their names, a full list of the supported schemas can be obtained from gst_tag_xmp_list_schemas(). By default, all schemas are used. + - Adds all available XMP schemas to the configuration. Meaning that + Adds all available XMP schemas to the configuration. Meaning that all will be used. + - a #GstTagXmpWriter + a #GstTagXmpWriter - Adds @schema to the list schemas + Adds @schema to the list schemas + - a #GstTagXmpWriter + a #GstTagXmpWriter - the schema to be added + the schema to be added - Checks if @schema is going to be used + Checks if @schema is going to be used + - %TRUE if it is going to be used + %TRUE if it is going to be used - a #GstTagXmpWriter + a #GstTagXmpWriter - the schema to test + the schema to test - Removes all schemas from the list of schemas to use. Meaning that no + Removes all schemas from the list of schemas to use. Meaning that no XMP will be generated. + - a #GstTagXmpWriter + a #GstTagXmpWriter - Removes a schema from the list of schemas to use. Nothing is done if + Removes a schema from the list of schemas to use. Nothing is done if the schema wasn't in the list + - a #GstTagXmpWriter + a #GstTagXmpWriter - the schema to remove + the schema to remove + @@ -998,33 +1398,43 @@ the schema wasn't in the list + - Check if a given string contains a known ISO 639 language code. + Check if a given string contains a known ISO 639 language code. This is useful in situations where it's not clear whether a given string is a language code (which should be put into a #GST_TAG_LANGUAGE_CODE tag) or a free-form language name descriptor (which should be put into a #GST_TAG_LANGUAGE_NAME tag instead). + - TRUE if the two- or three-letter language code in @lang_code + TRUE if the two- or three-letter language code in @lang_code is a valid ISO-639 language code. - ISO-639 language code (e.g. "deu" or "ger" or "de") + ISO-639 language code (e.g. "deu" or "ger" or "de") - Convenience function to read a string with unknown character encoding. If + Convenience function to read a string with unknown character encoding. If the string is already in UTF-8 encoding, it will be returned right away. If not it tries to detect byte-order-mark for UTF-16/32 cases and use that. Otherwise, the environment will be searched for a number of environment @@ -1032,23 +1442,32 @@ variables (whose names are specified in the NULL-terminated string array @env_vars) containing a list of character encodings to try/use. If none are specified, the current locale will be tried. If that also doesn't work, WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed). + - a newly-allocated string in UTF-8 encoding, or NULL + a newly-allocated string in UTF-8 encoding, or NULL - string data + string data - length of string data, or -1 if the string is NUL-terminated + length of string data, or -1 if the string is NUL-terminated - + a NULL-terminated string array of environment variable names, or NULL @@ -1057,142 +1476,213 @@ WINDOWS-1252/ISO-8859-1 is assumed (which will almost always succeed). - Looks up the GStreamer tag for a ID3v2 tag. + Looks up the GStreamer tag for a ID3v2 tag. + - The corresponding GStreamer tag or NULL if none exists. + The corresponding GStreamer tag or NULL if none exists. - ID3v2 tag to convert to GStreamer tag + ID3v2 tag to convert to GStreamer tag - Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in + Looks up the GStreamer tag for an ID3v2 user tag (e.g. description in TXXX frame or owner in UFID frame). + - The corresponding GStreamer tag or NULL if none exists. + The corresponding GStreamer tag or NULL if none exists. - the type of ID3v2 user tag (e.g. "TXXX" or "UDIF") + the type of ID3v2 user tag (e.g. "TXXX" or "UDIF") - ID3v2 user tag to convert to GStreamer tag + ID3v2 user tag to convert to GStreamer tag - Looks up the GStreamer tag for a vorbiscomment tag. + Looks up the GStreamer tag for a vorbiscomment tag. + - The corresponding GStreamer tag or NULL if none exists. + The corresponding GStreamer tag or NULL if none exists. - vorbiscomment tag to convert to GStreamer tag + vorbiscomment tag to convert to GStreamer tag - Determines size of an ID3v2 tag on buffer containing at least ID3v2 header, + Determines size of an ID3v2 tag on buffer containing at least ID3v2 header, i.e. at least #GST_TAG_ID3V2_HEADER_SIZE (10) bytes; + - Size of tag, or 0 if header is invalid or too small. + Size of tag, or 0 if header is invalid or too small. - buffer holding ID3v2 tag (or at least the start of one) + buffer holding ID3v2 tag (or at least the start of one) + + Convenience macro wrapping gst_tag_get_language_code_iso_639_1(). + + + + ISO-639 language code (e.g. "deu" or "ger" or "de") + + + - Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2 + Returns two-letter ISO-639-1 language code given a three-letter ISO-639-2 language code or two-letter ISO-639-1 language code (both are accepted for convenience). Language codes are case-sensitive and expected to be lower case. + - two-letter ISO-639-1 language code string that maps to @lang_code, + two-letter ISO-639-1 language code string that maps to @lang_code, or NULL if no mapping is known. The returned string must not be modified or freed. - ISO-639 language code (e.g. "deu" or "ger" or "de") + ISO-639 language code (e.g. "deu" or "ger" or "de") - Returns three-letter ISO-639-2 "bibliographic" language code given a + Returns three-letter ISO-639-2 "bibliographic" language code given a two-letter ISO-639-1 language code or a three-letter ISO-639-2 language code (both are accepted for convenience). The "bibliographic" code is derived from the English name of the language (e.g. "ger" for German instead of "de" or "deu"). In most scenarios, the -"terminological" codes are prefered. +"terminological" codes are preferred. Language codes are case-sensitive and expected to be lower case. + - three-letter ISO-639-2 language code string that maps to @lang_code, + three-letter ISO-639-2 language code string that maps to @lang_code, or NULL if no mapping is known. The returned string must not be modified or freed. - ISO-639 language code (e.g. "deu" or "ger" or "de") + ISO-639 language code (e.g. "deu" or "ger" or "de") - Returns three-letter ISO-639-2 "terminological" language code given a + Returns three-letter ISO-639-2 "terminological" language code given a two-letter ISO-639-1 language code or a three-letter ISO-639-2 language code (both are accepted for convenience). The "terminological" code is derived from the local name of the language (e.g. "deu" for German instead of "ger"). In most scenarios, the -"terminological" codes are prefered over the "bibliographic" ones. +"terminological" codes are preferred over the "bibliographic" ones. Language codes are case-sensitive and expected to be lower case. + - three-letter ISO-639-2 language code string that maps to @lang_code, + three-letter ISO-639-2 language code string that maps to @lang_code, or NULL if no mapping is known. The returned string must not be modified or freed. - ISO-639 language code (e.g. "deu" or "ger" or "de") + ISO-639 language code (e.g. "deu" or "ger" or "de") - Returns a list of known language codes (in form of two-letter ISO-639-1 + Returns a list of known language codes (in form of two-letter ISO-639-1 codes). This is useful for UIs to build a list of available languages for tagging purposes (e.g. to tag an audio track appropriately in a video or audio editor). + - NULL-terminated string array with two-letter + NULL-terminated string array with two-letter language codes. Free with g_strfreev() when no longer needed. @@ -1201,14 +1691,19 @@ audio editor). - Returns the name of the language given an ISO-639 language code as + Returns the name of the language given an ISO-639 language code as found in a GST_TAG_LANGUAGE_CODE tag. The name will be translated according to the current locale (if the library was built against the iso-codes package, otherwise the English name will be returned). Language codes are case-sensitive and expected to be lower case. + - language name in UTF-8 format, or NULL if @language_code could + language name in UTF-8 format, or NULL if @language_code could not be mapped to a language name. The returned string must not be modified and does not need to freed; it will stay valid until the application is terminated. @@ -1216,23 +1711,32 @@ Language codes are case-sensitive and expected to be lower case. - two or three-letter ISO-639 language code + two or three-letter ISO-639 language code - Get the description of a license, which is a translated description + Get the description of a license, which is a translated description of the license's main features. + - the description of the license, or NULL if the license is unknown + the description of the license, or NULL if the license is unknown or a description is not available. - a license reference string in form of a URI, + a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" @@ -1240,15 +1744,22 @@ of the license's main features. - Get the flags of a license, which describe most of the features of + Get the flags of a license, which describe most of the features of a license in their most general form. + - the flags of the license, or 0 if the license is unknown + the flags of the license, or 0 if the license is unknown - a license reference string in form of a URI, + a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" @@ -1256,21 +1767,28 @@ a license in their most general form. - Get the jurisdiction code of a license. This is usually a two-letter + Get the jurisdiction code of a license. This is usually a two-letter ISO 3166-1 alpha-2 code, but there is also the special case of Scotland, for which no code exists and which is thus represented as "scotland". Known jurisdictions: ar, at, au, be, bg, br, ca, ch, cl, cn, co, de, dk, es, fi, fr, hr, hu, il, in, it, jp, kr, mk, mt, mx, my, nl, pe, pl, pt, scotland, se, si, tw, uk, us, za. + - the jurisdiction code of the license, or NULL if the license is + the jurisdiction code of the license, or NULL if the license is unknown or is not specific to a particular jurisdiction. - a license reference string in form of a URI, + a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" @@ -1278,15 +1796,22 @@ pt, scotland, se, si, tw, uk, us, za. - Get the nick name of a license, which is a short (untranslated) string + Get the nick name of a license, which is a short (untranslated) string such as e.g. "CC BY-NC-ND 2.0 UK". + - the nick name of the license, or NULL if the license is unknown + the nick name of the license, or NULL if the license is unknown - a license reference string in form of a URI, + a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" @@ -1294,16 +1819,23 @@ such as e.g. "CC BY-NC-ND 2.0 UK". - Get the title of a license, which is a short translated description + Get the title of a license, which is a short translated description of the license's features (generally not very pretty though). + - the title of the license, or NULL if the license is unknown or + the title of the license, or NULL if the license is unknown or no title is available. - a license reference string in form of a URI, + a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" @@ -1311,27 +1843,39 @@ of the license's features (generally not very pretty though). - Get the version of a license. + Get the version of a license. + - the version of the license, or NULL if the license is not known or + the version of the license, or NULL if the license is not known or has no version - a license reference string in form of a URI, + a license reference string in form of a URI, e.g. "http://creativecommons.org/licenses/by-nc-nd/2.0/" - Returns a list of known license references (in form of URIs). This is + Returns a list of known license references (in form of URIs). This is useful for UIs to build a list of available licenses for tagging purposes (e.g. to tag an audio track appropriately in a video or audio editor, or an image in a camera application). + - NULL-terminated array of license strings. Free + NULL-terminated array of license strings. Free with g_strfreev() when no longer needed. @@ -1340,29 +1884,43 @@ an image in a camera application). - Gets the number of ID3v1 genres that can be identified. Winamp genres are + Gets the number of ID3v1 genres that can be identified. Winamp genres are included. + - the number of ID3v1 genres that can be identified + the number of ID3v1 genres that can be identified - Gets the ID3v1 genre name for a given ID. + Gets the ID3v1 genre name for a given ID. + - the genre or NULL if no genre is associated with that ID. + the genre or NULL if no genre is associated with that ID. - ID of genre to query + ID of genre to query - Helper function for tag-reading plugins to create a #GstSample suitable to + Helper function for tag-reading plugins to create a #GstSample suitable to add to a #GstTagList as an image tag (such as #GST_TAG_IMAGE or #GST_TAG_PREVIEW_IMAGE) from the encoded image data and an (optional) image type. @@ -1377,30 +1935,39 @@ rather than the image itself. In GStreamer, image tags are #GstSample<!-- -->s containing the raw image data, with the sample caps describing the content type of the image (e.g. image/jpeg, image/png, text/uri-list). The sample info may contain -an additional 'image-type' field of #GST_TYPE_TAG_IMAGE_TYPE to describe +an additional 'image-type' field of #GstTagImageType to describe the type of image (front cover, back cover etc.). #GST_TAG_PREVIEW_IMAGE tags should not carry an image type, their type is already indicated via the special tag name. This function will do various checks and typefind the encoded image data (we can't trust the declared mime type). + - a newly-allocated image sample for use in tag lists, or NULL + a newly-allocated image sample for use in tag lists, or NULL - the (encoded) image + the (encoded) image - the length of the encoded image data at @image_data + the length of the encoded image data at @image_data - type of the image, or #GST_TAG_IMAGE_TYPE_UNDEFINED. Pass + type of the image, or #GST_TAG_IMAGE_TYPE_UNDEFINED. Pass #GST_TAG_IMAGE_TYPE_NONE if no image type should be set at all (e.g. for preview images) @@ -1409,30 +1976,43 @@ data (we can't trust the declared mime type). - Adds an image from an ID3 APIC frame (or similar, such as used in FLAC) + Adds an image from an ID3 APIC frame (or similar, such as used in FLAC) to the given tag list. Also see gst_tag_image_data_to_image_sample() for more information on image tags in GStreamer. + - %TRUE if the image was processed, otherwise %FALSE + %TRUE if the image was processed, otherwise %FALSE - a tag list + a tag list - the (encoded) image + the (encoded) image - the length of the encoded image data at @image_data + the length of the encoded image data at @image_data - picture type as per the ID3 (v2.4.0) specification for + picture type as per the ID3 (v2.4.0) specification for the APIC frame (0 = unknown/other) @@ -1440,87 +2020,125 @@ more information on image tags in GStreamer. - Parses the IFD and IFD tags data contained in the buffer and puts it + Parses the IFD and IFD tags data contained in the buffer and puts it on a taglist. The base_offset is used to subtract from the offset in the tag entries and be able to get the offset relative to the buffer start + - The parsed taglist + The parsed taglist - The exif buffer + The exif buffer - byte order of the data + byte order of the data - Offset from the tiff header to this buffer + Offset from the tiff header to this buffer - Parses the exif tags starting with a tiff header structure. + Parses the exif tags starting with a tiff header structure. + - The taglist + The taglist - The exif buffer + The exif buffer - Creates a new tag list that contains the information parsed out of a + Creates a new tag list that contains the information parsed out of a ID3 tag. + - A new #GstTagList with all tags that could be extracted from the + A new #GstTagList with all tags that could be extracted from the given vorbiscomment buffer or NULL on error. - buffer to convert + buffer to convert - Creates a new tag list that contains the information parsed out of a + Creates a new tag list that contains the information parsed out of a vorbiscomment packet. + - A new #GstTagList with all tags that could be extracted from the + A new #GstTagList with all tags that could be extracted from the given vorbiscomment buffer or NULL on error. - data to convert + data to convert - size of @data + size of @data - identification data at start of stream + identification data at start of stream - length of identification data + length of identification data transfer-ownership="full" optional="1" allow-none="1"> - pointer to a string that should take the + pointer to a string that should take the vendor string of this vorbis comment or NULL if you don't need it. @@ -1537,26 +2157,37 @@ vorbiscomment packet. - Creates a new tag list that contains the information parsed out of a + Creates a new tag list that contains the information parsed out of a vorbiscomment packet. + - A new #GstTagList with all tags that could be extracted from the + A new #GstTagList with all tags that could be extracted from the given vorbiscomment buffer or NULL on error. - buffer to convert + buffer to convert - identification data at start of stream + identification data at start of stream - length of identification data + length of identification data transfer-ownership="full" optional="1" allow-none="1"> - pointer to a string that should take the + pointer to a string that should take the vendor string of this vorbis comment or NULL if you don't need it. @@ -1573,29 +2206,43 @@ vorbiscomment packet. - Parse a xmp packet into a taglist. + Parse a xmp packet into a taglist. + - new taglist or %NULL, free the list when done + new taglist or %NULL, free the list when done - buffer + buffer - Parses the data containing an ID3v1 tag and returns a #GstTagList from the + Parses the data containing an ID3v1 tag and returns a #GstTagList from the parsed data. + - A new tag list or NULL if the data was not an ID3v1 tag. + A new tag list or NULL if the data was not an ID3v1 tag. - 128 bytes of data containing the ID3v1 tag + 128 bytes of data containing the ID3v1 tag @@ -1604,94 +2251,136 @@ parsed data. - Formats the tags in taglist on exif format. The resulting buffer contains + Formats the tags in taglist on exif format. The resulting buffer contains the tags IFD and is followed by the data pointed by the tag entries. + - A GstBuffer containing the tag entries followed by the tag data + A GstBuffer containing the tag entries followed by the tag data - The taglist + The taglist - byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN) + byte order used in writing (G_LITTLE_ENDIAN or G_BIG_ENDIAN) - Offset from the tiff header first byte + Offset from the tiff header first byte - Formats the tags in taglist into exif structure, a tiff header + Formats the tags in taglist into exif structure, a tiff header is put in the beginning of the buffer. + - A GstBuffer containing the data + A GstBuffer containing the data - The taglist + The taglist - Creates a new vorbiscomment buffer from a tag list. + Creates a new vorbiscomment buffer from a tag list. + - A new #GstBuffer containing a vorbiscomment buffer with all tags + A new #GstBuffer containing a vorbiscomment buffer with all tags that could be converted from the given tag list. - tag list to convert + tag list to convert - identification data at start of stream + identification data at start of stream - length of identification data, may be 0 if @id_data is NULL + length of identification data, may be 0 if @id_data is NULL - string that describes the vendor string or NULL + string that describes the vendor string or NULL - Formats a taglist as a xmp packet using only the selected + Formats a taglist as a xmp packet using only the selected schemas. An empty list (%NULL) means that all schemas should be used + - new buffer or %NULL, unref the buffer when done + new buffer or %NULL, unref the buffer when done - tags + tags - does the container forbid inplace editing + does the container forbid inplace editing - + %NULL terminated array of schemas to be used on serialization @@ -1701,20 +2390,27 @@ be used - Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and + Convenience function to parse a GST_TAG_EXTENDED_COMMENT string and separate it into its components. If successful, @key, @lang and/or @value will be set to newly allocated strings that you need to free with g_free() when done. @key and @lang may also be set to NULL by this function if there is no key or no language code in the extended comment string. + - TRUE if the string could be parsed, otherwise FALSE + TRUE if the string could be parsed, otherwise FALSE - an extended comment string, see #GST_TAG_EXTENDED_COMMENT + an extended comment string, see #GST_TAG_EXTENDED_COMMENT caller-allocates="0" transfer-ownership="full" nullable="1"> - + return location for the comment description key, or NULL @@ -1731,7 +2429,9 @@ code in the extended comment string. caller-allocates="0" transfer-ownership="full" nullable="1"> - + return location for the comment ISO-639 language code, or NULL @@ -1739,43 +2439,62 @@ code in the extended comment string. direction="out" caller-allocates="0" transfer-ownership="full"> - return location for the actual comment string, or NULL + return location for the actual comment string, or NULL - whether to fail if strings are not in key=value form + whether to fail if strings are not in key=value form - Registers additional musicbrainz-specific tags with the GStreamer tag + Registers additional musicbrainz-specific tags with the GStreamer tag system. Plugins and applications that use these tags should call this function before using them. Can be called multiple times. + - Looks up the ID3v2 tag for a GStreamer tag. + Looks up the ID3v2 tag for a GStreamer tag. + - The corresponding ID3v2 tag or NULL if none exists. + The corresponding ID3v2 tag or NULL if none exists. - GStreamer tag to convert to vorbiscomment tag + GStreamer tag to convert to vorbiscomment tag - Creates a new tag list that contains the information parsed out of a + Creates a new tag list that contains the information parsed out of a vorbiscomment packet. + - A #GList of newly-allocated + A #GList of newly-allocated key=value strings. Free with g_list_foreach (list, (GFunc) g_free, NULL) plus g_list_free (list) @@ -1784,33 +2503,49 @@ vorbiscomment packet. - a #GstTagList + a #GstTagList - a GStreamer tag identifier, such as #GST_TAG_ARTIST + a GStreamer tag identifier, such as #GST_TAG_ARTIST - Looks up the vorbiscomment tag for a GStreamer tag. + Looks up the vorbiscomment tag for a GStreamer tag. + - The corresponding vorbiscomment tag or NULL if none exists. + The corresponding vorbiscomment tag or NULL if none exists. - GStreamer tag to convert to vorbiscomment tag + GStreamer tag to convert to vorbiscomment tag - Gets the list of supported schemas in the xmp lib + Gets the list of supported schemas in the xmp lib + - a %NULL terminated array of strings with the + a %NULL terminated array of strings with the schema names @@ -1818,26 +2553,35 @@ vorbiscomment packet. - Convenience function using gst_tag_from_vorbis_tag(), parsing + Convenience function using gst_tag_from_vorbis_tag(), parsing a vorbis comment string into the right type and adding it to the given taglist @list. Unknown vorbiscomment tags will be added to the tag list in form of a #GST_TAG_EXTENDED_COMMENT. + - a #GstTagList + a #GstTagList - a vorbiscomment tag string (key in key=value), must be valid UTF-8 + a vorbiscomment tag string (key in key=value), must be valid UTF-8 - a vorbiscomment value string (value in key=value), must be valid UTF-8 + a vorbiscomment value string (value in key=value), must be valid UTF-8 diff --git a/girs/GstVideo-1.0.gir b/girs/GstVideo-1.0.gir index 761bbcf8a3..bc0825f80e 100644 --- a/girs/GstVideo-1.0.gir +++ b/girs/GstVideo-1.0.gir @@ -18,114 +18,212 @@ and/or use gtk-doc annotations. --> + - A bufferpool option to enable extra padding. When a bufferpool supports this + A bufferpool option to enable extra padding. When a bufferpool supports this option, gst_buffer_pool_config_set_video_alignment() can be called. When this option is enabled on the bufferpool, #GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled. + - An option that can be activated on a bufferpool to request gl texture upload + An option that can be activated on a bufferpool to request gl texture upload meta on buffers from the pool. When this option is enabled on the bufferpool, @GST_BUFFER_POOL_OPTION_VIDEO_META should also be enabled. + - An option that can be activated on bufferpool to request video metadata + An option that can be activated on bufferpool to request video metadata on buffers from the pool. + - Name of the caps feature indicating that the stream is interlaced. Currently -it is only used for video. + Name of the caps feature indicating that the stream is interlaced. + +Currently it is only used for video with 'interlace-mode=alternate' +to ensure backwards compatibility for this new mode. +In this mode each buffer carries a single field of interlaced video. +@GST_VIDEO_BUFFER_FLAG_TOP_FIELD and @GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD +indicate whether the buffer carries a top or bottom field. The order of +buffers/fields in the stream and the timestamps on the buffers indicate the +temporal order of the fields. +Top and bottom fields are expected to alternate in this mode. +The frame rate in the caps still signals the frame rate, so the notional field +rate will be twice the frame rate from the caps +(see @GST_VIDEO_INFO_FIELD_RATE_N). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - This interface is implemented by elements which can perform some color + This interface is implemented by elements which can perform some color balance operation on video frames they process. For example, modifying the brightness, contrast, hue or saturation. Example elements are 'xvimagesink' and 'colorbalance' + - Get the #GstColorBalanceType of this implementation. + Get the #GstColorBalanceType of this implementation. + - A the #GstColorBalanceType. + A the #GstColorBalanceType. - The #GstColorBalance implementation + The #GstColorBalance implementation - Retrieve the current value of the indicated channel, between min_value + Retrieve the current value of the indicated channel, between min_value and max_value. See Also: The #GstColorBalanceChannel.min_value and #GstColorBalanceChannel.max_value members of the #GstColorBalanceChannel object. + - The current value of the channel. + The current value of the channel. - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel instance + A #GstColorBalanceChannel instance - Retrieve a list of the available channels. + Retrieve a list of the available channels. + - A + A GList containing pointers to #GstColorBalanceChannel objects. The list is owned by the #GstColorBalance instance and must not be freed. @@ -135,100 +233,146 @@ See Also: The #GstColorBalanceChannel.min_value and - A #GstColorBalance instance + A #GstColorBalance instance - Sets the current value of the channel to the passed value, which must + Sets the current value of the channel to the passed value, which must be between min_value and max_value. See Also: The #GstColorBalanceChannel.min_value and #GstColorBalanceChannel.max_value members of the #GstColorBalanceChannel object. + - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel instance + A #GstColorBalanceChannel instance - The new value for the channel. + The new value for the channel. - A helper function called by implementations of the GstColorBalance + A helper function called by implementations of the GstColorBalance interface. It fires the #GstColorBalance::value-changed signal on the instance, and the #GstColorBalanceChannel::value-changed signal on the channel object. + - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel whose value has changed + A #GstColorBalanceChannel whose value has changed - The new value of the channel + The new value of the channel - Get the #GstColorBalanceType of this implementation. + Get the #GstColorBalanceType of this implementation. + - A the #GstColorBalanceType. + A the #GstColorBalanceType. - The #GstColorBalance implementation + The #GstColorBalance implementation - Retrieve the current value of the indicated channel, between min_value + Retrieve the current value of the indicated channel, between min_value and max_value. See Also: The #GstColorBalanceChannel.min_value and #GstColorBalanceChannel.max_value members of the #GstColorBalanceChannel object. + - The current value of the channel. + The current value of the channel. - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel instance + A #GstColorBalanceChannel instance - Retrieve a list of the available channels. + Retrieve a list of the available channels. + - A + A GList containing pointers to #GstColorBalanceChannel objects. The list is owned by the #GstColorBalance instance and must not be freed. @@ -238,72 +382,100 @@ See Also: The #GstColorBalanceChannel.min_value and - A #GstColorBalance instance + A #GstColorBalance instance - Sets the current value of the channel to the passed value, which must + Sets the current value of the channel to the passed value, which must be between min_value and max_value. See Also: The #GstColorBalanceChannel.min_value and #GstColorBalanceChannel.max_value members of the #GstColorBalanceChannel object. + - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel instance + A #GstColorBalanceChannel instance - The new value for the channel. + The new value for the channel. - A helper function called by implementations of the GstColorBalance + A helper function called by implementations of the GstColorBalance interface. It fires the #GstColorBalance::value-changed signal on the instance, and the #GstColorBalanceChannel::value-changed signal on the channel object. + - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel whose value has changed + A #GstColorBalanceChannel whose value has changed - The new value of the channel + The new value of the channel - Fired when the value of the indicated channel has changed. + Fired when the value of the indicated channel has changed. - The #GstColorBalanceChannel + The #GstColorBalanceChannel - The new value + The new value @@ -316,10 +488,16 @@ channel object. glib:type-name="GstColorBalanceChannel" glib:get-type="gst_color_balance_channel_get_type" glib:type-struct="ColorBalanceChannelClass"> - The #GstColorBalanceChannel object represents a parameter + The #GstColorBalanceChannel object represents a parameter for modifying the color balance implemented by an element providing the #GstColorBalance interface. For example, Hue or Saturation. + + @@ -336,30 +514,40 @@ for modifying the color balance implemented by an element providing the - A string containing a descriptive name for this channel + A string containing a descriptive name for this channel - The minimum valid value for this channel. + The minimum valid value for this channel. - The maximum valid value for this channel. + The maximum valid value for this channel. - + - Fired when the value of the indicated channel has changed. + Fired when the value of the indicated channel has changed. - The new value + The new value @@ -368,13 +556,21 @@ for modifying the color balance implemented by an element providing the - Color-balance channel class. + Color-balance channel class. + - the parent class + the parent class + @@ -390,7 +586,7 @@ for modifying the color balance implemented by an element providing the - + @@ -398,15 +594,24 @@ for modifying the color balance implemented by an element providing the - Color-balance interface. + Color-balance interface. + - the parent interface + the parent interface + - A + A GList containing pointers to #GstColorBalanceChannel objects. The list is owned by the #GstColorBalance instance and must not be freed. @@ -416,7 +621,9 @@ for modifying the color balance implemented by an element providing the - A #GstColorBalance instance + A #GstColorBalance instance @@ -424,21 +631,29 @@ for modifying the color balance implemented by an element providing the + - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel instance + A #GstColorBalanceChannel instance - The new value for the channel. + The new value for the channel. @@ -446,17 +661,25 @@ for modifying the color balance implemented by an element providing the + - The current value of the channel. + The current value of the channel. - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel instance + A #GstColorBalanceChannel instance @@ -465,13 +688,19 @@ for modifying the color balance implemented by an element providing the + - A the #GstColorBalanceType. + A the #GstColorBalanceType. - The #GstColorBalance implementation + The #GstColorBalance implementation @@ -479,28 +708,36 @@ for modifying the color balance implemented by an element providing the + - A #GstColorBalance instance + A #GstColorBalance instance - A #GstColorBalanceChannel whose value has changed + A #GstColorBalanceChannel whose value has changed - The new value of the channel + The new value of the channel - + @@ -509,7 +746,9 @@ for modifying the color balance implemented by an element providing the glib:type-name="GstColorBalanceType" glib:get-type="gst_color_balance_type_get_type" c:type="GstColorBalanceType"> - An enumeration indicating whether an element implements color balancing + An enumeration indicating whether an element implements color balancing operations in software or in dedicated hardware. In general, dedicated hardware implementations (such as those provided by xvimagesink) are preferred. @@ -517,52 +756,322 @@ preferred. value="0" c:identifier="GST_COLOR_BALANCE_HARDWARE" glib:nick="hardware"> - Color balance is implemented with dedicated + Color balance is implemented with dedicated hardware. - Color balance is implemented via software + Color balance is implemented via software processing. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - This metadata stays relevant as long as video colorspace is unchanged. + This metadata stays relevant as long as video colorspace is unchanged. + - This metadata stays relevant as long as video orientation is unchanged. + This metadata stays relevant as long as video orientation is unchanged. + - This metadata stays relevant as long as video size is unchanged. + This metadata stays relevant as long as video size is unchanged. + - This metadata is relevant for video streams. + This metadata is relevant for video streams. + + + + + + + + + + + + + + + - The Navigation interface is used for creating and injecting navigation related + The Navigation interface is used for creating and injecting navigation related events such as mouse button presses, cursor motion and key presses. The associated library also provides methods for parsing received events, and for sending and receiving navigation related bus events. One main usecase is DVD menu navigation. @@ -582,31 +1091,46 @@ The main parts of the API are: The GstNavigation message functions provide functions for creating and parsing custom bus messages for signaling GstNavigation changes. + - Inspect a #GstEvent and return the #GstNavigationEventType of the event, or + Inspect a #GstEvent and return the #GstNavigationEventType of the event, or #GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event. + - A #GstEvent to inspect. + A #GstEvent to inspect. - Inspect a #GstNavigation command event and retrieve the enum value of the + Inspect a #GstNavigation command event and retrieve the enum value of the associated command. + - TRUE if the navigation command could be extracted, otherwise FALSE. + TRUE if the navigation command could be extracted, otherwise FALSE. - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to GstNavigationCommand to receive the + Pointer to GstNavigationCommand to receive the type of the navigation event. @@ -623,12 +1149,16 @@ associated command. + - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="none" optional="1" allow-none="1"> - A pointer to a location to receive + A pointer to a location to receive the string identifying the key press. The returned string is owned by the event, and valid only until the event is unreffed. @@ -646,17 +1178,25 @@ associated command. - Retrieve the details of either a #GstNavigation mouse button press event or + Retrieve the details of either a #GstNavigation mouse button press event or a mouse button release event. Determine which type the event is using gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. + - TRUE if the button number and both coordinates could be extracted, + TRUE if the button number and both coordinates could be extracted, otherwise FALSE. - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gint that will receive the button + Pointer to a gint that will receive the button number associated with the event. @@ -675,7 +1217,9 @@ gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the x coordinate of the + Pointer to a gdouble to receive the x coordinate of the mouse button event. @@ -685,7 +1229,9 @@ gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the y coordinate of the + Pointer to a gdouble to receive the y coordinate of the mouse button event. @@ -693,15 +1239,23 @@ gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. - Inspect a #GstNavigation mouse movement event and extract the coordinates + Inspect a #GstNavigation mouse movement event and extract the coordinates of the event. + - TRUE if both coordinates could be extracted, otherwise FALSE. + TRUE if both coordinates could be extracted, otherwise FALSE. - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the x coordinate of the + Pointer to a gdouble to receive the x coordinate of the mouse movement. @@ -720,7 +1276,81 @@ of the event. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the y coordinate of the + Pointer to a gdouble to receive the y coordinate of the + mouse movement. + + + + + + Inspect a #GstNavigation mouse scroll event and extract the coordinates +of the event. + + + TRUE if all coordinates could be extracted, otherwise FALSE. + + + + + A #GstEvent to inspect. + + + + Pointer to a gdouble to receive the x coordinate of the + mouse movement. + + + + Pointer to a gdouble to receive the y coordinate of the + mouse movement. + + + + Pointer to a gdouble to receive the delta_x coordinate of the + mouse movement. + + + + Pointer to a gdouble to receive the delta_y coordinate of the mouse movement. @@ -728,10 +1358,16 @@ of the event. - Check a bus message to see if it is a #GstNavigation event, and return + Check a bus message to see if it is a #GstNavigation event, and return the #GstNavigationMessageType identifying the type of the message if so. + - The type of the #GstMessage, or + The type of the #GstMessage, or #GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation notification. - A #GstMessage to inspect. + A #GstMessage to inspect. - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application that the current angle, or current number of angles available in a multiangle video has changed. + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. - The currently selected angle. + The currently selected angle. - The number of viewing angles now available. + The number of viewing angles now available. - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. @@ -787,38 +1445,58 @@ multiangle video has changed. - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_EVENT. + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. - A navigation #GstEvent + A navigation #GstEvent - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_MOUSE_OVER. + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. - %TRUE if the mouse has entered a clickable area of the display. + %TRUE if the mouse has entered a clickable area of the display. %FALSE if it over a non-clickable area. @@ -826,15 +1504,23 @@ multiangle video has changed. - Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED + Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED and extract the @cur_angle and @n_angles parameters. + - %TRUE if the message could be successfully parsed. %FALSE if not. + %TRUE if the message could be successfully parsed. %FALSE if not. - A #GstMessage to inspect. + A #GstMessage to inspect. transfer-ownership="full" optional="1" allow-none="1"> - A pointer to a #guint to receive the new + A pointer to a #guint to receive the new current angle number, or NULL @@ -853,7 +1541,9 @@ and extract the @cur_angle and @n_angles parameters. transfer-ownership="full" optional="1" allow-none="1"> - A pointer to a #guint to receive the new angle + A pointer to a #guint to receive the new angle count, or NULL. @@ -862,16 +1552,24 @@ and extract the @cur_angle and @n_angles parameters. - Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT + Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT and extract contained #GstEvent. The caller must unref the @event when done with it. + - %TRUE if the message could be successfully parsed. %FALSE if not. + %TRUE if the message could be successfully parsed. %FALSE if not. - A #GstMessage to inspect. + A #GstMessage to inspect. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to a #GstEvent to receive + a pointer to a #GstEvent to receive the contained navigation event. @@ -888,16 +1588,24 @@ with it. - Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER + Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER and extract the active/inactive flag. If the mouse over event is marked active, it indicates that the mouse is over a clickable area. + - %TRUE if the message could be successfully parsed. %FALSE if not. + %TRUE if the message could be successfully parsed. %FALSE if not. - A #GstMessage to inspect. + A #GstMessage to inspect. transfer-ownership="full" optional="1" allow-none="1"> - A pointer to a gboolean to receive the + A pointer to a gboolean to receive the active/inactive state, or NULL. @@ -914,51 +1624,79 @@ active, it indicates that the mouse is over a clickable area. - Inspect a #GstQuery and return the #GstNavigationQueryType associated with + Inspect a #GstQuery and return the #GstNavigationQueryType associated with it if it is a #GstNavigation query. + - The #GstNavigationQueryType of the query, or + The #GstNavigationQueryType of the query, or #GST_NAVIGATION_QUERY_INVALID - The query to inspect + The query to inspect - Create a new #GstNavigation angles query. When executed, it will + Create a new #GstNavigation angles query. When executed, it will query the pipeline for the set of currently available angles, which may be greater than one in a multiangle video. + - The new query. + The new query. - Create a new #GstNavigation commands query. When executed, it will + Create a new #GstNavigation commands query. When executed, it will query the pipeline for the set of currently available commands. + - The new query. + The new query. - Parse the current angle number in the #GstNavigation angles @query into the + Parse the current angle number in the #GstNavigation angles @query into the #guint pointed to by the @cur_angle variable, and the number of available angles into the #guint pointed to by the @n_angles variable. + - %TRUE if the query could be successfully parsed. %FALSE if not. + %TRUE if the query could be successfully parsed. %FALSE if not. - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a #guint into which to store the + Pointer to a #guint into which to store the currently selected angle value from the query, or NULL @@ -977,7 +1717,9 @@ angles into the #guint pointed to by the @n_angles variable. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a #guint into which to store the + Pointer to a #guint into which to store the number of angles value from the query, or NULL @@ -985,14 +1727,22 @@ angles into the #guint pointed to by the @n_angles variable. - Parse the number of commands in the #GstNavigation commands @query. + Parse the number of commands in the #GstNavigation commands @query. + - %TRUE if the query could be successfully parsed. %FALSE if not. + %TRUE if the query could be successfully parsed. %FALSE if not. - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the number of commands in this query. + the number of commands in this query. - Parse the #GstNavigation command query and retrieve the @nth command from + Parse the #GstNavigation command query and retrieve the @nth command from it into @cmd. If the list contains less elements than @nth, @cmd will be set to #GST_NAVIGATION_COMMAND_INVALID. + - %TRUE if the query could be successfully parsed. %FALSE if not. + %TRUE if the query could be successfully parsed. %FALSE if not. - a #GstQuery + a #GstQuery - the nth command to retrieve. + the nth command to retrieve. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the nth command into. + a pointer to store the nth command into. - Set the #GstNavigation angles query result field in @query. + Set the #GstNavigation angles query result field in @query. + - a #GstQuery + a #GstQuery - the current viewing angle to set. + the current viewing angle to set. - the number of viewing angles to set. + the number of viewing angles to set. @@ -1059,44 +1833,64 @@ set to #GST_NAVIGATION_COMMAND_INVALID. - Set the #GstNavigation command query result fields in @query. The number + Set the #GstNavigation command query result fields in @query. The number of commands passed must be equal to @n_commands. + - a #GstQuery + a #GstQuery - the number of commands to set. + the number of commands to set. - A list of @GstNavigationCommand values, @n_cmds entries long. + A list of @GstNavigationCommand values, @n_cmds entries long. - Set the #GstNavigation command query result fields in @query. The number + Set the #GstNavigation command query result fields in @query. The number of commands passed must be equal to @n_commands. + - a #GstQuery + a #GstQuery - the number of commands to set. + the number of commands to set. - An array containing @n_cmds + An array containing @n_cmds @GstNavigationCommand values. + @@ -1120,22 +1915,32 @@ of commands passed must be equal to @n_commands. - Sends the indicated command to the navigation interface. + Sends the indicated command to the navigation interface. + - The navigation interface instance + The navigation interface instance - The command to issue + The command to issue + @@ -1150,21 +1955,29 @@ of commands passed must be equal to @n_commands. + - The navigation interface instance + The navigation interface instance - The type of the key event. Recognised values are "key-press" and + The type of the key event. Recognised values are "key-press" and "key-release" - Character representation of the key. This is typically as produced + Character representation of the key. This is typically as produced by XKeysymToString. @@ -1172,34 +1985,95 @@ by XKeysymToString. - Sends a mouse event to the navigation interface. Mouse event coordinates + Sends a mouse event to the navigation interface. Mouse event coordinates are sent relative to the display space of the related output area. This is usually the size in pixels of the window associated with the element implementing the #GstNavigation interface. + - The navigation interface instance + The navigation interface instance - The type of mouse event, as a text string. Recognised values are + The type of mouse event, as a text string. Recognised values are "mouse-button-press", "mouse-button-release" and "mouse-move". - The button number of the button being pressed or released. Pass 0 + The button number of the button being pressed or released. Pass 0 for mouse-move events. - The x coordinate of the mouse event. + The x coordinate of the mouse event. - The y coordinate of the mouse event. + The y coordinate of the mouse event. + + + + + + Sends a mouse scroll event to the navigation interface. Mouse event coordinates +are sent relative to the display space of the related output area. This is +usually the size in pixels of the window associated with the element +implementing the #GstNavigation interface. + + + + + + + The navigation interface instance + + + + The x coordinate of the mouse event. + + + + The y coordinate of the mouse event. + + + + The delta_x coordinate of the mouse event. + + + + The delta_y coordinate of the mouse event. @@ -1209,7 +2083,9 @@ for mouse-move events. glib:type-name="GstNavigationCommand" glib:get-type="gst_navigation_command_get_type" c:type="GstNavigationCommand"> - A set of commands that may be issued to an element providing the + A set of commands that may be issued to an element providing the #GstNavigation interface. The available commands can be queried via the gst_navigation_query_new_commands() query. @@ -1225,104 +2101,134 @@ For convenience in handling DVD navigation, the MENU commands are aliased as: value="0" c:identifier="GST_NAVIGATION_COMMAND_INVALID" glib:nick="invalid"> - An invalid command entry + An invalid command entry - Execute navigation menu command 1. For DVD, + Execute navigation menu command 1. For DVD, this enters the DVD root menu, or exits back to the title from the menu. - Execute navigation menu command 2. For DVD, + Execute navigation menu command 2. For DVD, this jumps to the DVD title menu. - Execute navigation menu command 3. For DVD, + Execute navigation menu command 3. For DVD, this jumps into the DVD root menu. - Execute navigation menu command 4. For DVD, + Execute navigation menu command 4. For DVD, this jumps to the Subpicture menu. - Execute navigation menu command 5. For DVD, + Execute navigation menu command 5. For DVD, the jumps to the audio menu. - Execute navigation menu command 6. For DVD, + Execute navigation menu command 6. For DVD, this jumps to the angles menu. - Execute navigation menu command 7. For DVD, + Execute navigation menu command 7. For DVD, this jumps to the chapter menu. - Select the next button to the left in a menu, + Select the next button to the left in a menu, if such a button exists. - Select the next button to the right in a menu, + Select the next button to the right in a menu, if such a button exists. - Select the button above the current one in a + Select the button above the current one in a menu, if such a button exists. - Select the button below the current one in a + Select the button below the current one in a menu, if such a button exists. - Activate (click) the currently selected + Activate (click) the currently selected button in a menu, if such a button exists. - Switch to the previous angle in a + Switch to the previous angle in a multiangle feature. - Switch to the next angle in a multiangle + Switch to the next angle in a multiangle feature. @@ -1330,34 +2236,44 @@ feature. glib:type-name="GstNavigationEventType" glib:get-type="gst_navigation_event_type_get_type" c:type="GstNavigationEventType"> - Enum values for the various events that an element implementing the + Enum values for the various events that an element implementing the GstNavigation interface might send up the pipeline. - Returned from + Returned from gst_navigation_event_get_type() when the passed event is not a navigation event. - A key press event. Use + A key press event. Use gst_navigation_event_parse_key_event() to extract the details from the event. - A key release event. Use + A key release event. Use gst_navigation_event_parse_key_event() to extract the details from the event. - A mouse button press event. Use + A mouse button press event. Use gst_navigation_event_parse_mouse_button_event() to extract the details from the event. @@ -1365,7 +2281,9 @@ event. value="4" c:identifier="GST_NAVIGATION_EVENT_MOUSE_BUTTON_RELEASE" glib:nick="mouse-button-release"> - A mouse button release event. Use + A mouse button release event. Use gst_navigation_event_parse_mouse_button_event() to extract the details from the event. @@ -1373,7 +2291,9 @@ event. value="5" c:identifier="GST_NAVIGATION_EVENT_MOUSE_MOVE" glib:nick="mouse-move"> - A mouse movement event. Use + A mouse movement event. Use gst_navigation_event_parse_mouse_move_event() to extract the details from the event. @@ -1381,20 +2301,39 @@ event. value="6" c:identifier="GST_NAVIGATION_EVENT_COMMAND" glib:nick="command"> - A navigation command event. Use + A navigation command event. Use gst_navigation_event_parse_command() to extract the details from the event. + + A mouse scroll event. Use +gst_navigation_event_parse_mouse_scroll_event() to extract the details from +the event. (Since: 1.18) + - Navigation interface. + Navigation interface. + - the parent interface + the parent interface + @@ -1413,13 +2352,17 @@ gst_navigation_event_parse_command() to extract the details from the event. - A set of notifications that may be received on the bus when navigation + A set of notifications that may be received on the bus when navigation related status changes. - Returned from + Returned from gst_navigation_message_get_type() when the passed message is not a navigation message. @@ -1427,21 +2370,27 @@ navigation message. value="1" c:identifier="GST_NAVIGATION_MESSAGE_MOUSE_OVER" glib:nick="mouse-over"> - Sent when the mouse moves over or leaves a + Sent when the mouse moves over or leaves a clickable region of the output, such as a DVD menu button. - Sent when the set of available commands + Sent when the set of available commands changes and should re-queried by interested applications. - Sent when display angles in a multi-angle + Sent when display angles in a multi-angle feature (such as a multiangle DVD) change - either angles have appeared or disappeared. @@ -1449,302 +2398,2498 @@ disappeared. value="4" c:identifier="GST_NAVIGATION_MESSAGE_EVENT" glib:nick="event"> - Sent when a navigation event was not handled -by any element in the pipeline (Since 1.6) + Sent when a navigation event was not handled +by any element in the pipeline (Since: 1.6) - Tyoes of navigation interface queries. + Types of navigation interface queries. - invalid query + invalid query - command query + command query - viewing angle query + viewing angle query + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the #GstVideoAncillaryDID16 of the ancillary data. + + + + a #GstVideoAncillary + + + + + Check if GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD is set on @buf (Since: 1.18). + + + + a #GstBuffer + + + + + Check if GST_VIDEO_BUFFER_FLAG_TOP_FIELD is set on @buf (Since: 1.18). + + + + a #GstBuffer + + + + + + + + + + + + + + + + + + + Generic caps string for video, for use in pad templates. + + + + string format that describes the pixel layout, as string + (e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.) + + + + + Generic caps string for video, for use in pad templates. + + + + Requires caps features as a string, e.g. + "memory:SystemMemory". + + + string format that describes the pixel layout, as string + (e.g. "I420", "RGB", "YV12", "YUY2", "AYUV", etc.) + + + + + The entire set of flags for the @frame + + + + a #GstVideoCodecFrame + + + + + Checks whether the given @flag is set + + + + a #GstVideoCodecFrame + + + a flag to check for + + + + + This macro sets the given bits + + + + a #GstVideoCodecFrame + + + Flag to set, can be any number of bits in guint32. + + + + + This macro usets the given bits. + + + + a #GstVideoCodecFrame + + + Flag to unset + + + + + Tests if the buffer should only be decoded but not sent downstream. + + + + a #GstVideoCodecFrame + + + + + Tests if the frame must be encoded as a keyframe. Applies only to +frames provided to encoders. Decoders can safely ignore this field. + + + + a #GstVideoCodecFrame + + + + + Tests if encoder should output stream headers before outputting the +resulting encoded buffer for the given frame. + +Applies only to frames provided to encoders. Decoders can safely +ignore this field. + + + + a #GstVideoCodecFrame + + + + + Tests if the frame is a synchronization point (like a keyframe). + +Decoder implementations can use this to detect keyframes. + + + + a #GstVideoCodecFrame + + + + + Sets the buffer to not be sent downstream. + +Decoder implementation can use this if they have frames that +are not meant to be displayed. + +Encoder implementation can safely ignore this field. + + + + a #GstVideoCodecFrame + + + + + + + + + + + + + + + + + + + Sets the frame to be a synchronization point (like a keyframe). + +Encoder implementations should set this accordingly. + +Decoder implementing parsing features should set this when they +detect such a synchronization point. + + + + a #GstVideoCodecFrame + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - #GST_TYPE_VIDEO_ALPHA_MODE, the alpha mode to use. + #GstVideoAlphaMode, the alpha mode to use. Default is #GST_VIDEO_ALPHA_MODE_COPY. + - #G_TYPE_DOUBLE, the alpha color value to use. + #G_TYPE_DOUBLE, the alpha color value to use. Default to 1.0 + - #G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER + #G_TYPE_UINT, the border color to use if #GST_VIDEO_CONVERTER_OPT_FILL_BORDER is set to %TRUE. The color is in ARGB format. Default 0xff000000 + - #GST_TYPE_VIDEO_CHROMA_MODE, set the chroma resample mode subsampled + #GstVideoChromaMode, set the chroma resample mode subsampled formats. Default is #GST_VIDEO_CHROMA_MODE_FULL. + - #GST_TYPE_VIDEO_RESAMPLER_METHOD, The resampler method to use for + #GstVideoChromaMethod, The resampler method to use for chroma resampling. Other options for the resampler can be used, see the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_LINEAR + - #G_TYPE_INT, height in the destination frame, default destination height + #G_TYPE_INT, height in the destination frame, default destination height + - #G_TYPE_INT, width in the destination frame, default destination width + #G_TYPE_INT, width in the destination frame, default destination width + - #G_TYPE_INT, x position in the destination frame, default 0 + #G_TYPE_INT, x position in the destination frame, default 0 + - #G_TYPE_INT, y position in the destination frame, default 0 + #G_TYPE_INT, y position in the destination frame, default 0 + - #GST_TYPE_VIDEO_DITHER_METHOD, The dither method to use when + #GstVideoDitherMethod, The dither method to use when changing bit depth. Default is #GST_VIDEO_DITHER_BAYER. + - #G_TYPE_UINT, The quantization amount to dither to. Components will be + #G_TYPE_UINT, The quantization amount to dither to. Components will be quantized to multiples of this value. Default is 1 + - #G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete + #G_TYPE_BOOLEAN, if the destination rectangle does not fill the complete destination image, render a border with #GST_VIDEO_CONVERTER_OPT_BORDER_ARGB. Otherwise the unusded pixels in the destination are untouched. Default %TRUE. + - #GST_TYPE_VIDEO_GAMMA_MODE, set the gamma mode. + #GstVideoGammaMode, set the gamma mode. Default is #GST_VIDEO_GAMMA_MODE_NONE. + - #GST_TYPE_VIDEO_MATRIX_MODE, set the color matrix conversion mode for + #GstVideoMatrixMode, set the color matrix conversion mode for converting between Y'PbPr and non-linear RGB (R'G'B'). Default is #GST_VIDEO_MATRIX_MODE_FULL. + - #GST_TYPE_VIDEO_PRIMARIES_MODE, set the primaries conversion mode. + #GstVideoPrimariesMode, set the primaries conversion mode. Default is #GST_VIDEO_PRIMARIES_MODE_NONE. + - #GST_TYPE_VIDEO_RESAMPLER_METHOD, The resampler method to use for + #GstVideoResamplerMethod, The resampler method to use for resampling. Other options for the resampler can be used, see the #GstVideoResampler. Default is #GST_VIDEO_RESAMPLER_METHOD_CUBIC + - #G_TYPE_UINT, The number of taps for the resampler. + #G_TYPE_UINT, The number of taps for the resampler. Default is 0: let the resampler choose a good value. + - #G_TYPE_INT, source height to convert, default source height + #G_TYPE_INT, source height to convert, default source height + - #G_TYPE_INT, source width to convert, default source width + #G_TYPE_INT, source width to convert, default source width + - #G_TYPE_INT, source x position to start conversion, default 0 + #G_TYPE_INT, source x position to start conversion, default 0 + - #G_TYPE_INT, source y position to start conversion, default 0 + #G_TYPE_INT, source y position to start conversion, default 0 + - #G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number + #G_TYPE_UINT, maximum number of threads to use. Default 1, 0 for the number of cores. + + + + + + + + + + + + + + + + + + + + + + + + Utility function that video decoder elements can use in case they encountered +a data processing error that may be fatal for the current "data unit" but +need not prevent subsequent decoding. Such errors are counted and if there +are too many, as configured in the context's max_errors, the pipeline will +post an error message and the application will be requested to stop further +media processing. Otherwise, it is considered a "glitch" and only a warning +is logged. In either case, @ret is set to the proper value to +return to upstream/caller (indicating either GST_FLOW_ERROR or GST_FLOW_OK). + + + + the base video decoder element that generates the error + + + element defined weight of the error, added to error count + + + like CORE, LIBRARY, RESOURCE or STREAM (see #gstreamer-GstGError) + + + error code defined for that domain (see #gstreamer-GstGError) + + + the message to display (format string and args enclosed in + parentheses) + + + debugging information for the message (format string and args + enclosed in parentheses) + + + variable to receive return value + + + + + + + + + + + + Gives the segment of the element. + + + + base decoder instance + + + - Default maximum number of errors tolerated before signaling error. + Default maximum number of errors tolerated before signaling error. + + + Gives the segment of the element. + + + + base decoder instance + + + - The name of the templates for the sink pad. + The name of the templates for the sink pad. + + + Gives the pointer to the sink #GstPad object of the element. + + + + a #GstVideoDecoder + + + - The name of the templates for the source pad. + The name of the templates for the source pad. + + + Gives the pointer to the source #GstPad object of the element. + + + + a #GstVideoDecoder + + + + + Obtain a lock to protect the decoder function from concurrent access. + + + + video decoder instance + + + + + Release the lock that protects the decoder function from concurrent access. + + + + video decoder instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Gives the segment of the element. + + + + base parse instance + + + + + Gives the segment of the element. + + + + base parse instance + + + - The name of the templates for the sink pad. + The name of the templates for the sink pad. + + + Gives the pointer to the sink #GstPad object of the element. + + + + a #GstVideoEncoder + + + - The name of the templates for the source pad. + The name of the templates for the source pad. + + + Gives the pointer to the source #GstPad object of the element. + + + + a #GstVideoEncoder + + + + + Obtain a lock to protect the encoder function from concurrent access. + + + + video encoder instance + + + + + Release the lock that protects the encoder function from concurrent access. + + + + video encoder instance + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + List of all video formats, for use in template caps strings. + +Formats are sorted by decreasing "quality", using these criteria by priority: + - number of components + - depth + - subsampling factor of the width + - subsampling factor of the height + - number of planes + - native endianness preferred + - pixel stride + - poffset + - prefer non-complex formats + - prefer YUV formats over RGB ones + - prefer I420 over YV12 + - format name + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Number of planes. This is the number of planes the pixel layout is +organized in in memory. The number of planes can be less than the +number of components (e.g. Y,U,V,A or R, G, B, A) when multiple +components are packed into one plane. + +Examples: RGB/RGBx/RGBA: 1 plane, 3/3/4 components; +I420: 3 planes, 3 components; NV21/NV12: 2 planes, 3 components. + + + + a #GstVideoFormatInfo + + + + + + + + + + + + + + + + Plane number where the given component can be found. A plane may +contain data for multiple components. + + + + a #GstVideoFormatInfo + + + the component index + + + + + + + + + + + + + + pixel stride for the given component. This is the amount of bytes to the +pixel immediately to the right, so basically bytes from one pixel to the +next. When bits < 8, the stride is expressed in bits. + +Examples: for 24-bit RGB, the pixel stride would be 3 bytes, while it +would be 4 bytes for RGBx or ARGB, and 8 bytes for ARGB64 or AYUV64. +For planar formats such as I420 the pixel stride is usually 1. For +YUY2 it would be 2 bytes. + + + + a #GstVideoFormatInfo + + + the component index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Row stride in bytes, that is number of bytes from the first pixel component +of a row to the first pixel component in the next row. This might include +some row padding (memory not actually used for anything, to make sure the +beginning of the next row is aligned in a particular way). + + + + a #GstVideoFormatInfo + + + an array of strides + + + the component index + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The height of a field. It's the height of the full frame unless split-field +(alternate) interlacing is in use. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The padded height in pixels of a plane (padded size divided by the plane stride). +In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, this macro returns the +plane heights used to hold a single field, not the full frame. + +The size passed as third argument is the size of the pixel data and should +not contain any extra metadata padding. + +It is not valid to use this macro with a TILED format. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - Video formats supported by gst_video_overlay_composition_blend(), for -use in overlay elements' pad template caps. - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - G_TYPE_DOUBLE, B parameter of the cubic filter. The B + G_TYPE_DOUBLE, B parameter of the cubic filter. The B parameter controls the bluriness. Values between 0.0 and 2.0 are accepted. 1/3 is the default. @@ -1759,83 +4904,535 @@ Robidoux Sharp 0.2620 0.3690 Robidoux Soft 0.6796 0.1602 + - G_TYPE_DOUBLE, C parameter of the cubic filter. The C + G_TYPE_DOUBLE, C parameter of the cubic filter. The C parameter controls the Keys alpha value. Values between 0.0 and 2.0 are accepted. 1/3 is the default. See #GST_VIDEO_RESAMPLER_OPT_CUBIC_B for some more common values + - G_TYPE_DOUBLE, specifies the size of filter envelope for + G_TYPE_DOUBLE, specifies the size of filter envelope for @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between 1.0 and 5.0. 2.0 is the default. + - G_TYPE_INT, limits the maximum number of taps to use. + G_TYPE_INT, limits the maximum number of taps to use. 16 is the default. + - G_TYPE_DOUBLE, specifies sharpening of the filter for + G_TYPE_DOUBLE, specifies sharpening of the filter for @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between 0.0 and 1.0. 0.0 is the default. + - G_TYPE_DOUBLE, specifies sharpness of the filter for + G_TYPE_DOUBLE, specifies sharpness of the filter for @GST_VIDEO_RESAMPLER_METHOD_LANCZOS. values are clamped between 0.5 and 1.5. 1.0 is the default. + - #GST_TYPE_VIDEO_DITHER_METHOD, The dither method to use for propagating + #GstVideoDitherMethod, The dither method to use for propagating quatization errors. + + + + + + + + + + Cast @obj to a #GstVideoSink without runtime type check. + + + + a #GstVideoSink or derived object + + + + + + + + + + + + + + + + + + + + + + + + + + Get the sink #GstPad of @obj. + + + + a #GstVideoSink + + + + + + + + + + + + + + + + + + + + + + use this macro to create new tile modes. + + + + the mode number to create + + + the tile mode type + + + + + Encode the number of tile in X and Y into the stride. + + + + number of tiles in X + + + number of tiles in Y + + + + + Check if @mode is an indexed tile type + + + + a tile mode + + + + + Get the tile mode type of @mode + + + + the tile mode + + + + + + + Extract the number of tiles in X from the stride value. + + + + plane stride + + + + + + Extract the number of tiles in Y from the stride value. + + + + plane stride + + + + + + Active Format Description (AFD) + +For details, see Table 6.14 Active Format in: + +ATSC Digital Television Standard: +Part 4 – MPEG-2 Video System Characteristics + +https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf + +and Active Format Description in Complete list of AFD codes + +https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes + +and SMPTE ST2016-1 + + + parent #GstMeta + + + + 0 for progressive or field 1 and 1 for field 2 + + + + #GstVideoAFDSpec that applies to @afd + + + + #GstVideoAFDValue AFD value + + + + + + + + + + + Enumeration of the different standards that may apply to AFD data: + +0) ETSI/DVB: +https://www.etsi.org/deliver/etsi_ts/101100_101199/101154/02.01.01_60/ts_101154v020101p.pdf + +1) ATSC A/53: +https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf + +2) SMPTE ST2016-1: + + AFD value is from DVB/ETSI standard + + + AFD value is from ATSC A/53 standard + + + + + + Enumeration of the various values for Active Format Description (AFD) + +AFD should be included in video user data whenever the rectangular +picture area containing useful information does not extend to the full height or width of the coded +frame. AFD data may also be included in user data when the rectangular picture area containing +useful information extends to the full height and width of the coded frame. + +For details, see Table 6.14 Active Format in: + +ATSC Digital Television Standard: +Part 4 – MPEG-2 Video System Characteristics + +https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf + +and Active Format Description in Complete list of AFD codes + +https://en.wikipedia.org/wiki/Active_Format_Description#Complete_list_of_AFD_codes + +and SMPTE ST2016-1 + +Notes: + +1) AFD 0 is undefined for ATSC and SMPTE ST2016-1, indicating that AFD data is not available: +If Bar Data is not present, AFD '0000' indicates that exact information +is not available and the active image should be assumed to be the same as the coded frame. AFD '0000'. +AFD '0000' accompanied by Bar Data signals that the active image’s aspect ratio is narrower than 16:9, +but is not 4:3 or 14:9. As the exact aspect ratio cannot be conveyed by AFD alone, wherever possible, +AFD ‘0000’ should be accompanied by Bar Data to define the exact vertical or horizontal extent +of the active image. +2) AFD 0 is reserved for DVB/ETSI +3) values 1, 5, 6, 7, and 12 are reserved for both ATSC and DVB/ETSI +4) values 2 and 3 are not recommended for ATSC, but are valid for DVB/ETSI + + Unavailable (see note 0 below). + + + For 4:3 coded frame, letterbox 16:9 image, + at top of the coded frame. For 16:9 coded frame, full frame 16:9 image, + the same as the coded frame. + + + For 4:3 coded frame, letterbox 14:9 image, + at top of the coded frame. For 16:9 coded frame, pillarbox 14:9 image, + horizontally centered in the coded frame. + + + For 4:3 coded frame, letterbox image with an aspect ratio + greater than 16:9, vertically centered in the coded frame. For 16:9 coded frame, + letterbox image with an aspect ratio greater than 16:9. + + + For 4:3 coded frame, full frame 4:3 image, + the same as the coded frame. For 16:9 coded frame, full frame 16:9 image, the same as + the coded frame. + + + For 4:3 coded frame, full frame 4:3 image, the same as + the coded frame. For 16:9 coded frame, pillarbox 4:3 image, horizontally centered in the + coded frame. + + + For 4:3 coded frame, letterbox 16:9 image, vertically centered in + the coded frame with all image areas protected. For 16:9 coded frame, full frame 16:9 image, + with all image areas protected. + + + For 4:3 coded frame, letterbox 14:9 image, vertically centered in + the coded frame. For 16:9 coded frame, pillarbox 14:9 image, horizontally centered in the + coded frame. + + + For 4:3 coded frame, full frame 4:3 image, with alternative 14:9 + center. For 16:9 coded frame, pillarbox 4:3 image, with alternative 14:9 center. + + + For 4:3 coded frame, letterbox 16:9 image, with alternative 14:9 + center. For 16:9 coded frame, full frame 16:9 image, with alternative 14:9 center. + + + For 4:3 coded frame, letterbox 16:9 image, with alternative 4:3 + center. For 16:9 coded frame, full frame 16:9 image, with alternative 4:3 center. + + + @@ -1852,7 +5449,9 @@ quatization errors. - Extra buffer metadata for performing an affine transformation using a 4x4 + Extra buffer metadata for performing an affine transformation using a 4x4 matrix. The transformation matrix can be composed with gst_video_affine_transformation_meta_apply_matrix(). @@ -1862,38 +5461,56 @@ are assumed to have an origin at (0.5, 0.5, 0.5) in a left-handed coordinate system with the x-axis moving horizontally (positive values to the right), the y-axis moving vertically (positive values up the screen) and the z-axis perpendicular to the screen (positive values into the screen). + - parent #GstMeta + parent #GstMeta - the column-major 4x4 transformation matrix - + the column-major 4x4 transformation matrix + - Apply a transformation using the given 4x4 transformation matrix. + Apply a transformation using the given 4x4 transformation matrix. Performs the multiplication, meta->matrix X matrix. + - a #GstVideoAffineTransformationMeta + a #GstVideoAffineTransformationMeta - a 4x4 transformation matrix to be applied - + a 4x4 transformation matrix to be applied + + + + @@ -1902,12 +5519,15 @@ Performs the multiplication, meta->matrix X matrix. - VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested + VideoAggregator can accept AYUV, ARGB and BGRA video streams. For each of the requested sink pads it will compare the incoming geometry and framerate to define the output parameters. Indeed output video frames will have the geometry of the biggest incoming video stream and the framerate of the fastest incoming one. @@ -1916,7 +5536,11 @@ VideoAggregator will do colorspace conversion. Zorder for each input stream can be configured on the #GstVideoAggregatorPad. + + @@ -1930,6 +5554,8 @@ Zorder for each input stream can be configured on the + @@ -1943,6 +5569,8 @@ Zorder for each input stream can be configured on the + @@ -1962,6 +5590,8 @@ Zorder for each input stream can be configured on the + @@ -1978,7 +5608,9 @@ Zorder for each input stream can be configured on the - The #GstVideoInfo representing the currently set + The #GstVideoInfo representing the currently set srcpad caps. @@ -1987,19 +5619,24 @@ srcpad caps. c:type="GstVideoAggregatorPrivate*"/> - + + glib:is-gtype-struct-for="VideoAggregator" + version="1.16"> + + @@ -2015,6 +5652,8 @@ srcpad caps. + @@ -2030,6 +5669,8 @@ srcpad caps. + @@ -2045,6 +5686,8 @@ srcpad caps. + @@ -2065,7 +5708,7 @@ srcpad caps. - + @@ -2073,14 +5716,21 @@ srcpad caps. - An implementation of GstPad that can be used with #GstVideoAggregator. + An implementation of GstPad that can be used with #GstVideoAggregator. See #GstVideoAggregator for more details. + + @@ -2099,14 +5749,20 @@ See #GstVideoAggregator for more details. - Requests the pad to check and update the converter before the next usage to + Requests the pad to check and update the converter before the next usage to update for any changes that have happened. + - a #GstVideoAggregatorPad + a #GstVideoAggregatorPad @@ -2123,20 +5779,25 @@ update for any changes that have happened. c:type="GstVideoAggregatorConvertPadPrivate*"/> - + + glib:is-gtype-struct-for="VideoAggregatorConvertPad" + version="1.16"> + + @@ -2155,7 +5816,7 @@ update for any changes that have happened. - + @@ -2163,15 +5824,22 @@ update for any changes that have happened. + + + @@ -2188,6 +5856,8 @@ update for any changes that have happened. + @@ -2207,6 +5877,8 @@ update for any changes that have happened. + @@ -2218,81 +5890,118 @@ update for any changes that have happened. - Returns the currently queued buffer that is going to be used + Returns the currently queued buffer that is going to be used for the current output frame. -This must only be called from the aggregate_frames() virtual method, -or from the prepare_frame() virtual method of the aggregator pads. +This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method, +or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads. -The return value is only valid until aggregate_frames() or prepare_frames() +The return value is only valid until #GstVideoAggregatorClass::aggregate_frames or #GstVideoAggregatorPadClass::prepare_frame returns. + - The currently queued buffer + The currently queued buffer - a #GstVideoAggregatorPad + a #GstVideoAggregatorPad - Returns the currently prepared video frame that has to be aggregated into + Returns the currently prepared video frame that has to be aggregated into the current output frame. -This must only be called from the aggregate_frames() virtual method, -or from the prepare_frame() virtual method of the aggregator pads. +This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method, +or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads. -The return value is only valid until aggregate_frames() or prepare_frames() +The return value is only valid until #GstVideoAggregatorClass::aggregate_frames or #GstVideoAggregatorPadClass::prepare_frame returns. + - The currently prepared video frame + The currently prepared video frame - a #GstVideoAggregatorPad + a #GstVideoAggregatorPad - Checks if the pad currently has a buffer queued that is going to be used + Checks if the pad currently has a buffer queued that is going to be used for the current output frame. -This must only be called from the aggregate_frames() virtual method, -or from the prepare_frame() virtual method of the aggregator pads. +This must only be called from the #GstVideoAggregatorClass::aggregate_frames virtual method, +or from the #GstVideoAggregatorPadClass::prepare_frame virtual method of the aggregator pads. + - %TRUE if the pad has currently a buffer queued + %TRUE if the pad has currently a buffer queued - a #GstVideoAggregatorPad + a #GstVideoAggregatorPad - Allows selecting that this pad requires an output format with alpha + Allows selecting that this pad requires an output format with alpha + - a #GstVideoAggregatorPad + a #GstVideoAggregatorPad - %TRUE if this pad requires alpha output + %TRUE if this pad requires alpha output + + + @@ -2303,7 +6012,9 @@ or from the prepare_frame() virtual method of the aggregator pads. - The #GstVideoInfo currently set on the pad + The #GstVideoInfo currently set on the pad @@ -2311,20 +6022,25 @@ or from the prepare_frame() virtual method of the aggregator pads. c:type="GstVideoAggregatorPadPrivate*"/> - + + glib:is-gtype-struct-for="VideoAggregatorPad" + version="1.16"> + + @@ -2337,6 +6053,8 @@ or from the prepare_frame() virtual method of the aggregator pads. + @@ -2358,6 +6076,8 @@ or from the prepare_frame() virtual method of the aggregator pads. + @@ -2375,7 +6095,7 @@ or from the prepare_frame() virtual method of the aggregator pads. - + @@ -2383,45 +6103,67 @@ or from the prepare_frame() virtual method of the aggregator pads. + + - Extra alignment parameters for the memory of video buffers. This + Extra alignment parameters for the memory of video buffers. This structure is usually used to configure the bufferpool if it supports the #GST_BUFFER_POOL_OPTION_VIDEO_ALIGNMENT. + - extra pixels on the top + extra pixels on the top - extra pixels on the bottom + extra pixels on the bottom - extra pixels on the left side + extra pixels on the left side - extra pixels on the right side + extra pixels on the right side - array with extra alignment requirements for the strides - + array with extra alignment requirements for the strides + - Set @align to its default values with no padding and no alignment. + Set @align to its default values with no padding and no alignment. + - a #GstVideoAlignment + a #GstVideoAlignment @@ -2432,12 +6174,16 @@ structure is usually used to configure the bufferpool if it supports the glib:type-name="GstVideoAlphaMode" glib:get-type="gst_video_alpha_mode_get_type" c:type="GstVideoAlphaMode"> - Different alpha modes. + Different alpha modes. - When input and output have alpha, it will be copied. + When input and output have alpha, it will be copied. When the input has no alpha, alpha will be set to #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE @@ -2445,51 +6191,67 @@ structure is usually used to configure the bufferpool if it supports the value="1" c:identifier="GST_VIDEO_ALPHA_MODE_SET" glib:nick="set"> - set all alpha to + set all alpha to #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE - multiply all alpha with + multiply all alpha with #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE. When the input format has no alpha but the output format has, the alpha value will be set to #GST_VIDEO_CONVERTER_OPT_ALPHA_VALUE - Video Ancillary data, according to SMPTE-291M specification. + Video Ancillary data, according to SMPTE-291M specification. Note that the contents of the data are always stored as 8bit data (i.e. do not contain the parity check bits). + - The Data Identifier + The Data Identifier - The Secondary Data Identifier (if type 2) or the Data + The Secondary Data Identifier (if type 2) or the Data Block Number (if type 1) - The amount of data (in bytes) in @data (max 255 bytes) + The amount of data (in bytes) in @data (max 255 bytes) - The user data content of the Ancillary packet. + The user data content of the Ancillary packet. Does not contain the ADF, DID, SDID nor CS. - + - + @@ -2559,34 +6321,111 @@ the parity check bits). glib:type-name="GstVideoAncillaryDID16" glib:get-type="gst_video_ancillary_di_d16_get_type" c:type="GstVideoAncillaryDID16"> - Some know types of Ancillary Data identifiers. - Some know types of Ancillary Data identifiers. + - CEA 708 Ancillary data according to SMPTE 334 + glib:nick="s334-eia-708"> + CEA 708 Ancillary data according to SMPTE 334 - - CEA 608 Ancillary data according to SMPTE 334 + glib:nick="s334-eia-608"> + CEA 608 Ancillary data according to SMPTE 334 + + + AFD/Bar Ancillary data according to SMPTE 2016-3 (Since: 1.18) + + Bar data should be included in video user data +whenever the rectangular picture area containing useful information +does not extend to the full height or width of the coded frame +and AFD alone is insufficient to describe the extent of the image. + +Note: either vertical or horizontal bars are specified, but not both. + +For more details, see: + +https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf + +and SMPTE ST2016-1 + + + parent #GstMeta + + + + 0 for progressive or field 1 and 1 for field 2 + + + + if true then bar data specifies letterbox, otherwise pillarbox + + + + If @is_letterbox is true, then the value specifies the + last line of a horizontal letterbox bar area at top of reconstructed frame. + Otherwise, it specifies the last horizontal luminance sample of a vertical pillarbox + bar area at the left side of the reconstructed frame + + + + If @is_letterbox is true, then the value specifies the + first line of a horizontal letterbox bar area at bottom of reconstructed frame. + Otherwise, it specifies the first horizontal + luminance sample of a vertical pillarbox bar area at the right side of the reconstructed frame. + + + + + + + + + - Additional video buffer flags. These flags can potentially be used on any -buffers carrying video data - even encoded data. + Additional video buffer flags. These flags can potentially be used on any +buffers carrying closed caption data, or video data - even encoded data. -Note that these are only valid for #GstCaps of type: video/... +Note that these are only valid for #GstCaps of type: video/... and caption/... They can conflict with other extended buffer flags. - If the #GstBuffer is interlaced. In mixed + If the #GstBuffer is interlaced. In mixed interlace-mode, this flags specifies if the frame is interlaced or progressive. @@ -2594,7 +6433,9 @@ They can conflict with other extended buffer flags. value="2097152" c:identifier="GST_VIDEO_BUFFER_FLAG_TFF" glib:nick="tff"> - If the #GstBuffer is interlaced, then the first field + If the #GstBuffer is interlaced, then the first field in the video frame is the top field. If unset, the bottom field is first. @@ -2602,7 +6443,9 @@ They can conflict with other extended buffer flags. value="4194304" c:identifier="GST_VIDEO_BUFFER_FLAG_RFF" glib:nick="rff"> - If the #GstBuffer is interlaced, then the first field + If the #GstBuffer is interlaced, then the first field (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF flag setting) is repeated. @@ -2610,7 +6453,9 @@ They can conflict with other extended buffer flags. value="8388608" c:identifier="GST_VIDEO_BUFFER_FLAG_ONEFIELD" glib:nick="onefield"> - If the #GstBuffer is interlaced, then only the + If the #GstBuffer is interlaced, then only the first field (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF flag setting) is to be displayed (Since: 1.16). @@ -2618,18 +6463,22 @@ They can conflict with other extended buffer flags. value="16777216" c:identifier="GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW" glib:nick="multiple-view"> - The #GstBuffer contains one or more specific views, + The #GstBuffer contains one or more specific views, such as left or right eye view. This flags is set on any buffer that contains non-mono content - even for streams that contain only a single viewpoint. In mixed - mono / non-mono streams, the absense of the flag marks + mono / non-mono streams, the absence of the flag marks mono buffers. - When conveying stereo/multiview content with + When conveying stereo/multiview content with frame-by-frame methods, this flag marks the first buffer in a bundle of frames that belong together. @@ -2637,15 +6486,20 @@ They can conflict with other extended buffer flags. value="10485760" c:identifier="GST_VIDEO_BUFFER_FLAG_TOP_FIELD" glib:nick="top-field"> - The video frame has the top field only. This is the + The video frame has the top field only. This is the same as GST_VIDEO_BUFFER_FLAG_TFF | - GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16). + GST_VIDEO_BUFFER_FLAG_ONEFIELD (Since: 1.16). + Use GST_VIDEO_BUFFER_IS_TOP_FIELD() to check for this flag. - If the #GstBuffer is interlaced, then only the + If the #GstBuffer is interlaced, then only the first field (as defined by the %GST_VIDEO_BUFFER_FLAG_TFF flag setting) is to be displayed (Since: 1.16). @@ -2653,15 +6507,29 @@ They can conflict with other extended buffer flags. value="8388608" c:identifier="GST_VIDEO_BUFFER_FLAG_BOTTOM_FIELD" glib:nick="bottom-field"> - The video frame has the bottom field only. This is + The video frame has the bottom field only. This is the same as GST_VIDEO_BUFFER_FLAG_ONEFIELD - (GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16). + (GST_VIDEO_BUFFER_FLAG_TFF flag unset) (Since: 1.16). + Use GST_VIDEO_BUFFER_IS_BOTTOM_FIELD() to check for this flag. + + + The #GstBuffer contains the end of a video field or frame + boundary such as the last subframe or packet (Since: 1.18). - Offset to define more flags + Offset to define more flags glib:type-name="GstVideoBufferPool" glib:get-type="gst_video_buffer_pool_get_type" glib:type-struct="VideoBufferPoolClass"> + - Create a new bufferpool that can allocate video frames. This bufferpool + Create a new bufferpool that can allocate video frames. This bufferpool supports all the video bufferpool options. + - a new #GstBufferPool to allocate video frames + a new #GstBufferPool to allocate video frames @@ -2690,6 +6565,7 @@ supports all the video bufferpool options. + @@ -2697,30 +6573,43 @@ supports all the video bufferpool options. + - Extra buffer metadata providing Closed Caption. + Extra buffer metadata providing Closed Caption. + - parent #GstMeta + parent #GstMeta - The type of Closed Caption contained in the meta. + The type of Closed Caption contained in the meta. - The Closed Caption data. + The Closed Caption data. - The size in bytes of @data + The size in bytes of @data + @@ -2731,18 +6620,24 @@ supports all the video bufferpool options. glib:type-name="GstVideoCaptionType" glib:get-type="gst_video_caption_type_get_type" c:type="GstVideoCaptionType"> - The various known types of Closed Caption (CC). + The various known types of Closed Caption (CC). - Unknown type of CC + Unknown type of CC - CEA-608 as byte pairs. Note that + CEA-608 as byte pairs. Note that this format is not recommended since is does not specify to which field the caption comes from and therefore assumes it comes from the first field (and that there is no information @@ -2754,7 +6649,9 @@ supports all the video bufferpool options. value="2" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA608_S334_1A" glib:nick="cea608-s334-1a"> - CEA-608 as byte triplets as defined + CEA-608 as byte triplets as defined in SMPTE S334-1 Annex A. The second and third byte of the byte triplet is the raw CEA608 data, the first byte is a bitfield: The top/7th bit is 0 for the second field, 1 for the first field, bit 6 and 5 are 0 and @@ -2767,7 +6664,9 @@ supports all the video bufferpool options. value="3" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA708_RAW" glib:nick="cea708-raw"> - CEA-708 as cc_data byte triplets. They + CEA-708 as cc_data byte triplets. They can also contain 608-in-708 and the first byte of each triplet has to be inspected for detecting the type. @@ -2775,22 +6674,31 @@ supports all the video bufferpool options. value="4" c:identifier="GST_VIDEO_CAPTION_TYPE_CEA708_CDP" glib:nick="cea708-cdp"> - CEA-708 (and optionally CEA-608) in + CEA-708 (and optionally CEA-608) in a CDP (Caption Distribution Packet) defined by SMPTE S-334-2. Contains the whole CDP (starting with 0x9669). - Parses fixed Closed Caption #GstCaps and returns the corresponding caption + Parses fixed Closed Caption #GstCaps and returns the corresponding caption type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN. + - #GstVideoCaptionType. + #GstVideoCaptionType. - Fixed #GstCaps to parse + Fixed #GstCaps to parse @@ -2798,14 +6706,21 @@ type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN. - Creates new caps corresponding to @type. + Creates new caps corresponding to @type. + - new #GstCaps + new #GstCaps - #GstVideoCaptionType + #GstVideoCaptionType @@ -2815,37 +6730,49 @@ type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN. glib:type-name="GstVideoChromaFlags" glib:get-type="gst_video_chroma_flags_get_type" c:type="GstVideoChromaFlags"> - Extra flags that influence the result from gst_video_chroma_resample_new(). + Extra flags that influence the result from gst_video_chroma_resample_new(). - no flags + no flags - the input is interlaced + the input is interlaced - Different subsampling and upsampling methods + Different subsampling and upsampling methods - Duplicates the chroma samples when + Duplicates the chroma samples when upsampling and drops when subsampling - Uses linear interpolation to reconstruct + Uses linear interpolation to reconstruct missing chroma and averaging to subsample @@ -2854,90 +6781,127 @@ type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN. glib:type-name="GstVideoChromaMode" glib:get-type="gst_video_chroma_mode_get_type" c:type="GstVideoChromaMode"> - Different chroma downsampling and upsampling modes + Different chroma downsampling and upsampling modes - do full chroma up and down sampling + do full chroma up and down sampling - only perform chroma upsampling + only perform chroma upsampling - only perform chroma downsampling + only perform chroma downsampling - disable chroma resampling + disable chroma resampling + - Perform resampling of @width chroma pixels in @lines. + Perform resampling of @width chroma pixels in @lines. + - a #GstVideoChromaResample + a #GstVideoChromaResample - pixel lines + pixel lines - the number of pixels on one line + the number of pixels on one line - Free @resample + Free @resample + - a #GstVideoChromaResample + a #GstVideoChromaResample - The resampler must be fed @n_lines at a time. The first line should be + The resampler must be fed @n_lines at a time. The first line should be at @offset. + - a #GstVideoChromaResample + a #GstVideoChromaResample - the number of input lines + the number of input lines - the first line + the first line @@ -2945,37 +6909,55 @@ at @offset. - Create a new resampler object for the given parameters. When @h_factor or + Create a new resampler object for the given parameters. When @h_factor or @v_factor is > 0, upsampling will be used, otherwise subsampling is performed. + - a new #GstVideoChromaResample that should be freed with + a new #GstVideoChromaResample that should be freed with gst_video_chroma_resample_free() after usage. - a #GstVideoChromaMethod + a #GstVideoChromaMethod - a #GstVideoChromaSite + a #GstVideoChromaSite - #GstVideoChromaFlags + #GstVideoChromaFlags - the #GstVideoFormat + the #GstVideoFormat - horizontal resampling factor + horizontal resampling factor - vertical resampling factor + vertical resampling factor @@ -2985,60 +6967,80 @@ performed. glib:type-name="GstVideoChromaSite" glib:get-type="gst_video_chroma_site_get_type" c:type="GstVideoChromaSite"> - Various Chroma sitings. + Various Chroma sitings. - unknown cositing + unknown cositing - no cositing + no cositing - chroma is horizontally cosited + chroma is horizontally cosited - chroma is vertically cosited + chroma is vertically cosited - choma samples are sited on alternate lines + choma samples are sited on alternate lines - chroma samples cosited with luma samples + chroma samples cosited with luma samples - jpeg style cositing, also for mpeg1 and mjpeg + jpeg style cositing, also for mpeg1 and mjpeg - mpeg2 style cositing + mpeg2 style cositing - DV style cositing + DV style cositing glib:type-name="GstVideoCodecFrame" glib:get-type="gst_video_codec_frame_get_type" c:symbol-prefix="video_codec_frame"> - A #GstVideoCodecFrame represents a video frame both in raw and + A #GstVideoCodecFrame represents a video frame both in raw and encoded form. + @@ -3055,7 +7061,9 @@ encoded form. - Unique identifier for the frame. Use this if you need + Unique identifier for the frame. Use this if you need to get hold of the frame later (like when data is being decoded). Typical usage in decoders is to set this on the opaque value provided to the library and get back the frame using gst_video_decoder_get_frame() @@ -3068,29 +7076,41 @@ encoded form. - Decoding timestamp + Decoding timestamp - Presentation timestamp + Presentation timestamp - Duration of the frame + Duration of the frame - Distance in frames from the last synchronization point. + Distance in frames from the last synchronization point. - the input #GstBuffer that created this frame. The buffer is owned + the input #GstBuffer that created this frame. The buffer is owned by the frame and references to the frame instead of the buffer should be kept. - the output #GstBuffer. Implementations should set this either + the output #GstBuffer. Implementations should set this either directly, or by using the @gst_video_decoder_allocate_output_frame() or @gst_video_decoder_allocate_output_buffer() methods. The buffer is @@ -3099,7 +7119,9 @@ encoded form. - Running time when the frame will be used. + Running time when the frame will be used. @@ -3114,114 +7136,165 @@ encoded form. + + + + + - + - Gets private data set on the frame by the subclass via + Gets private data set on the frame by the subclass via gst_video_codec_frame_set_user_data() previously. + - The previously set user_data + The previously set user_data - a #GstVideoCodecFrame + a #GstVideoCodecFrame - Increases the refcount of the given frame by one. + Increases the refcount of the given frame by one. + - @buf + @buf - a #GstVideoCodecFrame + a #GstVideoCodecFrame - Sets @user_data on the frame and the #GDestroyNotify that will be called when + Sets @user_data on the frame and the #GDestroyNotify that will be called when the frame is freed. Allows to attach private data by the subclass to frames. If a @user_data was previously set, then the previous set @notify will be called before the @user_data is replaced. + - a #GstVideoCodecFrame + a #GstVideoCodecFrame - private data + private data - a #GDestroyNotify + a #GDestroyNotify - Decreases the refcount of the frame. If the refcount reaches 0, the frame + Decreases the refcount of the frame. If the refcount reaches 0, the frame will be freed. + - a #GstVideoCodecFrame + a #GstVideoCodecFrame - Flags for #GstVideoCodecFrame + Flags for #GstVideoCodecFrame + - is the frame only meant to be decoded + is the frame only meant to be decoded - is the frame a synchronization point (keyframe) + is the frame a synchronization point (keyframe) - should the output frame be made a keyframe + should the output frame be made a keyframe - should the encoder output stream headers + should the encoder output stream headers glib:type-name="GstVideoCodecState" glib:get-type="gst_video_codec_state_get_type" c:symbol-prefix="video_codec_state"> - Structure representing the state of an incoming or outgoing video + Structure representing the state of an incoming or outgoing video stream for encoders and decoders. Decoders and encoders will receive such a state through their @@ -3238,54 +7313,78 @@ respective @set_format vmethods. Decoders and encoders can set the downstream state, by using the @gst_video_decoder_set_output_state() or @gst_video_encoder_set_output_state() methods. + - The #GstVideoInfo describing the stream + The #GstVideoInfo describing the stream - The #GstCaps used in the caps negotiation of the pad. + The #GstCaps used in the caps negotiation of the pad. - a #GstBuffer corresponding to the + a #GstBuffer corresponding to the 'codec_data' field of a stream, or NULL. - The #GstCaps for allocation query and pool + The #GstCaps for allocation query and pool negotiation. Since: 1.10 - + - Increases the refcount of the given state by one. + Increases the refcount of the given state by one. + - @buf + @buf - a #GstVideoCodecState + a #GstVideoCodecState - Decreases the refcount of the state. If the refcount reaches 0, the state + Decreases the refcount of the state. If the refcount reaches 0, the state will be freed. + - a #GstVideoCodecState + a #GstVideoCodecState @@ -3295,54 +7394,99 @@ will be freed. glib:type-name="GstVideoColorMatrix" glib:get-type="gst_video_color_matrix_get_type" c:type="GstVideoColorMatrix"> - The color matrix is used to convert between Y'PbPr and + The color matrix is used to convert between Y'PbPr and non-linear RGB (R'G'B') - unknown matrix + unknown matrix - identity matrix + identity matrix - FCC color matrix + FCC color matrix - ITU-R BT.709 color matrix + ITU-R BT.709 color matrix - ITU-R BT.601 color matrix + ITU-R BT.601 color matrix - SMPTE 240M color matrix + SMPTE 240M color matrix - ITU-R BT.2020 color matrix. Since: 1.6 + ITU-R BT.2020 color matrix. Since: 1.6 + + Converts the @value to the #GstVideoColorMatrix +The matrix coefficients (MatrixCoefficients) value is +defined by "ISO/IEC 23001-8 Section 7.3 Table 4" +and "ITU-T H.273 Table 4". +"H.264 Table E-5" and "H.265 Table E.5" share the identical values. + + + the matched #GstVideoColorMatrix + + + + + a ITU-T H.273 matrix coefficients value + + + + - Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix. + Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix. When: @@ -3366,129 +7510,253 @@ and the other way around: G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb) B' = Y' + Cb*2*(1-Kb) ]| + - TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid + TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid values. - a #GstVideoColorMatrix + a #GstVideoColorMatrix - result red channel coefficient + result red channel coefficient - result blue channel coefficient + result blue channel coefficient + + Converts #GstVideoColorMatrix to the "matrix coefficients" +(MatrixCoefficients) value defined by "ISO/IEC 23001-8 Section 7.3 Table 4" +and "ITU-T H.273 Table 4". +"H.264 Table E-5" and "H.265 Table E.5" share the identical values. + + + The value of ISO/IEC 23001-8 matrix coefficients. + + + + + a #GstVideoColorMatrix + + + + - The color primaries define the how to transform linear RGB values to and from + The color primaries define the how to transform linear RGB values to and from the CIE XYZ colorspace. - unknown color primaries + unknown color primaries - BT709 primaries + BT709 primaries - BT470M primaries + BT470M primaries - BT470BG primaries + BT470BG primaries - SMPTE170M primaries + SMPTE170M primaries - SMPTE240M primaries + SMPTE240M primaries - Generic film + Generic film - BT2020 primaries. Since: 1.6 + BT2020 primaries. Since: 1.6 - Adobe RGB primaries. Since: 1.8 + Adobe RGB primaries. Since: 1.8 - SMPTE ST 428 primaries. Since: 1.16 + SMPTE ST 428 primaries. Since: 1.16 - SMPTE RP 431 primaries. Since: 1.16 + SMPTE RP 431 primaries. Since: 1.16 - SMPTE EG 432 primaries. Since: 1.16 + SMPTE EG 432 primaries. Since: 1.16 - EBU 3213 primaries. Since: 1.16 + EBU 3213 primaries. Since: 1.16 + + Converts the @value to the #GstVideoColorPrimaries +The colour primaries (ColourPrimaries) value is +defined by "ISO/IEC 23001-8 Section 7.1 Table 2" and "ITU-T H.273 Table 2". +"H.264 Table E-3" and "H.265 Table E.3" share the identical values. + + + the matched #GstVideoColorPrimaries + + + + + a ITU-T H.273 colour primaries value + + + + - Get information about the chromaticity coordinates of @primaries. + Get information about the chromaticity coordinates of @primaries. + - a #GstVideoColorPrimariesInfo for @primaries. + a #GstVideoColorPrimariesInfo for @primaries. - a #GstVideoColorPrimaries + a #GstVideoColorPrimaries + + + + + + Converts #GstVideoColorPrimaries to the "colour primaries" (ColourPrimaries) +value defined by "ISO/IEC 23001-8 Section 7.1 Table 2" +and "ITU-T H.273 Table 2". +"H.264 Table E-3" and "H.265 Table E.3" share the identical values. + + + The value of ISO/IEC 23001-8 colour primaries. + + + + + a #GstVideoColorPrimaries @@ -3497,43 +7765,64 @@ the CIE XYZ colorspace. - Structure describing the chromaticity coordinates of an RGB system. These + Structure describing the chromaticity coordinates of an RGB system. These values can be used to construct a matrix to transform RGB to and from the XYZ colorspace. + - a #GstVideoColorPrimaries + a #GstVideoColorPrimaries - reference white x coordinate + reference white x coordinate - reference white y coordinate + reference white y coordinate - red x coordinate + red x coordinate - red y coordinate + red y coordinate - green x coordinate + green x coordinate - green y coordinate + green y coordinate - blue x coordinate + blue x coordinate - blue y coordinate + blue y coordinate @@ -3541,52 +7830,70 @@ XYZ colorspace. glib:type-name="GstVideoColorRange" glib:get-type="gst_video_color_range_get_type" c:type="GstVideoColorRange"> - Possible color range values. These constants are defined for 8 bit color + Possible color range values. These constants are defined for 8 bit color values and can be scaled for other bit depths. - unknown range + unknown range - [0..255] for 8 bit components + [0..255] for 8 bit components - [16..235] for 8 bit components. Chroma has + [16..235] for 8 bit components. Chroma has [16..240] range. - Compute the offset and scale values for each component of @info. For each + Compute the offset and scale values for each component of @info. For each component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the range [0.0 .. 1.0]. The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert the component values in range [0.0 .. 1.0] back to their representation in @info and @range. + - a #GstVideoColorRange + a #GstVideoColorRange - a #GstVideoFormatInfo + a #GstVideoFormatInfo - output offsets + output offsets @@ -3595,7 +7902,9 @@ the component values in range [0.0 .. 1.0] back to their representation in direction="out" caller-allocates="1" transfer-ownership="none"> - output scale + output scale @@ -3604,40 +7913,61 @@ the component values in range [0.0 .. 1.0] back to their representation in - Structure describing the color info. + Structure describing the color info. + - the color range. This is the valid range for the samples. + the color range. This is the valid range for the samples. It is used to convert the samples to Y'PbPr values. - the color matrix. Used to convert between Y'PbPr and + the color matrix. Used to convert between Y'PbPr and non-linear RGB (R'G'B') - the transfer function. used to convert between R'G'B' and RGB + the transfer function. used to convert between R'G'B' and RGB - color primaries. used to convert between R'G'B' and CIE XYZ + color primaries. used to convert between R'G'B' and CIE XYZ - Parse the colorimetry string and update @cinfo with the parsed + Parse the colorimetry string and update @cinfo with the parsed values. + - %TRUE if @color points to valid colorimetry info. + %TRUE if @color points to valid colorimetry info. - a #GstVideoColorimetry + a #GstVideoColorimetry - a colorimetry string + a colorimetry string @@ -3645,57 +7975,245 @@ values. - Compare the 2 colorimetry sets for equality + Compare the 2 colorimetry sets for equality + - %TRUE if @cinfo and @other are equal. + %TRUE if @cinfo and @other are equal. - a #GstVideoColorimetry + a #GstVideoColorimetry - another #GstVideoColorimetry + another #GstVideoColorimetry - Check if the colorimetry information in @info matches that of the + Check if the colorimetry information in @info matches that of the string @color. + - %TRUE if @color conveys the same colorimetry info as the color + %TRUE if @color conveys the same colorimetry info as the color information in @info. - a #GstVideoInfo + a #GstVideoInfo - a colorimetry string + a colorimetry string - Make a string representation of @cinfo. - - a string representation of @cinfo. + Make a string representation of @cinfo. + + + a string representation of @cinfo +or %NULL if all the entries of @cinfo are unknown values. - a #GstVideoColorimetry + a #GstVideoColorimetry + + Content light level information specified in CEA-861.3, Appendix A. + + + the maximum content light level + (abbreviated to MaxCLL) in candelas per square meter (cd/m^2 and nit) + + + + the maximum frame average light level + (abbreviated to MaxFLL) in candelas per square meter (cd/m^2 and nit) + + + + + + + + + Parse @caps and update @linfo + + + %TRUE if @linfo was successfully set to @caps + + + + + a #GstVideoContentLightLevel + + + + a #GstCaps + + + + + + Parse @caps and update @linfo + + + if @caps has #GstVideoContentLightLevel and could be parsed + + + + + a #GstVideoContentLightLevel + + + + a #GstCaps + + + + + + Parse the value of content-light-level caps field and update @minfo +with the parsed values. + + + %TRUE if @linfo points to valid #GstVideoContentLightLevel. + + + + + a #GstVideoContentLightLevel + + + + a content-light-level string from caps + + + + + + Initialize @linfo + + + + + + + a #GstVideoContentLightLevel + + + + + + Convert @linfo to its string representation. + + + a string representation of @linfo. + + + + + a #GstVideoContentLightLevel + + + + + + @@ -3716,24 +8234,36 @@ information in @info. + - Convert the pixels of @src into @dest using @convert. + Convert the pixels of @src into @dest using @convert. + - a #GstVideoConverter + a #GstVideoConverter - a #GstVideoFrame + a #GstVideoFrame - a #GstVideoFrame + a #GstVideoFrame @@ -3741,27 +8271,41 @@ information in @info. - Free @convert + Free @convert + - a #GstVideoConverter + a #GstVideoConverter - Get the current configuration of @convert. + Get the current configuration of @convert. + - a #GstStructure that remains valid for as long as @convert is valid + a #GstStructure that remains valid for as long as @convert is valid or until gst_video_converter_set_config() is called. - a #GstVideoConverter + a #GstVideoConverter @@ -3769,25 +8313,35 @@ information in @info. - Set @config as extra configuraion for @convert. + Set @config as extra configuration for @convert. If the parameters in @config can not be set exactly, this function returns %FALSE and will try to update as much state as possible. The new state can then be retrieved and refined with gst_video_converter_get_config(). -Look at the #GST_VIDEO_CONVERTER_OPT_* fields to check valid configuration +Look at the `GST_VIDEO_CONVERTER_OPT_*` fields to check valid configuration option and values. + - %TRUE when @config could be set. + %TRUE when @config could be set. - a #GstVideoConverter + a #GstVideoConverter - a #GstStructure + a #GstStructure @@ -3796,51 +8350,79 @@ option and values. c:identifier="gst_video_converter_new" version="1.6" introspectable="0"> - Create a new converter object to convert between @in_info and @out_info + Create a new converter object to convert between @in_info and @out_info with @config. + - a #GstVideoConverter or %NULL if conversion is not possible. + a #GstVideoConverter or %NULL if conversion is not possible. - a #GstVideoInfo + a #GstVideoInfo - a #GstVideoInfo + a #GstVideoInfo - a #GstStructure with configuration options + a #GstStructure with configuration options - Extra buffer metadata describing image cropping. + Extra buffer metadata describing image cropping. + - parent #GstMeta + parent #GstMeta - the horizontal offset + the horizontal offset - the vertical offset + the vertical offset - the cropped width + the cropped width - the cropped height + the cropped height + @@ -3854,7 +8436,9 @@ with @config. glib:type-name="GstVideoDecoder" glib:get-type="gst_video_decoder_get_type" glib:type-struct="VideoDecoderClass"> - This base class is for video decoders turning encoded data into raw video + This base class is for video decoders turning encoded data into raw video frames. The GstVideoDecoder base class and derived subclasses should cooperate as @@ -3878,20 +8462,20 @@ follows: ## Data processing - * The base class gathers input data, and optionally allows subclass - to parse this into subsequently manageable chunks, typically - corresponding to and referred to as 'frames'. + * The base class gathers input data, and optionally allows subclass + to parse this into subsequently manageable chunks, typically + corresponding to and referred to as 'frames'. - * Each input frame is provided in turn to the subclass' @handle_frame - callback. - The ownership of the frame is given to the @handle_frame callback. + * Each input frame is provided in turn to the subclass' @handle_frame + callback. + The ownership of the frame is given to the @handle_frame callback. - * If codec processing results in decoded data, the subclass should call - @gst_video_decoder_finish_frame to have decoded data pushed. - downstream. Otherwise, the subclass must call - @gst_video_decoder_drop_frame, to allow the base class to do timestamp - and offset tracking, and possibly to requeue the frame for a later - attempt in the case of reverse playback. + * If codec processing results in decoded data, the subclass should call + @gst_video_decoder_finish_frame to have decoded data pushed. + downstream. Otherwise, the subclass must call + @gst_video_decoder_drop_frame, to allow the base class to do timestamp + and offset tracking, and possibly to requeue the frame for a later + attempt in the case of reverse playback. ## Shutdown phase @@ -3917,7 +8501,7 @@ follows: The subclass is responsible for providing pad template caps for source and sink pads. The pads need to be named "sink" and "src". It also -needs to provide information about the ouptput caps, when they are known. +needs to provide information about the output caps, when they are known. This may be when the base class calls the subclass' @set_format function, though it might be during decoding, before calling @gst_video_decoder_finish_frame. This is done via @@ -3957,7 +8541,11 @@ The bare minimum that a functional subclass needs to implement is: * Accept data in @handle_frame and provide decoded results to @gst_video_decoder_finish_frame, or call @gst_video_decoder_drop_frame. + + @@ -3968,6 +8556,8 @@ The bare minimum that a functional subclass needs to implement is: + @@ -3981,6 +8571,8 @@ The bare minimum that a functional subclass needs to implement is: + @@ -3991,6 +8583,8 @@ The bare minimum that a functional subclass needs to implement is: + @@ -4001,6 +8595,8 @@ The bare minimum that a functional subclass needs to implement is: + @@ -4011,6 +8607,8 @@ The bare minimum that a functional subclass needs to implement is: + @@ -4024,6 +8622,8 @@ The bare minimum that a functional subclass needs to implement is: + @@ -4037,21 +8637,31 @@ The bare minimum that a functional subclass needs to implement is: - Negotiate with downstream elements to currently configured #GstVideoCodecState. + Negotiate with downstream elements to currently configured #GstVideoCodecState. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstVideoDecoder + a #GstVideoDecoder + @@ -4062,6 +8672,8 @@ negotiate fails. + @@ -4081,6 +8693,8 @@ negotiate fails. + @@ -4094,6 +8708,8 @@ negotiate fails. + @@ -4107,6 +8723,8 @@ negotiate fails. + @@ -4120,6 +8738,8 @@ negotiate fails. + @@ -4133,6 +8753,8 @@ negotiate fails. + @@ -4146,6 +8768,8 @@ negotiate fails. + @@ -4159,6 +8783,8 @@ negotiate fails. + @@ -4172,6 +8798,8 @@ negotiate fails. + @@ -4182,6 +8810,8 @@ negotiate fails. + @@ -4192,6 +8822,8 @@ negotiate fails. + @@ -4209,59 +8841,85 @@ negotiate fails. - Removes next @n_bytes of input data and adds it to currently parsed frame. + Removes next @n_bytes of input data and adds it to currently parsed frame. + - a #GstVideoDecoder + a #GstVideoDecoder - the number of bytes to add + the number of bytes to add - Helper function that allocates a buffer to hold a video frame for @decoder's + Helper function that allocates a buffer to hold a video frame for @decoder's current #GstVideoCodecState. You should use gst_video_decoder_allocate_output_frame() instead of this function, if possible at all. + - allocated buffer, or NULL if no buffer could be + allocated buffer, or NULL if no buffer could be allocated (e.g. when downstream is flushing or shutting down) - a #GstVideoDecoder + a #GstVideoDecoder - Helper function that allocates a buffer to hold a video frame for @decoder's + Helper function that allocates a buffer to hold a video frame for @decoder's current #GstVideoCodecState. Subclass should already have configured video state and set src pad caps. The buffer allocated here is owned by the frame and you should only keep references to the frame, not the buffer. + - %GST_FLOW_OK if an output buffer could be allocated + %GST_FLOW_OK if an output buffer could be allocated - a #GstVideoDecoder + a #GstVideoDecoder - a #GstVideoCodecFrame + a #GstVideoCodecFrame @@ -4269,50 +8927,74 @@ keep references to the frame, not the buffer. - Same as #gst_video_decoder_allocate_output_frame except it allows passing + Same as #gst_video_decoder_allocate_output_frame except it allows passing #GstBufferPoolAcquireParams to the sub call gst_buffer_pool_acquire_buffer. + - %GST_FLOW_OK if an output buffer could be allocated + %GST_FLOW_OK if an output buffer could be allocated - a #GstVideoDecoder + a #GstVideoDecoder - a #GstVideoCodecFrame + a #GstVideoCodecFrame - a #GstBufferPoolAcquireParams + a #GstBufferPoolAcquireParams - Similar to gst_video_decoder_finish_frame(), but drops @frame in any + Similar to gst_video_decoder_finish_frame(), but drops @frame in any case and posts a QoS message with the frame's details on the bus. In any case, the frame is considered finished and released. + - a #GstFlowReturn, usually GST_FLOW_OK. + a #GstFlowReturn, usually GST_FLOW_OK. - a #GstVideoDecoder + a #GstVideoDecoder - the #GstVideoCodecFrame to drop + the #GstVideoCodecFrame to drop - @frame should have a valid decoded data buffer, whose metadata fields + @frame should have a valid decoded data buffer, whose metadata fields are then appropriately set according to frame data and pushed downstream. If no output data is provided, @frame is considered skipped. In any case, the frame is considered finished and released. @@ -4320,33 +9002,47 @@ In any case, the frame is considered finished and released. After calling this function the output buffer of the frame is to be considered read-only. This function will also change the metadata of the buffer. + - a #GstFlowReturn resulting from sending data downstream + a #GstFlowReturn resulting from sending data downstream - a #GstVideoDecoder + a #GstVideoDecoder - a decoded #GstVideoCodecFrame + a decoded #GstVideoCodecFrame - Lets #GstVideoDecoder sub-classes to know the memory @allocator + Lets #GstVideoDecoder sub-classes to know the memory @allocator used by the base class and its @params. Unref the @allocator after use it. + - a #GstVideoDecoder + a #GstVideoDecoder transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -4365,7 +9063,9 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator @@ -4373,72 +9073,108 @@ used + - the instance of the #GstBufferPool used + the instance of the #GstBufferPool used by the decoder; free it after use it - a #GstVideoDecoder + a #GstVideoDecoder + - currently configured byte to time conversion setting + currently configured byte to time conversion setting - a #GstVideoDecoder + a #GstVideoDecoder - Get a pending unfinished #GstVideoCodecFrame + Get a pending unfinished #GstVideoCodecFrame + - pending unfinished #GstVideoCodecFrame identified by @frame_number. + pending unfinished #GstVideoCodecFrame identified by @frame_number. - a #GstVideoDecoder + a #GstVideoDecoder - system_frame_number of a frame + system_frame_number of a frame - Get all pending unfinished #GstVideoCodecFrame + Get all pending unfinished #GstVideoCodecFrame + - pending unfinished #GstVideoCodecFrame. + pending unfinished #GstVideoCodecFrame. - a #GstVideoDecoder + a #GstVideoDecoder - Query the configured decoder latency. Results will be returned via + Query the configured decoder latency. Results will be returned via @min_latency and @max_latency. + - a #GstVideoDecoder + a #GstVideoDecoder transfer-ownership="full" optional="1" allow-none="1"> - address of variable in which to store the + address of variable in which to store the configured minimum latency, or %NULL @@ -4457,7 +9195,9 @@ by the decoder; free it after use it transfer-ownership="full" optional="1" allow-none="1"> - address of variable in which to store the + address of variable in which to store the configured mximum latency, or %NULL @@ -4465,34 +9205,50 @@ by the decoder; free it after use it - Determines maximum possible decoding time for @frame that will + Determines maximum possible decoding time for @frame that will allow it to decode and arrive in time (as determined by QoS events). In particular, a negative result means decoding in time is no longer possible and should therefore occur as soon/skippy as possible. + - max decoding time. + max decoding time. - a #GstVideoDecoder + a #GstVideoDecoder - a #GstVideoCodecFrame + a #GstVideoCodecFrame + - currently configured decoder tolerated error count. + currently configured decoder tolerated error count. - a #GstVideoDecoder + a #GstVideoDecoder @@ -4500,57 +9256,89 @@ and should therefore occur as soon/skippy as possible. - Queries decoder required format handling. + Queries decoder required format handling. + - %TRUE if required format handling is enabled. + %TRUE if required format handling is enabled. - a #GstVideoDecoder + a #GstVideoDecoder - Get the oldest pending unfinished #GstVideoCodecFrame + Get the oldest pending unfinished #GstVideoCodecFrame + - oldest pending unfinished #GstVideoCodecFrame. + oldest pending unfinished #GstVideoCodecFrame. - a #GstVideoDecoder + a #GstVideoDecoder - Get the #GstVideoCodecState currently describing the output stream. + Get the #GstVideoCodecState currently describing the output stream. + - #GstVideoCodecState describing format of video data. + #GstVideoCodecState describing format of video data. - a #GstVideoDecoder + a #GstVideoDecoder - Queries whether input data is considered packetized or not by the + Queries whether input data is considered packetized or not by the base class. + - TRUE if input data is considered packetized. + TRUE if input data is considered packetized. - a #GstVideoDecoder + a #GstVideoDecoder @@ -4558,15 +9346,23 @@ base class. - Returns the number of bytes previously added to the current frame + Returns the number of bytes previously added to the current frame by calling gst_video_decoder_add_to_frame(). + - The number of bytes pending for the current frame + The number of bytes pending for the current frame - a #GstVideoDecoder + a #GstVideoDecoder @@ -4574,34 +9370,50 @@ by calling gst_video_decoder_add_to_frame(). + - The current QoS proportion. + The current QoS proportion. - a #GstVideoDecoder + a #GstVideoDecoder current QoS proportion, or %NULL - Gathers all data collected for currently parsed frame, gathers corresponding + Gathers all data collected for currently parsed frame, gathers corresponding metadata and passes it along for further processing, i.e. @handle_frame. + - a #GstFlowReturn + a #GstFlowReturn - a #GstVideoDecoder + a #GstVideoDecoder - Sets the audio decoder tags and how they should be merged with any + Sets the audio decoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with gst_audio_decoder_merge_tags(). @@ -4609,39 +9421,55 @@ Note that this is provided for convenience, and the subclass is not required to use this and can still do tag handling on its own. MT safe. + - a #GstVideoDecoder + a #GstVideoDecoder - a #GstTagList to merge, or NULL to unset + a #GstTagList to merge, or NULL to unset previously-set tags - the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE + the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE - Negotiate with downstream elements to currently configured #GstVideoCodecState. + Negotiate with downstream elements to currently configured #GstVideoCodecState. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstVideoDecoder + a #GstVideoDecoder @@ -4649,30 +9477,42 @@ negotiate fails. - Returns caps that express @caps (or sink template caps if @caps == NULL) + Returns caps that express @caps (or sink template caps if @caps == NULL) restricted to resolution/format/... combinations supported by downstream elements. + - a #GstCaps owned by caller + a #GstCaps owned by caller - a #GstVideoDecoder + a #GstVideoDecoder - initial caps + initial caps - filter caps + filter caps @@ -4680,36 +9520,52 @@ elements. - Similar to gst_video_decoder_drop_frame(), but simply releases @frame + Similar to gst_video_decoder_drop_frame(), but simply releases @frame without any processing other than removing it from list of pending frames, after which it is considered finished and released. + - a #GstVideoDecoder + a #GstVideoDecoder - the #GstVideoCodecFrame to release + the #GstVideoCodecFrame to release - Allows baseclass to perform byte to time estimated conversion. + Allows baseclass to perform byte to time estimated conversion. + - a #GstVideoDecoder + a #GstVideoDecoder - whether to enable byte to time conversion + whether to enable byte to time conversion @@ -4717,82 +9573,118 @@ after which it is considered finished and released. - Same as #gst_video_decoder_set_output_state() but also allows you to also set + Same as #gst_video_decoder_set_output_state() but also allows you to also set the interlacing mode. + - the newly configured output state. + the newly configured output state. - a #GstVideoDecoder + a #GstVideoDecoder - a #GstVideoFormat + a #GstVideoFormat - A #GstVideoInterlaceMode + A #GstVideoInterlaceMode - The width in pixels + The width in pixels - The height in pixels + The height in pixels - An optional reference #GstVideoCodecState + An optional reference #GstVideoCodecState - Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder + Lets #GstVideoDecoder sub-classes tell the baseclass what the decoder latency is. Will also post a LATENCY message on the bus so the pipeline can reconfigure its global latency. + - a #GstVideoDecoder + a #GstVideoDecoder - minimum latency + minimum latency - maximum latency + maximum latency - Sets numbers of tolerated decoder errors, where a tolerated one is then only + Sets numbers of tolerated decoder errors, where a tolerated one is then only warned about, but more than tolerated will lead to fatal error. You can set -1 for never returning fatal errors. Default is set to GST_VIDEO_DECODER_MAX_ERRORS. The '-1' option was added in 1.4 + - a #GstVideoDecoder + a #GstVideoDecoder - max tolerated errors + max tolerated errors @@ -4800,29 +9692,39 @@ The '-1' option was added in 1.4 - Configures decoder format needs. If enabled, subclass needs to be + Configures decoder format needs. If enabled, subclass needs to be negotiated with format caps before it can process any data. It will then never be handed any data before it has been configured. Otherwise, it might be handed data without having been configured and is then expected being able to do so either by default or based on the input data. + - a #GstVideoDecoder + a #GstVideoDecoder - new state + new state - Creates a new #GstVideoCodecState with the specified @fmt, @width and @height + Creates a new #GstVideoCodecState with the specified @fmt, @width and @height as the output state for the decoder. Any previously set output state on @decoder will be replaced by the newly created one. @@ -4836,50 +9738,72 @@ pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecStat The new output state will only take effect (set on pads and buffers) starting from the next call to #gst_video_decoder_finish_frame(). + - the newly configured output state. + the newly configured output state. - a #GstVideoDecoder + a #GstVideoDecoder - a #GstVideoFormat + a #GstVideoFormat - The width in pixels + The width in pixels - The height in pixels + The height in pixels - An optional reference #GstVideoCodecState + An optional reference #GstVideoCodecState - Allows baseclass to consider input data as packetized or not. If the + Allows baseclass to consider input data as packetized or not. If the input is packetized, then the @parse method will not be called. + - a #GstVideoDecoder + a #GstVideoDecoder - whether the input data should be considered as packetized. + whether the input data should be considered as packetized. @@ -4887,26 +9811,46 @@ input is packetized, then the @parse method will not be called. - Lets #GstVideoDecoder sub-classes decide if they want the sink pad + Lets #GstVideoDecoder sub-classes decide if they want the sink pad to use the default pad query handler to reply to accept-caps queries. By setting this to true it is possible to further customize the default handler with %GST_PAD_SET_ACCEPT_INTERSECT and %GST_PAD_SET_ACCEPT_TEMPLATE + - a #GstVideoDecoder + a #GstVideoDecoder - if the default pad accept-caps query handling should be used + if the default pad accept-caps query handling should be used + + If set to %TRUE the decoder will handle QoS events received +from downstream elements. +This includes dropping output frames which are detected as late +using the metrics reported by those events. + + @@ -4929,7 +9873,7 @@ handler with %GST_PAD_SET_ACCEPT_INTERSECT and - + @@ -4937,15 +9881,21 @@ handler with %GST_PAD_SET_ACCEPT_INTERSECT and - Subclasses can override any of the available virtual methods or not, as + Subclasses can override any of the available virtual methods or not, as needed. At minimum @handle_frame needs to be overridden, and @set_format and likely as well. If non-packetized input is supported or expected, @parse needs to be overridden as well. + + @@ -4958,6 +9908,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -4970,6 +9922,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -4982,6 +9936,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -4994,6 +9950,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5015,6 +9973,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5030,6 +9990,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5045,6 +10007,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5057,6 +10021,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5072,6 +10038,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5087,6 +10055,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5102,13 +10072,19 @@ and likely as well. If non-packetized input is supported or expected, + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstVideoDecoder + a #GstVideoDecoder @@ -5116,6 +10092,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5131,6 +10109,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5146,6 +10126,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5158,6 +10140,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5173,6 +10157,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5188,6 +10174,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5203,6 +10191,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5215,6 +10205,8 @@ and likely as well. If non-packetized input is supported or expected, + @@ -5232,7 +10224,7 @@ and likely as well. If non-packetized input is supported or expected, - + @@ -5240,6 +10232,8 @@ and likely as well. If non-packetized input is supported or expected, + - The interface allows unified access to control flipping and rotation + The interface allows unified access to control flipping and rotation operations of video-sources or operators. + c:type="GstVideoDirectionInterface" glib:is-gtype-struct-for="VideoDirection" version="1.10"> - #GstVideoDirectionInterface interface. + #GstVideoDirectionInterface interface. + - parent interface type. + parent interface type. - GstVideoDither provides implementations of several dithering algorithms + GstVideoDither provides implementations of several dithering algorithms that can be applied to lines of video pixels to quantize and dither them. + - Free @dither + Free @dither + - a #GstVideoDither + a #GstVideoDither - Dither @width pixels starting from offset @x in @line using @dither. + Dither @width pixels starting from offset @x in @line using @dither. @y is the line number of @line in the output image. + - a #GstVideoDither + a #GstVideoDither - pointer to the pixels of the line + pointer to the pixels of the line - x coordinate + x coordinate - y coordinate + y coordinate - the width + the width @@ -5318,36 +10345,52 @@ that can be applied to lines of video pixels to quantize and dither them. - Make a new dither object for dithering lines of @format using the + Make a new dither object for dithering lines of @format using the algorithm described by @method. Each component will be quantized to a multiple of @quantizer. Better -performance is achived when @quantizer is a power of 2. +performance is achieved when @quantizer is a power of 2. @width is the width of the lines that this ditherer will handle. + - a new #GstVideoDither + a new #GstVideoDither - a #GstVideoDitherMethod + a #GstVideoDitherMethod - a #GstVideoDitherFlags + a #GstVideoDitherFlags - a #GstVideoFormat + a #GstVideoFormat - quantizer + quantizer - the width of the lines + the width of the lines @@ -5357,60 +10400,80 @@ performance is achived when @quantizer is a power of 2. glib:type-name="GstVideoDitherFlags" glib:get-type="gst_video_dither_flags_get_type" c:type="GstVideoDitherFlags"> - Extra flags that influence the result from gst_video_chroma_resample_new(). + Extra flags that influence the result from gst_video_chroma_resample_new(). - no flags + no flags - the input is interlaced + the input is interlaced - quantize values in addition to adding dither. + quantize values in addition to adding dither. - Different dithering methods to use. + Different dithering methods to use. - no dithering + no dithering - propagate rounding errors downwards + propagate rounding errors downwards - Dither with floyd-steinberg error diffusion + Dither with floyd-steinberg error diffusion - Dither with Sierra Lite error diffusion + Dither with Sierra Lite error diffusion - ordered dither using a bayer pattern + ordered dither using a bayer pattern - This base class is for video encoders turning raw video into + This base class is for video encoders turning raw video into encoded video data. GstVideoEncoder and subclass should cooperate as follows. @@ -5479,8 +10544,12 @@ performance of the downstream elements. If enabled, subclasses can use gst_video_encoder_get_max_encode_time() to check if input frames are already late and drop them right away to give a chance to the pipeline to catch up. + + @@ -5491,6 +10560,8 @@ pipeline to catch up. + @@ -5504,6 +10575,8 @@ pipeline to catch up. + @@ -5514,6 +10587,8 @@ pipeline to catch up. + @@ -5524,6 +10599,8 @@ pipeline to catch up. + @@ -5537,6 +10614,8 @@ pipeline to catch up. + @@ -5550,21 +10629,31 @@ pipeline to catch up. - Negotiate with downstream elements to currently configured #GstVideoCodecState. + Negotiate with downstream elements to currently configured #GstVideoCodecState. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstVideoEncoder + a #GstVideoEncoder + @@ -5575,6 +10664,8 @@ negotiate fails. + @@ -5588,6 +10679,8 @@ negotiate fails. + @@ -5601,6 +10694,8 @@ negotiate fails. + @@ -5614,6 +10709,8 @@ negotiate fails. + @@ -5627,6 +10724,8 @@ negotiate fails. + @@ -5640,6 +10739,8 @@ negotiate fails. + @@ -5653,6 +10754,8 @@ negotiate fails. + @@ -5666,6 +10769,8 @@ negotiate fails. + @@ -5679,6 +10784,8 @@ negotiate fails. + @@ -5689,6 +10796,8 @@ negotiate fails. + @@ -5699,6 +10808,8 @@ negotiate fails. + @@ -5716,53 +10827,77 @@ negotiate fails. - Helper function that allocates a buffer to hold an encoded video frame + Helper function that allocates a buffer to hold an encoded video frame for @encoder's current #GstVideoCodecState. + - allocated buffer + allocated buffer - a #GstVideoEncoder + a #GstVideoEncoder - size of the buffer + size of the buffer - Helper function that allocates a buffer to hold an encoded video frame for @encoder's + Helper function that allocates a buffer to hold an encoded video frame for @encoder's current #GstVideoCodecState. Subclass should already have configured video state and set src pad caps. The buffer allocated here is owned by the frame and you should only keep references to the frame, not the buffer. + - %GST_FLOW_OK if an output buffer could be allocated + %GST_FLOW_OK if an output buffer could be allocated - a #GstVideoEncoder + a #GstVideoEncoder - a #GstVideoCodecFrame + a #GstVideoCodecFrame - size of the buffer + size of the buffer - @frame must have a valid encoded data buffer, whose metadata fields + @frame must have a valid encoded data buffer, whose metadata fields are then appropriately set according to frame data or no buffer at all if the frame should be dropped. It is subsequently pushed downstream or provided to @pre_push. @@ -5771,33 +10906,84 @@ In any case, the frame is considered finished and released. After calling this function the output buffer of the frame is to be considered read-only. This function will also change the metadata of the buffer. + - a #GstFlowReturn resulting from sending data downstream + a #GstFlowReturn resulting from sending data downstream - a #GstVideoEncoder + a #GstVideoEncoder - an encoded #GstVideoCodecFrame + an encoded #GstVideoCodecFrame + + + + + + If multiple subframes are produced for one input frame then use this method +for each subframe, except for the last one. Before calling this function, +you need to fill frame->output_buffer with the encoded buffer to push. + +You must call #gst_video_encoder_finish_frame() for the last sub-frame +to tell the encoder that the frame has been fully encoded. + +This function will change the metadata of @frame and frame->output_buffer +will be pushed downstream. + + + a #GstFlowReturn resulting from pushing the buffer downstream. + + + + + a #GstVideoEncoder + + + + a #GstVideoCodecFrame being encoded - Lets #GstVideoEncoder sub-classes to know the memory @allocator + Lets #GstVideoEncoder sub-classes to know the memory @allocator used by the base class and its @params. Unref the @allocator after use it. + - a #GstVideoEncoder + a #GstVideoEncoder transfer-ownership="full" optional="1" allow-none="1"> - the #GstAllocator + the #GstAllocator used @@ -5816,53 +11004,79 @@ used transfer-ownership="full" optional="1" allow-none="1"> - the + the #GstAllocationParams of @allocator - Get a pending unfinished #GstVideoCodecFrame + Get a pending unfinished #GstVideoCodecFrame + - pending unfinished #GstVideoCodecFrame identified by @frame_number. + pending unfinished #GstVideoCodecFrame identified by @frame_number. - a #GstVideoEncoder + a #GstVideoEncoder - system_frame_number of a frame + system_frame_number of a frame - Get all pending unfinished #GstVideoCodecFrame + Get all pending unfinished #GstVideoCodecFrame + - pending unfinished #GstVideoCodecFrame. + pending unfinished #GstVideoCodecFrame. - a #GstVideoEncoder + a #GstVideoEncoder - Query the configured encoding latency. Results will be returned via + Query the configured encoding latency. Results will be returned via @min_latency and @max_latency. + - a #GstVideoEncoder + a #GstVideoEncoder transfer-ownership="full" optional="1" allow-none="1"> - address of variable in which to store the + address of variable in which to store the configured minimum latency, or %NULL @@ -5881,7 +11097,9 @@ used transfer-ownership="full" optional="1" allow-none="1"> - address of variable in which to store the + address of variable in which to store the configured maximum latency, or %NULL @@ -5890,52 +11108,102 @@ used - Determines maximum possible encoding time for @frame that will + Determines maximum possible encoding time for @frame that will allow it to encode and arrive in time (as determined by QoS events). In particular, a negative result means encoding in time is no longer possible and should therefore occur as soon/skippy as possible. If no QoS events have been received from downstream, or if #GstVideoEncoder:qos is disabled this function returns #G_MAXINT64. + - max decoding time. + max decoding time. - a #GstVideoEncoder + a #GstVideoEncoder - a #GstVideoCodecFrame + a #GstVideoCodecFrame + + Returns the minimum force-keyunit interval, see gst_video_encoder_set_min_force_key_unit_interval() +for more details. + + + the minimum force-keyunit interval + + + + + the encoder + + + + - Get the oldest unfinished pending #GstVideoCodecFrame + Get the oldest unfinished pending #GstVideoCodecFrame + - oldest unfinished pending #GstVideoCodecFrame + oldest unfinished pending #GstVideoCodecFrame - a #GstVideoEncoder + a #GstVideoEncoder - Get the current #GstVideoCodecState + Get the current #GstVideoCodecState + - #GstVideoCodecState describing format of video data. + #GstVideoCodecState describing format of video data. - a #GstVideoEncoder + a #GstVideoEncoder @@ -5943,21 +11211,31 @@ If no QoS events have been received from downstream, or if - Checks if @encoder is currently configured to handle Quality-of-Service + Checks if @encoder is currently configured to handle Quality-of-Service events from downstream. + - %TRUE if the encoder is configured to perform Quality-of-Service. + %TRUE if the encoder is configured to perform Quality-of-Service. - the encoder + the encoder - Sets the video encoder tags and how they should be merged with any + Sets the video encoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set with gst_video_encoder_merge_tags(). @@ -5965,85 +11243,121 @@ Note that this is provided for convenience, and the subclass is not required to use this and can still do tag handling on its own. MT safe. + - a #GstVideoEncoder + a #GstVideoEncoder - a #GstTagList to merge, or NULL to unset + a #GstTagList to merge, or NULL to unset previously-set tags - the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE + the #GstTagMergeMode to use, usually #GST_TAG_MERGE_REPLACE - Negotiate with downstream elements to currently configured #GstVideoCodecState. + Negotiate with downstream elements to currently configured #GstVideoCodecState. Unmark GST_PAD_FLAG_NEED_RECONFIGURE in any case. But mark it again if negotiate fails. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstVideoEncoder + a #GstVideoEncoder - Returns caps that express @caps (or sink template caps if @caps == NULL) + Returns caps that express @caps (or sink template caps if @caps == NULL) restricted to resolution/format/... combinations supported by downstream elements (e.g. muxers). + - a #GstCaps owned by caller + a #GstCaps owned by caller - a #GstVideoEncoder + a #GstVideoEncoder - initial caps + initial caps - filter caps + filter caps - Set the codec headers to be sent downstream whenever requested. + Set the codec headers to be sent downstream whenever requested. + - a #GstVideoEncoder + a #GstVideoEncoder - a list of #GstBuffer containing the codec header + a list of #GstBuffer containing the codec header @@ -6051,49 +11365,97 @@ elements (e.g. muxers). - Informs baseclass of encoding latency. + Informs baseclass of encoding latency. + - a #GstVideoEncoder + a #GstVideoEncoder - minimum latency + minimum latency - maximum latency + maximum latency - - Request minimal value for PTS passed to handle_frame. - -For streams with reordered frames this can be used to ensure that there -is enough time to accomodate first DTS, which may be less than first PTS - -Since 1.6 + + Sets the minimum interval for requesting keyframes based on force-keyunit +events. Setting this to 0 will allow to handle every event, setting this to +%GST_CLOCK_TIME_NONE causes force-keyunit events to be ignored. + - a #GstVideoEncoder + the encoder + + + + minimum interval + + + + + + Request minimal value for PTS passed to handle_frame. + +For streams with reordered frames this can be used to ensure that there +is enough time to accommodate first DTS, which may be less than first PTS + + + + + + + a #GstVideoEncoder - minimal PTS that will be passed to handle_frame + minimal PTS that will be passed to handle_frame - Creates a new #GstVideoCodecState with the specified caps as the output state + Creates a new #GstVideoCodecState with the specified caps as the output state for the encoder. Any previously set output state on @encoder will be replaced by the newly created one. @@ -6111,24 +11473,34 @@ pixel-aspect-ratio or framerate) it can do so on the returned #GstVideoCodecStat The new output state will only take effect (set on pads and buffers) starting from the next call to #gst_video_encoder_finish_frame(). + - the newly configured output state. + the newly configured output state. - a #GstVideoEncoder + a #GstVideoEncoder - the #GstCaps to use for the output + the #GstCaps to use for the output - An optional reference @GstVideoCodecState + An optional reference @GstVideoCodecState @@ -6136,21 +11508,39 @@ from the next call to #gst_video_encoder_finish_frame(). - Configures @encoder to handle Quality-of-Service events from downstream. + Configures @encoder to handle Quality-of-Service events from downstream. + - the encoder + the encoder - the new qos value. + the new qos value. + + Minimum interval between force-keyunit requests in nanoseconds. See +gst_video_encoder_set_min_force_key_unit_interval() for more details. + + @@ -6176,7 +11566,7 @@ from the next call to #gst_video_encoder_finish_frame(). - + @@ -6184,14 +11574,20 @@ from the next call to #gst_video_encoder_finish_frame(). - Subclasses can override any of the available virtual methods or not, as + Subclasses can override any of the available virtual methods or not, as needed. At minimum @handle_frame needs to be overridden, and @set_format and @get_caps are likely needed as well. + + @@ -6204,6 +11600,8 @@ and @get_caps are likely needed as well. + @@ -6216,6 +11614,8 @@ and @get_caps are likely needed as well. + @@ -6228,6 +11628,8 @@ and @get_caps are likely needed as well. + @@ -6240,6 +11642,8 @@ and @get_caps are likely needed as well. + @@ -6255,6 +11659,8 @@ and @get_caps are likely needed as well. + @@ -6270,6 +11676,8 @@ and @get_caps are likely needed as well. + @@ -6285,6 +11693,8 @@ and @get_caps are likely needed as well. + @@ -6297,6 +11707,8 @@ and @get_caps are likely needed as well. + @@ -6312,6 +11724,8 @@ and @get_caps are likely needed as well. + @@ -6327,6 +11741,8 @@ and @get_caps are likely needed as well. + @@ -6342,6 +11758,8 @@ and @get_caps are likely needed as well. + @@ -6357,13 +11775,19 @@ and @get_caps are likely needed as well. + - %TRUE if the negotiation succeeded, else %FALSE. + %TRUE if the negotiation succeeded, else %FALSE. - a #GstVideoEncoder + a #GstVideoEncoder @@ -6371,6 +11795,8 @@ and @get_caps are likely needed as well. + @@ -6386,6 +11812,8 @@ and @get_caps are likely needed as well. + @@ -6401,6 +11829,8 @@ and @get_caps are likely needed as well. + @@ -6413,6 +11843,8 @@ and @get_caps are likely needed as well. + @@ -6428,6 +11860,8 @@ and @get_caps are likely needed as well. + @@ -6443,6 +11877,8 @@ and @get_caps are likely needed as well. + @@ -6460,7 +11896,7 @@ and @get_caps are likely needed as well. - + @@ -6468,13 +11904,17 @@ and @get_caps are likely needed as well. + - Field order of interlaced content. This is only valid for + Field order of interlaced content. This is only valid for interlace-mode=interleaved and not interlace-mode=mixed. In the case of mixed or GST_VIDEO_FIELD_ORDER_UNKOWN, the field order is signalled via buffer flags. @@ -6482,34 +11922,48 @@ buffer flags. value="0" c:identifier="GST_VIDEO_FIELD_ORDER_UNKNOWN" glib:nick="unknown"> - unknown field order for interlaced content. + unknown field order for interlaced content. The actual field order is signalled via buffer flags. - top field is first + top field is first - bottom field is first + bottom field is first - Convert @order to a #GstVideoFieldOrder + Convert @order to a #GstVideoFieldOrder + - the #GstVideoFieldOrder of @order or + the #GstVideoFieldOrder of @order or #GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid string representation for a #GstVideoFieldOrder. - a field order + a field order @@ -6517,14 +11971,22 @@ buffer flags. - Convert @order to its string representation. + Convert @order to its string representation. + - @order as a string or NULL if @order in invalid. + @order as a string or NULL if @order in invalid. - a #GstVideoFieldOrder + a #GstVideoFieldOrder @@ -6538,11 +12000,17 @@ buffer flags. glib:type-name="GstVideoFilter" glib:get-type="gst_video_filter_get_type" glib:type-struct="VideoFilterClass"> - Provides useful functions and a base class for video filters. + Provides useful functions and a base class for video filters. The videofilter will by default enable QoS on the parent GstBaseTransform to implement frame dropping. + + @@ -6565,6 +12033,8 @@ to implement frame dropping. + @@ -6581,6 +12051,8 @@ to implement frame dropping. + @@ -6606,7 +12078,7 @@ to implement frame dropping. - + @@ -6614,14 +12086,22 @@ to implement frame dropping. - The video filter class structure. + The video filter class structure. + - the parent class structure + the parent class structure + @@ -6646,6 +12126,8 @@ to implement frame dropping. + @@ -6664,6 +12146,8 @@ to implement frame dropping. + @@ -6678,7 +12162,7 @@ to implement frame dropping. - + @@ -6687,25 +12171,33 @@ to implement frame dropping. glib:type-name="GstVideoFlags" glib:get-type="gst_video_flags_get_type" c:type="GstVideoFlags"> - Extra video flags + Extra video flags - no flags + no flags - a variable fps is selected, fps_n and fps_d + a variable fps is selected, fps_n and fps_d denote the maximum fps of the video - Each color has been scaled by the alpha + Each color has been scaled by the alpha value. @@ -6713,21 +12205,27 @@ to implement frame dropping. glib:type-name="GstVideoFormat" glib:get-type="gst_video_format_get_type" c:type="GstVideoFormat"> - Enum value describing the most common video formats. + Enum value describing the most common video formats. -See the [GStreamer raw video format design document](https://gstreamer.freedesktop.org/documentation/design/mediatype-video-raw.html#formats) +See the [GStreamer raw video format design document](https://gstreamer.freedesktop.org/documentation/additional/design/mediatype-video-raw.html#formats) for details about the layout and packing of these formats in memory. - Unknown or unset video format id + Unknown or unset video format id - Encoded video format. Only ever use that in caps for + Encoded video format. Only ever use that in caps for special video formats in combination with non-system memory GstCapsFeatures where it does not make sense to specify a real video format. @@ -6736,583 +12234,883 @@ for details about the layout and packing of these formats in memory. value="2" c:identifier="GST_VIDEO_FORMAT_I420" glib:nick="i420"> - planar 4:2:0 YUV + planar 4:2:0 YUV - planar 4:2:0 YVU (like I420 but UV planes swapped) + planar 4:2:0 YVU (like I420 but UV planes swapped) - packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...) + packed 4:2:2 YUV (Y0-U0-Y1-V0 Y2-U2-Y3-V2 Y4 ...) - packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...) + packed 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...) - packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...) + packed 4:4:4 YUV with alpha channel (A0-Y0-U0-V0 ...) - sparse rgb packed into 32 bit, space last + sparse rgb packed into 32 bit, space last - sparse reverse rgb packed into 32 bit, space last + sparse reverse rgb packed into 32 bit, space last - sparse rgb packed into 32 bit, space first + sparse rgb packed into 32 bit, space first - sparse reverse rgb packed into 32 bit, space first + sparse reverse rgb packed into 32 bit, space first - rgb with alpha channel last + rgb with alpha channel last - reverse rgb with alpha channel last + reverse rgb with alpha channel last - rgb with alpha channel first + rgb with alpha channel first - reverse rgb with alpha channel first + reverse rgb with alpha channel first - RGB packed into 24 bits without padding (`R-G-B-R-G-B`) + RGB packed into 24 bits without padding (`R-G-B-R-G-B`) - reverse RGB packed into 24 bits without padding (`B-G-R-B-G-R`) + reverse RGB packed into 24 bits without padding (`B-G-R-B-G-R`) - planar 4:1:1 YUV + planar 4:1:1 YUV - planar 4:2:2 YUV + planar 4:2:2 YUV - packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...) + packed 4:2:2 YUV (Y0-V0-Y1-U0 Y2-V2-Y3-U2 Y4 ...) - planar 4:4:4 YUV + planar 4:4:4 YUV - packed 4:2:2 10-bit YUV, complex format + packed 4:2:2 10-bit YUV, complex format - packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order + packed 4:2:2 16-bit YUV, Y0-U0-Y1-V1 order - planar 4:2:0 YUV with interleaved UV plane + planar 4:2:0 YUV with interleaved UV plane - planar 4:2:0 YUV with interleaved VU plane + planar 4:2:0 YUV with interleaved VU plane - 8-bit grayscale + 8-bit grayscale - 16-bit grayscale, most significant byte first + 16-bit grayscale, most significant byte first - 16-bit grayscale, least significant byte first + 16-bit grayscale, least significant byte first - packed 4:4:4 YUV (Y-U-V ...) + packed 4:4:4 YUV (Y-U-V ...) - rgb 5-6-5 bits per component + rgb 5-6-5 bits per component - reverse rgb 5-6-5 bits per component + reverse rgb 5-6-5 bits per component - rgb 5-5-5 bits per component + rgb 5-5-5 bits per component - reverse rgb 5-5-5 bits per component + reverse rgb 5-5-5 bits per component - packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...) + packed 10-bit 4:2:2 YUV (U0-Y0-V0-Y1 U2-Y2-V2-Y3 U4 ...) - planar 4:4:2:0 AYUV + planar 4:4:2:0 AYUV - 8-bit paletted RGB + 8-bit paletted RGB - planar 4:1:0 YUV + planar 4:1:0 YUV - planar 4:1:0 YUV (like YUV9 but UV planes swapped) + planar 4:1:0 YUV (like YUV9 but UV planes swapped) - packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...) + packed 4:1:1 YUV (Cb-Y0-Y1-Cr-Y2-Y3 ...) - rgb with alpha channel first, 16 bits per channel + rgb with alpha channel first, 16 bits per channel - packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...) + packed 4:4:4 YUV with alpha channel, 16 bits per channel (A0-Y0-U0-V0 ...) - packed 4:4:4 RGB, 10 bits per channel + packed 4:4:4 RGB, 10 bits per channel - planar 4:2:0 YUV, 10 bits per channel + planar 4:2:0 YUV, 10 bits per channel - planar 4:2:0 YUV, 10 bits per channel + planar 4:2:0 YUV, 10 bits per channel - planar 4:2:2 YUV, 10 bits per channel + planar 4:2:2 YUV, 10 bits per channel - planar 4:2:2 YUV, 10 bits per channel + planar 4:2:2 YUV, 10 bits per channel - planar 4:4:4 YUV, 10 bits per channel (Since: 1.2) + planar 4:4:4 YUV, 10 bits per channel (Since: 1.2) - planar 4:4:4 YUV, 10 bits per channel (Since: 1.2) + planar 4:4:4 YUV, 10 bits per channel (Since: 1.2) - planar 4:4:4 RGB, 8 bits per channel (Since: 1.2) + planar 4:4:4 RGB, 8 bits per channel (Since: 1.2) - planar 4:4:4 RGB, 10 bits per channel (Since: 1.2) + planar 4:4:4 RGB, 10 bits per channel (Since: 1.2) - planar 4:4:4 RGB, 10 bits per channel (Since: 1.2) + planar 4:4:4 RGB, 10 bits per channel (Since: 1.2) - planar 4:2:2 YUV with interleaved UV plane (Since: 1.2) + planar 4:2:2 YUV with interleaved UV plane (Since: 1.2) - planar 4:4:4 YUV with interleaved UV plane (Since: 1.2) + planar 4:4:4 YUV with interleaved UV plane (Since: 1.2) - NV12 with 64x32 tiling in zigzag pattern (Since: 1.4) + NV12 with 64x32 tiling in zigzag pattern (Since: 1.4) - planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6) + planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6) - planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6) + planar 4:4:2:0 YUV, 10 bits per channel (Since: 1.6) - planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6) + planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6) - planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6) + planar 4:4:2:2 YUV, 10 bits per channel (Since: 1.6) - planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6) + planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6) - planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6) + planar 4:4:4:4 YUV, 10 bits per channel (Since: 1.6) - planar 4:2:2 YUV with interleaved VU plane (Since: 1.6) + planar 4:2:2 YUV with interleaved VU plane (Since: 1.6) - planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10) + planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10) - planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10) + planar 4:2:0 YUV with interleaved UV plane, 10 bits per channel (Since: 1.10) - packed 4:4:4 YUV (U-Y-V ...) (Since 1.10) + packed 4:4:4 YUV (U-Y-V ...) (Since: 1.10) - packed 4:2:2 YUV (V0-Y0-U0-Y1 V2-Y2-U2-Y3 V4 ...) + packed 4:2:2 YUV (V0-Y0-U0-Y1 V2-Y2-U2-Y3 V4 ...) - planar 4:4:4:4 ARGB, 8 bits per channel (Since: 1.12) + planar 4:4:4:4 ARGB, 8 bits per channel (Since: 1.12) - planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12) + planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12) - planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12) + planar 4:4:4:4 ARGB, 10 bits per channel (Since: 1.12) - planar 4:4:4 RGB, 12 bits per channel (Since: 1.12) + planar 4:4:4 RGB, 12 bits per channel (Since: 1.12) - planar 4:4:4 RGB, 12 bits per channel (Since: 1.12) + planar 4:4:4 RGB, 12 bits per channel (Since: 1.12) - planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12) + planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12) - planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12) + planar 4:4:4:4 ARGB, 12 bits per channel (Since: 1.12) - planar 4:2:0 YUV, 12 bits per channel (Since: 1.12) + planar 4:2:0 YUV, 12 bits per channel (Since: 1.12) - planar 4:2:0 YUV, 12 bits per channel (Since: 1.12) + planar 4:2:0 YUV, 12 bits per channel (Since: 1.12) - planar 4:2:2 YUV, 12 bits per channel (Since: 1.12) + planar 4:2:2 YUV, 12 bits per channel (Since: 1.12) - planar 4:2:2 YUV, 12 bits per channel (Since: 1.12) + planar 4:2:2 YUV, 12 bits per channel (Since: 1.12) - planar 4:4:4 YUV, 12 bits per channel (Since: 1.12) + planar 4:4:4 YUV, 12 bits per channel (Since: 1.12) - planar 4:4:4 YUV, 12 bits per channel (Since: 1.12) + planar 4:4:4 YUV, 12 bits per channel (Since: 1.12) - 10-bit grayscale, packed into 32bit words (2 bits padding) (Since: 1.14) + 10-bit grayscale, packed into 32bit words (2 bits padding) (Since: 1.14) - 10-bit variant of @GST_VIDEO_FORMAT_NV12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14) + 10-bit variant of @GST_VIDEO_FORMAT_NV12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14) - 10-bit variant of @GST_VIDEO_FORMAT_NV16, packed into 32bit words (MSB 2 bits padding) (Since: 1.14) + 10-bit variant of @GST_VIDEO_FORMAT_NV16, packed into 32bit words (MSB 2 bits padding) (Since: 1.14) - Fully packed variant of NV12_10LE32 (Since: 1.16) + Fully packed variant of NV12_10LE32 (Since: 1.16) - packed 4:2:2 YUV, 10 bits per channel (Since: 1.16) + packed 4:2:2 YUV, 10 bits per channel (Since: 1.16) - packed 4:4:4 YUV, 10 bits per channel(A-V-Y-U...) (Since: 1.16) + packed 4:4:4 YUV, 10 bits per channel(A-V-Y-U...) (Since: 1.16) - packed 4:4:4 YUV with alpha channel (V0-U0-Y0-A0...) (Since: 1.16) + packed 4:4:4 YUV with alpha channel (V0-U0-Y0-A0...) (Since: 1.16) - packed 4:4:4 RGB with alpha channel(B-G-R-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.16) + packed 4:4:4 RGB with alpha channel(B-G-R-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.16) + + + packed 4:4:4 RGB with alpha channel(R-G-B-A), 10 bits for R/G/B channel and MSB 2 bits for alpha channel (Since: 1.18) + + + planar 4:4:4 YUV, 16 bits per channel (Since: 1.18) + + + planar 4:4:4 YUV, 16 bits per channel (Since: 1.18) + + + planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18) + + + planar 4:2:0 YUV with interleaved UV plane, 16 bits per channel (Since: 1.18) + + + planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18) + + + planar 4:2:0 YUV with interleaved UV plane, 12 bits per channel (Since: 1.18) + + + packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18) + + + packed 4:2:2 YUV, 12 bits per channel (Y-U-Y-V) (Since: 1.18) + + + packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18) + + + packed 4:4:4:4 YUV, 12 bits per channel(U-Y-V-A...) (Since: 1.18) - Converts a FOURCC value into the corresponding #GstVideoFormat. + Converts a FOURCC value into the corresponding #GstVideoFormat. If the FOURCC cannot be represented by #GstVideoFormat, #GST_VIDEO_FORMAT_UNKNOWN is returned. + - the #GstVideoFormat describing the FOURCC value + the #GstVideoFormat describing the FOURCC value - a FOURCC value representing raw YUV video + a FOURCC value representing raw YUV video - Find the #GstVideoFormat for the given parameters. + Find the #GstVideoFormat for the given parameters. + - a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to + a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to not specify a known format. - the amount of bits used for a pixel + the amount of bits used for a pixel - the amount of bits used to store a pixel. This value is bigger than + the amount of bits used to store a pixel. This value is bigger than @depth - the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN + the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN - the red mask + the red mask - the green mask + the green mask - the blue mask + the blue mask - the alpha mask, or 0 if no alpha mask + the alpha mask, or 0 if no alpha mask - Convert the @format string to its #GstVideoFormat. + Convert the @format string to its #GstVideoFormat. + - the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the + the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the string is not a known format. - a format string + a format string - Get the #GstVideoFormatInfo for @format + Get the #GstVideoFormatInfo for @format + - The #GstVideoFormatInfo for @format. + The #GstVideoFormatInfo for @format. - a #GstVideoFormat + a #GstVideoFormat @@ -7320,52 +13118,78 @@ string is not a known format. - Get the default palette of @format. This the palette used in the pack + Get the default palette of @format. This the palette used in the pack function for paletted formats. + - the default palette of @format or %NULL when + the default palette of @format or %NULL when @format does not have a palette. - a #GstVideoFormat + a #GstVideoFormat - size of the palette in bytes + size of the palette in bytes - Converts a #GstVideoFormat value into the corresponding FOURCC. Only + Converts a #GstVideoFormat value into the corresponding FOURCC. Only a few YUV formats have corresponding FOURCC values. If @format has no corresponding FOURCC value, 0 is returned. + - the FOURCC corresponding to @format + the FOURCC corresponding to @format - a #GstVideoFormat video format + a #GstVideoFormat video format - Returns a string containing a descriptive name for + Returns a string containing a descriptive name for the #GstVideoFormat if there is one, or NULL otherwise. + - the name corresponding to @format + the name corresponding to @format - a #GstVideoFormat video format + a #GstVideoFormat video format @@ -7375,191 +13199,296 @@ the #GstVideoFormat if there is one, or NULL otherwise. glib:type-name="GstVideoFormatFlags" glib:get-type="gst_video_format_flags_get_type" c:type="GstVideoFormatFlags"> - The different video flags that a format info can have. + The different video flags that a format info can have. - The video format is YUV, components are numbered + The video format is YUV, components are numbered 0=Y, 1=U, 2=V. - The video format is RGB, components are numbered + The video format is RGB, components are numbered 0=R, 1=G, 2=B. - The video is gray, there is one gray component + The video is gray, there is one gray component with index 0. - The video format has an alpha components with + The video format has an alpha components with the number 3. - The video format has data stored in little + The video format has data stored in little endianness. - The video format has a palette. The palette + The video format has a palette. The palette is stored in the second plane and indexes are stored in the first plane. - The video format has a complex layout that + The video format has a complex layout that can't be described with the usual information in the #GstVideoFormatInfo. - This format can be used in a + This format can be used in a #GstVideoFormatUnpack and #GstVideoFormatPack function. - The format is tiled, there is tiling information + The format is tiled, there is tiling information in the last plane. - Information for a video format. + Information for a video format. + - #GstVideoFormat + #GstVideoFormat - string representation of the format + string representation of the format - use readable description of the format + use readable description of the format - #GstVideoFormatFlags + #GstVideoFormatFlags - The number of bits used to pack data items. This can be less than 8 + The number of bits used to pack data items. This can be less than 8 when multiple pixels are stored in a byte. for values > 8 multiple bytes should be read according to the endianness flag before applying the shift and mask. - the number of components in the video format. + the number of components in the video format. - the number of bits to shift away to get the component data - + the number of bits to shift away to get the component data + - the depth in bits for each component - + the depth in bits for each component + - the pixel stride of each component. This is the amount of + the pixel stride of each component. This is the amount of bytes to the pixel immediately to the right. When bits < 8, the stride is expressed in bits. For 24-bit RGB, this would be 3 bytes, for example, while it would be 4 bytes for RGBx or ARGB. - + - the number of planes for this format. The number of planes can be + the number of planes for this format. The number of planes can be less than the amount of components when multiple components are packed into one plane. - the plane number where a component can be found - + the plane number where a component can be found + - the offset in the plane where the first pixel of the components + the offset in the plane where the first pixel of the components can be found. - + - subsampling factor of the width for the component. Use + subsampling factor of the width for the component. Use GST_VIDEO_SUB_SCALE to scale a width. - + - subsampling factor of the height for the component. Use + subsampling factor of the height for the component. Use GST_VIDEO_SUB_SCALE to scale a height. - + - the format of the unpacked pixels. This format must have the + the format of the unpacked pixels. This format must have the #GST_VIDEO_FORMAT_FLAG_UNPACK flag set. - an unpack function for this format + an unpack function for this format - the amount of lines that will be packed + the amount of lines that will be packed - an pack function for this format + an pack function for this format - The tiling mode + The tiling mode - The width of a tile, in bytes, represented as a shift + The width of a tile, in bytes, represented as a shift - The height of a tile, in bytes, represented as a shift + The height of a tile, in bytes, represented as a shift - + + + Fill @components with the number of all the components packed in plane @p +for the format @info. A value of -1 in @components indicates that no more +components are packed in the plane. + + + + + + + #GstVideoFormatInfo + + + + a plane number + + + + array used to store component numbers + + + + - Packs @width pixels from @src to the given planes and strides in the + Packs @width pixels from @src to the given planes and strides in the format @info. The pixels from source have each component interleaved and will be packed into the planes in @data. @@ -7575,56 +13504,78 @@ Because this function does not have a x coordinate, it is not possible to pack pixels starting from an unaligned position. For tiled images this means that packing should start from a tile coordinate. For subsampled formats this means that a complete pixel needs to be packed. + - a #GstVideoFormatInfo + a #GstVideoFormatInfo - flags to control the packing + flags to control the packing - a source array + a source array - the source array stride + the source array stride - pointers to the destination data planes + pointers to the destination data planes - strides of the destination planes + strides of the destination planes - the chroma siting of the target when subsampled (not used) + the chroma siting of the target when subsampled (not used) - the y position in the image to pack to + the y position in the image to pack to - the amount of pixels to pack. + the amount of pixels to pack. - Unpacks @width pixels from the given planes and strides containing data of + Unpacks @width pixels from the given planes and strides containing data of format @info. The pixels will be unpacked into @dest with each component interleaved as per @info's unpack_format, which will usually be one of #GST_VIDEO_FORMAT_ARGB, #GST_VIDEO_FORMAT_AYUV, #GST_VIDEO_FORMAT_ARGB64 or @@ -7637,130 +13588,192 @@ the same as the pixel stride for plane 0 for the above formats. For subsampled formats, the components will be duplicated in the destination array. Reconstruction of the missing components can be performed in a separate step after unpacking. + - a #GstVideoFormatInfo + a #GstVideoFormatInfo - flags to control the unpacking + flags to control the unpacking - a destination array + a destination array - pointers to the data planes + pointers to the data planes - strides of the planes + strides of the planes - the x position in the image to start from + the x position in the image to start from - the y position in the image to start from + the y position in the image to start from - the amount of pixels to unpack. + the amount of pixels to unpack. - A video frame obtained from gst_video_frame_map() + A video frame obtained from gst_video_frame_map() + - the #GstVideoInfo + the #GstVideoInfo - #GstVideoFrameFlags for the frame + #GstVideoFrameFlags for the frame - the mapped buffer + the mapped buffer - pointer to metadata if any + pointer to metadata if any - id of the mapped frame. the id can for example be used to - indentify the frame in case of multiview video. + id of the mapped frame. the id can for example be used to + identify the frame in case of multiview video. - pointers to the plane data - + pointers to the plane data + - mappings of the planes - + mappings of the planes + - + - Copy the contents from @src to @dest. + Copy the contents from @src to @dest. + - TRUE if the contents could be copied. + TRUE if the contents could be copied. - a #GstVideoFrame + a #GstVideoFrame - a #GstVideoFrame + a #GstVideoFrame - Copy the plane with index @plane from @src to @dest. + Copy the plane with index @plane from @src to @dest. + +Note: Since: 1.18, @dest dimensions are allowed to be +smaller than @src dimensions. + - TRUE if the contents could be copied. + TRUE if the contents could be copied. - a #GstVideoFrame + a #GstVideoFrame - a #GstVideoFrame + a #GstVideoFrame - a plane + a plane - Use @info and @buffer to fill in the values of @frame. @frame is usually + Use @info and @buffer to fill in the values of @frame. @frame is usually allocated on the stack, and you will pass the address to the #GstVideoFrame structure allocated on the stack; gst_video_frame_map() will then fill in the structures with the various video-specific information you need to access @@ -7803,31 +13816,45 @@ each buffer). This function will just fill the #GstVideoFrame structure with the right values and if you use the accessor macros everything will just work and you can access the data easily. It also maps the underlying memory chunks for you. + - %TRUE on success. + %TRUE on success. - pointer to #GstVideoFrame + pointer to #GstVideoFrame - a #GstVideoInfo + a #GstVideoInfo - the buffer to map + the buffer to map - #GstMapFlags + #GstMapFlags - Use @info and @buffer to fill in the values of @frame with the video frame + Use @info and @buffer to fill in the values of @frame with the video frame information of frame @id. When @id is -1, the default frame is mapped. When @id != -1, this function @@ -7835,41 +13862,61 @@ will return %FALSE when there is no GstVideoMeta with that id. All video planes of @buffer will be mapped and the pointers will be set in @frame->data. + - %TRUE on success. + %TRUE on success. - pointer to #GstVideoFrame + pointer to #GstVideoFrame - a #GstVideoInfo + a #GstVideoInfo - the buffer to map + the buffer to map - the frame id to map + the frame id to map - #GstMapFlags + #GstMapFlags - Unmap the memory previously mapped with gst_video_frame_map. + Unmap the memory previously mapped with gst_video_frame_map. + - a #GstVideoFrame + a #GstVideoFrame @@ -7879,18 +13926,24 @@ All video planes of @buffer will be mapped and the pointers will be set in glib:type-name="GstVideoFrameFlags" glib:get-type="gst_video_frame_flags_get_type" c:type="GstVideoFrameFlags"> - Extra video frame flags + Extra video frame flags - no flags + no flags - The video frame is interlaced. In mixed + The video frame is interlaced. In mixed interlace-mode, this flag specifies if the frame is interlaced or progressive. @@ -7898,39 +13951,51 @@ All video planes of @buffer will be mapped and the pointers will be set in value="2" c:identifier="GST_VIDEO_FRAME_FLAG_TFF" glib:nick="tff"> - The video frame has the top field first + The video frame has the top field first - The video frame has the repeat flag + The video frame has the repeat flag - The video frame has one field + The video frame has one field - The video contains one or + The video contains one or more non-mono views - The video frame is the first + The video frame is the first in a set of corresponding views provided as sequential frames. - The video frame has the top field only. This + The video frame has the top field only. This is the same as GST_VIDEO_FRAME_FLAG_TFF | GST_VIDEO_FRAME_FLAG_ONEFIELD (Since: 1.16). @@ -7938,13 +14003,17 @@ All video planes of @buffer will be mapped and the pointers will be set in value="8" c:identifier="GST_VIDEO_FRAME_FLAG_ONEFIELD" glib:nick="onefield"> - The video frame has one field + The video frame has one field - The video frame has the bottom field + The video frame has the bottom field only. This is the same as GST_VIDEO_FRAME_FLAG_ONEFIELD (GST_VIDEO_FRAME_FLAG_TFF flag unset) (Since: 1.16). @@ -7954,12 +14023,16 @@ All video planes of @buffer will be mapped and the pointers will be set in glib:type-name="GstVideoFrameMapFlags" glib:get-type="gst_video_frame_map_flags_get_type" c:type="GstVideoFrameMapFlags"> - Additional mapping flags for gst_video_frame_map(). + Additional mapping flags for gst_video_frame_map(). - Don't take another reference of the buffer and store it in + Don't take another reference of the buffer and store it in the GstVideoFrame. This makes sure that the buffer stays writable while the frame is mapped, but requires that the buffer reference stays valid until the frame is unmapped again. @@ -7968,68 +14041,102 @@ All video planes of @buffer will be mapped and the pointers will be set in value="16777216" c:identifier="GST_VIDEO_FRAME_MAP_FLAG_LAST" glib:nick="last"> - Offset to define more flags + Offset to define more flags - The orientation of the GL texture. + The orientation of the GL texture. + - Top line first in memory, left row first + Top line first in memory, left row first - Bottom line first in memory, left row first + Bottom line first in memory, left row first - Top line first in memory, right row first + Top line first in memory, right row first - Bottom line first in memory, right row first + Bottom line first in memory, right row first - The GL texture type. + The GL texture type. + - Luminance texture, GL_LUMINANCE + Luminance texture, GL_LUMINANCE - Luminance-alpha texture, GL_LUMINANCE_ALPHA + Luminance-alpha texture, GL_LUMINANCE_ALPHA - RGB 565 texture, GL_RGB + RGB 565 texture, GL_RGB - RGB texture, GL_RGB + RGB texture, GL_RGB - RGBA texture, GL_RGBA + RGBA texture, GL_RGBA - R texture, GL_RED_EXT + R texture, GL_RED_EXT - RG texture, GL_RG_EXT + RG texture, GL_RG_EXT + @@ -8045,28 +14152,38 @@ All video planes of @buffer will be mapped and the pointers will be set in - Extra buffer metadata for uploading a buffer to an OpenGL texture + Extra buffer metadata for uploading a buffer to an OpenGL texture ID. The caller of gst_video_gl_texture_upload_meta_upload() must have OpenGL set up and call this from a thread where it is valid to upload something to an OpenGL texture. + - parent #GstMeta + parent #GstMeta - Orientation of the textures + Orientation of the textures - Number of textures that are generated + Number of textures that are generated - Type of each texture - + Type of each texture + @@ -8087,25 +14204,37 @@ to upload something to an OpenGL texture. - Uploads the buffer which owns the meta to a specific texture ID. + Uploads the buffer which owns the meta to a specific texture ID. + - %TRUE if uploading succeeded, %FALSE otherwise. + %TRUE if uploading succeeded, %FALSE otherwise. - a #GstVideoGLTextureUploadMeta + a #GstVideoGLTextureUploadMeta - the texture IDs to upload to + the texture IDs to upload to + @@ -8120,13 +14249,17 @@ to upload something to an OpenGL texture. value="0" c:identifier="GST_VIDEO_GAMMA_MODE_NONE" glib:nick="none"> - disable gamma handling + disable gamma handling - convert between input and output gamma + convert between input and output gamma Different gamma conversion modes @@ -8135,78 +14268,115 @@ Different gamma conversion modes glib:type-name="GstVideoInfo" glib:get-type="gst_video_info_get_type" c:symbol-prefix="video_info"> - Information describing image properties. This information can be filled + Information describing image properties. This information can be filled in from GstCaps with gst_video_info_from_caps(). The information is also used to store the specific video info when mapping a video frame with gst_video_frame_map(). Use the provided macros to access the info in this structure. + - the format info of the video + the format info of the video - the interlace mode + the interlace mode - additional video flags + additional video flags - the width of the video + the width of the video - the height of the video + the height of the video - the default size of one frame + the default size of one frame - the number of views for multiview video + the number of views for multiview video - a #GstVideoChromaSite. + a #GstVideoChromaSite. - the colorimetry info + the colorimetry info - the pixel-aspect-ratio numerator + the pixel-aspect-ratio numerator - the pixel-aspect-ratio demnominator + the pixel-aspect-ratio denominator - the framerate numerator + the framerate numerator - the framerate demnominator + the framerate denominator - offsets of the planes - + offsets of the planes + - strides of the planes - + strides of the planes + + + @@ -8218,174 +14388,306 @@ Use the provided macros to access the info in this structure. - + - Allocate a new #GstVideoInfo that is also initialized with + Allocate a new #GstVideoInfo that is also initialized with gst_video_info_init(). + - a new #GstVideoInfo. free with gst_video_info_free(). + a new #GstVideoInfo. free with gst_video_info_free(). - Adjust the offset and stride fields in @info so that the padding and + Adjust the offset and stride fields in @info so that the padding and stride alignment in @align is respected. Extra padding will be added to the right side when stride alignment padding is required and @align will be updated with the new padding values. + - %FALSE if alignment could not be applied, e.g. because the + %FALSE if alignment could not be applied, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12) - a #GstVideoInfo + a #GstVideoInfo - alignment parameters + alignment parameters - - Converts among various #GstFormat types. This function handles -GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For -raw video, GST_FORMAT_DEFAULT corresponds to video frames. This -function can be used to handle pad queries of the type GST_QUERY_CONVERT. + + This variant of gst_video_info_align() provides the updated size, in bytes, +of each video plane after the alignment, including all horizontal and vertical +paddings. + +In case of GST_VIDEO_INTERLACE_MODE_ALTERNATE info, the returned sizes are the +ones used to hold a single field, not the full frame. + - TRUE if the conversion was successful. + %FALSE if alignment could not be applied, e.g. because the + size of a frame can't be represented as a 32 bit integer - a #GstVideoInfo + a #GstVideoInfo + + + + alignment parameters + + + + array used to store the plane sizes + + + + + + Converts among various #GstFormat types. This function handles +GST_FORMAT_BYTES, GST_FORMAT_TIME, and GST_FORMAT_DEFAULT. For +raw video, GST_FORMAT_DEFAULT corresponds to video frames. This +function can be used to handle pad queries of the type GST_QUERY_CONVERT. + + + TRUE if the conversion was successful. + + + + + a #GstVideoInfo - #GstFormat of the @src_value + #GstFormat of the @src_value - value to convert + value to convert - #GstFormat of the @dest_value + #GstFormat of the @dest_value - pointer to destination value + pointer to destination value - Copy a GstVideoInfo structure. + Copy a GstVideoInfo structure. + - a new #GstVideoInfo. free with gst_video_info_free. + a new #GstVideoInfo. free with gst_video_info_free. - a #GstVideoInfo + a #GstVideoInfo - Free a GstVideoInfo structure previously allocated with gst_video_info_new() + Free a GstVideoInfo structure previously allocated with gst_video_info_new() or gst_video_info_copy(). + - a #GstVideoInfo + a #GstVideoInfo - Parse @caps and update @info. + Parse @caps and update @info. + - TRUE if @caps could be parsed + TRUE if @caps could be parsed - a #GstVideoInfo + a #GstVideoInfo - a #GstCaps + a #GstCaps - Initialize @info with default values. + Initialize @info with default values. + - a #GstVideoInfo + a #GstVideoInfo - Compares two #GstVideoInfo and returns whether they are equal or not + Compares two #GstVideoInfo and returns whether they are equal or not + - %TRUE if @info and @other are equal, else %FALSE. + %TRUE if @info and @other are equal, else %FALSE. - a #GstVideoInfo + a #GstVideoInfo - a #GstVideoInfo + a #GstVideoInfo - Set the default info for a video frame of @format and @width and @height. + Set the default info for a video frame of @format and @width and @height. Note: This initializes @info first, no values are preserved. This function does not set the offsets correctly for interlaced vertically subsampled formats. + - %FALSE if the returned video info is invalid, e.g. because the + %FALSE if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer (Since: 1.12) - a #GstVideoInfo + a #GstVideoInfo - the format + the format - a width + a width - a height + a height @@ -8393,45 +14695,69 @@ subsampled formats. - Same as #gst_video_info_set_format but also allowing to set the interlaced + Same as #gst_video_info_set_format but also allowing to set the interlaced mode. + - %FALSE if the returned video info is invalid, e.g. because the + %FALSE if the returned video info is invalid, e.g. because the size of a frame can't be represented as a 32 bit integer. - a #GstVideoInfo + a #GstVideoInfo - the format + the format - a #GstVideoInterlaceMode + a #GstVideoInterlaceMode - a width + a width - a height + a height - Convert the values of @info into a #GstCaps. + Convert the values of @info into a #GstCaps. + - a new #GstCaps containing the info of @info. + a new #GstCaps containing the info of @info. - a #GstVideoInfo + a #GstVideoInfo @@ -8441,33 +14767,43 @@ mode. glib:type-name="GstVideoInterlaceMode" glib:get-type="gst_video_interlace_mode_get_type" c:type="GstVideoInterlaceMode"> - The possible values of the #GstVideoInterlaceMode describing the interlace + The possible values of the #GstVideoInterlaceMode describing the interlace mode of the stream. - all frames are progressive + all frames are progressive - 2 fields are interleaved in one video + 2 fields are interleaved in one video frame. Extra buffer flags describe the field order. - frames contains both interlaced and + frames contains both interlaced and progressive video, the buffer flags describe the frame and fields. - 2 fields are stored in one buffer, use the + 2 fields are stored in one buffer, use the frame ID to get access to the required field. For multiview (the 'views' property > 1) the fields of view N can be found at frame ID (N * 2) and (N * 2) + 1. @@ -8479,7 +14815,9 @@ mode of the stream. value="4" c:identifier="GST_VIDEO_INTERLACE_MODE_ALTERNATE" glib:nick="alternate"> - 1 field is stored in one buffer, + 1 field is stored in one buffer, @GST_VIDEO_BUFFER_FLAG_TF or @GST_VIDEO_BUFFER_FLAG_BF indicates if the buffer is carrying the top or bottom field, respectively. The top and bottom buffers are expected to alternate in the pipeline, with this mode @@ -8488,16 +14826,23 @@ mode of the stream. - Convert @mode to a #GstVideoInterlaceMode + Convert @mode to a #GstVideoInterlaceMode + - the #GstVideoInterlaceMode of @mode or + the #GstVideoInterlaceMode of @mode or #GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid string representation for a #GstVideoInterlaceMode. - a mode + a mode @@ -8505,102 +14850,390 @@ mode of the stream. - Convert @mode to its string representation. + Convert @mode to its string representation. + - @mode as a string or NULL if @mode in invalid. + @mode as a string or NULL if @mode in invalid. - a #GstVideoInterlaceMode + a #GstVideoInterlaceMode + + Mastering display color volume information defined by SMPTE ST 2086 +(a.k.a static HDR metadata). + + + the xy coordinates of primaries in the CIE 1931 color space. + the index 0 contains red, 1 is for green and 2 is for blue. + each value is normalized to 50000 (meaning that in unit of 0.00002) + + + + + + the xy coordinates of white point in the CIE 1931 color space. + each value is normalized to 50000 (meaning that in unit of 0.00002) + + + + the maximum value of display luminance + in unit of 0.0001 candelas per square metre (cd/m^2 and nit) + + + + the minimum value of display luminance + in unit of 0.0001 candelas per square metre (cd/m^2 and nit) + + + + + + + + + Set string representation of @minfo to @caps + + + %TRUE if @minfo was successfully set to @caps + + + + + a #GstVideoMasteringDisplayInfo + + + + a #GstCaps + + + + + + Parse @caps and update @minfo + + + %TRUE if @caps has #GstVideoMasteringDisplayInfo and could be parsed + + + + + a #GstVideoMasteringDisplayInfo + + + + a #GstCaps + + + + + + Initialize @minfo + + + + + + + a #GstVideoMasteringDisplayInfo + + + + + + Checks equality between @minfo and @other. + + + %TRUE if @minfo and @other are equal. + + + + + a #GstVideoMasteringDisplayInfo + + + + a #GstVideoMasteringDisplayInfo + + + + + + Convert @minfo to its string representation + + + a string representation of @minfo + + + + + a #GstVideoMasteringDisplayInfo + + + + + + Extract #GstVideoMasteringDisplayInfo from @mastering + + + %TRUE if @minfo was filled with @mastering + + + + + a #GstVideoMasteringDisplayInfo + + + + a #GstStructure representing #GstVideoMasteringDisplayInfo + + + + + + + Used to represent display_primaries and white_point of +#GstVideoMasteringDisplayInfo struct. See #GstVideoMasteringDisplayInfo + + + the x coordinate of CIE 1931 color space in unit of 0.00002. + + + + the y coordinate of CIE 1931 color space in unit of 0.00002. + + + - Different color matrix conversion modes + Different color matrix conversion modes - do conversion between color matrices + do conversion between color matrices - use the input color matrix to convert + use the input color matrix to convert to and from R'G'B - use the output color matrix to convert + use the output color matrix to convert to and from R'G'B - disable color matrix conversion. + disable color matrix conversion. - Extra buffer metadata describing image properties + Extra buffer metadata describing image properties + +This meta can also be used by downstream elements to specifiy their +buffer layout requirements for upstream. Upstream should try to +fit those requirements, if possible, in order to prevent buffer copies. + +This is done by passing a custom #GstStructure to +gst_query_add_allocation_meta() when handling the ALLOCATION query. +This structure should be named 'video-meta' and can have the following +fields: +- padding-top (uint): extra pixels on the top +- padding-bottom (uint): extra pixels on the bottom +- padding-left (uint): extra pixels on the left side +- padding-right (uint): extra pixels on the right side +The padding fields have the same semantic as #GstVideoMeta.alignment +and so represent the paddings requested on produced video buffers. + - parent #GstMeta + parent #GstMeta - the buffer this metadata belongs to + the buffer this metadata belongs to - additional video flags + additional video flags - the video format + the video format - identifier of the frame + identifier of the frame - the video width + the video width - the video height + the video height - the number of planes in the image + the number of planes in the image - array of offsets for the planes. This field might not always be + array of offsets for the planes. This field might not always be valid, it is used by the default implementation of @map. - + - array of strides for the planes. This field might not always be + array of strides for the planes. This field might not always be valid, it is used by the default implementation of @map. - + + @@ -8628,6 +15261,8 @@ mode of the stream. + @@ -8644,24 +15279,116 @@ mode of the stream. - - Map the video plane with index @plane in @meta and return a pointer to the -first byte of the plane and the stride of the plane. + + the paddings and alignment constraints of the video buffer. +It is up to the caller of `gst_buffer_add_video_meta_full()` to set it +using gst_video_meta_set_alignment(), if they did not it defaults +to no padding and no alignment. Since: 1.18 + + + + Compute the padded height of each plane from @meta (padded size +divided by stride). + +It is not valid to call this function with a meta associated to a +TILED video format. + - TRUE if the map operation was successful. + %TRUE if @meta's alignment is valid and @plane_height has been +updated, %FALSE otherwise - a #GstVideoMeta + a #GstVideoMeta + + + + array used to store the plane height + + + + + + Compute the size, in bytes, of each video plane described in @meta including +any padding and alignment constraint defined in @meta->alignment. + + + %TRUE if @meta's alignment is valid and @plane_size has been +updated, %FALSE otherwise + + + + + a #GstVideoMeta + + + + array used to store the plane sizes + + + + + + Map the video plane with index @plane in @meta and return a pointer to the +first byte of the plane and the stride of the plane. + + + TRUE if the map operation was successful. + + + + + a #GstVideoMeta - a plane + a plane - a #GstMapInfo + a #GstMapInfo caller-allocates="0" transfer-ownership="full" nullable="1"> - the data of @plane + the data of @plane - the stride of @plane + the stride of @plane - @GstMapFlags + @GstMapFlags - - Unmap a previously mapped plane with gst_video_meta_map(). + + Set the alignment of @meta to @alignment. This function checks that +the paddings defined in @alignment are compatible with the strides +defined in @meta and will fail to update if they are not. + - TRUE if the memory was successfully unmapped. + %TRUE if @alignment's meta has been updated, %FALSE if not - a #GstVideoMeta + a #GstVideoMeta + + + + a #GstVideoAlignment + + + + + + Unmap a previously mapped plane with gst_video_meta_map(). + + + TRUE if the memory was successfully unmapped. + + + + + a #GstVideoMeta - a plane + a plane - a #GstMapInfo + a #GstMapInfo + - Extra data passed to a video transform #GstMetaTransformFunction such as: + Extra data passed to a video transform #GstMetaTransformFunction such as: "gst-video-scale". + - the input #GstVideoInfo + the input #GstVideoInfo - the output #GstVideoInfo + the output #GstVideoInfo - Get the #GQuark for the "gst-video-scale" metadata transform operation. + Get the #GQuark for the "gst-video-scale" metadata transform operation. + - a #GQuark + a #GQuark @@ -8736,55 +15528,71 @@ first byte of the plane and the stride of the plane. glib:type-name="GstVideoMultiviewFlags" glib:get-type="gst_video_multiview_flags_get_type" c:type="GstVideoMultiviewFlags"> - GstVideoMultiviewFlags are used to indicate extra properties of a + GstVideoMultiviewFlags are used to indicate extra properties of a stereo/multiview stream beyond the frame layout and buffer mapping that is conveyed in the #GstVideoMultiviewMode. - No flags + No flags - For stereo streams, the + For stereo streams, the normal arrangement of left and right views is reversed. - The left view is vertically + The left view is vertically mirrored. - The left view is horizontally + The left view is horizontally mirrored. - The right view is + The right view is vertically mirrored. - The right view is + The right view is horizontally mirrored. - For frame-packed + For frame-packed multiview modes, indicates that the individual views have been encoded with half the true width or height and should be scaled back up for display. This flag @@ -8798,7 +15606,9 @@ that is conveyed in the #GstVideoMultiviewMode. value="32768" c:identifier="GST_VIDEO_MULTIVIEW_FLAGS_MIXED_MONO" glib:nick="mixed-mono"> - The video stream contains both + The video stream contains both mono and multiview portions, signalled on each buffer by the absence or presence of the @GST_VIDEO_BUFFER_FLAG_MULTIPLE_VIEW buffer flag. @@ -8810,12 +15620,17 @@ that is conveyed in the #GstVideoMultiviewMode. glib:type-name="GstVideoMultiviewFlagsSet" glib:get-type="gst_video_multiview_flagset_get_type" glib:fundamental="1"> + See #GstVideoMultiviewFlags. - #GstVideoMultiviewFramePacking represents the subset of #GstVideoMultiviewMode + #GstVideoMultiviewFramePacking represents the subset of #GstVideoMultiviewMode values that can be applied to any video frame without needing extra metadata. It can be used by elements that provide a property to override the multiview interpretation of a video stream when the video doesn't contain @@ -8828,39 +15643,51 @@ equivalent to and have the same value as the matching #GstVideoMultiviewMode. - A special value indicating + A special value indicating no frame packing info. - All frames are monoscopic. + All frames are monoscopic. - All frames represent a left-eye view. + All frames represent a left-eye view. - All frames represent a right-eye view. + All frames represent a right-eye view. - Left and right eye views are + Left and right eye views are provided in the left and right half of the frame respectively. - Left and right eye + Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views. @@ -8869,28 +15696,36 @@ between the 2 views. value="5" c:identifier="GST_VIDEO_MULTIVIEW_FRAME_PACKING_COLUMN_INTERLEAVED" glib:nick="column-interleaved"> - Alternating vertical + Alternating vertical columns of pixels represent the left and right eye view respectively. - Alternating horizontal + Alternating horizontal rows of pixels represent the left and right eye view respectively. - The top half of the frame + The top half of the frame contains the left eye, and the bottom half the right eye. - Pixels are arranged with + Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion. @@ -8899,14 +15734,18 @@ checkerboard fashion. glib:type-name="GstVideoMultiviewMode" glib:get-type="gst_video_multiview_mode_get_type" c:type="GstVideoMultiviewMode"> - All possible stereoscopic 3D and multiview representations. + All possible stereoscopic 3D and multiview representations. In conjunction with #GstVideoMultiviewFlags, describes how multiview content is being transported in the stream. - A special value indicating + A special value indicating no multiview information. Used in GstVideoInfo and other places to indicate that no specific multiview handling has been requested or provided. This value is never carried on caps. @@ -8915,32 +15754,42 @@ provided. This value is never carried on caps. value="0" c:identifier="GST_VIDEO_MULTIVIEW_MODE_MONO" glib:nick="mono"> - All frames are monoscopic. + All frames are monoscopic. - All frames represent a left-eye view. + All frames represent a left-eye view. - All frames represent a right-eye view. + All frames represent a right-eye view. - Left and right eye views are + Left and right eye views are provided in the left and right half of the frame respectively. - Left and right eye + Left and right eye views are provided in the left and right half of the frame, but have been sampled using quincunx method, with half-pixel offset between the 2 views. @@ -8949,28 +15798,36 @@ between the 2 views. value="5" c:identifier="GST_VIDEO_MULTIVIEW_MODE_COLUMN_INTERLEAVED" glib:nick="column-interleaved"> - Alternating vertical + Alternating vertical columns of pixels represent the left and right eye view respectively. - Alternating horizontal + Alternating horizontal rows of pixels represent the left and right eye view respectively. - The top half of the frame + The top half of the frame contains the left eye, and the bottom half the right eye. - Pixels are arranged with + Pixels are arranged with alternating pixels representing left and right eye views in a checkerboard fashion. @@ -8978,33 +15835,43 @@ checkerboard fashion. value="32" c:identifier="GST_VIDEO_MULTIVIEW_MODE_FRAME_BY_FRAME" glib:nick="frame-by-frame"> - Left and right eye views + Left and right eye views are provided in separate frames alternately. - Multiple + Multiple independent views are provided in separate frames in sequence. This method only applies to raw video buffers at the moment. -Specific view identification is via the #GstVideoMultiviewMeta +Specific view identification is via the `GstVideoMultiviewMeta` and #GstVideoMeta(s) on raw video buffers. - Multiple views are + Multiple views are provided as separate #GstMemory framebuffers attached to each -#GstBuffer, described by the #GstVideoMultiviewMeta +#GstBuffer, described by the `GstVideoMultiviewMeta` and #GstVideoMeta(s) + - The #GstVideoMultiviewMode value + The #GstVideoMultiviewMode value Given a string from a caps multiview-mode field, output the corresponding #GstVideoMultiviewMode @@ -9013,7 +15880,9 @@ or #GST_VIDEO_MULTIVIEW_MODE_NONE - multiview-mode field string from caps + multiview-mode field string from caps @@ -9021,8 +15890,12 @@ or #GST_VIDEO_MULTIVIEW_MODE_NONE + - The caps string representation of the mode, or NULL if invalid. + The caps string representation of the mode, or NULL if invalid. Given a #GstVideoMultiviewMode returns the multiview-mode caps string for insertion into a caps structure @@ -9030,7 +15903,9 @@ for insertion into a caps structure - A #GstVideoMultiviewMode value + A #GstVideoMultiviewMode value @@ -9042,320 +15917,484 @@ for insertion into a caps structure glib:type-name="GstVideoOrientation" glib:get-type="gst_video_orientation_get_type" glib:type-struct="VideoOrientationInterface"> - The interface allows unified access to control flipping and autocenter + The interface allows unified access to control flipping and autocenter operation of video-sources or operators. + - Get the horizontal centering offset from the given object. + Get the horizontal centering offset from the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Get the horizontal flipping state (%TRUE for flipped) from the given object. + Get the horizontal flipping state (%TRUE for flipped) from the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Get the vertical centering offset from the given object. + Get the vertical centering offset from the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Get the vertical flipping state (%TRUE for flipped) from the given object. + Get the vertical flipping state (%TRUE for flipped) from the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Set the horizontal centering offset for the given object. + Set the horizontal centering offset for the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - centering offset + centering offset - Set the horizontal flipping state (%TRUE for flipped) for the given object. + Set the horizontal flipping state (%TRUE for flipped) for the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - use flipping + use flipping - Set the vertical centering offset for the given object. + Set the vertical centering offset for the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - centering offset + centering offset - Set the vertical flipping state (%TRUE for flipped) for the given object. + Set the vertical flipping state (%TRUE for flipped) for the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - use flipping + use flipping - Get the horizontal centering offset from the given object. + Get the horizontal centering offset from the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Get the horizontal flipping state (%TRUE for flipped) from the given object. + Get the horizontal flipping state (%TRUE for flipped) from the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Get the vertical centering offset from the given object. + Get the vertical centering offset from the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Get the vertical flipping state (%TRUE for flipped) from the given object. + Get the vertical flipping state (%TRUE for flipped) from the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result - Set the horizontal centering offset for the given object. + Set the horizontal centering offset for the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - centering offset + centering offset - Set the horizontal flipping state (%TRUE for flipped) for the given object. + Set the horizontal flipping state (%TRUE for flipped) for the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - use flipping + use flipping - Set the vertical centering offset for the given object. + Set the vertical centering offset for the given object. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - centering offset + centering offset - Set the vertical flipping state (%TRUE for flipped) for the given object. + Set the vertical flipping state (%TRUE for flipped) for the given object. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - use flipping + use flipping @@ -9364,27 +16403,41 @@ operation of video-sources or operators. - #GstVideoOrientationInterface interface. + #GstVideoOrientationInterface interface. + - parent interface type. + parent interface type. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result @@ -9392,20 +16445,28 @@ operation of video-sources or operators. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result @@ -9413,20 +16474,28 @@ operation of video-sources or operators. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result @@ -9434,20 +16503,28 @@ operation of video-sources or operators. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - return location for the result + return location for the result @@ -9455,17 +16532,25 @@ operation of video-sources or operators. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - use flipping + use flipping @@ -9473,17 +16558,25 @@ operation of video-sources or operators. + - %TRUE in case the element supports flipping + %TRUE in case the element supports flipping - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - use flipping + use flipping @@ -9491,17 +16584,25 @@ operation of video-sources or operators. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - centering offset + centering offset @@ -9509,17 +16610,25 @@ operation of video-sources or operators. + - %TRUE in case the element supports centering + %TRUE in case the element supports centering - #GstVideoOrientation interface of a #GstElement + #GstVideoOrientation interface of a #GstElement - centering offset + centering offset @@ -9531,66 +16640,88 @@ operation of video-sources or operators. glib:type-name="GstVideoOrientationMethod" glib:get-type="gst_video_orientation_method_get_type" c:type="GstVideoOrientationMethod"> - The different video orientation methods. + The different video orientation methods. - Identity (no rotation) + Identity (no rotation) - Rotate clockwise 90 degrees + Rotate clockwise 90 degrees - Rotate 180 degrees + Rotate 180 degrees - Rotate counter-clockwise 90 degrees + Rotate counter-clockwise 90 degrees - Flip horizontally + Flip horizontally - Flip vertically + Flip vertically - Flip across upper left/lower right diagonal + Flip across upper left/lower right diagonal - Flip across upper right/lower left diagonal + Flip across upper right/lower left diagonal - Select flip method based on image-orientation tag + Select flip method based on image-orientation tag - Current status depends on plugin internal setup + Current status depends on plugin internal setup glib:type-name="GstVideoOverlay" glib:get-type="gst_video_overlay_get_type" glib:type-struct="VideoOverlayInterface"> - The #GstVideoOverlay interface is used for 2 main purposes : + The #GstVideoOverlay interface is used for 2 main purposes : * To get a grab on the Window where the video sink element is going to render. This is achieved by either being informed about the Window identifier that @@ -9660,7 +16793,7 @@ main (int argc, char **argv) ## Two basic usage scenarios There are two basic usage scenarios: in the simplest case, the application -uses #playbin or #plasink or knows exactly what particular element is used +uses #playbin or #playsink or knows exactly what particular element is used for video output, which is usually the case when the application creates the videosink to use (e.g. #xvimagesink, #ximagesink, etc.) itself; in this case, the application can just create the videosink element, create and @@ -9693,10 +16826,10 @@ prepare-window-handle message is handled, because most GUI toolkits and windowing systems are not thread-safe at all and a lot of care would be required to co-ordinate the toolkit and window system calls of the different threads (Gtk+ users please note: prior to Gtk+ 2.18 -GDK_WINDOW_XID() was just a simple structure access, so generally fine to do +`GDK_WINDOW_XID` was just a simple structure access, so generally fine to do within the bus sync handler; this macro was changed to a function call in Gtk+ 2.18 and later, which is likely to cause problems when called from a -sync handler; see below for a better approach without GDK_WINDOW_XID() +sync handler; see below for a better approach without `GDK_WINDOW_XID` used in the callback). ## GstVideoOverlay and Gtk+ @@ -9803,13 +16936,13 @@ main (int argc, char **argv) ## GstVideoOverlay and Qt |[ -#include &lt;glib.h&gt; -#include &lt;gst/gst.h&gt; -#include &lt;gst/video/videooverlay.h&gt; +#include <glib.h>; +#include <gst/gst.h>; +#include <gst/video/videooverlay.h>; -#include &lt;QApplication&gt; -#include &lt;QTimer&gt; -#include &lt;QWidget&gt; +#include <QApplication>; +#include <QTimer>; +#include <QWidget>; int main(int argc, char *argv[]) { @@ -9857,93 +16990,130 @@ int main(int argc, char *argv[]) return ret; } ]| + - This helper shall be used by classes implementing the #GstVideoOverlay + c:identifier="gst_video_overlay_install_properties" + version="1.14"> + This helper shall be used by classes implementing the #GstVideoOverlay interface that want the render rectangle to be controllable using properties. This helper will install "render-rectangle" property into the -class. - -Since 1.14 +class. + - The class on which the properties will be installed + The class on which the properties will be installed - The first free property ID to use + The first free property ID to use - This helper shall be used by classes implementing the #GstVideoOverlay + c:identifier="gst_video_overlay_set_property" + version="1.14"> + This helper shall be used by classes implementing the #GstVideoOverlay interface that want the render rectangle to be controllable using properties. This helper will parse and set the render rectangle calling gst_video_overlay_set_render_rectangle(). + - %TRUE if the @property_id matches the GstVideoOverlay property - -Since 1.14 + %TRUE if the @property_id matches the GstVideoOverlay property - The instance on which the property is set + The instance on which the property is set - The highest property ID. + The highest property ID. - The property ID + The property ID - The #GValue to be set + The #GValue to be set - Tell an overlay that it has been exposed. This will redraw the current frame + Tell an overlay that it has been exposed. This will redraw the current frame in the drawable even if the pipeline is PAUSED. + - a #GstVideoOverlay to expose. + a #GstVideoOverlay to expose. - Tell an overlay that it should handle events from the window system. These + Tell an overlay that it should handle events from the window system. These events are forwarded upstream as navigation events. In some window system, events are not propagated in the window hierarchy if a client is listening for them. This method allows you to disable events handling completely from the #GstVideoOverlay. + - a #GstVideoOverlay to expose. + a #GstVideoOverlay to expose. - a #gboolean indicating if events should be handled or not. + a #gboolean indicating if events should be handled or not. + @@ -9966,98 +17136,136 @@ from the #GstVideoOverlay. - This will call the video overlay's set_window_handle method. You + This will call the video overlay's set_window_handle method. You should use this method to tell to an overlay to display video output to a specific window (e.g. an XWindow on X11). Passing 0 as the @handle will tell the overlay to stop using that window and create an internal one. + - a #GstVideoOverlay to set the window on. + a #GstVideoOverlay to set the window on. - a handle referencing the window. + a handle referencing the window. - Tell an overlay that it has been exposed. This will redraw the current frame + Tell an overlay that it has been exposed. This will redraw the current frame in the drawable even if the pipeline is PAUSED. + - a #GstVideoOverlay to expose. + a #GstVideoOverlay to expose. - This will post a "have-window-handle" element message on the bus. + This will post a "have-window-handle" element message on the bus. This function should only be used by video overlay plugin developers. + - a #GstVideoOverlay which got a window + a #GstVideoOverlay which got a window - a platform-specific handle referencing the window + a platform-specific handle referencing the window - Tell an overlay that it should handle events from the window system. These + Tell an overlay that it should handle events from the window system. These events are forwarded upstream as navigation events. In some window system, events are not propagated in the window hierarchy if a client is listening for them. This method allows you to disable events handling completely from the #GstVideoOverlay. + - a #GstVideoOverlay to expose. + a #GstVideoOverlay to expose. - a #gboolean indicating if events should be handled or not. + a #gboolean indicating if events should be handled or not. - This will post a "prepare-window-handle" element message on the bus + This will post a "prepare-window-handle" element message on the bus to give applications an opportunity to call gst_video_overlay_set_window_handle() before a plugin creates its own window. This function should only be used by video overlay plugin developers. + - a #GstVideoOverlay which does not yet have an Window handle set + a #GstVideoOverlay which does not yet have an Window handle set - Configure a subregion as a video target within the window set by + Configure a subregion as a video target within the window set by gst_video_overlay_set_window_handle(). If this is not used or not supported the video will fill the area of the window set as the overlay to 100%. By specifying the rectangle, the video can be overlayed to a specific region @@ -10067,49 +17275,71 @@ the @width and @height parameters. This method is needed for non fullscreen video overlay in UI toolkits that do not support subwindows. + - %FALSE if not supported by the sink. + %FALSE if not supported by the sink. - a #GstVideoOverlay + a #GstVideoOverlay - the horizontal offset of the render area inside the window + the horizontal offset of the render area inside the window - the vertical offset of the render area inside the window + the vertical offset of the render area inside the window - the width of the render area inside the window + the width of the render area inside the window - the height of the render area inside the window + the height of the render area inside the window - This will call the video overlay's set_window_handle method. You + This will call the video overlay's set_window_handle method. You should use this method to tell to an overlay to display video output to a specific window (e.g. an XWindow on X11). Passing 0 as the @handle will tell the overlay to stop using that window and create an internal one. + - a #GstVideoOverlay to set the window on. + a #GstVideoOverlay to set the window on. - a handle referencing the window. + a handle referencing the window. @@ -10120,7 +17350,9 @@ tell the overlay to stop using that window and create an internal one. glib:type-name="GstVideoOverlayComposition" glib:get-type="gst_video_overlay_composition_get_type" c:symbol-prefix="video_overlay_composition"> - Functions to create and handle overlay compositions on video buffers. + Functions to create and handle overlay compositions on video buffers. An overlay composition describes one or more overlay rectangles to be blended on top of a video buffer. @@ -10142,18 +17374,28 @@ have been put into a #GstVideoOverlayComposition object anyway) - for raw video the overlay can just use the blending function to blend the data on top of the video, and for surface buffers it can just attach them to the buffer and let the sink render the overlays. + - Creates a new video overlay composition object to hold one or more + Creates a new video overlay composition object to hold one or more overlay rectangles. + - a new #GstVideoOverlayComposition. Unref with + a new #GstVideoOverlayComposition. Unref with gst_video_overlay_composition_unref() when no longer needed. - a #GstVideoOverlayRectangle to add to the + a #GstVideoOverlayRectangle to add to the composition @@ -10162,19 +17404,27 @@ overlay rectangles. - Adds an overlay rectangle to an existing overlay composition object. This + Adds an overlay rectangle to an existing overlay composition object. This must be done right after creating the overlay composition. + - a #GstVideoOverlayComposition + a #GstVideoOverlayComposition - a #GstVideoOverlayRectangle to add to the + a #GstVideoOverlayRectangle to add to the composition @@ -10182,43 +17432,59 @@ must be done right after creating the overlay composition. - Blends the overlay rectangles in @comp on top of the raw video data + Blends the overlay rectangles in @comp on top of the raw video data contained in @video_buf. The data in @video_buf must be writable and mapped appropriately. Since @video_buf data is read and will be modified, it ought be mapped with flag GST_MAP_READWRITE. + - a #GstVideoOverlayComposition + a #GstVideoOverlayComposition - a #GstVideoFrame containing raw video data in a + a #GstVideoFrame containing raw video data in a supported format. It should be mapped using GST_MAP_READWRITE - Makes a copy of @comp and all contained rectangles, so that it is possible + Makes a copy of @comp and all contained rectangles, so that it is possible to modify the composition and contained rectangles (e.g. add additional rectangles or change the render co-ordinates or render dimension). The actual overlay pixel data buffers contained in the rectangles are not copied. + - a new #GstVideoOverlayComposition equivalent + a new #GstVideoOverlayComposition equivalent to @comp. - a #GstVideoOverlayComposition to copy + a #GstVideoOverlayComposition to copy @@ -10226,9 +17492,15 @@ copied. - Returns the @n-th #GstVideoOverlayRectangle contained in @comp. + Returns the @n-th #GstVideoOverlayRectangle contained in @comp. + - the @n-th rectangle, or NULL if @n is out of + the @n-th rectangle, or NULL if @n is out of bounds. Will not return a new reference, the caller will need to obtain her own reference using gst_video_overlay_rectangle_ref() if needed. @@ -10237,29 +17509,41 @@ copied. - a #GstVideoOverlayComposition + a #GstVideoOverlayComposition - number of the rectangle to get + number of the rectangle to get - Returns the sequence number of this composition. Sequence numbers are + Returns the sequence number of this composition. Sequence numbers are monotonically increasing and unique for overlay compositions and rectangles (meaning there will never be a rectangle with the same sequence number as a composition). + - the sequence number of @comp + the sequence number of @comp - a #GstVideoOverlayComposition + a #GstVideoOverlayComposition @@ -10267,20 +17551,28 @@ a composition). - Takes ownership of @comp and returns a version of @comp that is writable + Takes ownership of @comp and returns a version of @comp that is writable (i.e. can be modified). Will either return @comp right away, or create a new writable copy of @comp and unref @comp itself. All the contained rectangles will also be copied, but the actual overlay pixel data buffers contained in the rectangles are not copied. + - a writable #GstVideoOverlayComposition + a writable #GstVideoOverlayComposition equivalent to @comp. - a #GstVideoOverlayComposition to copy + a #GstVideoOverlayComposition to copy @@ -10288,14 +17580,22 @@ contained in the rectangles are not copied. - Returns the number of #GstVideoOverlayRectangle<!-- -->s contained in @comp. + Returns the number of #GstVideoOverlayRectangle<!-- -->s contained in @comp. + - the number of rectangles + the number of rectangles - a #GstVideoOverlayComposition + a #GstVideoOverlayComposition @@ -10304,18 +17604,28 @@ contained in the rectangles are not copied. - Extra buffer metadata describing image overlay data. + Extra buffer metadata describing image overlay data. + - parent #GstMeta + parent #GstMeta - the attached #GstVideoOverlayComposition + the attached #GstVideoOverlayComposition + @@ -10325,42 +17635,59 @@ contained in the rectangles are not copied. glib:type-name="GstVideoOverlayFormatFlags" glib:get-type="gst_video_overlay_format_flags_get_type" c:type="GstVideoOverlayFormatFlags"> - Overlay format flags. + Overlay format flags. - no flags + no flags - RGB are premultiplied by A/255. + RGB are premultiplied by A/255. - a global-alpha value != 1 is set. + a global-alpha value != 1 is set. - #GstVideoOverlay interface + #GstVideoOverlay interface + - parent interface type. + parent interface type. + - a #GstVideoOverlay to expose. + a #GstVideoOverlay to expose. @@ -10368,16 +17695,22 @@ contained in the rectangles are not copied. + - a #GstVideoOverlay to expose. + a #GstVideoOverlay to expose. - a #gboolean indicating if events should be handled or not. + a #gboolean indicating if events should be handled or not. @@ -10385,6 +17718,8 @@ contained in the rectangles are not copied. + @@ -10409,16 +17744,22 @@ contained in the rectangles are not copied. + - a #GstVideoOverlay to set the window on. + a #GstVideoOverlay to set the window on. - a handle referencing the window. + a handle referencing the window. @@ -10430,11 +17771,17 @@ contained in the rectangles are not copied. glib:type-name="GstVideoOverlayRectangle" glib:get-type="gst_video_overlay_rectangle_get_type" c:symbol-prefix="video_overlay_rectangle"> - An opaque video overlay rectangle object. A rectangle contains a single + An opaque video overlay rectangle object. A rectangle contains a single overlay rectangle which can be added to a composition. + - Creates a new video overlay rectangle with ARGB or AYUV pixel data. + Creates a new video overlay rectangle with ARGB or AYUV pixel data. The layout in case of ARGB of the components in memory is B-G-R-A on little-endian platforms (corresponding to #GST_VIDEO_FORMAT_BGRA) and A-R-G-B on big-endian @@ -10445,56 +17792,80 @@ component value. Unless specified in the flags, the RGB values are non-premultiplied. This is the format that is used by most hardware, and also many rendering libraries such as Cairo, for example. The pixel data buffer must have #GstVideoMeta set. + - a new #GstVideoOverlayRectangle. Unref with + a new #GstVideoOverlayRectangle. Unref with gst_video_overlay_rectangle_unref() when no longer needed. - a #GstBuffer pointing to the pixel memory + a #GstBuffer pointing to the pixel memory - the X co-ordinate on the video where the top-left corner of this + the X co-ordinate on the video where the top-left corner of this overlay rectangle should be rendered to - the Y co-ordinate on the video where the top-left corner of this + the Y co-ordinate on the video where the top-left corner of this overlay rectangle should be rendered to - the render width of this rectangle on the video + the render width of this rectangle on the video - the render height of this rectangle on the video + the render height of this rectangle on the video - flags + flags - Makes a copy of @rectangle, so that it is possible to modify it + Makes a copy of @rectangle, so that it is possible to modify it (e.g. to change the render co-ordinates or render dimension). The actual overlay pixel data buffers contained in the rectangle are not copied. + - a new #GstVideoOverlayRectangle equivalent + a new #GstVideoOverlayRectangle equivalent to @rectangle. - a #GstVideoOverlayRectangle to copy + a #GstVideoOverlayRectangle to copy @@ -10502,19 +17873,27 @@ copied. - Retrieves the flags associated with a #GstVideoOverlayRectangle. + Retrieves the flags associated with a #GstVideoOverlayRectangle. This is useful if the caller can handle both premultiplied alpha and non premultiplied alpha, for example. By knowing whether the rectangle uses premultiplied or not, it can request the pixel data in the format it is stored in, to avoid unnecessary conversion. + - the #GstVideoOverlayFormatFlags associated with the rectangle. + the #GstVideoOverlayFormatFlags associated with the rectangle. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle @@ -10522,14 +17901,22 @@ it is stored in, to avoid unnecessary conversion. - Retrieves the global-alpha value associated with a #GstVideoOverlayRectangle. + Retrieves the global-alpha value associated with a #GstVideoOverlayRectangle. + - the global-alpha value associated with the rectangle. + the global-alpha value associated with the rectangle. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle @@ -10537,8 +17924,12 @@ it is stored in, to avoid unnecessary conversion. + - a #GstBuffer holding the ARGB pixel data with + a #GstBuffer holding the ARGB pixel data with width and height of the render dimensions as per gst_video_overlay_rectangle_get_render_rectangle(). This function does not return a reference, the caller should obtain a reference of her own @@ -10547,12 +17938,16 @@ it is stored in, to avoid unnecessary conversion. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - flags + flags If a global_alpha value != 1 is set for the rectangle, the caller should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag if he wants to apply global-alpha himself. If the flag is not set @@ -10564,8 +17959,12 @@ it is stored in, to avoid unnecessary conversion. + - a #GstBuffer holding the AYUV pixel data with + a #GstBuffer holding the AYUV pixel data with width and height of the render dimensions as per gst_video_overlay_rectangle_get_render_rectangle(). This function does not return a reference, the caller should obtain a reference of her own @@ -10574,12 +17973,16 @@ it is stored in, to avoid unnecessary conversion. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - flags + flags If a global_alpha value != 1 is set for the rectangle, the caller should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag if he wants to apply global-alpha himself. If the flag is not set @@ -10591,8 +17994,12 @@ it is stored in, to avoid unnecessary conversion. + - a #GstBuffer holding the pixel data with + a #GstBuffer holding the pixel data with format as originally provided and specified in video meta with width and height of the render dimensions as per gst_video_overlay_rectangle_get_render_rectangle(). This function does @@ -10602,12 +18009,16 @@ it is stored in, to avoid unnecessary conversion. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - flags + flags If a global_alpha value != 1 is set for the rectangle, the caller should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag if he wants to apply global-alpha himself. If the flag is not set @@ -10619,24 +18030,34 @@ it is stored in, to avoid unnecessary conversion. - Retrieves the pixel data as it is. This is useful if the caller can + Retrieves the pixel data as it is. This is useful if the caller can do the scaling itself when handling the overlaying. The rectangle will need to be scaled to the render dimensions, which can be retrieved using gst_video_overlay_rectangle_get_render_rectangle(). + - a #GstBuffer holding the ARGB pixel data with + a #GstBuffer holding the ARGB pixel data with #GstVideoMeta set. This function does not return a reference, the caller should obtain a reference of her own with gst_buffer_ref() if needed. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - flags. + flags. If a global_alpha value != 1 is set for the rectangle, the caller should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag if he wants to apply global-alpha himself. If the flag is not set @@ -10648,24 +18069,34 @@ gst_video_overlay_rectangle_get_render_rectangle(). - Retrieves the pixel data as it is. This is useful if the caller can + Retrieves the pixel data as it is. This is useful if the caller can do the scaling itself when handling the overlaying. The rectangle will need to be scaled to the render dimensions, which can be retrieved using gst_video_overlay_rectangle_get_render_rectangle(). + - a #GstBuffer holding the AYUV pixel data with + a #GstBuffer holding the AYUV pixel data with #GstVideoMeta set. This function does not return a reference, the caller should obtain a reference of her own with gst_buffer_ref() if needed. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - flags. + flags. If a global_alpha value != 1 is set for the rectangle, the caller should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag if he wants to apply global-alpha himself. If the flag is not set @@ -10677,24 +18108,34 @@ gst_video_overlay_rectangle_get_render_rectangle(). - Retrieves the pixel data as it is. This is useful if the caller can + Retrieves the pixel data as it is. This is useful if the caller can do the scaling itself when handling the overlaying. The rectangle will need to be scaled to the render dimensions, which can be retrieved using gst_video_overlay_rectangle_get_render_rectangle(). + - a #GstBuffer holding the pixel data with + a #GstBuffer holding the pixel data with #GstVideoMeta set. This function does not return a reference, the caller should obtain a reference of her own with gst_buffer_ref() if needed. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - flags. + flags. If a global_alpha value != 1 is set for the rectangle, the caller should set the #GST_VIDEO_OVERLAY_FORMAT_FLAG_GLOBAL_ALPHA flag if he wants to apply global-alpha himself. If the flag is not set @@ -10706,15 +18147,23 @@ gst_video_overlay_rectangle_get_render_rectangle(). - Retrieves the render position and render dimension of the overlay + Retrieves the render position and render dimension of the overlay rectangle on the video. + - TRUE if valid render dimensions were retrieved. + TRUE if valid render dimensions were retrieved. - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle @@ -10724,7 +18173,9 @@ rectangle on the video. transfer-ownership="full" optional="1" allow-none="1"> - address where to store the X render offset + address where to store the X render offset transfer-ownership="full" optional="1" allow-none="1"> - address where to store the Y render offset + address where to store the Y render offset transfer-ownership="full" optional="1" allow-none="1"> - address where to store the render width + address where to store the render width transfer-ownership="full" optional="1" allow-none="1"> - address where to store the render height + address where to store the render height - Returns the sequence number of this rectangle. Sequence numbers are + Returns the sequence number of this rectangle. Sequence numbers are monotonically increasing and unique for overlay compositions and rectangles (meaning there will never be a rectangle with the same sequence number as a composition). @@ -10769,16 +18228,22 @@ gst_video_overlay_rectangle_set_global_alpha(), automatically update the per rectangle sequence number, which is misleading for renderers/ consumers, that handle global-alpha themselves. For them the pixel-data returned by gst_video_overlay_rectangle_get_pixels_*() -wont be different for different global-alpha values. In this case a +won't be different for different global-alpha values. In this case a renderer could also use the GstBuffer pointers as a hint for changed pixel-data. + - the sequence number of @rectangle + the sequence number of @rectangle - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle @@ -10786,7 +18251,9 @@ pixel-data. - Sets the global alpha value associated with a #GstVideoOverlayRectangle. Per- + Sets the global alpha value associated with a #GstVideoOverlayRectangle. Per- pixel alpha values are multiplied with this value. Valid values: 0 <= global_alpha <= 1; 1 to deactivate. @@ -10794,24 +18261,32 @@ values: 0 <= global_alpha <= 1; 1 to deactivate. make the rectangles inside a #GstVideoOverlayComposition writable using gst_video_overlay_composition_make_writable() or gst_video_overlay_composition_copy(). + - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - Global alpha value (0 to 1.0) + Global alpha value (0 to 1.0) - Sets the render position and dimensions of the rectangle on the video. + Sets the render position and dimensions of the rectangle on the video. This function is mainly for elements that modify the size of the video in some way (e.g. through scaling or cropping) and need to adjust the details of any overlays to match the operation that changed the size. @@ -10820,29 +18295,41 @@ details of any overlays to match the operation that changed the size. make the rectangles inside a #GstVideoOverlayComposition writable using gst_video_overlay_composition_make_writable() or gst_video_overlay_composition_copy(). + - a #GstVideoOverlayRectangle + a #GstVideoOverlayRectangle - render X position of rectangle on video + render X position of rectangle on video - render Y position of rectangle on video + render Y position of rectangle on video - render width of rectangle + render width of rectangle - render height of rectangle + render height of rectangle @@ -10852,20 +18339,26 @@ gst_video_overlay_composition_copy(). glib:type-name="GstVideoPackFlags" glib:get-type="gst_video_pack_flags_get_type" c:type="GstVideoPackFlags"> - The different flags that can be used when packing and unpacking. + The different flags that can be used when packing and unpacking. - No flag + No flag - When the source has a smaller depth + When the source has a smaller depth than the target format, set the least significant bits of the target - to 0. This is likely sightly faster but less accurate. When this flag + to 0. This is likely slightly faster but less accurate. When this flag is not specified, the most significant bits of the source are duplicated in the least significant bits of the destination. @@ -10873,9 +18366,11 @@ gst_video_overlay_composition_copy(). value="2" c:identifier="GST_VIDEO_PACK_FLAG_INTERLACED" glib:nick="interlaced"> - The source is interlaced. The unpacked + The source is interlaced. The unpacked format will be interlaced as well with each line containing - information from alternating fields. (Since 1.2) + information from alternating fields. (Since: 1.2) glib:type-name="GstVideoPrimariesMode" glib:get-type="gst_video_primaries_mode_get_type" c:type="GstVideoPrimariesMode"> - Different primaries conversion modes + Different primaries conversion modes - disable conversion between primaries + disable conversion between primaries - do conversion between primaries only + do conversion between primaries only when it can be merged with color matrix conversion. - fast conversion between primaries + fast conversion between primaries - Helper structure representing a rectangular area. + Helper structure representing a rectangular area. + - X coordinate of rectangle's top-left point + X coordinate of rectangle's top-left point - Y coordinate of rectangle's top-left point + Y coordinate of rectangle's top-left point - width of the rectangle + width of the rectangle - height of the rectangle + height of the rectangle - Extra buffer metadata describing an image region of interest + Extra buffer metadata describing an image region of interest + - parent #GstMeta + parent #GstMeta - GQuark describing the semantic of the Roi (f.i. a face, a pedestrian) + GQuark describing the semantic of the Roi (f.i. a face, a pedestrian) - identifier of this particular ROI + identifier of this particular ROI - identifier of its parent ROI, used f.i. for ROI hierarchisation. + identifier of its parent ROI, used f.i. for ROI hierarchisation. - x component of upper-left corner + x component of upper-left corner - y component of upper-left corner + y component of upper-left corner - bounding box width + bounding box width - bounding box height + bounding box height - list of #GstStructure containing element-specific params for downstream, see gst_video_region_of_interest_meta_add_params(). (Since: 1.14) + list of #GstStructure containing element-specific params for downstream, see gst_video_region_of_interest_meta_add_params(). (Since: 1.14) @@ -10967,7 +18503,9 @@ gst_video_overlay_composition_copy(). - Attach element-specific parameters to @meta meant to be used by downstream + Attach element-specific parameters to @meta meant to be used by downstream elements which may handle this ROI. The name of @s is used to identify the element these parameters are meant for. @@ -10976,17 +18514,23 @@ For example, a structure named "roi/x264enc" could be used to give the QP offsets this encoder should use when encoding the region described in @meta. Multiple parameters can be defined for the same meta so different encoders can be supported by cross platform applications). + - a #GstVideoRegionOfInterestMeta + a #GstVideoRegionOfInterestMeta - a #GstStructure + a #GstStructure @@ -10994,88 +18538,128 @@ can be supported by cross platform applications). - Retrieve the parameter for @meta having @name as structure name, + Retrieve the parameter for @meta having @name as structure name, or %NULL if there is none. See also: gst_video_region_of_interest_meta_add_param() + - a #GstStructure + a #GstStructure - a #GstVideoRegionOfInterestMeta + a #GstVideoRegionOfInterestMeta - a name. + a name. + - #GstVideoResampler is a structure which holds the information + #GstVideoResampler is a structure which holds the information required to perform various kinds of resampling filtering. + - the input size + the input size - the output size + the output size - the maximum number of taps + the maximum number of taps - the number of phases + the number of phases - array with the source offset for each output element + array with the source offset for each output element - array with the phase to use for each output element + array with the phase to use for each output element - array with new number of taps for each phase + array with new number of taps for each phase - the taps for all phases + the taps for all phases - + - Clear a previously initialized #GstVideoResampler @resampler. + Clear a previously initialized #GstVideoResampler @resampler. + - a #GstVideoResampler + a #GstVideoResampler + @@ -11116,20 +18700,26 @@ required to perform various kinds of resampling filtering. glib:type-name="GstVideoResamplerFlags" glib:get-type="gst_video_resampler_flags_get_type" c:type="GstVideoResamplerFlags"> - Different resampler flags. + Different resampler flags. - no flags + no flags - when no taps are given, half the + when no taps are given, half the number of calculated taps. This can be used when making scalers - for the different fields of an interlaced picture. Since 1.10 + for the different fields of an interlaced picture. Since: 1.10 glib:type-name="GstVideoResamplerMethod" glib:get-type="gst_video_resampler_method_get_type" c:type="GstVideoResamplerMethod"> - Different subsampling and upsampling methods + Different subsampling and upsampling methods - Duplicates the samples when + Duplicates the samples when upsampling and drops when downsampling - Uses linear interpolation to reconstruct + Uses linear interpolation to reconstruct missing samples and averaging to downsample - Uses cubic interpolation + Uses cubic interpolation - Uses sinc interpolation + Uses sinc interpolation - Uses lanczos interpolation + Uses lanczos interpolation - #GstVideoScaler is a utility object for rescaling and resampling + #GstVideoScaler is a utility object for rescaling and resampling video frames using various interpolation / sampling methods. + - Scale a rectangle of pixels in @src with @src_stride to @dest with + Scale a rectangle of pixels in @src with @src_stride to @dest with @dest_stride using the horizontal scaler @hscaler and the vertical scaler @vscale. @@ -11183,58 +18790,82 @@ One or both of @hscale and @vscale can be NULL to only perform scaling in one dimension or do a copy without scaling. @x and @y are the coordinates in the destination image to process. + - a horzontal #GstVideoScaler + a horizontal #GstVideoScaler - a vertical #GstVideoScaler + a vertical #GstVideoScaler - a #GstVideoFormat for @srcs and @dest + a #GstVideoFormat for @srcs and @dest - source pixels + source pixels - source pixels stride + source pixels stride - destination pixels + destination pixels - destination pixels stride + destination pixels stride - the horizontal destination offset + the horizontal destination offset - the vertical destination offset + the vertical destination offset - the number of output pixels to scale + the number of output pixels to scale - the number of output lines to scale + the number of output lines to scale @@ -11243,160 +18874,233 @@ one dimension or do a copy without scaling. c:identifier="gst_video_scaler_combine_packed_YUV" version="1.6" introspectable="0"> - Combine a scaler for Y and UV into one scaler for the packed @format. + Combine a scaler for Y and UV into one scaler for the packed @format. + - a new horizontal videoscaler for @format. + a new horizontal videoscaler for @format. - a scaler for the Y component + a scaler for the Y component - a scaler for the U and V components + a scaler for the U and V components - the input video format + the input video format - the output video format + the output video format - Free a previously allocated #GstVideoScaler @scale. + Free a previously allocated #GstVideoScaler @scale. + - a #GstVideoScaler + a #GstVideoScaler - For a given pixel at @out_offset, get the first required input pixel at + For a given pixel at @out_offset, get the first required input pixel at @in_offset and the @n_taps filter coefficients. Note that for interlaced content, @in_offset needs to be incremented with 2 to get the next input line. + - an array of @n_tap gdouble values with filter coefficients. + an array of @n_tap gdouble values with filter coefficients. - a #GstVideoScaler + a #GstVideoScaler - an output offset + an output offset - result input offset + result input offset - result n_taps + result n_taps - Get the maximum number of taps for @scale. + Get the maximum number of taps for @scale. + - the maximum number of taps + the maximum number of taps - a #GstVideoScaler + a #GstVideoScaler - Horizontally scale the pixels in @src to @dest, starting from @dest_offset + Horizontally scale the pixels in @src to @dest, starting from @dest_offset for @width samples. + - a #GstVideoScaler + a #GstVideoScaler - a #GstVideoFormat for @src and @dest + a #GstVideoFormat for @src and @dest - source pixels + source pixels - destination pixels + destination pixels - the horizontal destination offset + the horizontal destination offset - the number of pixels to scale + the number of pixels to scale - Vertically combine @width pixels in the lines in @src_lines to @dest. + Vertically combine @width pixels in the lines in @src_lines to @dest. @dest is the location of the target line at @dest_offset and -@srcs are the input lines for @dest_offset, as obtained with -gst_video_scaler_get_info(). +@srcs are the input lines for @dest_offset. + - a #GstVideoScaler + a #GstVideoScaler - a #GstVideoFormat for @srcs and @dest + a #GstVideoFormat for @srcs and @dest - source pixels lines + source pixels lines - destination pixels + destination pixels - the vertical destination offset + the vertical destination offset - the number of pixels to scale + the number of pixels to scale @@ -11404,43 +19108,61 @@ gst_video_scaler_get_info(). - Make a new @method video scaler. @in_size source lines/pixels will + Make a new @method video scaler. @in_size source lines/pixels will be scaled to @out_size destination lines/pixels. @n_taps specifies the amount of pixels to use from the source for one output pixel. If n_taps is 0, this function chooses a good value automatically based on the @method and @in_size/@out_size. + - a #GstVideoScaler + a #GstVideoScaler - a #GstVideoResamplerMethod + a #GstVideoResamplerMethod - #GstVideoScalerFlags + #GstVideoScalerFlags - number of taps to use + number of taps to use - number of source elements + number of source elements - number of destination elements + number of destination elements - extra options + extra options @@ -11450,18 +19172,24 @@ on the @method and @in_size/@out_size. glib:type-name="GstVideoScalerFlags" glib:get-type="gst_video_scaler_flags_get_type" c:type="GstVideoScalerFlags"> - Different scale flags. + Different scale flags. - no flags + no flags - Set up a scaler for interlaced content + Set up a scaler for interlaced content glib:type-name="GstVideoSink" glib:get-type="gst_video_sink_get_type" glib:type-struct="VideoSinkClass"> - Provides useful functions and a base class for video sinks. + Provides useful functions and a base class for video sinks. GstVideoSink will configure the default base sink to drop frames that arrive later than 20ms as this is considered the default threshold for observing out-of-sync frames. + - Takes @src rectangle and position it at the center of @dst rectangle with or + Takes @src rectangle and position it at the center of @dst rectangle with or without @scaling. It handles clipping if the @src rectangle is bigger than the @dst one and @scaling is set to FALSE. + - the #GstVideoRectangle describing the source area + the #GstVideoRectangle describing the source area - the #GstVideoRectangle describing the destination area + the #GstVideoRectangle describing the destination area - a pointer to a #GstVideoRectangle which will receive the result area + a pointer to a #GstVideoRectangle which will receive the result area - a #gboolean indicating if scaling should be applied or not + a #gboolean indicating if scaling should be applied or not + @@ -11519,7 +19265,9 @@ the @dst one and @scaling is set to FALSE. writable="1" construct="1" transfer-ownership="none"> - Whether to show video frames during preroll. If set to %FALSE, video + Whether to show video frames during preroll. If set to %FALSE, video frames will only be rendered in PLAYING state. @@ -11527,18 +19275,22 @@ frames will only be rendered in PLAYING state. - video width (derived class needs to set this) + video width (derived class needs to set this) - video height (derived class needs to set this) + video height (derived class needs to set this) - + @@ -11546,14 +19298,22 @@ frames will only be rendered in PLAYING state. - The video sink class structure. Derived classes should override the + The video sink class structure. Derived classes should override the @show_frame virtual function. + - the parent class structure + the parent class structure + @@ -11568,29 +19328,36 @@ frames will only be rendered in PLAYING state. - + + - Enum value describing the available tiling modes. + Enum value describing the available tiling modes. - Unknown or unset tile mode + Unknown or unset tile mode - Every four adjacent blocks - two + Every four adjacent blocks - two horizontally and two vertically are grouped together and are located in memory in Z or flipped Z order. In case of odd rows, the last row of blocks is arranged in linear order. @@ -11600,12 +19367,16 @@ frames will only be rendered in PLAYING state. glib:type-name="GstVideoTileType" glib:get-type="gst_video_tile_type_get_type" c:type="GstVideoTileType"> - Enum value describing the most common tiling types. + Enum value describing the most common tiling types. - Tiles are indexed. Use + Tiles are indexed. Use gst_video_tile_get_index () to retrieve the tile at the requested coordinates. @@ -11616,7 +19387,9 @@ frames will only be rendered in PLAYING state. glib:type-name="GstVideoTimeCode" glib:get-type="gst_video_time_code_get_type" c:symbol-prefix="video_time_code"> - @field_count must be 0 for progressive video and 1 or 2 for interlaced. + @field_count must be 0 for progressive video and 1 or 2 for interlaced. A representation of a SMPTE time code. @@ -11624,76 +19397,114 @@ A representation of a SMPTE time code. @minutes and @seconds must be positive and less than 60. @frames must be less than or equal to @config.fps_n / @config.fps_d These values are *NOT* automatically normalized. + - the corresponding #GstVideoTimeCodeConfig + the corresponding #GstVideoTimeCodeConfig - the hours field of #GstVideoTimeCode + the hours field of #GstVideoTimeCode - the minutes field of #GstVideoTimeCode + the minutes field of #GstVideoTimeCode - the seconds field of #GstVideoTimeCode + the seconds field of #GstVideoTimeCode - the frames field of #GstVideoTimeCode + the frames field of #GstVideoTimeCode - Interlaced video field count + Interlaced video field count - @field_count is 0 for progressive, 1 or 2 for interlaced. + @field_count is 0 for progressive, 1 or 2 for interlaced. @latest_daiy_jam reference is stolen from caller. + - a new #GstVideoTimeCode with the given values. + a new #GstVideoTimeCode with the given values. The values are not checked for being in a valid range. To see if your timecode actually has valid content, use gst_video_time_code_is_valid(). - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - The latest daily jam of the #GstVideoTimeCode + The latest daily jam of the #GstVideoTimeCode - #GstVideoTimeCodeFlags + #GstVideoTimeCodeFlags - the hours field of #GstVideoTimeCode + the hours field of #GstVideoTimeCode - the minutes field of #GstVideoTimeCode + the minutes field of #GstVideoTimeCode - the seconds field of #GstVideoTimeCode + the seconds field of #GstVideoTimeCode - the frames field of #GstVideoTimeCode + the frames field of #GstVideoTimeCode - Interlaced video field count + Interlaced video field count @@ -11701,43 +19512,63 @@ timecode actually has valid content, use gst_video_time_code_is_valid(). + - a new empty, invalid #GstVideoTimeCode + a new empty, invalid #GstVideoTimeCode - The resulting config->latest_daily_jam is set to + The resulting config->latest_daily_jam is set to midnight, and timecode is set to the given time. This might return a completely invalid timecode, use gst_video_time_code_new_from_date_time_full() to ensure that you would get %NULL instead in that case. + - the #GstVideoTimeCode representation of @dt. + the #GstVideoTimeCode representation of @dt. - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - #GDateTime to convert + #GDateTime to convert - #GstVideoTimeCodeFlags + #GstVideoTimeCodeFlags - Interlaced video field count + Interlaced video field count @@ -11745,32 +19576,48 @@ that you would get %NULL instead in that case. - The resulting config->latest_daily_jam is set to + The resulting config->latest_daily_jam is set to midnight, and timecode is set to the given time. + - the #GstVideoTimeCode representation of @dt, or %NULL if + the #GstVideoTimeCode representation of @dt, or %NULL if no valid timecode could be created. - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - #GDateTime to convert + #GDateTime to convert - #GstVideoTimeCodeFlags + #GstVideoTimeCodeFlags - Interlaced video field count + Interlaced video field count @@ -11778,14 +19625,20 @@ midnight, and timecode is set to the given time. + - a new #GstVideoTimeCode from the given string or %NULL + a new #GstVideoTimeCode from the given string or %NULL if the string could not be passed. - The string that represents the #GstVideoTimeCode + The string that represents the #GstVideoTimeCode @@ -11793,18 +19646,26 @@ midnight, and timecode is set to the given time. - Adds or subtracts @frames amount of frames to @tc. tc needs to + Adds or subtracts @frames amount of frames to @tc. tc needs to contain valid data, as verified by gst_video_time_code_is_valid(). + - a valid #GstVideoTimeCode + a valid #GstVideoTimeCode - How many frames to add or subtract + How many frames to add or subtract @@ -11812,26 +19673,36 @@ contain valid data, as verified by gst_video_time_code_is_valid(). - This makes a component-wise addition of @tc_inter to @tc. For example, + This makes a component-wise addition of @tc_inter to @tc. For example, adding ("01:02:03:04", "00:01:00:00") will return "01:03:03:04". When it comes to drop-frame timecodes, adding ("00:00:00;00", "00:01:00:00") will return "00:01:00;02" because of drop-frame oddities. However, adding ("00:09:00;02", "00:01:00:00") will return "00:10:00;00" because this time we can have an exact minute. + - A new #GstVideoTimeCode with @tc_inter added or %NULL + A new #GstVideoTimeCode with @tc_inter added or %NULL if the interval can't be added. - The #GstVideoTimeCode where the diff should be added. This + The #GstVideoTimeCode where the diff should be added. This must contain valid timecode values. - The #GstVideoTimeCodeInterval to add to @tc. + The #GstVideoTimeCodeInterval to add to @tc. The interval must contain valid values, except that for drop-frame timecode, it may also contain timecodes which would normally be dropped. These are then corrected to the next reasonable timecode. @@ -11843,14 +19714,20 @@ be dropped. These are then corrected to the next reasonable timecode. - Initializes @tc with empty/zero/NULL values and frees any memory + Initializes @tc with empty/zero/NULL values and frees any memory it might currently use. + - a #GstVideoTimeCode + a #GstVideoTimeCode @@ -11858,20 +19735,30 @@ it might currently use. - Compares @tc1 and @tc2. If both have latest daily jam information, it is + Compares @tc1 and @tc2. If both have latest daily jam information, it is taken into account. Otherwise, it is assumed that the daily jam of both @tc1 and @tc2 was at the same time. Both time codes must be valid. + - 1 if @tc1 is after @tc2, -1 if @tc1 is before @tc2, 0 otherwise. + 1 if @tc1 is after @tc2, -1 if @tc1 is before @tc2, 0 otherwise. - a valid #GstVideoTimeCode + a valid #GstVideoTimeCode - another valid #GstVideoTimeCode + another valid #GstVideoTimeCode @@ -11879,13 +19766,19 @@ taken into account. Otherwise, it is assumed that the daily jam of both + - a new #GstVideoTimeCode with the same values as @tc. + a new #GstVideoTimeCode with the same values as @tc. - a #GstVideoTimeCode + a #GstVideoTimeCode @@ -11893,13 +19786,19 @@ taken into account. Otherwise, it is assumed that the daily jam of both + - how many frames have passed since the daily jam of @tc. + how many frames have passed since the daily jam of @tc. - a valid #GstVideoTimeCode + a valid #GstVideoTimeCode @@ -11907,13 +19806,19 @@ taken into account. Otherwise, it is assumed that the daily jam of both - Frees @tc. + Frees @tc. + - a #GstVideoTimeCode + a #GstVideoTimeCode @@ -11921,13 +19826,19 @@ taken into account. Otherwise, it is assumed that the daily jam of both - Adds one frame to @tc. + Adds one frame to @tc. + - a valid #GstVideoTimeCode + a valid #GstVideoTimeCode @@ -11935,54 +19846,81 @@ taken into account. Otherwise, it is assumed that the daily jam of both - @field_count is 0 for progressive, 1 or 2 for interlaced. + @field_count is 0 for progressive, 1 or 2 for interlaced. @latest_daiy_jam reference is stolen from caller. Initializes @tc with the given values. The values are not checked for being in a valid range. To see if your timecode actually has valid content, use gst_video_time_code_is_valid(). + - a #GstVideoTimeCode + a #GstVideoTimeCode - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - - The latest daily jam of the #GstVideoTimeCode + + The latest daily jam of the #GstVideoTimeCode - #GstVideoTimeCodeFlags + #GstVideoTimeCodeFlags - the hours field of #GstVideoTimeCode + the hours field of #GstVideoTimeCode - the minutes field of #GstVideoTimeCode + the minutes field of #GstVideoTimeCode - the seconds field of #GstVideoTimeCode + the seconds field of #GstVideoTimeCode - the frames field of #GstVideoTimeCode + the frames field of #GstVideoTimeCode - Interlaced video field count + Interlaced video field count @@ -11990,37 +19928,53 @@ timecode actually has valid content, use gst_video_time_code_is_valid(). - The resulting config->latest_daily_jam is set to midnight, and timecode is + The resulting config->latest_daily_jam is set to midnight, and timecode is set to the given time. Will assert on invalid parameters, use gst_video_time_code_init_from_date_time_full() for being able to handle invalid parameters. + - an uninitialized #GstVideoTimeCode + an uninitialized #GstVideoTimeCode - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - #GDateTime to convert + #GDateTime to convert - #GstVideoTimeCodeFlags + #GstVideoTimeCodeFlags - Interlaced video field count + Interlaced video field count @@ -12028,35 +19982,53 @@ for being able to handle invalid parameters. - The resulting config->latest_daily_jam is set to + The resulting config->latest_daily_jam is set to midnight, and timecode is set to the given time. + - %TRUE if @tc could be correctly initialized to a valid timecode + %TRUE if @tc could be correctly initialized to a valid timecode - a #GstVideoTimeCode + a #GstVideoTimeCode - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - #GDateTime to convert + #GDateTime to convert - #GstVideoTimeCodeFlags + #GstVideoTimeCodeFlags - Interlaced video field count + Interlaced video field count @@ -12064,14 +20036,20 @@ midnight, and timecode is set to the given time. + - whether @tc is a valid timecode (supported frame rate, + whether @tc is a valid timecode (supported frame rate, hours/minutes/seconds/frames not overflowing) - #GstVideoTimeCode to check + #GstVideoTimeCode to check @@ -12079,13 +20057,19 @@ hours/minutes/seconds/frames not overflowing) + - how many nsec have passed since the daily jam of @tc. + how many nsec have passed since the daily jam of @tc. - a valid #GstVideoTimeCode + a valid #GstVideoTimeCode @@ -12093,15 +20077,23 @@ hours/minutes/seconds/frames not overflowing) - The @tc.config->latest_daily_jam is required to be non-NULL. + The @tc.config->latest_daily_jam is required to be non-NULL. + - the #GDateTime representation of @tc or %NULL if @tc + the #GDateTime representation of @tc or %NULL if @tc has no daily jam. - A valid #GstVideoTimeCode to convert + A valid #GstVideoTimeCode to convert @@ -12109,8 +20101,12 @@ hours/minutes/seconds/frames not overflowing) + - the SMPTE ST 2059-1:2015 string representation of @tc. That will + the SMPTE ST 2059-1:2015 string representation of @tc. That will take the form hh:mm:ss:ff. The last separator (between seconds and frames) may vary: @@ -12124,7 +20120,9 @@ interlaced field 2 - A #GstVideoTimeCode to convert + A #GstVideoTimeCode to convert @@ -12133,46 +20131,71 @@ interlaced field 2 - Supported frame rates: 30000/1001, 60000/1001 (both with and without drop + Supported frame rates: 30000/1001, 60000/1001 (both with and without drop frame), and integer frame rates e.g. 25/1, 30/1, 50/1, 60/1. The configuration of the time code. + - Numerator of the frame rate + Numerator of the frame rate - Denominator of the frame rate + Denominator of the frame rate - the corresponding #GstVideoTimeCodeFlags + the corresponding #GstVideoTimeCodeFlags - The latest daily jam information, if present, or NULL + The latest daily jam information, if present, or NULL - Flags related to the time code information. + Flags related to the time code information. For drop frame, only 30000/1001 and 60000/1001 frame rates are supported. - No flags + c:identifier="GST_VIDEO_TIME_CODE_FLAGS_NONE" + glib:nick="none"> + No flags - Whether we have drop frame rate + c:identifier="GST_VIDEO_TIME_CODE_FLAGS_DROP_FRAME" + glib:nick="drop-frame"> + Whether we have drop frame rate - Whether we have interlaced video + c:identifier="GST_VIDEO_TIME_CODE_FLAGS_INTERLACED" + glib:nick="interlaced"> + Whether we have interlaced video glib:type-name="GstVideoTimeCodeInterval" glib:get-type="gst_video_time_code_interval_get_type" c:symbol-prefix="video_time_code_interval"> - A representation of a difference between two #GstVideoTimeCode instances. + A representation of a difference between two #GstVideoTimeCode instances. Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) + - the hours field of #GstVideoTimeCodeInterval + the hours field of #GstVideoTimeCodeInterval - the minutes field of #GstVideoTimeCodeInterval + the minutes field of #GstVideoTimeCodeInterval - the seconds field of #GstVideoTimeCodeInterval + the seconds field of #GstVideoTimeCodeInterval - the frames field of #GstVideoTimeCodeInterval + the frames field of #GstVideoTimeCodeInterval + - a new #GstVideoTimeCodeInterval with the given values. + a new #GstVideoTimeCodeInterval with the given values. - the hours field of #GstVideoTimeCodeInterval + the hours field of #GstVideoTimeCodeInterval - the minutes field of #GstVideoTimeCodeInterval + the minutes field of #GstVideoTimeCodeInterval - the seconds field of #GstVideoTimeCodeInterval + the seconds field of #GstVideoTimeCodeInterval - the frames field of #GstVideoTimeCodeInterval + the frames field of #GstVideoTimeCodeInterval @@ -12229,16 +20276,24 @@ Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) - @tc_inter_str must only have ":" as separators. + @tc_inter_str must only have ":" as separators. + - a new #GstVideoTimeCodeInterval from the given string + a new #GstVideoTimeCodeInterval from the given string or %NULL if the string could not be passed. - The string that represents the #GstVideoTimeCodeInterval + The string that represents the #GstVideoTimeCodeInterval @@ -12246,13 +20301,19 @@ Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) - Initializes @tc with empty/zero/NULL values. + Initializes @tc with empty/zero/NULL values. + - a #GstVideoTimeCodeInterval + a #GstVideoTimeCodeInterval @@ -12261,14 +20322,20 @@ Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) + - a new #GstVideoTimeCodeInterval with the same values as @tc. + a new #GstVideoTimeCodeInterval with the same values as @tc. - a #GstVideoTimeCodeInterval + a #GstVideoTimeCodeInterval @@ -12277,13 +20344,19 @@ Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) - Frees @tc. + Frees @tc. + - a #GstVideoTimeCodeInterval + a #GstVideoTimeCodeInterval @@ -12292,30 +20365,44 @@ Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) - Initializes @tc with the given values. + Initializes @tc with the given values. + - a #GstVideoTimeCodeInterval + a #GstVideoTimeCodeInterval - the hours field of #GstVideoTimeCodeInterval + the hours field of #GstVideoTimeCodeInterval - the minutes field of #GstVideoTimeCodeInterval + the minutes field of #GstVideoTimeCodeInterval - the seconds field of #GstVideoTimeCodeInterval + the seconds field of #GstVideoTimeCodeInterval - the frames field of #GstVideoTimeCodeInterval + the frames field of #GstVideoTimeCodeInterval @@ -12324,20 +20411,30 @@ Will not necessarily correspond to a real timecode (e.g. 00:00:10;00) - Extra buffer metadata describing the GstVideoTimeCode of the frame. + Extra buffer metadata describing the GstVideoTimeCode of the frame. Each frame is assumed to have its own timecode, i.e. they are not automatically incremented/interpolated. + - parent #GstMeta + parent #GstMeta - the GstVideoTimeCode to attach + the GstVideoTimeCode to attach + @@ -12347,84 +20444,110 @@ automatically incremented/interpolated. glib:type-name="GstVideoTransferFunction" glib:get-type="gst_video_transfer_function_get_type" c:type="GstVideoTransferFunction"> - The video transfer function defines the formula for converting between + The video transfer function defines the formula for converting between non-linear RGB (R'G'B') and linear RGB - unknown transfer function + unknown transfer function - linear RGB, gamma 1.0 curve + linear RGB, gamma 1.0 curve - Gamma 1.8 curve + Gamma 1.8 curve - Gamma 2.0 curve + Gamma 2.0 curve - Gamma 2.2 curve + Gamma 2.2 curve - Gamma 2.2 curve with a linear segment in the lower + Gamma 2.2 curve with a linear segment in the lower range - Gamma 2.2 curve with a linear segment in the + Gamma 2.2 curve with a linear segment in the lower range - Gamma 2.4 curve with a linear segment in the lower + Gamma 2.4 curve with a linear segment in the lower range - Gamma 2.8 curve + Gamma 2.8 curve - Logarithmic transfer characteristic + Logarithmic transfer characteristic 100:1 range - Logarithmic transfer characteristic + Logarithmic transfer characteristic 316.22777:1 range - Gamma 2.2 curve with a linear segment in the lower + Gamma 2.2 curve with a linear segment in the lower range. Used for BT.2020 with 12 bits per component. Since: 1.6 @@ -12432,7 +20555,40 @@ non-linear RGB (R'G'B') and linear RGB value="12" c:identifier="GST_VIDEO_TRANSFER_ADOBERGB" glib:nick="adobergb"> - Gamma 2.19921875. Since: 1.8 + Gamma 2.19921875. Since: 1.8 + + + Rec. ITU-R BT.2020-2 with 10 bits per component. + (functionally the same as the values + GST_VIDEO_TRANSFER_BT709 and GST_VIDEO_TRANSFER_BT2020_12). + Since: 1.18 + + + SMPTE ST 2084 for 10, 12, 14, and 16-bit systems. + Known as perceptual quantization (PQ) + Since: 1.18 + + + Association of Radio Industries and Businesses (ARIB) + STD-B67 and Rec. ITU-R BT.2100-1 hybrid loggamma (HLG) system + Since: 1.18 glib:type-name="GstVideoVBIEncoder" glib:get-type="gst_video_vbi_encoder_get_type" c:symbol-prefix="video_vbi_encoder"> - An encoder for writing ancillary data to the + An encoder for writing ancillary data to the Vertical Blanking Interval lines of component signals. + - Create a new #GstVideoVBIEncoder for the specified @format and @pixel_width. + Create a new #GstVideoVBIEncoder for the specified @format and @pixel_width. + - The new #GstVideoVBIEncoder or %NULL if the @format and/or @pixel_width + The new #GstVideoVBIEncoder or %NULL if the @format and/or @pixel_width is not supported. - a #GstVideoFormat + a #GstVideoFormat - The width in pixel to use + The width in pixel to use @@ -12466,47 +20634,65 @@ is not supported. - Stores Video Ancillary data, according to SMPTE-291M specification. + Stores Video Ancillary data, according to SMPTE-291M specification. Note that the contents of the data are always read as 8bit data (i.e. do not contain the parity check bits). + - %TRUE if enough space was left in the current line, %FALSE + %TRUE if enough space was left in the current line, %FALSE otherwise. - a #GstVideoVBIEncoder + a #GstVideoVBIEncoder - %TRUE if composite ADF should be created, component otherwise + %TRUE if composite ADF should be created, component otherwise - The Data Identifier + The Data Identifier - The Secondary Data Identifier (if type 2) or the Data + The Secondary Data Identifier (if type 2) or the Data Block Number (if type 1) - The user data content of the Ancillary packet. + The user data content of the Ancillary packet. Does not contain the ADF, DID, SDID nor CS. - The amount of data (in bytes) in @data (max 255 bytes) + The amount of data (in bytes) in @data (max 255 bytes) + @@ -12519,19 +20705,25 @@ the parity check bits). - Frees the @encoder. + Frees the @encoder. + - a #GstVideoVBIEncoder + a #GstVideoVBIEncoder + @@ -12551,24 +20743,36 @@ the parity check bits). glib:type-name="GstVideoVBIParser" glib:get-type="gst_video_vbi_parser_get_type" c:symbol-prefix="video_vbi_parser"> - A parser for detecting and extracting @GstVideoAncillary data from + A parser for detecting and extracting @GstVideoAncillary data from Vertical Blanking Interval lines of component signals. + - Create a new #GstVideoVBIParser for the specified @format and @pixel_width. + Create a new #GstVideoVBIParser for the specified @format and @pixel_width. + - The new #GstVideoVBIParser or %NULL if the @format and/or @pixel_width + The new #GstVideoVBIParser or %NULL if the @format and/or @pixel_width is not supported. - a #GstVideoFormat + a #GstVideoFormat - The width in pixel to use + The width in pixel to use @@ -12576,18 +20780,25 @@ is not supported. - Provide a new line of data to the @parser. Call gst_video_vbi_parser_get_ancillary() + Provide a new line of data to the @parser. Call gst_video_vbi_parser_get_ancillary() to get the Ancillary data that might be present on that line. + - a #GstVideoVBIParser + a #GstVideoVBIParser - The line of data to parse + The line of data to parse @@ -12595,6 +20806,7 @@ to get the Ancillary data that might be present on that line. + @@ -12607,13 +20819,18 @@ to get the Ancillary data that might be present on that line. - Frees the @parser. + Frees the @parser. + - a #GstVideoVBIParser + a #GstVideoVBIParser @@ -12621,23 +20838,32 @@ to get the Ancillary data that might be present on that line. - Parse the line provided previously by gst_video_vbi_parser_add_line(). + Parse the line provided previously by gst_video_vbi_parser_add_line(). + - %GST_VIDEO_VBI_PARSER_RESULT_OK if ancillary data was found and + %GST_VIDEO_VBI_PARSER_RESULT_OK if ancillary data was found and @anc was filled. %GST_VIDEO_VBI_PARSER_RESULT_DONE if there wasn't any data. - a #GstVideoVBIParser + a #GstVideoVBIParser - a #GstVideoAncillary to start the eventual ancillary data + a #GstVideoAncillary to start the eventual ancillary data @@ -12648,202 +20874,399 @@ data. glib:type-name="GstVideoVBIParserResult" glib:get-type="gst_video_vbi_parser_result_get_type" c:type="GstVideoVBIParserResult"> - Return values for #GstVideoVBIParser + Return values for #GstVideoVBIParser - No line were provided, or no more Ancillary data was found. + No line were provided, or no more Ancillary data was found. - A #GstVideoAncillary was found. + A #GstVideoAncillary was found. - An error occured + An error occurred + + Attaches #GstVideoAFDMeta metadata to @buffer with the given +parameters. + + + the #GstVideoAFDMeta on @buffer. + + + + + a #GstBuffer + + + + 0 for progressive or field 1 and 1 for field 2 + + + + #GstVideoAFDSpec that applies to AFD value + + + + #GstVideoAFDValue AFD enumeration + + + + - Attaches GstVideoAffineTransformationMeta metadata to @buffer with + Attaches GstVideoAffineTransformationMeta metadata to @buffer with the given parameters. + - the #GstVideoAffineTransformationMeta on @buffer. + the #GstVideoAffineTransformationMeta on @buffer. - a #GstBuffer + a #GstBuffer + + Attaches #GstVideoBarMeta metadata to @buffer with the given +parameters. + + + the #GstVideoBarMeta on @buffer. + +See Table 6.11 Bar Data Syntax + +https://www.atsc.org/wp-content/uploads/2015/03/a_53-Part-4-2009.pdf + + + + + a #GstBuffer + + + + 0 for progressive or field 1 and 1 for field 2 + + + + if true then bar data specifies letterbox, otherwise pillarbox + + + + If @is_letterbox is true, then the value specifies the + last line of a horizontal letterbox bar area at top of reconstructed frame. + Otherwise, it specifies the last horizontal luminance sample of a vertical pillarbox + bar area at the left side of the reconstructed frame + + + + If @is_letterbox is true, then the value specifies the + first line of a horizontal letterbox bar area at bottom of reconstructed frame. + Otherwise, it specifies the first horizontal + luminance sample of a vertical pillarbox bar area at the right side of the reconstructed frame. + + + + - Attaches #GstVideoCaptionMeta metadata to @buffer with the given + Attaches #GstVideoCaptionMeta metadata to @buffer with the given parameters. + - the #GstVideoCaptionMeta on @buffer. + the #GstVideoCaptionMeta on @buffer. - a #GstBuffer + a #GstBuffer - The type of Closed Caption to add + The type of Closed Caption to add - The Closed Caption data + The Closed Caption data - The size of @data in bytes + The size of @data in bytes + + + + + + + - Attaches GstVideoGLTextureUploadMeta metadata to @buffer with the given + Attaches GstVideoGLTextureUploadMeta metadata to @buffer with the given parameters. + - the #GstVideoGLTextureUploadMeta on @buffer. + the #GstVideoGLTextureUploadMeta on @buffer. - a #GstBuffer + a #GstBuffer - the #GstVideoGLTextureOrientation + the #GstVideoGLTextureOrientation - the number of textures + the number of textures - array of #GstVideoGLTextureType + array of #GstVideoGLTextureType - the function to upload the buffer to a specific texture ID + the function to upload the buffer to a specific texture ID - user data for the implementor of @upload + user data for the implementor of @upload - function to copy @user_data + function to copy @user_data - function to free @user_data + function to free @user_data - Attaches GstVideoMeta metadata to @buffer with the given parameters and the + Attaches GstVideoMeta metadata to @buffer with the given parameters and the default offsets and strides for @format and @width x @height. This function calculates the default offsets and strides and then calls gst_buffer_add_video_meta_full() with them. + - the #GstVideoMeta on @buffer. + the #GstVideoMeta on @buffer. - a #GstBuffer + a #GstBuffer - #GstVideoFrameFlags + #GstVideoFrameFlags - a #GstVideoFormat + a #GstVideoFormat - the width + the width - the height + the height - Attaches GstVideoMeta metadata to @buffer with the given parameters. + Attaches GstVideoMeta metadata to @buffer with the given parameters. + - the #GstVideoMeta on @buffer. + the #GstVideoMeta on @buffer. - a #GstBuffer + a #GstBuffer - #GstVideoFrameFlags + #GstVideoFrameFlags - a #GstVideoFormat + a #GstVideoFormat - the width + the width - the height + the height - number of planes + number of planes - offset of each plane + offset of each plane - stride of each plane + stride of each plane @@ -12852,24 +21275,34 @@ gst_buffer_add_video_meta_full() with them. - Sets an overlay composition on a buffer. The buffer will obtain its own + Sets an overlay composition on a buffer. The buffer will obtain its own reference to the composition, meaning this function does not take ownership of @comp. + - a #GstVideoOverlayCompositionMeta + a #GstVideoOverlayCompositionMeta - a #GstBuffer + a #GstBuffer - a #GstVideoOverlayComposition + a #GstVideoOverlayComposition @@ -12877,72 +21310,108 @@ of @comp. - Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given + Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given parameters. + - the #GstVideoRegionOfInterestMeta on @buffer. + the #GstVideoRegionOfInterestMeta on @buffer. - a #GstBuffer + a #GstBuffer - Type of the region of interest (e.g. "face") + Type of the region of interest (e.g. "face") - X position + X position - Y position + Y position - width + width - height + height - Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given + Attaches #GstVideoRegionOfInterestMeta metadata to @buffer with the given parameters. + - the #GstVideoRegionOfInterestMeta on @buffer. + the #GstVideoRegionOfInterestMeta on @buffer. - a #GstBuffer + a #GstBuffer - Type of the region of interest (e.g. "face") + Type of the region of interest (e.g. "face") - X position + X position - Y position + Y position - width + width - height + height @@ -12950,188 +21419,404 @@ parameters. - Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given + Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given parameters. + - the #GstVideoTimeCodeMeta on @buffer, or + the #GstVideoTimeCodeMeta on @buffer, or (since 1.16) %NULL if the timecode was invalid. - a #GstBuffer + a #GstBuffer - a #GstVideoTimeCode - + a #GstVideoTimeCode + - Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given + Attaches #GstVideoTimeCodeMeta metadata to @buffer with the given parameters. + - the #GstVideoTimeCodeMeta on @buffer, or + the #GstVideoTimeCodeMeta on @buffer, or (since 1.16) %NULL if the timecode was invalid. - a #GstBuffer + a #GstBuffer - framerate numerator + framerate numerator - framerate denominator + framerate denominator - a #GDateTime for the latest daily jam + a #GDateTime for the latest daily jam - a #GstVideoTimeCodeFlags + a #GstVideoTimeCodeFlags - hours since the daily jam + hours since the daily jam - minutes since the daily jam + minutes since the daily jam - seconds since the daily jam + seconds since the daily jam - frames since the daily jam + frames since the daily jam - fields since the daily jam + fields since the daily jam + + Gets the #GstVideoAFDMeta that might be present on @b. +Note: there may be two #GstVideoAFDMeta structs for interlaced video. + + + + A #GstBuffer + + + + + + + + + + + + + + + A #GstBuffer + + + + + Gets the #GstVideoCaptionMeta that might be present on @b. + + + + A #GstBuffer + + + + + + + + + + + + + + + + + - Find the #GstVideoMeta on @buffer with the lowest @id. + Find the #GstVideoMeta on @buffer with the lowest @id. Buffers can contain multiple #GstVideoMeta metadata items when dealing with multiview buffers. + - the #GstVideoMeta with lowest id (usually 0) or %NULL when there + the #GstVideoMeta with lowest id (usually 0) or %NULL when there is no such metadata on @buffer. - a #GstBuffer + a #GstBuffer - Find the #GstVideoMeta on @buffer with the given @id. + Find the #GstVideoMeta on @buffer with the given @id. Buffers can contain multiple #GstVideoMeta metadata items when dealing with multiview buffers. + - the #GstVideoMeta with @id or %NULL when there is no such metadata + the #GstVideoMeta with @id or %NULL when there is no such metadata on @buffer. - a #GstBuffer + a #GstBuffer - a metadata id + a metadata id + + + + + + + + + + + + + + + + + + + + + - Find the #GstVideoRegionOfInterestMeta on @buffer with the given @id. + Find the #GstVideoRegionOfInterestMeta on @buffer with the given @id. Buffers can contain multiple #GstVideoRegionOfInterestMeta metadata items if multiple regions of interests are marked on a frame. + - the #GstVideoRegionOfInterestMeta with @id or %NULL when there is + the #GstVideoRegionOfInterestMeta with @id or %NULL when there is no such metadata on @buffer. - a #GstBuffer + a #GstBuffer - a metadata id + a metadata id + + + + + + + - Get the video alignment from the bufferpool configuration @config in + Get the video alignment from the bufferpool configuration @config in in @align + - %TRUE if @config could be parsed correctly. + %TRUE if @config could be parsed correctly. - a #GstStructure + a #GstStructure - a #GstVideoAlignment + a #GstVideoAlignment - Set the video alignment in @align to the bufferpool configuration + Set the video alignment in @align to the bufferpool configuration @config + - a #GstStructure + a #GstStructure - a #GstVideoAlignment + a #GstVideoAlignment + + + + + + + + + - Convenience function to check if the given message is a + Convenience function to check if the given message is a "prepare-window-handle" message from a #GstVideoOverlay. + - whether @msg is a "prepare-window-handle" message + whether @msg is a "prepare-window-handle" message - a #GstMessage + a #GstMessage @@ -13139,14 +21824,19 @@ in @align - Inspect a #GstEvent and return the #GstNavigationEventType of the event, or + Inspect a #GstEvent and return the #GstNavigationEventType of the event, or #GST_NAVIGATION_EVENT_INVALID if the event is not a #GstNavigation event. + - A #GstEvent to inspect. + A #GstEvent to inspect. @@ -13154,15 +21844,22 @@ in @align - Inspect a #GstNavigation command event and retrieve the enum value of the + Inspect a #GstNavigation command event and retrieve the enum value of the associated command. + - TRUE if the navigation command could be extracted, otherwise FALSE. + TRUE if the navigation command could be extracted, otherwise FALSE. - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to GstNavigationCommand to receive the + Pointer to GstNavigationCommand to receive the type of the navigation event. @@ -13180,12 +21879,15 @@ associated command. + - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="none" optional="1" allow-none="1"> - A pointer to a location to receive + A pointer to a location to receive the string identifying the key press. The returned string is owned by the event, and valid only until the event is unreffed. @@ -13204,17 +21908,24 @@ associated command. - Retrieve the details of either a #GstNavigation mouse button press event or + Retrieve the details of either a #GstNavigation mouse button press event or a mouse button release event. Determine which type the event is using gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. + - TRUE if the button number and both coordinates could be extracted, + TRUE if the button number and both coordinates could be extracted, otherwise FALSE. - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gint that will receive the button + Pointer to a gint that will receive the button number associated with the event. @@ -13233,7 +21946,9 @@ gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the x coordinate of the + Pointer to a gdouble to receive the x coordinate of the mouse button event. @@ -13243,7 +21958,9 @@ gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the y coordinate of the + Pointer to a gdouble to receive the y coordinate of the mouse button event. @@ -13252,15 +21969,22 @@ gst_navigation_event_get_type() to retrieve the #GstNavigationEventType. - Inspect a #GstNavigation mouse movement event and extract the coordinates + Inspect a #GstNavigation mouse movement event and extract the coordinates of the event. + - TRUE if both coordinates could be extracted, otherwise FALSE. + TRUE if both coordinates could be extracted, otherwise FALSE. - A #GstEvent to inspect. + A #GstEvent to inspect. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the x coordinate of the + Pointer to a gdouble to receive the x coordinate of the mouse movement. @@ -13279,7 +22005,81 @@ of the event. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a gdouble to receive the y coordinate of the + Pointer to a gdouble to receive the y coordinate of the + mouse movement. + + + + + + Inspect a #GstNavigation mouse scroll event and extract the coordinates +of the event. + + + TRUE if all coordinates could be extracted, otherwise FALSE. + + + + + A #GstEvent to inspect. + + + + Pointer to a gdouble to receive the x coordinate of the + mouse movement. + + + + Pointer to a gdouble to receive the y coordinate of the + mouse movement. + + + + Pointer to a gdouble to receive the delta_x coordinate of the + mouse movement. + + + + Pointer to a gdouble to receive the delta_y coordinate of the mouse movement. @@ -13288,17 +22088,24 @@ of the event. - Check a bus message to see if it is a #GstNavigation event, and return + Check a bus message to see if it is a #GstNavigation event, and return the #GstNavigationMessageType identifying the type of the message if so. + - The type of the #GstMessage, or + The type of the #GstMessage, or #GST_NAVIGATION_MESSAGE_INVALID if the message is not a #GstNavigation notification. - A #GstMessage to inspect. + A #GstMessage to inspect. @@ -13306,25 +22113,36 @@ notification. - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_ANGLES_CHANGED for notifying an application that the current angle, or current number of angles available in a multiangle video has changed. + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. - The currently selected angle. + The currently selected angle. - The number of viewing angles now available. + The number of viewing angles now available. @@ -13332,15 +22150,22 @@ multiangle video has changed. - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_COMMANDS_CHANGED + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. @@ -13349,19 +22174,28 @@ multiangle video has changed. c:identifier="gst_navigation_message_new_event" moved-to="Navigation.message_new_event" version="1.6"> - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_EVENT. + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. - A navigation #GstEvent + A navigation #GstEvent @@ -13369,19 +22203,28 @@ multiangle video has changed. - Creates a new #GstNavigation message with type + Creates a new #GstNavigation message with type #GST_NAVIGATION_MESSAGE_MOUSE_OVER. + - The new #GstMessage. + The new #GstMessage. - A #GstObject to set as source of the new message. + A #GstObject to set as source of the new message. - %TRUE if the mouse has entered a clickable area of the display. + %TRUE if the mouse has entered a clickable area of the display. %FALSE if it over a non-clickable area. @@ -13390,15 +22233,22 @@ multiangle video has changed. - Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED + Parse a #GstNavigation message of type GST_NAVIGATION_MESSAGE_ANGLES_CHANGED and extract the @cur_angle and @n_angles parameters. + - %TRUE if the message could be successfully parsed. %FALSE if not. + %TRUE if the message could be successfully parsed. %FALSE if not. - A #GstMessage to inspect. + A #GstMessage to inspect. transfer-ownership="full" optional="1" allow-none="1"> - A pointer to a #guint to receive the new + A pointer to a #guint to receive the new current angle number, or NULL @@ -13417,7 +22269,9 @@ and extract the @cur_angle and @n_angles parameters. transfer-ownership="full" optional="1" allow-none="1"> - A pointer to a #guint to receive the new angle + A pointer to a #guint to receive the new angle count, or NULL. @@ -13427,16 +22281,23 @@ and extract the @cur_angle and @n_angles parameters. c:identifier="gst_navigation_message_parse_event" moved-to="Navigation.message_parse_event" version="1.6"> - Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT + Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_EVENT and extract contained #GstEvent. The caller must unref the @event when done with it. + - %TRUE if the message could be successfully parsed. %FALSE if not. + %TRUE if the message could be successfully parsed. %FALSE if not. - A #GstMessage to inspect. + A #GstMessage to inspect. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to a #GstEvent to receive + a pointer to a #GstEvent to receive the contained navigation event. @@ -13454,16 +22317,23 @@ with it. - Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER + Parse a #GstNavigation message of type #GST_NAVIGATION_MESSAGE_MOUSE_OVER and extract the active/inactive flag. If the mouse over event is marked active, it indicates that the mouse is over a clickable area. + - %TRUE if the message could be successfully parsed. %FALSE if not. + %TRUE if the message could be successfully parsed. %FALSE if not. - A #GstMessage to inspect. + A #GstMessage to inspect. transfer-ownership="full" optional="1" allow-none="1"> - A pointer to a gboolean to receive the + A pointer to a gboolean to receive the active/inactive state, or NULL. @@ -13481,16 +22353,23 @@ active, it indicates that the mouse is over a clickable area. - Inspect a #GstQuery and return the #GstNavigationQueryType associated with + Inspect a #GstQuery and return the #GstNavigationQueryType associated with it if it is a #GstNavigation query. + - The #GstNavigationQueryType of the query, or + The #GstNavigationQueryType of the query, or #GST_NAVIGATION_QUERY_INVALID - The query to inspect + The query to inspect @@ -13498,37 +22377,54 @@ it if it is a #GstNavigation query. - Create a new #GstNavigation angles query. When executed, it will + Create a new #GstNavigation angles query. When executed, it will query the pipeline for the set of currently available angles, which may be greater than one in a multiangle video. + - The new query. + The new query. - Create a new #GstNavigation commands query. When executed, it will + Create a new #GstNavigation commands query. When executed, it will query the pipeline for the set of currently available commands. + - The new query. + The new query. - Parse the current angle number in the #GstNavigation angles @query into the + Parse the current angle number in the #GstNavigation angles @query into the #guint pointed to by the @cur_angle variable, and the number of available angles into the #guint pointed to by the @n_angles variable. + - %TRUE if the query could be successfully parsed. %FALSE if not. + %TRUE if the query could be successfully parsed. %FALSE if not. - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a #guint into which to store the + Pointer to a #guint into which to store the currently selected angle value from the query, or NULL @@ -13547,7 +22445,9 @@ angles into the #guint pointed to by the @n_angles variable. transfer-ownership="full" optional="1" allow-none="1"> - Pointer to a #guint into which to store the + Pointer to a #guint into which to store the number of angles value from the query, or NULL @@ -13556,14 +22456,21 @@ angles into the #guint pointed to by the @n_angles variable. - Parse the number of commands in the #GstNavigation commands @query. + Parse the number of commands in the #GstNavigation commands @query. + - %TRUE if the query could be successfully parsed. %FALSE if not. + %TRUE if the query could be successfully parsed. %FALSE if not. - a #GstQuery + a #GstQuery transfer-ownership="full" optional="1" allow-none="1"> - the number of commands in this query. + the number of commands in this query. @@ -13580,20 +22489,29 @@ angles into the #guint pointed to by the @n_angles variable. - Parse the #GstNavigation command query and retrieve the @nth command from + Parse the #GstNavigation command query and retrieve the @nth command from it into @cmd. If the list contains less elements than @nth, @cmd will be set to #GST_NAVIGATION_COMMAND_INVALID. + - %TRUE if the query could be successfully parsed. %FALSE if not. + %TRUE if the query could be successfully parsed. %FALSE if not. - a #GstQuery + a #GstQuery - the nth command to retrieve. + the nth command to retrieve. transfer-ownership="full" optional="1" allow-none="1"> - a pointer to store the nth command into. + a pointer to store the nth command into. @@ -13610,21 +22530,30 @@ set to #GST_NAVIGATION_COMMAND_INVALID. - Set the #GstNavigation angles query result field in @query. + Set the #GstNavigation angles query result field in @query. + - a #GstQuery + a #GstQuery - the current viewing angle to set. + the current viewing angle to set. - the number of viewing angles to set. + the number of viewing angles to set. @@ -13632,22 +22561,31 @@ set to #GST_NAVIGATION_COMMAND_INVALID. - Set the #GstNavigation command query result fields in @query. The number + Set the #GstNavigation command query result fields in @query. The number of commands passed must be equal to @n_commands. + - a #GstQuery + a #GstQuery - the number of commands to set. + the number of commands to set. - An array containing @n_cmds + An array containing @n_cmds @GstNavigationCommand values. @@ -13655,8 +22593,25 @@ of commands passed must be equal to @n_commands. + + + + + + + + + + + + + @@ -13664,34 +22619,64 @@ of commands passed must be equal to @n_commands. + + + + + + + + + + + + + - Lets you blend the @src image into the @dest image + Lets you blend the @src image into the @dest image + - The #GstVideoFrame where to blend @src in + The #GstVideoFrame where to blend @src in - the #GstVideoFrame that we want to blend into + the #GstVideoFrame that we want to blend into - The x offset in pixel where the @src image should be blended + The x offset in pixel where the @src image should be blended - the y offset in pixel where the @src image should be blended + the y offset in pixel where the @src image should be blended - the global_alpha each per-pixel alpha value is multiplied + the global_alpha each per-pixel alpha value is multiplied with @@ -13699,35 +22684,48 @@ of commands passed must be equal to @n_commands. - Scales a buffer containing RGBA (or AYUV) video. This is an internal + Scales a buffer containing RGBA (or AYUV) video. This is an internal helper function which is used to scale subtitle overlays, and may be deprecated in the near future. Use #GstVideoScaler to scale video buffers instead. + - the #GstVideoInfo describing the video data in @src_buffer + the #GstVideoInfo describing the video data in @src_buffer - the source buffer containing video pixels to scale + the source buffer containing video pixels to scale - the height in pixels to scale the video data in @src_buffer to + the height in pixels to scale the video data in @src_buffer to - the width in pixels to scale the video data in @src_buffer to + the width in pixels to scale the video data in @src_buffer to - pointer to a #GstVideoInfo structure that will be filled in + pointer to a #GstVideoInfo structure that will be filled in with the details for @dest_buffer @@ -13735,7 +22733,9 @@ instead. direction="out" caller-allocates="0" transfer-ownership="full"> - a pointer to a #GstBuffer variable, which will be + a pointer to a #GstBuffer variable, which will be set to a newly-allocated buffer containing the scaled pixels. @@ -13743,11 +22743,16 @@ instead. - Given the Pixel Aspect Ratio and size of an input video frame, and the + Given the Pixel Aspect Ratio and size of an input video frame, and the pixel aspect ratio of the intended display device, calculates the actual display ratio the video will be rendered with. + - A boolean indicating success and a calculated Display Ratio in the + A boolean indicating success and a calculated Display Ratio in the dar_n and dar_d parameters. The return value is FALSE in the case of integer overflow or other error. @@ -13757,44 +22762,61 @@ The return value is FALSE in the case of integer overflow or other error. direction="out" caller-allocates="0" transfer-ownership="full"> - Numerator of the calculated display_ratio + Numerator of the calculated display_ratio - Denominator of the calculated display_ratio + Denominator of the calculated display_ratio - Width of the video frame in pixels + Width of the video frame in pixels - Height of the video frame in pixels + Height of the video frame in pixels - Numerator of the pixel aspect ratio of the input video. + Numerator of the pixel aspect ratio of the input video. - Denominator of the pixel aspect ratio of the input video. + Denominator of the pixel aspect ratio of the input video. - Numerator of the pixel aspect ratio of the display device + Numerator of the pixel aspect ratio of the display device - Denominator of the pixel aspect ratio of the display device + Denominator of the pixel aspect ratio of the display device + @@ -13802,6 +22824,7 @@ The return value is FALSE in the case of integer overflow or other error. + @@ -13810,15 +22833,22 @@ The return value is FALSE in the case of integer overflow or other error. c:identifier="gst_video_caption_type_from_caps" moved-to="VideoCaptionType.from_caps" version="1.16"> - Parses fixed Closed Caption #GstCaps and returns the corresponding caption + Parses fixed Closed Caption #GstCaps and returns the corresponding caption type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN. + - #GstVideoCaptionType. + #GstVideoCaptionType. - Fixed #GstCaps to parse + Fixed #GstCaps to parse @@ -13827,53 +22857,77 @@ type, or %GST_VIDEO_CAPTION_TYPE_UNKNOWN. c:identifier="gst_video_caption_type_to_caps" moved-to="VideoCaptionType.to_caps" version="1.16"> - Creates new caps corresponding to @type. + Creates new caps corresponding to @type. + - new #GstCaps + new #GstCaps - #GstVideoCaptionType + #GstVideoCaptionType - Convert @s to a #GstVideoChromaSite + Convert @s to a #GstVideoChromaSite + - a #GstVideoChromaSite or %GST_VIDEO_CHROMA_SITE_UNKNOWN when @s does + a #GstVideoChromaSite or %GST_VIDEO_CHROMA_SITE_UNKNOWN when @s does not contain a valid chroma description. - a chromasite string + a chromasite string - Perform resampling of @width chroma pixels in @lines. + Perform resampling of @width chroma pixels in @lines. + - a #GstVideoChromaResample + a #GstVideoChromaResample - pixel lines + pixel lines - the number of pixels on one line + the number of pixels on one line @@ -13882,60 +22936,113 @@ not contain a valid chroma description. c:identifier="gst_video_chroma_resample_new" moved-to="VideoChromaResample.new" introspectable="0"> - Create a new resampler object for the given parameters. When @h_factor or + Create a new resampler object for the given parameters. When @h_factor or @v_factor is > 0, upsampling will be used, otherwise subsampling is performed. + - a new #GstVideoChromaResample that should be freed with + a new #GstVideoChromaResample that should be freed with gst_video_chroma_resample_free() after usage. - a #GstVideoChromaMethod + a #GstVideoChromaMethod - a #GstVideoChromaSite + a #GstVideoChromaSite - #GstVideoChromaFlags + #GstVideoChromaFlags - the #GstVideoFormat + the #GstVideoFormat - horizontal resampling factor + horizontal resampling factor - vertical resampling factor + vertical resampling factor - Converts @site to its string representation. + Converts @site to its string representation. + - a string describing @site. + a string describing @site. - a #GstVideoChromaSite + a #GstVideoChromaSite + + Converts the @value to the #GstVideoColorMatrix +The matrix coefficients (MatrixCoefficients) value is +defined by "ISO/IEC 23001-8 Section 7.3 Table 4" +and "ITU-T H.273 Table 4". +"H.264 Table E-5" and "H.265 Table E.5" share the identical values. + + + the matched #GstVideoColorMatrix + + + + + a ITU-T H.273 matrix coefficients value + + + + - Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix. + Get the coefficients used to convert between Y'PbPr and R'G'B' using @matrix. When: @@ -13959,45 +23066,139 @@ and the other way around: G' = Y' - Cb*2*(1-Kb)*Kb/(1-Kr-Kb) - Cr*2*(1-Kr)*Kr/(1-Kr-Kb) B' = Y' + Cb*2*(1-Kb) ]| + - TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid + TRUE if @matrix was a YUV color format and @Kr and @Kb contain valid values. - a #GstVideoColorMatrix + a #GstVideoColorMatrix - result red channel coefficient + result red channel coefficient - result blue channel coefficient + result blue channel coefficient + + Converts #GstVideoColorMatrix to the "matrix coefficients" +(MatrixCoefficients) value defined by "ISO/IEC 23001-8 Section 7.3 Table 4" +and "ITU-T H.273 Table 4". +"H.264 Table E-5" and "H.265 Table E.5" share the identical values. + + + The value of ISO/IEC 23001-8 matrix coefficients. + + + + + a #GstVideoColorMatrix + + + + + + Converts the @value to the #GstVideoColorPrimaries +The colour primaries (ColourPrimaries) value is +defined by "ISO/IEC 23001-8 Section 7.1 Table 2" and "ITU-T H.273 Table 2". +"H.264 Table E-3" and "H.265 Table E.3" share the identical values. + + + the matched #GstVideoColorPrimaries + + + + + a ITU-T H.273 colour primaries value + + + + - Get information about the chromaticity coordinates of @primaries. + Get information about the chromaticity coordinates of @primaries. + - a #GstVideoColorPrimariesInfo for @primaries. + a #GstVideoColorPrimariesInfo for @primaries. - a #GstVideoColorPrimaries + a #GstVideoColorPrimaries + + + + + + Converts #GstVideoColorPrimaries to the "colour primaries" (ColourPrimaries) +value defined by "ISO/IEC 23001-8 Section 7.1 Table 2" +and "ITU-T H.273 Table 2". +"H.264 Table E-3" and "H.265 Table E.3" share the identical values. + + + The value of ISO/IEC 23001-8 colour primaries. + + + + + a #GstVideoColorPrimaries @@ -14005,30 +23206,39 @@ and the other way around: - Compute the offset and scale values for each component of @info. For each + Compute the offset and scale values for each component of @info. For each component, (c[i] - offset[i]) / scale[i] will scale the component c[i] to the range [0.0 .. 1.0]. The reverse operation (c[i] * scale[i]) + offset[i] can be used to convert the component values in range [0.0 .. 1.0] back to their representation in @info and @range. + - a #GstVideoColorRange + a #GstVideoColorRange - a #GstVideoFormatInfo + a #GstVideoFormatInfo - output offsets + output offsets @@ -14037,7 +23247,9 @@ the component values in range [0.0 .. 1.0] back to their representation in direction="out" caller-allocates="1" transfer-ownership="none"> - output scale + output scale @@ -14047,7 +23259,9 @@ the component values in range [0.0 .. 1.0] back to their representation in - Convert @val to its gamma decoded value. This is the inverse operation of + Convert @val to its gamma decoded value. This is the inverse operation of @gst_video_color_transfer_encode(). For a non-linear value L' in the range [0..1], conversion to the linear @@ -14059,18 +23273,25 @@ L is in general performed with a power function like: Depending on @func, different formulas might be applied. Some formulas encode a linear segment in the lower range. + - the gamme decoded value of @val + the gamme decoded value of @val - a #GstVideoTransferFunction + a #GstVideoTransferFunction - a value + a value @@ -14078,7 +23299,9 @@ encode a linear segment in the lower range. - Convert @val to its gamma encoded value. + Convert @val to its gamma encoded value. For a linear value L in the range [0..1], conversion to the non-linear (gamma encoded) L' is in general performed with a power function like: @@ -14089,79 +23312,158 @@ For a linear value L in the range [0..1], conversion to the non-linear Depending on @func, different formulas might be applied. Some formulas encode a linear segment in the lower range. + - the gamme encoded value of @val + the gamme encoded value of @val - a #GstVideoTransferFunction + a #GstVideoTransferFunction - a value + a value + + Converts the @value to the #GstVideoTransferFunction +The transfer characteristics (TransferCharacteristics) value is +defined by "ISO/IEC 23001-8 Section 7.2 Table 3" +and "ITU-T H.273 Table 3". +"H.264 Table E-4" and "H.265 Table E.4" share the identical values. + + + the matched #GstVideoTransferFunction + + + + + a ITU-T H.273 transfer characteristics value + + + + + + Converts #GstVideoTransferFunction to the "transfer characteristics" +(TransferCharacteristics) value defined by "ISO/IEC 23001-8 Section 7.2 Table 3" +and "ITU-T H.273 Table 3". +"H.264 Table E-4" and "H.265 Table E.4" share the identical values. + + + The value of ISO/IEC 23001-8 transfer characteristics. + + + + + a #GstVideoTransferFunction + + + + - Converts a raw video buffer into the specified output caps. + Converts a raw video buffer into the specified output caps. The output caps can be any raw video formats or any image formats (jpeg, png, ...). The width, height and pixel-aspect-ratio can also be specified in the output caps. + - The converted #GstSample, or %NULL if an error happened (in which case @err + The converted #GstSample, or %NULL if an error happened (in which case @err will point to the #GError). - a #GstSample + a #GstSample - the #GstCaps to convert to + the #GstCaps to convert to - the maximum amount of time allowed for the processing. + the maximum amount of time allowed for the processing. - Converts a raw video buffer into the specified output caps. + Converts a raw video buffer into the specified output caps. The output caps can be any raw video formats or any image formats (jpeg, png, ...). The width, height and pixel-aspect-ratio can also be specified in the output caps. -@callback will be called after conversion, when an error occured or if conversion didn't +@callback will be called after conversion, when an error occurred or if conversion didn't finish after @timeout. @callback will always be called from the thread default %GMainContext, see g_main_context_get_thread_default(). If GLib before 2.22 is used, this will always be the global default main context. @destroy_notify will be called after the callback was called and @user_data is not needed anymore. + - a #GstSample + a #GstSample - the #GstCaps to convert to + the #GstCaps to convert to - the maximum amount of time allowed for the processing. + the maximum amount of time allowed for the processing. scope="notified" closure="4" destroy="5"> - %GstVideoConvertSampleCallback that will be called after conversion. + %GstVideoConvertSampleCallback that will be called after conversion. @@ -14177,13 +23481,17 @@ anymore. transfer-ownership="none" nullable="1" allow-none="1"> - extra data that will be passed to the @callback + extra data that will be passed to the @callback - %GDestroyNotify to be called after @user_data is not needed anymore + %GDestroyNotify to be called after @user_data is not needed anymore @@ -14193,29 +23501,43 @@ anymore. moved-to="VideoConverter.new" version="1.6" introspectable="0"> - Create a new converter object to convert between @in_info and @out_info + Create a new converter object to convert between @in_info and @out_info with @config. + - a #GstVideoConverter or %NULL if conversion is not possible. + a #GstVideoConverter or %NULL if conversion is not possible. - a #GstVideoInfo + a #GstVideoInfo - a #GstVideoInfo + a #GstVideoInfo - a #GstStructure with configuration options + a #GstStructure with configuration options + @@ -14223,6 +23545,8 @@ with @config. + @@ -14231,58 +23555,82 @@ with @config. c:identifier="gst_video_dither_new" moved-to="VideoDither.new" introspectable="0"> - Make a new dither object for dithering lines of @format using the + Make a new dither object for dithering lines of @format using the algorithm described by @method. Each component will be quantized to a multiple of @quantizer. Better -performance is achived when @quantizer is a power of 2. +performance is achieved when @quantizer is a power of 2. @width is the width of the lines that this ditherer will handle. + - a new #GstVideoDither + a new #GstVideoDither - a #GstVideoDitherMethod + a #GstVideoDitherMethod - a #GstVideoDitherFlags + a #GstVideoDitherFlags - a #GstVideoFormat + a #GstVideoFormat - quantizer + quantizer - the width of the lines + the width of the lines - Checks if an event is a force key unit event. Returns true for both upstream + Checks if an event is a force key unit event. Returns true for both upstream and downstream force key unit events. + - %TRUE if the event is a valid force key unit event + %TRUE if the event is a valid force key unit event - A #GstEvent to check + A #GstEvent to check - Creates a new downstream force key unit event. A downstream force key unit + Creates a new downstream force key unit event. A downstream force key unit event can be sent down the pipeline to request downstream elements to produce a key unit. A downstream force key unit event must also be sent when handling an upstream force key unit event to notify downstream that the latter has been @@ -14290,55 +23638,77 @@ handled. To parse an event created by gst_video_event_new_downstream_force_key_unit() use gst_video_event_parse_downstream_force_key_unit(). + - The new GstEvent + The new GstEvent - the timestamp of the buffer that starts a new key unit + the timestamp of the buffer that starts a new key unit - the stream_time of the buffer that starts a new key unit + the stream_time of the buffer that starts a new key unit - the running_time of the buffer that starts a new key unit + the running_time of the buffer that starts a new key unit - %TRUE to produce headers when starting a new key unit + %TRUE to produce headers when starting a new key unit - integer that can be used to number key units + integer that can be used to number key units - Creates a new Still Frame event. If @in_still is %TRUE, then the event + Creates a new Still Frame event. If @in_still is %TRUE, then the event represents the start of a still frame sequence. If it is %FALSE, then the event ends a still frame sequence. To parse an event created by gst_video_event_new_still_frame() use gst_video_event_parse_still_frame(). + - The new GstEvent + The new GstEvent - boolean value for the still-frame state of the event. + boolean value for the still-frame state of the event. - Creates a new upstream force key unit event. An upstream force key unit event + Creates a new upstream force key unit event. An upstream force key unit event can be sent to request upstream elements to produce a key unit. @running_time can be set to request a new key unit at a specific @@ -14347,81 +23717,109 @@ new key unit as soon as possible. To parse an event created by gst_video_event_new_downstream_force_key_unit() use gst_video_event_parse_downstream_force_key_unit(). + - The new GstEvent + The new GstEvent - the running_time at which a new key unit should be produced + the running_time at which a new key unit should be produced - %TRUE to produce headers when starting a new key unit + %TRUE to produce headers when starting a new key unit - integer that can be used to number key units + integer that can be used to number key units - Get timestamp, stream-time, running-time, all-headers and count in the force + Get timestamp, stream-time, running-time, all-headers and count in the force key unit event. See gst_video_event_new_downstream_force_key_unit() for a full description of the downstream force key unit event. @running_time will be adjusted for any pad offsets of pads it was passing through. + - %TRUE if the event is a valid downstream force key unit event. + %TRUE if the event is a valid downstream force key unit event. - A #GstEvent to parse + A #GstEvent to parse - A pointer to the timestamp in the event + A pointer to the timestamp in the event - A pointer to the stream-time in the event + A pointer to the stream-time in the event - A pointer to the running-time in the event + A pointer to the running-time in the event - A pointer to the all_headers flag in the event + A pointer to the all_headers flag in the event - A pointer to the count field of the event + A pointer to the count field of the event - Parse a #GstEvent, identify if it is a Still Frame event, and + Parse a #GstEvent, identify if it is a Still Frame event, and return the still-frame state from the event if it is. If the event represents the start of a still frame, the in_still variable will be set to TRUE, otherwise FALSE. It is OK to pass NULL for the @@ -14429,20 +23827,27 @@ in_still variable order to just check whether the event is a valid still-frame event. Create a still frame event using gst_video_event_new_still_frame() + - %TRUE if the event is a valid still-frame event. %FALSE if not + %TRUE if the event is a valid still-frame event. %FALSE if not - A #GstEvent to parse + A #GstEvent to parse - + A boolean to receive the still-frame status from the event, or NULL @@ -14450,41 +23855,54 @@ Create a still frame event using gst_video_event_new_still_frame() - Get running-time, all-headers and count in the force key unit event. See + Get running-time, all-headers and count in the force key unit event. See gst_video_event_new_upstream_force_key_unit() for a full description of the upstream force key unit event. Create an upstream force key unit event using gst_video_event_new_upstream_force_key_unit() @running_time will be adjusted for any pad offsets of pads it was passing through. + - %TRUE if the event is a valid upstream force-key-unit event. %FALSE if not + %TRUE if the event is a valid upstream force-key-unit event. %FALSE if not - A #GstEvent to parse + A #GstEvent to parse - A pointer to the running_time in the event + A pointer to the running_time in the event - A pointer to the all_headers flag in the event + A pointer to the all_headers flag in the event - A pointer to the count field in the event + A pointer to the count field in the event @@ -14493,16 +23911,23 @@ Create an upstream force key unit event using gst_video_event_new_upstream_forc c:identifier="gst_video_field_order_from_string" moved-to="VideoFieldOrder.from_string" version="1.12"> - Convert @order to a #GstVideoFieldOrder + Convert @order to a #GstVideoFieldOrder + - the #GstVideoFieldOrder of @order or + the #GstVideoFieldOrder of @order or #GST_VIDEO_FIELD_ORDER_UNKNOWN when @order is not a valid string representation for a #GstVideoFieldOrder. - a field order + a field order @@ -14511,14 +23936,21 @@ Create an upstream force key unit event using gst_video_event_new_upstream_forc c:identifier="gst_video_field_order_to_string" moved-to="VideoFieldOrder.to_string" version="1.12"> - Convert @order to its string representation. + Convert @order to its string representation. + - @order as a string or NULL if @order in invalid. + @order as a string or NULL if @order in invalid. - a #GstVideoFieldOrder + a #GstVideoFieldOrder @@ -14526,16 +23958,24 @@ Create an upstream force key unit event using gst_video_event_new_upstream_forc - Converts a FOURCC value into the corresponding #GstVideoFormat. + Converts a FOURCC value into the corresponding #GstVideoFormat. If the FOURCC cannot be represented by #GstVideoFormat, #GST_VIDEO_FORMAT_UNKNOWN is returned. + - the #GstVideoFormat describing the FOURCC value + the #GstVideoFormat describing the FOURCC value - a FOURCC value representing raw YUV video + a FOURCC value representing raw YUV video @@ -14543,40 +23983,60 @@ If the FOURCC cannot be represented by #GstVideoFormat, - Find the #GstVideoFormat for the given parameters. + Find the #GstVideoFormat for the given parameters. + - a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to + a #GstVideoFormat or GST_VIDEO_FORMAT_UNKNOWN when the parameters to not specify a known format. - the amount of bits used for a pixel + the amount of bits used for a pixel - the amount of bits used to store a pixel. This value is bigger than + the amount of bits used to store a pixel. This value is bigger than @depth - the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN + the endianness of the masks, #G_LITTLE_ENDIAN or #G_BIG_ENDIAN - the red mask + the red mask - the green mask + the green mask - the blue mask + the blue mask - the alpha mask, or 0 if no alpha mask + the alpha mask, or 0 if no alpha mask @@ -14584,15 +24044,23 @@ not specify a known format. - Convert the @format string to its #GstVideoFormat. + Convert the @format string to its #GstVideoFormat. + - the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the + the #GstVideoFormat for @format or GST_VIDEO_FORMAT_UNKNOWN when the string is not a known format. - a format string + a format string @@ -14600,14 +24068,22 @@ string is not a known format. - Get the #GstVideoFormatInfo for @format + Get the #GstVideoFormatInfo for @format + - The #GstVideoFormatInfo for @format. + The #GstVideoFormatInfo for @format. - a #GstVideoFormat + a #GstVideoFormat @@ -14616,23 +24092,33 @@ string is not a known format. c:identifier="gst_video_format_get_palette" moved-to="VideoFormat.get_palette" version="1.2"> - Get the default palette of @format. This the palette used in the pack + Get the default palette of @format. This the palette used in the pack function for paletted formats. + - the default palette of @format or %NULL when + the default palette of @format or %NULL when @format does not have a palette. - a #GstVideoFormat + a #GstVideoFormat - size of the palette in bytes + size of the palette in bytes @@ -14640,16 +24126,24 @@ function for paletted formats. - Converts a #GstVideoFormat value into the corresponding FOURCC. Only + Converts a #GstVideoFormat value into the corresponding FOURCC. Only a few YUV formats have corresponding FOURCC values. If @format has no corresponding FOURCC value, 0 is returned. + - the FOURCC corresponding to @format + the FOURCC corresponding to @format - a #GstVideoFormat video format + a #GstVideoFormat video format @@ -14657,21 +24151,59 @@ no corresponding FOURCC value, 0 is returned. - Returns a string containing a descriptive name for + Returns a string containing a descriptive name for the #GstVideoFormat if there is one, or NULL otherwise. + - the name corresponding to @format + the name corresponding to @format - a #GstVideoFormat video format + a #GstVideoFormat video format + + Return all the raw video formats supported by GStreamer. + + + an array of #GstVideoFormat + + + + + + + the number of elements in the returned array + + + + + @@ -14679,6 +24211,8 @@ the #GstVideoFormat if there is one, or NULL otherwise. + @@ -14686,7 +24220,9 @@ the #GstVideoFormat if there is one, or NULL otherwise. - Given the nominal duration of one video frame, + Given the nominal duration of one video frame, this function will check some standard framerates for a close match (within 0.1%) and return one if possible, @@ -14694,14 +24230,19 @@ It will calculate an arbitrary framerate if no close match was found, and return %FALSE. It returns %FALSE if a duration of 0 is passed. + - %TRUE if a close "standard" framerate was + %TRUE if a close "standard" framerate was recognised, and %FALSE otherwise. - Nominal duration of one frame + Nominal duration of one frame transfer-ownership="full" optional="1" allow-none="1"> - Numerator of the calculated framerate + Numerator of the calculated framerate transfer-ownership="full" optional="1" allow-none="1"> - Denominator of the calculated framerate + Denominator of the calculated framerate @@ -14728,16 +24273,23 @@ recognised, and %FALSE otherwise. c:identifier="gst_video_interlace_mode_from_string" moved-to="VideoInterlaceMode.from_string" version="1.6"> - Convert @mode to a #GstVideoInterlaceMode + Convert @mode to a #GstVideoInterlaceMode + - the #GstVideoInterlaceMode of @mode or + the #GstVideoInterlaceMode of @mode or #GST_VIDEO_INTERLACE_MODE_PROGRESSIVE when @mode is not a valid string representation for a #GstVideoInterlaceMode. - a mode + a mode @@ -14746,20 +24298,144 @@ recognised, and %FALSE otherwise. c:identifier="gst_video_interlace_mode_to_string" moved-to="VideoInterlaceMode.to_string" version="1.6"> - Convert @mode to its string representation. + Convert @mode to its string representation. + - @mode as a string or NULL if @mode in invalid. + @mode as a string or NULL if @mode in invalid. - a #GstVideoInterlaceMode + a #GstVideoInterlaceMode + + Return a generic raw video caps for formats defined in @formats. +If @formats is %NULL returns a caps for all the supported raw video formats, +see gst_video_formats_raw(). + + + a video @GstCaps + + + + + an array of raw #GstVideoFormat, or %NULL + + + + + + the size of @formats + + + + + + Return a generic raw video caps for formats defined in @formats with features +@features. +If @formats is %NULL returns a caps for all the supported video formats, +see gst_video_formats_raw(). + + + a video @GstCaps + + + + + an array of raw #GstVideoFormat, or %NULL + + + + + + the size of @formats + + + + the #GstCapsFeatures to set on the caps + + + + + + Extract #GstVideoMasteringDisplayInfo from @mastering + + + %TRUE if @minfo was filled with @mastering + + + + + a #GstVideoMasteringDisplayInfo + + + + a #GstStructure representing #GstVideoMasteringDisplayInfo + + + + + @@ -14767,6 +24443,8 @@ recognised, and %FALSE otherwise. + @@ -14774,17 +24452,27 @@ recognised, and %FALSE otherwise. - Get the #GQuark for the "gst-video-scale" metadata transform operation. + Get the #GQuark for the "gst-video-scale" metadata transform operation. + - a #GQuark + a #GQuark + - A const #GValue containing a list of stereo video modes + A const #GValue containing a list of stereo video modes Utility function that returns a #GValue with a GstList of packed stereo video modes with double the height of a single view for use in @@ -14795,8 +24483,12 @@ caps negotiations. Currently this is top-bottom and row-interleaved. + - A const #GValue containing a list of stereo video modes + A const #GValue containing a list of stereo video modes Utility function that returns a #GValue with a GstList of packed stereo video modes that have double the width/height of a single @@ -14808,8 +24500,12 @@ view for use in caps negotiation. Currently this is just + - A const #GValue containing a list of stereo video modes + A const #GValue containing a list of stereo video modes Utility function that returns a #GValue with a GstList of packed stereo video modes with double the width of a single view for use in @@ -14821,8 +24517,12 @@ and column-interleaved. + - A const #GValue containing a list of mono video modes + A const #GValue containing a list of mono video modes Utility function that returns a #GValue with a GstList of mono video modes (mono/left/right) for use in caps negotiations. @@ -14832,8 +24532,12 @@ modes (mono/left/right) for use in caps negotiations. + - A const #GValue containing a list of 'unpacked' stereo video modes + A const #GValue containing a list of 'unpacked' stereo video modes Utility function that returns a #GValue with a GstList of unpacked stereo video modes (separated/frame-by-frame/frame-by-frame-multiview) @@ -14844,8 +24548,12 @@ for use in caps negotiations. + - A boolean indicating whether the + A boolean indicating whether the #GST_VIDEO_MULTIVIEW_FLAGS_HALF_ASPECT flag should be set. Utility function that heuristically guess whether a @@ -14856,23 +24564,33 @@ overall display aspect ratio. - A #GstVideoMultiviewMode + A #GstVideoMultiviewMode - Video frame width in pixels + Video frame width in pixels - Video frame height in pixels + Video frame height in pixels - Numerator of the video pixel-aspect-ratio + Numerator of the video pixel-aspect-ratio - Denominator of the video pixel-aspect-ratio + Denominator of the video pixel-aspect-ratio @@ -14881,8 +24599,12 @@ overall display aspect ratio. c:identifier="gst_video_multiview_mode_from_caps_string" moved-to="VideoMultiviewMode.from_caps_string" version="1.6"> + - The #GstVideoMultiviewMode value + The #GstVideoMultiviewMode value Given a string from a caps multiview-mode field, output the corresponding #GstVideoMultiviewMode @@ -14891,7 +24613,9 @@ or #GST_VIDEO_MULTIVIEW_MODE_NONE - multiview-mode field string from caps + multiview-mode field string from caps @@ -14900,8 +24624,12 @@ or #GST_VIDEO_MULTIVIEW_MODE_NONE c:identifier="gst_video_multiview_mode_to_caps_string" moved-to="VideoMultiviewMode.to_caps_string" version="1.6"> + - The caps string representation of the mode, or NULL if invalid. + The caps string representation of the mode, or NULL if invalid. Given a #GstVideoMultiviewMode returns the multiview-mode caps string for insertion into a caps structure @@ -14909,7 +24637,9 @@ for insertion into a caps structure - A #GstVideoMultiviewMode value + A #GstVideoMultiviewMode value @@ -14917,29 +24647,41 @@ for insertion into a caps structure - Utility function that transforms the width/height/PAR + Utility function that transforms the width/height/PAR and multiview mode and flags of a #GstVideoInfo into the requested mode. + - A #GstVideoInfo structure to operate on + A #GstVideoInfo structure to operate on - A #GstVideoMultiviewMode value + A #GstVideoMultiviewMode value - A set of #GstVideoMultiviewFlags + A set of #GstVideoMultiviewFlags + @@ -14947,67 +24689,91 @@ the requested mode. + - This helper shall be used by classes implementing the #GstVideoOverlay + moved-to="VideoOverlay.install_properties" + version="1.14"> + This helper shall be used by classes implementing the #GstVideoOverlay interface that want the render rectangle to be controllable using properties. This helper will install "render-rectangle" property into the -class. - -Since 1.14 +class. + - The class on which the properties will be installed + The class on which the properties will be installed - The first free property ID to use + The first free property ID to use - This helper shall be used by classes implementing the #GstVideoOverlay + moved-to="VideoOverlay.set_property" + version="1.14"> + This helper shall be used by classes implementing the #GstVideoOverlay interface that want the render rectangle to be controllable using properties. This helper will parse and set the render rectangle calling gst_video_overlay_set_render_rectangle(). + - %TRUE if the @property_id matches the GstVideoOverlay property - -Since 1.14 + %TRUE if the @property_id matches the GstVideoOverlay property - The instance on which the property is set + The instance on which the property is set - The highest property ID. + The highest property ID. - The property ID + The property ID - The #GValue to be set + The #GValue to be set + @@ -15015,6 +24781,8 @@ Since 1.14 + @@ -15023,42 +24791,59 @@ Since 1.14 c:identifier="gst_video_scaler_new" moved-to="VideoScaler.new" introspectable="0"> - Make a new @method video scaler. @in_size source lines/pixels will + Make a new @method video scaler. @in_size source lines/pixels will be scaled to @out_size destination lines/pixels. @n_taps specifies the amount of pixels to use from the source for one output pixel. If n_taps is 0, this function chooses a good value automatically based on the @method and @in_size/@out_size. + - a #GstVideoScaler + a #GstVideoScaler - a #GstVideoResamplerMethod + a #GstVideoResamplerMethod - #GstVideoScalerFlags + #GstVideoScalerFlags - number of taps to use + number of taps to use - number of source elements + number of source elements - number of destination elements + number of destination elements - extra options + extra options @@ -15066,40 +24851,57 @@ on the @method and @in_size/@out_size. - Get the tile index of the tile at coordinates @x and @y in the tiled + Get the tile index of the tile at coordinates @x and @y in the tiled image of @x_tiles by @y_tiles. Use this method when @mode is of type %GST_VIDEO_TILE_TYPE_INDEXED. + - the index of the tile at @x and @y in the tiled image of + the index of the tile at @x and @y in the tiled image of @x_tiles by @y_tiles. - a #GstVideoTileMode + a #GstVideoTileMode - x coordinate + x coordinate - y coordinate + y coordinate - number of horizintal tiles + number of horizintal tiles - number of vertical tiles + number of vertical tiles + @@ -15107,6 +24909,8 @@ Use this method when @mode is of type %GST_VIDEO_TILE_TYPE_INDEXED. + diff --git a/girs/GstWebRTC-1.0.gir b/girs/GstWebRTC-1.0.gir index fae95eb28a..08d03f6f60 100644 --- a/girs/GstWebRTC-1.0.gir +++ b/girs/GstWebRTC-1.0.gir @@ -15,11 +15,317 @@ and/or use gtk-doc annotations. --> shared-library="libgstwebrtc-1.0.so.0" c:identifier-prefixes="Gst" c:symbol-prefixes="gst"> + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - GST_WEBRTC_BUNDLE_POLICY_NONE: none + GST_WEBRTC_BUNDLE_POLICY_NONE: none GST_WEBRTC_BUNDLE_POLICY_BALANCED: balanced GST_WEBRTC_BUNDLE_POLICY_MAX_COMPAT: max-compat GST_WEBRTC_BUNDLE_POLICY_MAX_BUNDLE: max-bundle @@ -50,29 +356,37 @@ for more information. glib:type-name="GstWebRTCDTLSSetup" glib:get-type="gst_webrtc_dtls_setup_get_type" c:type="GstWebRTCDTLSSetup"> - GST_WEBRTC_DTLS_SETUP_NONE: none -GST_WEBRTC_DTLS_SETUP_ACTPASS: actpass -GST_WEBRTC_DTLS_SETUP_ACTIVE: sendonly -GST_WEBRTC_DTLS_SETUP_PASSIVE: recvonly + none + actpass + sendonly + recvonly glib:type-name="GstWebRTCDTLSTransport" glib:get-type="gst_webrtc_dtls_transport_get_type" glib:type-struct="WebRTCDTLSTransportClass"> + + @@ -97,6 +415,8 @@ GST_WEBRTC_DTLS_SETUP_PASSIVE: recvonly + @@ -162,7 +482,7 @@ GST_WEBRTC_DTLS_SETUP_PASSIVE: recvonly - + @@ -170,11 +490,13 @@ GST_WEBRTC_DTLS_SETUP_PASSIVE: recvonly + - + @@ -183,47 +505,639 @@ GST_WEBRTC_DTLS_SETUP_PASSIVE: recvonly glib:type-name="GstWebRTCDTLSTransportState" glib:get-type="gst_webrtc_dtls_transport_state_get_type" c:type="GstWebRTCDTLSTransportState"> - GST_WEBRTC_DTLS_TRANSPORT_STATE_NEW: new -GST_WEBRTC_DTLS_TRANSPORT_STATE_CLOSED: closed -GST_WEBRTC_DTLS_TRANSPORT_STATE_FAILED: failed -GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTING: connecting -GST_WEBRTC_DTLS_TRANSPORT_STATE_CONNECTED: connected + new + closed + failed + connecting + connected + + + + Close the @channel. + + + + + + + a #GstWebRTCDataChannel + + + + + + Send @data as a data message over @channel. + + + + + + + a #GstWebRTCDataChannel + + + + a #GBytes or %NULL + + + + + + Send @str as a string message over @channel. + + + + + + + a #GstWebRTCDataChannel + + + + a string or %NULL + + + + + + Close the @channel. + + + + + + + a #GstWebRTCDataChannel + + + + + + Signal that the data channel reached a low buffered amount. Should only be used by subclasses. + + + + + + + a #GstWebRTCDataChannel + + + + + + Signal that the data channel was closed. Should only be used by subclasses. + + + + + + + a #GstWebRTCDataChannel + + + + + + Signal that the data channel had an error. Should only be used by subclasses. + + + + + + + a #GstWebRTCDataChannel + + + + a #GError + + + + + + Signal that the data channel received a data message. Should only be used by subclasses. + + + + + + + a #GstWebRTCDataChannel + + + + a #GBytes or %NULL + + + + + + Signal that the data channel received a string message. Should only be used by subclasses. + + + + + + + a #GstWebRTCDataChannel + + + + a string or %NULL + + + + + + Signal that the data channel was opened. Should only be used by subclasses. + + + + + + + a #GstWebRTCDataChannel + + + + + + Send @data as a data message over @channel. + + + + + + + a #GstWebRTCDataChannel + + + + a #GBytes or %NULL + + + + + + Send @str as a string message over @channel. + + + + + + + a #GstWebRTCDataChannel + + + + a string or %NULL + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Close the data channel + + + + + + + + + + + + + + + + + + + + + the #GError thrown + + + + + + + + + + + a #GBytes of the data received + + + + + + + + + + + the data received as a string + + + + + + + + + + + + + + + + a #GBytes with the data + + + + + + + + + + + the data to send as a string + + + + + + + + + + + + + + + + + + + a #GstWebRTCDataChannel + + + + a #GBytes or %NULL + + + + + + + + + + + + + + a #GstWebRTCDataChannel + + + + a string or %NULL + + + + + + + + + + + + + + a #GstWebRTCDataChannel + + + + + + + + + + + - GST_WEBRTC_DATA_CHANNEL_STATE_NEW: new + GST_WEBRTC_DATA_CHANNEL_STATE_NEW: new GST_WEBRTC_DATA_CHANNEL_STATE_CONNECTING: connection GST_WEBRTC_DATA_CHANNEL_STATE_OPEN: open GST_WEBRTC_DATA_CHANNEL_STATE_CLOSING: closing GST_WEBRTC_DATA_CHANNEL_STATE_CLOSED: closed -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate">http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate</ulink> +See <http://w3c.github.io/webrtc-pc/#dom-rtcdatachannelstate> - GST_WEBRTC_FEC_TYPE_NONE: none -GST_WEBRTC_FEC_TYPE_ULP_RED: ulpfec + red + none + ulpfec + red - GST_WEBRTC_ICE_COMPONENT_RTP, -GST_WEBRTC_ICE_COMPONENT_RTCP, + RTP component + RTCP component - GST_WEBRTC_ICE_CONNECTION_STATE_NEW: new -GST_WEBRTC_ICE_CONNECTION_STATE_CHECKING: checking -GST_WEBRTC_ICE_CONNECTION_STATE_CONNECTED: connected -GST_WEBRTC_ICE_CONNECTION_STATE_COMPLETED: completed -GST_WEBRTC_ICE_CONNECTION_STATE_FAILED: failed -GST_WEBRTC_ICE_CONNECTION_STATE_DISCONNECTED: disconnected -GST_WEBRTC_ICE_CONNECTION_STATE_CLOSED: closed -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate">http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate</ulink> + See <http://w3c.github.io/webrtc-pc/#dom-rtciceconnectionstate> + new + checking + connected + completed + failed + disconnected + closed - GST_WEBRTC_ICE_GATHERING_STATE_NEW: new -GST_WEBRTC_ICE_GATHERING_STATE_GATHERING: gathering -GST_WEBRTC_ICE_GATHERING_STATE_COMPLETE: complete -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate">http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate</ulink> + See <http://w3c.github.io/webrtc-pc/#dom-rtcicegatheringstate> + new + gathering + complete - GST_WEBRTC_ICE_ROLE_CONTROLLED: controlled -GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling + controlled + controlling glib:type-name="GstWebRTCICETransport" glib:get-type="gst_webrtc_ice_transport_get_type" glib:type-struct="WebRTCICETransportClass"> + + @@ -393,6 +1348,8 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling + @@ -408,6 +1365,8 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling + @@ -423,6 +1382,8 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling + @@ -443,6 +1404,8 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling + @@ -488,7 +1451,7 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling - + @@ -511,11 +1474,15 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling + + @@ -527,16 +1494,19 @@ GST_WEBRTC_ICE_ROLE_CONTROLLING: controlling - + - GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL: all + GST_WEBRTC_ICE_TRANSPORT_POLICY_ALL: all GST_WEBRTC_ICE_TRANSPORT_POLICY_RELAY: relay See https://tools.ietf.org/html/draft-ietf-rtcweb-jsep-24#section-4.1.1 for more information. @@ -555,53 +1525,70 @@ for more information. glib:type-name="GstWebRTCPeerConnectionState" glib:get-type="gst_webrtc_peer_connection_state_get_type" c:type="GstWebRTCPeerConnectionState"> - GST_WEBRTC_PEER_CONNECTION_STATE_NEW: new -GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTING: connecting -GST_WEBRTC_PEER_CONNECTION_STATE_CONNECTED: connected -GST_WEBRTC_PEER_CONNECTION_STATE_DISCONNECTED: disconnected -GST_WEBRTC_PEER_CONNECTION_STATE_FAILED: failed -GST_WEBRTC_PEER_CONNECTION_STATE_CLOSED: closed -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate">http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate</ulink> + See <http://w3c.github.io/webrtc-pc/#dom-rtcpeerconnectionstate> + new + connecting + connected + disconnected + failed + closed - GST_WEBRTC_PRIORITY_TYPE_VERY_LOW: very-low + GST_WEBRTC_PRIORITY_TYPE_VERY_LOW: very-low GST_WEBRTC_PRIORITY_TYPE_LOW: low GST_WEBRTC_PRIORITY_TYPE_MEDIUM: medium GST_WEBRTC_PRIORITY_TYPE_HIGH: high -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype</ulink> +See <http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype> + + + @@ -651,6 +1643,8 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: + @@ -673,7 +1667,7 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: - + @@ -681,11 +1675,12 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: + - + @@ -697,13 +1692,16 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: glib:type-name="GstWebRTCRTPSender" glib:get-type="gst_webrtc_rtp_sender_get_type" glib:type-struct="WebRTCRTPSenderClass"> + + + @@ -718,6 +1716,7 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: + @@ -745,7 +1744,7 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: - + @@ -753,11 +1752,12 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: + - + @@ -770,6 +1770,17 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: glib:type-name="GstWebRTCRTPTransceiver" glib:get-type="gst_webrtc_rtp_transceiver_get_type" glib:type-struct="WebRTCRTPTransceiverClass"> + + + Direction of the transceiver. + + - + @@ -826,11 +1837,13 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: + - + @@ -843,37 +1856,55 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcprioritytype">http: value="0" c:identifier="GST_WEBRTC_RTP_TRANSCEIVER_DIRECTION_NONE" glib:nick="none"> + none + inactive + sendonly + recvonly + sendrecv - GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW: new + GST_WEBRTC_SCTP_TRANSPORT_STATE_NEW: new GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTING: connecting GST_WEBRTC_SCTP_TRANSPORT_STATE_CONNECTED: connected GST_WEBRTC_SCTP_TRANSPORT_STATE_CLOSED: closed -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate">http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate</ulink> +See <http://w3c.github.io/webrtc-pc/#dom-rtcsctptransportstate> - GST_WEBRTC_SDP_TYPE_OFFER: offer -GST_WEBRTC_SDP_TYPE_PRANSWER: pranswer -GST_WEBRTC_SDP_TYPE_ANSWER: answer -GST_WEBRTC_SDP_TYPE_ROLLBACK: rollback -See <ulink url="http://w3c.github.io/webrtc-pc/#rtcsdptype">http://w3c.github.io/webrtc-pc/#rtcsdptype</ulink> + See <http://w3c.github.io/webrtc-pc/#rtcsdptype> + offer + pranswer + answer + rollback + - the string representation of @type or "unknown" when @type is not + the string representation of @type or "unknown" when @type is not recognized. - a #GstWebRTCSDPType + a #GstWebRTCSDPType @@ -943,56 +1990,84 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#rtcsdptype">http://w3c.git glib:type-name="GstWebRTCSessionDescription" glib:get-type="gst_webrtc_session_description_get_type" c:symbol-prefix="webrtc_session_description"> - See <ulink url="https://www.w3.org/TR/webrtc/#rtcsessiondescription-class">https://www.w3.org/TR/webrtc/#rtcsessiondescription-class</ulink> + See <https://www.w3.org/TR/webrtc/#rtcsessiondescription-class> + - the #GstWebRTCSDPType of the description + the #GstWebRTCSDPType of the description - the #GstSDPMessage of the description + the #GstSDPMessage of the description + - a new #GstWebRTCSessionDescription from @type + a new #GstWebRTCSessionDescription from @type and @sdp - a #GstWebRTCSDPType + a #GstWebRTCSDPType - a #GstSDPMessage + a #GstSDPMessage + - a new copy of @src + a new copy of @src - a #GstWebRTCSessionDescription + a #GstWebRTCSessionDescription - Free @desc and all associated resources + Free @desc and all associated resources + - a #GstWebRTCSessionDescription + a #GstWebRTCSessionDescription @@ -1003,144 +2078,192 @@ See <ulink url="http://w3c.github.io/webrtc-pc/#rtcsdptype">http://w3c.git glib:type-name="GstWebRTCSignalingState" glib:get-type="gst_webrtc_signaling_state_get_type" c:type="GstWebRTCSignalingState"> - GST_WEBRTC_SIGNALING_STATE_STABLE: stable -GST_WEBRTC_SIGNALING_STATE_CLOSED: closed -GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_OFFER: have-local-offer -GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_OFFER: have-remote-offer -GST_WEBRTC_SIGNALING_STATE_HAVE_LOCAL_PRANSWER: have-local-pranswer -GST_WEBRTC_SIGNALING_STATE_HAVE_REMOTE_PRANSWER: have-remote-pranswer -See <ulink url="http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate">http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate</ulink> + See <http://w3c.github.io/webrtc-pc/#dom-rtcsignalingstate> + stable + closed + have-local-offer + have-remote-offer + have-local-pranswer + have-remote-pranswer - GST_WEBRTC_STATS_CODEC: codec -GST_WEBRTC_STATS_INBOUND_RTP: inbound-rtp -GST_WEBRTC_STATS_OUTBOUND_RTP: outbound-rtp -GST_WEBRTC_STATS_REMOTE_INBOUND_RTP: remote-inbound-rtp -GST_WEBRTC_STATS_REMOTE_OUTBOUND_RTP: remote-outbound-rtp -GST_WEBRTC_STATS_CSRC: csrc -GST_WEBRTC_STATS_PEER_CONNECTION: peer-connectiion -GST_WEBRTC_STATS_DATA_CHANNEL: data-channel -GST_WEBRTC_STATS_STREAM: stream -GST_WEBRTC_STATS_TRANSPORT: transport -GST_WEBRTC_STATS_CANDIDATE_PAIR: candidate-pair -GST_WEBRTC_STATS_LOCAL_CANDIDATE: local-candidate -GST_WEBRTC_STATS_REMOTE_CANDIDATE: remote-candidate -GST_WEBRTC_STATS_CERTIFICATE: certificate + codec + inbound-rtp + outbound-rtp + remote-inbound-rtp + remote-outbound-rtp + csrc + peer-connectiion + data-channel + stream + transport + candidate-pair + local-candidate + remote-candidate + certificate + - the string representation of @type or "unknown" when @type is not + the string representation of @type or "unknown" when @type is not recognized. - a #GstWebRTCSDPType + a #GstWebRTCSDPType diff --git a/sources/generated/Gst.Audio/AudioDecoder.cs b/sources/generated/Gst.Audio/AudioDecoder.cs index d6a328d5b3..d05da733f7 100644 --- a/sources/generated/Gst.Audio/AudioDecoder.cs +++ b/sources/generated/Gst.Audio/AudioDecoder.cs @@ -1350,20 +1350,30 @@ namespace Gst.Audio { static extern int gst_audio_decoder_finish_frame(IntPtr raw, IntPtr buf, int frames); public Gst.FlowReturn FinishFrame(Gst.Buffer buf, int frames) { + buf.Owned = false; int raw_ret = gst_audio_decoder_finish_frame(Handle, buf == null ? IntPtr.Zero : buf.Handle, frames); Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret; return ret; } + public Gst.FlowReturn FinishFrame(int frames) { + return FinishFrame (null, frames); + } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_audio_decoder_finish_subframe(IntPtr raw, IntPtr buf); public Gst.FlowReturn FinishSubframe(Gst.Buffer buf) { + buf.Owned = false; int raw_ret = gst_audio_decoder_finish_subframe(Handle, buf == null ? IntPtr.Zero : buf.Handle); Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret; return ret; } + public Gst.FlowReturn FinishSubframe() { + return FinishSubframe (null); + } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_decoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms); diff --git a/sources/generated/Gst.Audio/AudioEncoder.cs b/sources/generated/Gst.Audio/AudioEncoder.cs index 44ff052497..50bcea0e7a 100644 --- a/sources/generated/Gst.Audio/AudioEncoder.cs +++ b/sources/generated/Gst.Audio/AudioEncoder.cs @@ -1302,11 +1302,16 @@ namespace Gst.Audio { static extern int gst_audio_encoder_finish_frame(IntPtr raw, IntPtr buffer, int samples); public Gst.FlowReturn FinishFrame(Gst.Buffer buffer, int samples) { + buffer.Owned = false; int raw_ret = gst_audio_encoder_finish_frame(Handle, buffer == null ? IntPtr.Zero : buffer.Handle, samples); Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret; return ret; } + public Gst.FlowReturn FinishFrame(int samples) { + return FinishFrame (null, samples); + } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_audio_encoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms); diff --git a/sources/generated/Gst.Audio/AudioSink.cs b/sources/generated/Gst.Audio/AudioSink.cs index 0e028926f0..79d918e3b8 100644 --- a/sources/generated/Gst.Audio/AudioSink.cs +++ b/sources/generated/Gst.Audio/AudioSink.cs @@ -419,6 +419,165 @@ namespace Gst.Audio { unmanaged (this.Handle); } + static PauseNativeDelegate Pause_cb_delegate; + static PauseNativeDelegate PauseVMCallback { + get { + if (Pause_cb_delegate == null) + Pause_cb_delegate = new PauseNativeDelegate (Pause_cb); + return Pause_cb_delegate; + } + } + + static void OverridePause (GLib.GType gtype) + { + OverridePause (gtype, PauseVMCallback); + } + + static void OverridePause (GLib.GType gtype, PauseNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("pause")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void PauseNativeDelegate (IntPtr inst); + + static void Pause_cb (IntPtr inst) + { + try { + AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink; + __obj.OnPause (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverridePause")] + protected virtual void OnPause () + { + InternalPause (); + } + + private void InternalPause () + { + PauseNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("pause")); + unmanaged = (PauseNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(PauseNativeDelegate)); + } + if (unmanaged == null) return; + + unmanaged (this.Handle); + } + + static ResumeNativeDelegate Resume_cb_delegate; + static ResumeNativeDelegate ResumeVMCallback { + get { + if (Resume_cb_delegate == null) + Resume_cb_delegate = new ResumeNativeDelegate (Resume_cb); + return Resume_cb_delegate; + } + } + + static void OverrideResume (GLib.GType gtype) + { + OverrideResume (gtype, ResumeVMCallback); + } + + static void OverrideResume (GLib.GType gtype, ResumeNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("resume")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void ResumeNativeDelegate (IntPtr inst); + + static void Resume_cb (IntPtr inst) + { + try { + AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink; + __obj.OnResume (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideResume")] + protected virtual void OnResume () + { + InternalResume (); + } + + private void InternalResume () + { + ResumeNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("resume")); + unmanaged = (ResumeNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(ResumeNativeDelegate)); + } + if (unmanaged == null) return; + + unmanaged (this.Handle); + } + + static StopNativeDelegate Stop_cb_delegate; + static StopNativeDelegate StopVMCallback { + get { + if (Stop_cb_delegate == null) + Stop_cb_delegate = new StopNativeDelegate (Stop_cb); + return Stop_cb_delegate; + } + } + + static void OverrideStop (GLib.GType gtype) + { + OverrideStop (gtype, StopVMCallback); + } + + static void OverrideStop (GLib.GType gtype, StopNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("stop")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void StopNativeDelegate (IntPtr inst); + + static void Stop_cb (IntPtr inst) + { + try { + AudioSink __obj = GLib.Object.GetObject (inst, false) as AudioSink; + __obj.OnStop (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.Audio.AudioSink), ConnectionMethod="OverrideStop")] + protected virtual void OnStop () + { + InternalStop (); + } + + private void InternalStop () + { + StopNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("stop")); + unmanaged = (StopNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(StopNativeDelegate)); + } + if (unmanaged == null) return; + + unmanaged (this.Handle); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _class_abi = null; @@ -478,14 +637,38 @@ namespace Gst.Audio { , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // reset , "delay" - , "_gst_reserved" + , "pause" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), - new GLib.AbiField("_gst_reserved" + new GLib.AbiField("pause" , -1 - , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _gst_reserved + , (uint) Marshal.SizeOf(typeof(IntPtr)) // pause , "reset" + , "resume" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("resume" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // resume + , "pause" + , "stop" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("stop" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // stop + , "resume" + , "extension" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("extension" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // extension + , "stop" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 diff --git a/sources/generated/Gst.Audio/AudioSinkClassExtension.cs b/sources/generated/Gst.Audio/AudioSinkClassExtension.cs new file mode 100644 index 0000000000..3ef75bb2fb --- /dev/null +++ b/sources/generated/Gst.Audio/AudioSinkClassExtension.cs @@ -0,0 +1,45 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Audio { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct AudioSinkClassExtension : IEquatable { + + private IntPtr _clear_all; + + public static Gst.Audio.AudioSinkClassExtension Zero = new Gst.Audio.AudioSinkClassExtension (); + + public static Gst.Audio.AudioSinkClassExtension New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.Audio.AudioSinkClassExtension.Zero; + return (Gst.Audio.AudioSinkClassExtension) Marshal.PtrToStructure (raw, typeof (Gst.Audio.AudioSinkClassExtension)); + } + + public bool Equals (AudioSinkClassExtension other) + { + return true && _clear_all.Equals (other._clear_all); + } + + public override bool Equals (object other) + { + return other is AudioSinkClassExtension && Equals ((AudioSinkClassExtension) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ _clear_all.GetHashCode (); + } + + private static GLib.GType GType { + get { return GLib.GType.Pointer; } + } +#endregion + } +} diff --git a/sources/generated/Gst.Audio/Constants.cs b/sources/generated/Gst.Audio/Constants.cs index edbe7d7d1e..336ec584e6 100644 --- a/sources/generated/Gst.Audio/Constants.cs +++ b/sources/generated/Gst.Audio/Constants.cs @@ -25,7 +25,7 @@ namespace Gst.Audio { public const int AUDIO_DEF_RATE = 44100; public const string AUDIO_ENCODER_SINK_NAME = @"sink"; public const string AUDIO_ENCODER_SRC_NAME = @"src"; - public const string AUDIO_FORMATS_ALL = @" { S8, U8, S16LE, S16BE, U16LE, U16BE, S24_32LE, S24_32BE, U24_32LE, U24_32BE, S32LE, S32BE, U32LE, U32BE, S24LE, S24BE, U24LE, U24BE, S20LE, S20BE, U20LE, U20BE, S18LE, S18BE, U18LE, U18BE, F32LE, F32BE, F64LE, F64BE }"; + public const string AUDIO_FORMATS_ALL = @"{ F64BE, F64LE, F32BE, F32LE, S32BE, S32LE, U32BE, U32LE, S24_32BE, S24_32LE, U24_32BE, U24_32LE, S24BE, S24LE, U24BE, U24LE, S20BE, S20LE, U20BE, U20LE, S18BE, S18LE, U18BE, U18LE, S16BE, S16LE, U16BE, U16LE, S8, U8 }"; public const string AUDIO_RATE_RANGE = @"(int) [ 1, max ]"; public const string AUDIO_RESAMPLER_OPT_CUBIC_B = @"GstAudioResampler.cubic-b"; public const string AUDIO_RESAMPLER_OPT_CUBIC_C = @"GstAudioResampler.cubic-c"; diff --git a/sources/generated/Gst.Audio/Global.cs b/sources/generated/Gst.Audio/Global.cs index 71ad7f2560..f21e7ae446 100644 --- a/sources/generated/Gst.Audio/Global.cs +++ b/sources/generated/Gst.Audio/Global.cs @@ -251,6 +251,23 @@ namespace Gst.Audio { return ret; } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_audio_make_raw_caps(int[] formats, uint len, int layout); + + public static Gst.Caps AudioMakeRawCaps(Gst.Audio.AudioFormat[] formats, uint len, Gst.Audio.AudioLayout layout) { + int cnt_formats = formats == null ? 0 : formats.Length; + int[] native_formats = new int [cnt_formats]; + for (int i = 0; i < cnt_formats; i++) + native_formats [i] = (int) formats[i]; + IntPtr raw_ret = gst_audio_make_raw_caps(native_formats, len, (int) layout); + Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true); + return ret; + } + + public static Gst.Caps AudioMakeRawCaps(uint len, Gst.Audio.AudioLayout layout) { + return AudioMakeRawCaps (null, len, layout); + } + [DllImport("gstaudio-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_audio_meta_api_get_type(); diff --git a/sources/generated/Gst.Base/Aggregator.cs b/sources/generated/Gst.Base/Aggregator.cs index 1443102468..950ac5acc7 100644 --- a/sources/generated/Gst.Base/Aggregator.cs +++ b/sources/generated/Gst.Base/Aggregator.cs @@ -65,6 +65,21 @@ namespace Gst.Base { } } + [GLib.Property ("start-time-selection")] + public Gst.Base.AggregatorStartTimeSelection StartTimeSelection { + get { + GLib.Value val = GetProperty ("start-time-selection"); + Gst.Base.AggregatorStartTimeSelection ret = (Gst.Base.AggregatorStartTimeSelection) (Enum) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value((Enum) value); + SetProperty("start-time-selection", val); + val.Dispose (); + } + } + public Gst.Pad Srcpad { get { unsafe { @@ -1065,6 +1080,180 @@ namespace Gst.Base { return __result; } + static NegotiateNativeDelegate Negotiate_cb_delegate; + static NegotiateNativeDelegate NegotiateVMCallback { + get { + if (Negotiate_cb_delegate == null) + Negotiate_cb_delegate = new NegotiateNativeDelegate (Negotiate_cb); + return Negotiate_cb_delegate; + } + } + + static void OverrideNegotiate (GLib.GType gtype) + { + OverrideNegotiate (gtype, NegotiateVMCallback); + } + + static void OverrideNegotiate (GLib.GType gtype, NegotiateNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate bool NegotiateNativeDelegate (IntPtr inst); + + static bool Negotiate_cb (IntPtr inst) + { + try { + Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator; + bool __result; + __result = __obj.OnNegotiate (); + return __result; + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, true); + // NOTREACHED: above call does not return. + throw e; + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideNegotiate")] + protected virtual bool OnNegotiate () + { + return InternalNegotiate (); + } + + private bool InternalNegotiate () + { + NegotiateNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("negotiate")); + unmanaged = (NegotiateNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(NegotiateNativeDelegate)); + } + if (unmanaged == null) return false; + + bool __result = unmanaged (this.Handle); + return __result; + } + + static SinkEventPreQueueNativeDelegate SinkEventPreQueue_cb_delegate; + static SinkEventPreQueueNativeDelegate SinkEventPreQueueVMCallback { + get { + if (SinkEventPreQueue_cb_delegate == null) + SinkEventPreQueue_cb_delegate = new SinkEventPreQueueNativeDelegate (SinkEventPreQueue_cb); + return SinkEventPreQueue_cb_delegate; + } + } + + static void OverrideSinkEventPreQueue (GLib.GType gtype) + { + OverrideSinkEventPreQueue (gtype, SinkEventPreQueueVMCallback); + } + + static void OverrideSinkEventPreQueue (GLib.GType gtype, SinkEventPreQueueNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event_pre_queue")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate int SinkEventPreQueueNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr evnt); + + static int SinkEventPreQueue_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr evnt) + { + try { + Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator; + Gst.FlowReturn __result; + __result = __obj.OnSinkEventPreQueue (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad, evnt == IntPtr.Zero ? null : (Gst.Event) GLib.Opaque.GetOpaque (evnt, typeof (Gst.Event), false)); + return (int) __result; + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, true); + // NOTREACHED: above call does not return. + throw e; + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSinkEventPreQueue")] + protected virtual Gst.FlowReturn OnSinkEventPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Event evnt) + { + return InternalSinkEventPreQueue (aggregator_pad, evnt); + } + + private Gst.FlowReturn InternalSinkEventPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Event evnt) + { + SinkEventPreQueueNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_event_pre_queue")); + unmanaged = (SinkEventPreQueueNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkEventPreQueueNativeDelegate)); + } + if (unmanaged == null) return (Gst.FlowReturn) 0; + + int __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle, evnt == null ? IntPtr.Zero : evnt.Handle); + return (Gst.FlowReturn) __result; + } + + static SinkQueryPreQueueNativeDelegate SinkQueryPreQueue_cb_delegate; + static SinkQueryPreQueueNativeDelegate SinkQueryPreQueueVMCallback { + get { + if (SinkQueryPreQueue_cb_delegate == null) + SinkQueryPreQueue_cb_delegate = new SinkQueryPreQueueNativeDelegate (SinkQueryPreQueue_cb); + return SinkQueryPreQueue_cb_delegate; + } + } + + static void OverrideSinkQueryPreQueue (GLib.GType gtype) + { + OverrideSinkQueryPreQueue (gtype, SinkQueryPreQueueVMCallback); + } + + static void OverrideSinkQueryPreQueue (GLib.GType gtype, SinkQueryPreQueueNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query_pre_queue")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate bool SinkQueryPreQueueNativeDelegate (IntPtr inst, IntPtr aggregator_pad, IntPtr query); + + static bool SinkQueryPreQueue_cb (IntPtr inst, IntPtr aggregator_pad, IntPtr query) + { + try { + Aggregator __obj = GLib.Object.GetObject (inst, false) as Aggregator; + bool __result; + __result = __obj.OnSinkQueryPreQueue (GLib.Object.GetObject(aggregator_pad) as Gst.Base.AggregatorPad, query == IntPtr.Zero ? null : (Gst.Query) GLib.Opaque.GetOpaque (query, typeof (Gst.Query), false)); + return __result; + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, true); + // NOTREACHED: above call does not return. + throw e; + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.Base.Aggregator), ConnectionMethod="OverrideSinkQueryPreQueue")] + protected virtual bool OnSinkQueryPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Query query) + { + return InternalSinkQueryPreQueue (aggregator_pad, query); + } + + private bool InternalSinkQueryPreQueue (Gst.Base.AggregatorPad aggregator_pad, Gst.Query query) + { + SinkQueryPreQueueNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("sink_query_pre_queue")); + unmanaged = (SinkQueryPreQueueNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SinkQueryPreQueueNativeDelegate)); + } + if (unmanaged == null) return false; + + bool __result = unmanaged (this.Handle, aggregator_pad == null ? IntPtr.Zero : aggregator_pad.Handle, query == null ? IntPtr.Zero : query.Handle); + return __result; + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _class_abi = null; @@ -1212,14 +1401,38 @@ namespace Gst.Base { , -1 , (uint) Marshal.SizeOf(typeof(IntPtr)) // propose_allocation , "decide_allocation" + , "negotiate" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("negotiate" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // negotiate + , "propose_allocation" + , "sink_event_pre_queue" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("sink_event_pre_queue" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_event_pre_queue + , "negotiate" + , "sink_query_pre_queue" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("sink_query_pre_queue" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // sink_query_pre_queue + , "sink_event_pre_queue" , "_gst_reserved" , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 ), new GLib.AbiField("_gst_reserved" , -1 - , (uint) Marshal.SizeOf(typeof(IntPtr)) * 20 // _gst_reserved - , "propose_allocation" + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 17 // _gst_reserved + , "sink_query_pre_queue" , null , (uint) Marshal.SizeOf(typeof(IntPtr)) , 0 @@ -1277,6 +1490,15 @@ namespace Gst.Base { } } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_aggregator_negotiate(IntPtr raw); + + public bool Negotiate() { + bool raw_ret = gst_aggregator_negotiate(Handle); + bool ret = raw_ret; + return ret; + } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_aggregator_set_latency(IntPtr raw, ulong min_latency, ulong max_latency); @@ -1302,6 +1524,15 @@ namespace Gst.Base { return ret; } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_aggregator_update_segment(IntPtr raw, IntPtr segment); + + public void UpdateSegment(Gst.Segment segment) { + IntPtr native_segment = GLib.Marshaller.StructureToPtrAlloc (segment); + gst_aggregator_update_segment(Handle, native_segment); + Marshal.FreeHGlobal (native_segment); + } + static Aggregator () { diff --git a/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs b/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs new file mode 100644 index 0000000000..df0d7ec507 --- /dev/null +++ b/sources/generated/Gst.Base/AggregatorStartTimeSelection.cs @@ -0,0 +1,29 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Base { + + using System; + using System.Runtime.InteropServices; + +#region Autogenerated code + [GLib.GType (typeof (Gst.Base.AggregatorStartTimeSelectionGType))] + public enum AggregatorStartTimeSelection { + + Zero = 0, + First = 1, + Set = 2, + } + + internal class AggregatorStartTimeSelectionGType { + [DllImport ("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_aggregator_start_time_selection_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_aggregator_start_time_selection_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.Base/BaseSink.cs b/sources/generated/Gst.Base/BaseSink.cs index 18461d5e11..0ebb01fe4e 100644 --- a/sources/generated/Gst.Base/BaseSink.cs +++ b/sources/generated/Gst.Base/BaseSink.cs @@ -165,6 +165,18 @@ namespace Gst.Base { } } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_base_sink_get_stats(IntPtr raw); + + [GLib.Property ("stats")] + public Gst.Structure Stats { + get { + IntPtr raw_ret = gst_base_sink_get_stats(Handle); + Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true); + return ret; + } + } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_base_sink_get_sync(IntPtr raw); diff --git a/sources/generated/Gst.Base/BaseSrc.cs b/sources/generated/Gst.Base/BaseSrc.cs index da7db32fd5..4edcc3b01f 100644 --- a/sources/generated/Gst.Base/BaseSrc.cs +++ b/sources/generated/Gst.Base/BaseSrc.cs @@ -1567,6 +1567,15 @@ namespace Gst.Base { } } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_base_src_negotiate(IntPtr raw); + + public bool Negotiate() { + bool raw_ret = gst_base_src_negotiate(Handle); + bool ret = raw_ret; + return ret; + } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_base_src_new_seamless_segment(IntPtr raw, long start, long stop, long time); diff --git a/sources/generated/Gst.Base/BaseTransform.cs b/sources/generated/Gst.Base/BaseTransform.cs index 6a044bdc18..8b69ef4897 100644 --- a/sources/generated/Gst.Base/BaseTransform.cs +++ b/sources/generated/Gst.Base/BaseTransform.cs @@ -1664,6 +1664,15 @@ namespace Gst.Base { } } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_base_transform_reconfigure(IntPtr raw); + + public bool Reconfigure() { + bool raw_ret = gst_base_transform_reconfigure(Handle); + bool ret = raw_ret; + return ret; + } + [DllImport("gstbase-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_base_transform_reconfigure_sink(IntPtr raw); diff --git a/sources/generated/Gst.Controller/ProxyControlBinding.cs b/sources/generated/Gst.Controller/ProxyControlBinding.cs index a12d80d5b3..07f110353a 100644 --- a/sources/generated/Gst.Controller/ProxyControlBinding.cs +++ b/sources/generated/Gst.Controller/ProxyControlBinding.cs @@ -35,6 +35,30 @@ namespace Gst.Controller { GLib.Marshaller.Free (native_ref_property_name); } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List{ + new GLib.AbiField("_padding" + , Gst.ControlBinding.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , null + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + [DllImport("gstcontroller-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_proxy_control_binding_get_type(); @@ -51,6 +75,46 @@ namespace Gst.Controller { { GtkSharp.GstreamerSharp.ObjectManager.Initialize (); } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List{ + new GLib.AbiField("ref_object" + , Gst.ControlBinding.abi_info.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // ref_object + , null + , "property_name" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("property_name" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // property_name + , "ref_object" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "property_name" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + + // End of the ABI representation. + #endregion } } diff --git a/sources/generated/Gst.Net/Global.cs b/sources/generated/Gst.Net/Global.cs index 3ef6d3bae8..3bfa56bf57 100644 --- a/sources/generated/Gst.Net/Global.cs +++ b/sources/generated/Gst.Net/Global.cs @@ -87,6 +87,15 @@ namespace Gst.Net { return ret; } + [DllImport("gstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_net_utils_set_socket_tos(IntPtr socket, int qos_dscp); + + public static bool NetUtilsSetSocketTos(GLib.Socket socket, int qos_dscp) { + bool raw_ret = gst_net_utils_set_socket_tos(socket == null ? IntPtr.Zero : socket.Handle, qos_dscp); + bool ret = raw_ret; + return ret; + } + [DllImport("gstnet-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_ptp_deinit(); diff --git a/sources/generated/Gst.PbUtils/EncodingProfile.cs b/sources/generated/Gst.PbUtils/EncodingProfile.cs index 85419c5dfb..f77ed36ec7 100644 --- a/sources/generated/Gst.PbUtils/EncodingProfile.cs +++ b/sources/generated/Gst.PbUtils/EncodingProfile.cs @@ -263,6 +263,23 @@ namespace Gst.PbUtils { } } + [DllImport("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_encoding_profile_get_single_segment(IntPtr raw); + + [DllImport("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_encoding_profile_set_single_segment(IntPtr raw, bool single_segment); + + public bool SingleSegment { + get { + bool raw_ret = gst_encoding_profile_get_single_segment(Handle); + bool ret = raw_ret; + return ret; + } + set { + gst_encoding_profile_set_single_segment(Handle, value); + } + } + [DllImport("gstpbutils-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_encoding_profile_get_type_nick(IntPtr raw); diff --git a/sources/generated/Gst.Rtp/RTCPFBType.cs b/sources/generated/Gst.Rtp/RTCPFBType.cs index 5b596306cf..0198459882 100644 --- a/sources/generated/Gst.Rtp/RTCPFBType.cs +++ b/sources/generated/Gst.Rtp/RTCPFBType.cs @@ -22,6 +22,7 @@ namespace Gst.Rtp { PsfbTypeTstr = 5, PsfbTypeTstn = 6, PsfbTypeVbcn = 7, + RtpfbTypeTwcc = 15, PsfbTypeAfb = 15, } diff --git a/sources/generated/Gst.Rtp/RTPBaseDepayload.cs b/sources/generated/Gst.Rtp/RTPBaseDepayload.cs index e1ec31194f..c510fd29f1 100644 --- a/sources/generated/Gst.Rtp/RTPBaseDepayload.cs +++ b/sources/generated/Gst.Rtp/RTPBaseDepayload.cs @@ -18,6 +18,21 @@ namespace Gst.Rtp { CreateNativeObject (new string [0], new GLib.Value [0]); } + [GLib.Property ("max-reorder")] + public int MaxReorder { + get { + GLib.Value val = GetProperty ("max-reorder"); + int ret = (int) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("max-reorder", val); + val.Dispose (); + } + } + [GLib.Property ("source-info")] public bool SourceInfo { get { diff --git a/sources/generated/Gst.Rtp/RTPBasePayload.cs b/sources/generated/Gst.Rtp/RTPBasePayload.cs index f9163d785c..0191b5add8 100644 --- a/sources/generated/Gst.Rtp/RTPBasePayload.cs +++ b/sources/generated/Gst.Rtp/RTPBasePayload.cs @@ -123,6 +123,21 @@ namespace Gst.Rtp { } } + [GLib.Property ("scale-rtptime")] + public bool ScaleRtptime { + get { + GLib.Value val = GetProperty ("scale-rtptime"); + bool ret = (bool) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("scale-rtptime", val); + val.Dispose (); + } + } + [GLib.Property ("seqnum")] public uint Seqnum { get { @@ -213,6 +228,21 @@ namespace Gst.Rtp { } } + [GLib.Property ("twcc-ext-id")] + public uint TwccExtId { + get { + GLib.Value val = GetProperty ("twcc-ext-id"); + uint ret = (uint) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("twcc-ext-id", val); + val.Dispose (); + } + } + static GetCapsNativeDelegate GetCaps_cb_delegate; static GetCapsNativeDelegate GetCapsVMCallback { get { diff --git a/sources/generated/Gst.Rtsp/RTSPConnection.cs b/sources/generated/Gst.Rtsp/RTSPConnection.cs index f22b5936e1..b043dc5587 100644 --- a/sources/generated/Gst.Rtsp/RTSPConnection.cs +++ b/sources/generated/Gst.Rtsp/RTSPConnection.cs @@ -30,15 +30,26 @@ namespace Gst.Rtsp { [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_connect(IntPtr raw, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult Connect(IntPtr timeout) { int raw_ret = gst_rtsp_connection_connect(Handle, timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_connect_usec(IntPtr raw, long timeout); + + public Gst.Rtsp.RTSPResult ConnectUsec(long timeout) { + int raw_ret = gst_rtsp_connection_connect_usec(Handle, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_connect_with_response(IntPtr raw, IntPtr timeout, IntPtr response); + [Obsolete] public Gst.Rtsp.RTSPResult ConnectWithResponse(IntPtr timeout, Gst.Rtsp.RTSPMessage response) { IntPtr native_response = GLib.Marshaller.StructureToPtrAlloc (response); int raw_ret = gst_rtsp_connection_connect_with_response(Handle, timeout, native_response); @@ -47,6 +58,17 @@ namespace Gst.Rtsp { return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_connect_with_response_usec(IntPtr raw, long timeout, IntPtr response); + + public Gst.Rtsp.RTSPResult ConnectWithResponseUsec(long timeout, Gst.Rtsp.RTSPMessage response) { + IntPtr native_response = GLib.Marshaller.StructureToPtrAlloc (response); + int raw_ret = gst_rtsp_connection_connect_with_response_usec(Handle, timeout, native_response); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + Marshal.FreeHGlobal (native_response); + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_do_tunnel(IntPtr raw, IntPtr conn2); @@ -224,33 +246,64 @@ namespace Gst.Rtsp { [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_next_timeout(IntPtr raw, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult NextTimeout(IntPtr timeout) { int raw_ret = gst_rtsp_connection_next_timeout(Handle, timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern long gst_rtsp_connection_next_timeout_usec(IntPtr raw); + + public long NextTimeoutUsec() { + long raw_ret = gst_rtsp_connection_next_timeout_usec(Handle); + long ret = raw_ret; + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_poll(IntPtr raw, int events, int revents, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult Poll(Gst.Rtsp.RTSPEvent events, Gst.Rtsp.RTSPEvent revents, IntPtr timeout) { int raw_ret = gst_rtsp_connection_poll(Handle, (int) events, (int) revents, timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_poll_usec(IntPtr raw, int events, int revents, long timeout); + + public Gst.Rtsp.RTSPResult PollUsec(Gst.Rtsp.RTSPEvent events, Gst.Rtsp.RTSPEvent revents, long timeout) { + int raw_ret = gst_rtsp_connection_poll_usec(Handle, (int) events, (int) revents, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_read(IntPtr raw, byte data, uint size, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult Read(byte data, uint size, IntPtr timeout) { int raw_ret = gst_rtsp_connection_read(Handle, data, size, timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_read_usec(IntPtr raw, byte data, uint size, long timeout); + + public Gst.Rtsp.RTSPResult ReadUsec(byte data, uint size, long timeout) { + int raw_ret = gst_rtsp_connection_read_usec(Handle, data, size, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_receive(IntPtr raw, IntPtr message, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult Receive(Gst.Rtsp.RTSPMessage message, IntPtr timeout) { IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message); int raw_ret = gst_rtsp_connection_receive(Handle, native_message, timeout); @@ -259,6 +312,17 @@ namespace Gst.Rtsp { return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_receive_usec(IntPtr raw, IntPtr message, long timeout); + + public Gst.Rtsp.RTSPResult ReceiveUsec(Gst.Rtsp.RTSPMessage message, long timeout) { + IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message); + int raw_ret = gst_rtsp_connection_receive_usec(Handle, native_message, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + Marshal.FreeHGlobal (native_message); + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_reset_timeout(IntPtr raw); @@ -271,6 +335,7 @@ namespace Gst.Rtsp { [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_send(IntPtr raw, IntPtr message, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult Send(Gst.Rtsp.RTSPMessage message, IntPtr timeout) { IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message); int raw_ret = gst_rtsp_connection_send(Handle, native_message, timeout); @@ -282,12 +347,33 @@ namespace Gst.Rtsp { [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_send_messages(IntPtr raw, Gst.Rtsp.RTSPMessage[] messages, uint n_messages, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult SendMessages(Gst.Rtsp.RTSPMessage[] messages, IntPtr timeout) { int raw_ret = gst_rtsp_connection_send_messages(Handle, messages, (uint) (messages == null ? 0 : messages.Length), timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_send_messages_usec(IntPtr raw, Gst.Rtsp.RTSPMessage[] messages, uint n_messages, long timeout); + + public Gst.Rtsp.RTSPResult SendMessagesUsec(Gst.Rtsp.RTSPMessage[] messages, long timeout) { + int raw_ret = gst_rtsp_connection_send_messages_usec(Handle, messages, (uint) (messages == null ? 0 : messages.Length), timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + return ret; + } + + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_send_usec(IntPtr raw, IntPtr message, long timeout); + + public Gst.Rtsp.RTSPResult SendUsec(Gst.Rtsp.RTSPMessage message, long timeout) { + IntPtr native_message = GLib.Marshaller.StructureToPtrAlloc (message); + int raw_ret = gst_rtsp_connection_send_usec(Handle, native_message, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + Marshal.FreeHGlobal (native_message); + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_rtsp_connection_set_accept_certificate_func(IntPtr raw, Gst.RtspSharp.RTSPConnectionAcceptCertificateFuncNative func, IntPtr user_data, GLib.DestroyNotify destroy_notify); @@ -331,6 +417,15 @@ namespace Gst.Rtsp { GLib.Marshaller.Free (native_value); } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_rtsp_connection_set_content_length_limit(IntPtr raw, uint limit); + + public uint ContentLengthLimit { + set { + gst_rtsp_connection_set_content_length_limit(Handle, value); + } + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_rtsp_connection_set_http_mode(IntPtr raw, bool enable); @@ -381,12 +476,22 @@ namespace Gst.Rtsp { [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_write(IntPtr raw, byte data, uint size, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult Write(byte data, uint size, IntPtr timeout) { int raw_ret = gst_rtsp_connection_write(Handle, data, size, timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_connection_write_usec(IntPtr raw, byte data, uint size, long timeout); + + public Gst.Rtsp.RTSPResult WriteUsec(byte data, uint size, long timeout) { + int raw_ret = gst_rtsp_connection_write_usec(Handle, data, size, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_connection_accept(IntPtr socket, out IntPtr conn, IntPtr cancellable); diff --git a/sources/generated/Gst.Rtsp/RTSPUrl.cs b/sources/generated/Gst.Rtsp/RTSPUrl.cs index ff94b1b9b0..67519d0f8e 100644 --- a/sources/generated/Gst.Rtsp/RTSPUrl.cs +++ b/sources/generated/Gst.Rtsp/RTSPUrl.cs @@ -81,6 +81,21 @@ namespace Gst.Rtsp { } } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_rtsp_url_get_request_uri_with_control(IntPtr raw, IntPtr control_path); + + public string GetRequestUriWithControl(string control_path) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + IntPtr native_control_path = GLib.Marshaller.StringToPtrGStrdup (control_path); + IntPtr raw_ret = gst_rtsp_url_get_request_uri_with_control(this_as_native, native_control_path); + string ret = GLib.Marshaller.PtrToStringGFree(raw_ret); + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + GLib.Marshaller.Free (native_control_path); + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_url_set_port(IntPtr raw, ushort port); diff --git a/sources/generated/Gst.Rtsp/RTSPWatch.cs b/sources/generated/Gst.Rtsp/RTSPWatch.cs index 92db499405..e7fd163796 100644 --- a/sources/generated/Gst.Rtsp/RTSPWatch.cs +++ b/sources/generated/Gst.Rtsp/RTSPWatch.cs @@ -75,12 +75,22 @@ namespace Gst.Rtsp { [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_watch_wait_backlog(IntPtr raw, IntPtr timeout); + [Obsolete] public Gst.Rtsp.RTSPResult WaitBacklog(IntPtr timeout) { int raw_ret = gst_rtsp_watch_wait_backlog(Handle, timeout); Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; return ret; } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_rtsp_watch_wait_backlog_usec(IntPtr raw, long timeout); + + public Gst.Rtsp.RTSPResult WaitBacklogUsec(long timeout) { + int raw_ret = gst_rtsp_watch_wait_backlog_usec(Handle, timeout); + Gst.Rtsp.RTSPResult ret = (Gst.Rtsp.RTSPResult) raw_ret; + return ret; + } + [DllImport("gstrtsp-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_rtsp_watch_write_data(IntPtr raw, byte[] data, uint size, out uint id); diff --git a/sources/generated/Gst.Tags/Constants.cs b/sources/generated/Gst.Tags/Constants.cs index 7833c2c88c..c57955ea5c 100644 --- a/sources/generated/Gst.Tags/Constants.cs +++ b/sources/generated/Gst.Tags/Constants.cs @@ -11,6 +11,8 @@ namespace Gst.Tags { #region Autogenerated code public partial class Constants { + public const string TAG_ACOUSTID_FINGERPRINT = @"chromaprint-fingerprint"; + public const string TAG_ACOUSTID_ID = @"acoustid-id"; public const string TAG_CAPTURING_CONTRAST = @"capturing-contrast"; public const string TAG_CAPTURING_DIGITAL_ZOOM_RATIO = @"capturing-digital-zoom-ratio"; public const string TAG_CAPTURING_EXPOSURE_COMPENSATION = @"capturing-exposure-compensation"; @@ -44,6 +46,8 @@ namespace Gst.Tags { public const string TAG_MUSICBRAINZ_ALBUMARTISTID = @"musicbrainz-albumartistid"; public const string TAG_MUSICBRAINZ_ALBUMID = @"musicbrainz-albumid"; public const string TAG_MUSICBRAINZ_ARTISTID = @"musicbrainz-artistid"; + public const string TAG_MUSICBRAINZ_RELEASEGROUPID = @"musicbrainz-releasegroupid"; + public const string TAG_MUSICBRAINZ_RELEASETRACKID = @"musicbrainz-releasetrackid"; public const string TAG_MUSICBRAINZ_TRACKID = @"musicbrainz-trackid"; public const string TAG_MUSICBRAINZ_TRMID = @"musicbrainz-trmid"; #endregion diff --git a/sources/generated/Gst.Video/Constants.cs b/sources/generated/Gst.Video/Constants.cs index e9e94598de..457db9ea1a 100644 --- a/sources/generated/Gst.Video/Constants.cs +++ b/sources/generated/Gst.Video/Constants.cs @@ -25,6 +25,9 @@ namespace Gst.Video { public const string META_TAG_VIDEO_SIZE_STR = @"size"; public const string META_TAG_VIDEO_STR = @"video"; public const string VIDEO_COLORIMETRY_BT2020 = @"bt2020"; + public const string VIDEO_COLORIMETRY_BT2020_10 = @"bt2020-10"; + public const string VIDEO_COLORIMETRY_BT2100_HLG = @"bt2100-hlg"; + public const string VIDEO_COLORIMETRY_BT2100_PQ = @"bt2100-pq"; public const string VIDEO_COLORIMETRY_BT601 = @"bt601"; public const string VIDEO_COLORIMETRY_BT709 = @"bt709"; public const string VIDEO_COLORIMETRY_SMPTE240M = @"smpte240m"; @@ -65,11 +68,10 @@ namespace Gst.Video { public const string VIDEO_DECODER_SRC_NAME = @"src"; public const string VIDEO_ENCODER_SINK_NAME = @"sink"; public const string VIDEO_ENCODER_SRC_NAME = @"src"; - public const string VIDEO_FORMATS_ALL = @"{ I420, YV12, YUY2, UYVY, AYUV, VUYA, RGBx, BGRx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, Y41B, Y42B, YVYU, Y444, v210, v216, Y210, Y410, NV12, NV21, GRAY8, GRAY16_BE, GRAY16_LE, v308, RGB16, BGR16, RGB15, BGR15, UYVP, A420, RGB8P, YUV9, YVU9, IYU1, ARGB64, AYUV64, r210, I420_10BE, I420_10LE, I422_10BE, I422_10LE, Y444_10BE, Y444_10LE, GBR, GBR_10BE, GBR_10LE, NV16, NV24, NV12_64Z32, A420_10BE, A420_10LE, A422_10BE, A422_10LE, A444_10BE, A444_10LE, NV61, P010_10BE, P010_10LE, IYU2, VYUY, GBRA, GBRA_10BE, GBRA_10LE, BGR10A2_LE, GBR_12BE, GBR_12LE, GBRA_12BE, GBRA_12LE, I420_12BE, I420_12LE, I422_12BE, I422_12LE, Y444_12BE, Y444_12LE, GRAY10_LE32, NV12_10LE32, NV16_10LE32, NV12_10LE40 }"; + public const string VIDEO_FORMATS_ALL = @"{ AYUV64, ARGB64, GBRA_12BE, GBRA_12LE, Y412_BE, Y412_LE, A444_10BE, GBRA_10BE, A444_10LE, GBRA_10LE, A422_10BE, A422_10LE, A420_10BE, A420_10LE, Y410, RGB10A2_LE, BGR10A2_LE, GBRA, ABGR, VUYA, BGRA, AYUV, ARGB, RGBA, A420, Y444_16BE, Y444_16LE, v216, P016_BE, P016_LE, Y444_12BE, GBR_12BE, Y444_12LE, GBR_12LE, I422_12BE, I422_12LE, Y212_BE, Y212_LE, I420_12BE, I420_12LE, P012_BE, P012_LE, Y444_10BE, GBR_10BE, Y444_10LE, GBR_10LE, r210, I422_10BE, I422_10LE, NV16_10LE32, Y210, v210, UYVP, I420_10BE, I420_10LE, P010_10BE, P010_10LE, NV12_10LE32, NV12_10LE40, Y444, GBR, NV24, xBGR, BGRx, xRGB, RGBx, BGR, IYU2, v308, RGB, Y42B, NV61, NV16, VYUY, UYVY, YVYU, YUY2, I420, YV12, NV21, NV12, NV12_64Z32, Y41B, IYU1, YVU9, YUV9, RGB16, BGR16, RGB15, BGR15, RGB8P, GRAY16_BE, GRAY16_LE, GRAY10_LE32, GRAY8 }"; public const string VIDEO_FPS_RANGE = @"(fraction) [ 0, max ]"; public const int VIDEO_MAX_COMPONENTS = 4; public const int VIDEO_MAX_PLANES = 4; - public const string VIDEO_OVERLAY_COMPOSITION_BLEND_FORMATS = @"{ BGRx, RGBx, xRGB, xBGR, RGBA, BGRA, ARGB, ABGR, RGB, BGR, I420, YV12, AYUV, YUY2, UYVY, v308, Y41B, Y42B, Y444, NV12, NV21, A420, YUV9, YVU9, IYU1, GRAY8 }"; public const string VIDEO_RESAMPLER_OPT_CUBIC_B = @"GstVideoResampler.cubic-b"; public const string VIDEO_RESAMPLER_OPT_CUBIC_C = @"GstVideoResampler.cubic-c"; public const string VIDEO_RESAMPLER_OPT_ENVELOPE = @"GstVideoResampler.envelope"; diff --git a/sources/generated/Gst.Video/Global.cs b/sources/generated/Gst.Video/Global.cs index 240b9c5120..6c00ad3e2b 100644 --- a/sources/generated/Gst.Video/Global.cs +++ b/sources/generated/Gst.Video/Global.cs @@ -11,6 +11,15 @@ namespace Gst.Video { #region Autogenerated code public partial class Global { + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_buffer_add_video_afd_meta(IntPtr buffer, byte field, int spec, int afd); + + public static Gst.Video.VideoAFDMeta BufferAddVideoAfdMeta(Gst.Buffer buffer, byte field, Gst.Video.VideoAFDSpec spec, Gst.Video.VideoAFDValue afd) { + IntPtr raw_ret = gst_buffer_add_video_afd_meta(buffer == null ? IntPtr.Zero : buffer.Handle, field, (int) spec, (int) afd); + Gst.Video.VideoAFDMeta ret = Gst.Video.VideoAFDMeta.New (raw_ret); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_buffer_add_video_affine_transformation_meta(IntPtr buffer); @@ -20,6 +29,15 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_buffer_add_video_bar_meta(IntPtr buffer, byte field, bool is_letterbox, uint bar_data1, uint bar_data2); + + public static Gst.Video.VideoBarMeta BufferAddVideoBarMeta(Gst.Buffer buffer, byte field, bool is_letterbox, uint bar_data1, uint bar_data2) { + IntPtr raw_ret = gst_buffer_add_video_bar_meta(buffer == null ? IntPtr.Zero : buffer.Handle, field, is_letterbox, bar_data1, bar_data2); + Gst.Video.VideoBarMeta ret = Gst.Video.VideoBarMeta.New (raw_ret); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_buffer_add_video_caption_meta(IntPtr buffer, int caption_type, byte[] data, UIntPtr size); @@ -206,6 +224,15 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_navigation_event_parse_mouse_scroll_event(IntPtr evnt, out double x, out double y, out double delta_x, out double delta_y); + + public static bool NavigationEventParseMouseScrollEvent(Gst.Event evnt, out double x, out double y, out double delta_x, out double delta_y) { + bool raw_ret = gst_navigation_event_parse_mouse_scroll_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y, out delta_x, out delta_y); + bool ret = raw_ret; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_navigation_message_get_type(IntPtr message); @@ -354,6 +381,24 @@ namespace Gst.Video { gst_navigation_query_set_commandsv(query == null ? IntPtr.Zero : query.Handle, (cmds == null ? 0 : cmds.Length), native_cmds); } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_afd_meta_api_get_type(); + + public static GLib.GType VideoAfdMetaApiGetType() { + IntPtr raw_ret = gst_video_afd_meta_api_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_afd_meta_get_info(); + + public static Gst.MetaInfo VideoAfdMetaGetInfo() { + IntPtr raw_ret = gst_video_afd_meta_get_info(); + Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_video_affine_transformation_meta_api_get_type(); @@ -372,6 +417,24 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_bar_meta_api_get_type(); + + public static GLib.GType VideoBarMetaApiGetType() { + IntPtr raw_ret = gst_video_bar_meta_api_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_bar_meta_get_info(); + + public static Gst.MetaInfo VideoBarMetaGetInfo() { + IntPtr raw_ret = gst_video_bar_meta_get_info(); + Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_blend(IntPtr dest, IntPtr src, int x, int y, float global_alpha); @@ -472,6 +535,15 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_video_color_matrix_from_iso(uint value); + + public static Gst.Video.VideoColorMatrix VideoColorMatrixFromIso(uint value) { + int raw_ret = gst_video_color_matrix_from_iso(value); + Gst.Video.VideoColorMatrix ret = (Gst.Video.VideoColorMatrix) raw_ret; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_color_matrix_get_Kr_Kb(int matrix, out double Kr, out double Kb); @@ -481,6 +553,24 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern uint gst_video_color_matrix_to_iso(int matrix); + + public static uint VideoColorMatrixToIso(Gst.Video.VideoColorMatrix matrix) { + uint raw_ret = gst_video_color_matrix_to_iso((int) matrix); + uint ret = raw_ret; + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_video_color_primaries_from_iso(uint value); + + public static Gst.Video.VideoColorPrimaries VideoColorPrimariesFromIso(uint value) { + int raw_ret = gst_video_color_primaries_from_iso(value); + Gst.Video.VideoColorPrimaries ret = (Gst.Video.VideoColorPrimaries) raw_ret; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_video_color_primaries_get_info(int primaries); @@ -490,6 +580,15 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern uint gst_video_color_primaries_to_iso(int primaries); + + public static uint VideoColorPrimariesToIso(Gst.Video.VideoColorPrimaries primaries) { + uint raw_ret = gst_video_color_primaries_to_iso((int) primaries); + uint ret = raw_ret; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_color_range_offsets(int range, IntPtr info, out int[] offset, out int[] scale); @@ -519,6 +618,24 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_video_color_transfer_from_iso(uint value); + + public static Gst.Video.VideoTransferFunction VideoColorTransferFromIso(uint value) { + int raw_ret = gst_video_color_transfer_from_iso(value); + Gst.Video.VideoTransferFunction ret = (Gst.Video.VideoTransferFunction) raw_ret; + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern uint gst_video_color_transfer_to_iso(int func); + + public static uint VideoColorTransferToIso(Gst.Video.VideoTransferFunction func) { + uint raw_ret = gst_video_color_transfer_to_iso((int) func); + uint ret = raw_ret; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern unsafe IntPtr gst_video_convert_sample(IntPtr sample, IntPtr to_caps, ulong timeout, out IntPtr error); @@ -762,6 +879,56 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_make_raw_caps(int[] formats, uint len); + + public static Gst.Caps VideoMakeRawCaps(Gst.Video.VideoFormat[] formats, uint len) { + int cnt_formats = formats == null ? 0 : formats.Length; + int[] native_formats = new int [cnt_formats]; + for (int i = 0; i < cnt_formats; i++) + native_formats [i] = (int) formats[i]; + IntPtr raw_ret = gst_video_make_raw_caps(native_formats, len); + Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true); + return ret; + } + + public static Gst.Caps VideoMakeRawCaps(uint len) { + return VideoMakeRawCaps (null, len); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_make_raw_caps_with_features(int[] formats, uint len, IntPtr features); + + public static Gst.Caps VideoMakeRawCapsWithFeatures(Gst.Video.VideoFormat[] formats, uint len, Gst.CapsFeatures features) { + int cnt_formats = formats == null ? 0 : formats.Length; + int[] native_formats = new int [cnt_formats]; + for (int i = 0; i < cnt_formats; i++) + native_formats [i] = (int) formats[i]; + IntPtr native_features = GLib.Marshaller.StructureToPtrAlloc (features); + IntPtr raw_ret = gst_video_make_raw_caps_with_features(native_formats, len, native_features); + Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true); + Marshal.FreeHGlobal (native_features); + return ret; + } + + public static Gst.Caps VideoMakeRawCapsWithFeatures(uint len) { + return VideoMakeRawCapsWithFeatures (null, len, Gst.CapsFeatures.Zero); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_mastering_display_info_from_string(IntPtr minfo, IntPtr mastering); + + public static bool VideoMasteringDisplayInfoFromString(out Gst.Video.VideoMasteringDisplayInfo minfo, string mastering) { + IntPtr native_minfo = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Video.VideoMasteringDisplayInfo))); + IntPtr native_mastering = GLib.Marshaller.StringToPtrGStrdup (mastering); + bool raw_ret = gst_video_mastering_display_info_from_string(native_minfo, native_mastering); + bool ret = raw_ret; + minfo = Gst.Video.VideoMasteringDisplayInfo.New (native_minfo); + Marshal.FreeHGlobal (native_minfo); + GLib.Marshaller.Free (native_mastering); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_video_meta_api_get_type(); diff --git a/sources/generated/Gst.Video/INavigation.cs b/sources/generated/Gst.Video/INavigation.cs index 94fc1b646f..8616d47b60 100644 --- a/sources/generated/Gst.Video/INavigation.cs +++ b/sources/generated/Gst.Video/INavigation.cs @@ -12,6 +12,7 @@ namespace Gst.Video { void SendEvent(Gst.Structure structure); void SendKeyEvent(string evnt, string key); void SendMouseEvent(string evnt, int button, double x, double y); + void SendMouseScrollEvent(double x, double y, double delta_x, double delta_y); } [GLib.GInterface (typeof (NavigationAdapter))] diff --git a/sources/generated/Gst.Video/NavigationAdapter.cs b/sources/generated/Gst.Video/NavigationAdapter.cs index ffd3f4b56d..5dee4be959 100644 --- a/sources/generated/Gst.Video/NavigationAdapter.cs +++ b/sources/generated/Gst.Video/NavigationAdapter.cs @@ -170,6 +170,15 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_navigation_event_parse_mouse_scroll_event(IntPtr evnt, out double x, out double y, out double delta_x, out double delta_y); + + public static bool EventParseMouseScrollEvent(Gst.Event evnt, out double x, out double y, out double delta_x, out double delta_y) { + bool raw_ret = gst_navigation_event_parse_mouse_scroll_event(evnt == null ? IntPtr.Zero : evnt.Handle, out x, out y, out delta_x, out delta_y); + bool ret = raw_ret; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_navigation_message_get_type(IntPtr message); @@ -352,6 +361,13 @@ namespace Gst.Video { GLib.Marshaller.Free (native_evnt); } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_navigation_send_mouse_scroll_event(IntPtr raw, double x, double y, double delta_x, double delta_y); + + public void SendMouseScrollEvent(double x, double y, double delta_x, double delta_y) { + gst_navigation_send_mouse_scroll_event(Handle, x, y, delta_x, delta_y); + } + #endregion } } diff --git a/sources/generated/Gst.Video/NavigationEventType.cs b/sources/generated/Gst.Video/NavigationEventType.cs index aab9963dab..2047aaa4b6 100644 --- a/sources/generated/Gst.Video/NavigationEventType.cs +++ b/sources/generated/Gst.Video/NavigationEventType.cs @@ -17,6 +17,7 @@ namespace Gst.Video { MouseButtonRelease = 4, MouseMove = 5, Command = 6, + MouseScroll = 7, } internal class NavigationEventTypeGType { diff --git a/sources/generated/Gst.Video/VideoAFDMeta.cs b/sources/generated/Gst.Video/VideoAFDMeta.cs new file mode 100644 index 0000000000..3f6eeeac29 --- /dev/null +++ b/sources/generated/Gst.Video/VideoAFDMeta.cs @@ -0,0 +1,59 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct VideoAFDMeta : IEquatable { + + public Gst.Meta Meta; + public byte Field; + public Gst.Video.VideoAFDSpec Spec; + public Gst.Video.VideoAFDValue Afd; + + public static Gst.Video.VideoAFDMeta Zero = new Gst.Video.VideoAFDMeta (); + + public static Gst.Video.VideoAFDMeta New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.Video.VideoAFDMeta.Zero; + return (Gst.Video.VideoAFDMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoAFDMeta)); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_afd_meta_get_info(); + + public static Gst.MetaInfo Info { + get { + IntPtr raw_ret = gst_video_afd_meta_get_info(); + Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret); + return ret; + } + } + + public bool Equals (VideoAFDMeta other) + { + return true && Meta.Equals (other.Meta) && Field.Equals (other.Field) && Spec.Equals (other.Spec) && Afd.Equals (other.Afd); + } + + public override bool Equals (object other) + { + return other is VideoAFDMeta && Equals ((VideoAFDMeta) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Field.GetHashCode () ^ Spec.GetHashCode () ^ Afd.GetHashCode (); + } + + private static GLib.GType GType { + get { return GLib.GType.Pointer; } + } +#endregion + } +} diff --git a/sources/generated/Gst.Video/VideoAFDSpec.cs b/sources/generated/Gst.Video/VideoAFDSpec.cs new file mode 100644 index 0000000000..7815162970 --- /dev/null +++ b/sources/generated/Gst.Video/VideoAFDSpec.cs @@ -0,0 +1,29 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Runtime.InteropServices; + +#region Autogenerated code + [GLib.GType (typeof (Gst.Video.VideoAFDSpecGType))] + public enum VideoAFDSpec { + + DvbEtsi = 0, + AtscA53 = 1, + SmpteSt20161 = 2, + } + + internal class VideoAFDSpecGType { + [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_afd_spec_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_video_afd_spec_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.Video/VideoAFDValue.cs b/sources/generated/Gst.Video/VideoAFDValue.cs new file mode 100644 index 0000000000..6a1a388616 --- /dev/null +++ b/sources/generated/Gst.Video/VideoAFDValue.cs @@ -0,0 +1,37 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Runtime.InteropServices; + +#region Autogenerated code + [GLib.GType (typeof (Gst.Video.VideoAFDValueGType))] + public enum VideoAFDValue { + + Unavailable = 0, + _16169TopAligned = 2, + _14149TopAligned = 3, + GreaterThan169 = 4, + _443Full169Full = 8, + _443Full43Pillar = 9, + _16169Letter169Full = 10, + _14149Letter149Pillar = 11, + _443Full149Center = 13, + _16169Letter149Center = 14, + _16169Letter43Center = 15, + } + + internal class VideoAFDValueGType { + [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_afd_value_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_video_afd_value_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs b/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs index a93b524c3f..001fd0fe4d 100644 --- a/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs +++ b/sources/generated/Gst.Video/VideoAffineTransformationMeta.cs @@ -25,11 +25,12 @@ namespace Gst.Video { } [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] - static extern void gst_video_affine_transformation_meta_apply_matrix(IntPtr raw, float matrix); + static extern void gst_video_affine_transformation_meta_apply_matrix(IntPtr raw, float[] matrix); - public void ApplyMatrix(float matrix) { + public void ApplyMatrix(float[] matrix) { IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + matrix = new float[16]; gst_video_affine_transformation_meta_apply_matrix(this_as_native, matrix); ReadNative (this_as_native, ref this); System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); diff --git a/sources/generated/Gst.Video/VideoAggregatorPad.cs b/sources/generated/Gst.Video/VideoAggregatorPad.cs index b0a706dd6a..10e9ed2607 100644 --- a/sources/generated/Gst.Video/VideoAggregatorPad.cs +++ b/sources/generated/Gst.Video/VideoAggregatorPad.cs @@ -18,6 +18,21 @@ namespace Gst.Video { CreateNativeObject (new string [0], new GLib.Value [0]); } + [GLib.Property ("max-last-buffer-repeat")] + public ulong MaxLastBufferRepeat { + get { + GLib.Value val = GetProperty ("max-last-buffer-repeat"); + ulong ret = (ulong) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("max-last-buffer-repeat", val); + val.Dispose (); + } + } + [GLib.Property ("repeat-after-eos")] public bool RepeatAfterEos { get { diff --git a/sources/generated/Gst.Video/VideoAncillaryDID16.cs b/sources/generated/Gst.Video/VideoAncillaryDID16.cs index 85bd086a75..7dcecec22d 100644 --- a/sources/generated/Gst.Video/VideoAncillaryDID16.cs +++ b/sources/generated/Gst.Video/VideoAncillaryDID16.cs @@ -10,8 +10,9 @@ namespace Gst.Video { [GLib.GType (typeof (Gst.Video.VideoAncillaryDID16GType))] public enum VideoAncillaryDID16 { - _708 = 24833, - _608 = 24834, + S20163AfdBar = 16645, + S334Eia708 = 24833, + S334Eia608 = 24834, } internal class VideoAncillaryDID16GType { diff --git a/sources/generated/Gst.Video/VideoBarMeta.cs b/sources/generated/Gst.Video/VideoBarMeta.cs new file mode 100644 index 0000000000..dee24ffbe1 --- /dev/null +++ b/sources/generated/Gst.Video/VideoBarMeta.cs @@ -0,0 +1,60 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct VideoBarMeta : IEquatable { + + public Gst.Meta Meta; + public byte Field; + public bool IsLetterbox; + public uint BarData1; + public uint BarData2; + + public static Gst.Video.VideoBarMeta Zero = new Gst.Video.VideoBarMeta (); + + public static Gst.Video.VideoBarMeta New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.Video.VideoBarMeta.Zero; + return (Gst.Video.VideoBarMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoBarMeta)); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_bar_meta_get_info(); + + public static Gst.MetaInfo Info { + get { + IntPtr raw_ret = gst_video_bar_meta_get_info(); + Gst.MetaInfo ret = Gst.MetaInfo.New (raw_ret); + return ret; + } + } + + public bool Equals (VideoBarMeta other) + { + return true && Meta.Equals (other.Meta) && Field.Equals (other.Field) && IsLetterbox.Equals (other.IsLetterbox) && BarData1.Equals (other.BarData1) && BarData2.Equals (other.BarData2); + } + + public override bool Equals (object other) + { + return other is VideoBarMeta && Equals ((VideoBarMeta) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Field.GetHashCode () ^ IsLetterbox.GetHashCode () ^ BarData1.GetHashCode () ^ BarData2.GetHashCode (); + } + + private static GLib.GType GType { + get { return GLib.GType.Pointer; } + } +#endregion + } +} diff --git a/sources/generated/Gst.Video/VideoBufferFlags.cs b/sources/generated/Gst.Video/VideoBufferFlags.cs index 677a9b8214..78050318a5 100644 --- a/sources/generated/Gst.Video/VideoBufferFlags.cs +++ b/sources/generated/Gst.Video/VideoBufferFlags.cs @@ -11,6 +11,7 @@ namespace Gst.Video { [GLib.GType (typeof (Gst.Video.VideoBufferFlagsGType))] public enum VideoBufferFlags { + Marker = 512, Interlaced = 1048576, Tff = 2097152, Rff = 4194304, diff --git a/sources/generated/Gst.Video/VideoContentLightLevel.cs b/sources/generated/Gst.Video/VideoContentLightLevel.cs new file mode 100644 index 0000000000..4ddaf1f20a --- /dev/null +++ b/sources/generated/Gst.Video/VideoContentLightLevel.cs @@ -0,0 +1,118 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct VideoContentLightLevel : IEquatable { + + public ushort MaxContentLightLevel; + public ushort MaxFrameAverageLightLevel; + [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)] + private IntPtr[] _gstGstReserved; + + public static Gst.Video.VideoContentLightLevel Zero = new Gst.Video.VideoContentLightLevel (); + + public static Gst.Video.VideoContentLightLevel New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.Video.VideoContentLightLevel.Zero; + return (Gst.Video.VideoContentLightLevel) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoContentLightLevel)); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_content_light_level_add_to_caps(IntPtr raw, IntPtr caps); + + public bool AddToCaps(Gst.Caps caps) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + bool raw_ret = gst_video_content_light_level_add_to_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_content_light_level_from_caps(IntPtr raw, IntPtr caps); + + public bool FromCaps(Gst.Caps caps) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + bool raw_ret = gst_video_content_light_level_from_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_content_light_level_from_string(IntPtr raw, IntPtr level); + + public bool FromString(string level) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + IntPtr native_level = GLib.Marshaller.StringToPtrGStrdup (level); + bool raw_ret = gst_video_content_light_level_from_string(this_as_native, native_level); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + GLib.Marshaller.Free (native_level); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_video_content_light_level_init(IntPtr raw); + + public void Init() { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + gst_video_content_light_level_init(this_as_native); + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_content_light_level_to_string(IntPtr raw); + + public override string ToString() { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + IntPtr raw_ret = gst_video_content_light_level_to_string(this_as_native); + string ret = GLib.Marshaller.PtrToStringGFree(raw_ret); + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + static void ReadNative (IntPtr native, ref Gst.Video.VideoContentLightLevel target) + { + target = New (native); + } + + public bool Equals (VideoContentLightLevel other) + { + return true && MaxContentLightLevel.Equals (other.MaxContentLightLevel) && MaxFrameAverageLightLevel.Equals (other.MaxFrameAverageLightLevel); + } + + public override bool Equals (object other) + { + return other is VideoContentLightLevel && Equals ((VideoContentLightLevel) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ MaxContentLightLevel.GetHashCode () ^ MaxFrameAverageLightLevel.GetHashCode (); + } + + private static GLib.GType GType { + get { return GLib.GType.Pointer; } + } +#endregion + } +} diff --git a/sources/generated/Gst.Video/VideoDecoder.cs b/sources/generated/Gst.Video/VideoDecoder.cs index 3021ac0976..b3598ac9eb 100644 --- a/sources/generated/Gst.Video/VideoDecoder.cs +++ b/sources/generated/Gst.Video/VideoDecoder.cs @@ -18,6 +18,21 @@ namespace Gst.Video { CreateNativeObject (new string [0], new GLib.Value [0]); } + [GLib.Property ("qos")] + public bool Qos { + get { + GLib.Value val = GetProperty ("qos"); + bool ret = (bool) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("qos", val); + val.Dispose (); + } + } + static OpenNativeDelegate Open_cb_delegate; static OpenNativeDelegate OpenVMCallback { get { diff --git a/sources/generated/Gst.Video/VideoEncoder.cs b/sources/generated/Gst.Video/VideoEncoder.cs index 931e701d83..72f8991f7f 100644 --- a/sources/generated/Gst.Video/VideoEncoder.cs +++ b/sources/generated/Gst.Video/VideoEncoder.cs @@ -18,6 +18,24 @@ namespace Gst.Video { CreateNativeObject (new string [0], new GLib.Value [0]); } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern ulong gst_video_encoder_get_min_force_key_unit_interval(IntPtr raw); + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_video_encoder_set_min_force_key_unit_interval(IntPtr raw, ulong interval); + + [GLib.Property ("min-force-key-unit-interval")] + public ulong MinForceKeyUnitInterval { + get { + ulong raw_ret = gst_video_encoder_get_min_force_key_unit_interval(Handle); + ulong ret = raw_ret; + return ret; + } + set { + gst_video_encoder_set_min_force_key_unit_interval(Handle, value); + } + } + [GLib.Property ("qos")] public bool Qos { get { @@ -1363,6 +1381,17 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern int gst_video_encoder_finish_subframe(IntPtr raw, IntPtr frame); + + public Gst.FlowReturn FinishSubframe(Gst.Video.VideoCodecFrame frame) { + IntPtr native_frame = GLib.Marshaller.StructureToPtrAlloc (frame); + int raw_ret = gst_video_encoder_finish_subframe(Handle, native_frame); + Gst.FlowReturn ret = (Gst.FlowReturn) raw_ret; + Marshal.FreeHGlobal (native_frame); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_encoder_get_allocator(IntPtr raw, out IntPtr allocator, IntPtr parms); diff --git a/sources/generated/Gst.Video/VideoFormat.cs b/sources/generated/Gst.Video/VideoFormat.cs index 08b64d5522..373684bfcf 100644 --- a/sources/generated/Gst.Video/VideoFormat.cs +++ b/sources/generated/Gst.Video/VideoFormat.cs @@ -96,6 +96,17 @@ namespace Gst.Video { Y410 = 83, Vuya = 84, Bgr10a2Le = 85, + Rgb10a2Le = 86, + Y44416be = 87, + Y44416le = 88, + P016Be = 89, + P016Le = 90, + P012Be = 91, + P012Le = 92, + Y212Be = 93, + Y212Le = 94, + Y412Be = 95, + Y412Le = 96, } internal class VideoFormatGType { diff --git a/sources/generated/Gst.Video/VideoFormatInfo.cs b/sources/generated/Gst.Video/VideoFormatInfo.cs index 1bda79f366..dccdedc164 100644 --- a/sources/generated/Gst.Video/VideoFormatInfo.cs +++ b/sources/generated/Gst.Video/VideoFormatInfo.cs @@ -61,6 +61,24 @@ namespace Gst.Video { return (Gst.Video.VideoFormatInfo) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoFormatInfo)); } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_video_format_info_component(IntPtr raw, uint plane, out int components); + + public int Component(uint plane) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + int components; + gst_video_format_info_component(this_as_native, plane, out components); + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return components; + } + + static void ReadNative (IntPtr native, ref Gst.Video.VideoFormatInfo target) + { + target = New (native); + } + public bool Equals (VideoFormatInfo other) { return true && Format.Equals (other.Format) && Name.Equals (other.Name) && Description.Equals (other.Description) && Flags.Equals (other.Flags) && Bits.Equals (other.Bits) && NComponents.Equals (other.NComponents) && Shift.Equals (other.Shift) && Depth.Equals (other.Depth) && PixelStride.Equals (other.PixelStride) && NPlanes.Equals (other.NPlanes) && Plane.Equals (other.Plane) && Poffset.Equals (other.Poffset) && WSub.Equals (other.WSub) && HSub.Equals (other.HSub) && UnpackFormat.Equals (other.UnpackFormat) && UnpackFunc.Equals (other.UnpackFunc) && PackLines.Equals (other.PackLines) && PackFunc.Equals (other.PackFunc) && TileMode.Equals (other.TileMode) && TileWs.Equals (other.TileWs) && TileHs.Equals (other.TileHs); diff --git a/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs b/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs index 1f617cc192..528825f706 100644 --- a/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs +++ b/sources/generated/Gst.Video/VideoGLTextureUploadMeta.cs @@ -63,6 +63,11 @@ namespace Gst.Video { return other is VideoGLTextureUploadMeta && Equals ((VideoGLTextureUploadMeta) other); } + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ TextureOrientation.GetHashCode () ^ NTextures.GetHashCode () ^ TextureType.GetHashCode () ^ _buffer.GetHashCode () ^ _upload.GetHashCode () ^ _user_data.GetHashCode (); + } + private static GLib.GType GType { get { return GLib.GType.Pointer; } } diff --git a/sources/generated/Gst.Video/VideoInfo.cs b/sources/generated/Gst.Video/VideoInfo.cs index a86b6a10ef..2380d1d660 100644 --- a/sources/generated/Gst.Video/VideoInfo.cs +++ b/sources/generated/Gst.Video/VideoInfo.cs @@ -228,6 +228,19 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_info_align_full(IntPtr raw, IntPtr align, out UIntPtr plane_size); + + public bool AlignFull(Gst.Video.VideoAlignment align, out ulong plane_size) { + IntPtr native_align = GLib.Marshaller.StructureToPtrAlloc (align); + UIntPtr native_plane_size; + bool raw_ret = gst_video_info_align_full(Handle, native_align, out native_plane_size); + bool ret = raw_ret; + Marshal.FreeHGlobal (native_align); + plane_size = (ulong) native_plane_size; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_info_convert(IntPtr raw, int src_format, long src_value, int dest_format, out long dest_value); diff --git a/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs b/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs new file mode 100644 index 0000000000..3349fe873c --- /dev/null +++ b/sources/generated/Gst.Video/VideoMasteringDisplayInfo.cs @@ -0,0 +1,135 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct VideoMasteringDisplayInfo : IEquatable { + + [MarshalAs (UnmanagedType.ByValArray, SizeConst=3)] + public Gst.Video.VideoMasteringDisplayInfoCoordinates[] DisplayPrimaries; + public Gst.Video.VideoMasteringDisplayInfoCoordinates WhitePoint; + public uint MaxDisplayMasteringLuminance; + public uint MinDisplayMasteringLuminance; + [MarshalAs (UnmanagedType.ByValArray, SizeConst=4)] + private IntPtr[] _gstGstReserved; + + public static Gst.Video.VideoMasteringDisplayInfo Zero = new Gst.Video.VideoMasteringDisplayInfo (); + + public static Gst.Video.VideoMasteringDisplayInfo New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.Video.VideoMasteringDisplayInfo.Zero; + return (Gst.Video.VideoMasteringDisplayInfo) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMasteringDisplayInfo)); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_mastering_display_info_add_to_caps(IntPtr raw, IntPtr caps); + + public bool AddToCaps(Gst.Caps caps) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + bool raw_ret = gst_video_mastering_display_info_add_to_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_mastering_display_info_from_caps(IntPtr raw, IntPtr caps); + + public bool FromCaps(Gst.Caps caps) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + bool raw_ret = gst_video_mastering_display_info_from_caps(this_as_native, caps == null ? IntPtr.Zero : caps.Handle); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_video_mastering_display_info_init(IntPtr raw); + + public void Init() { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + gst_video_mastering_display_info_init(this_as_native); + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_mastering_display_info_is_equal(IntPtr raw, IntPtr other); + + public bool IsEqual(Gst.Video.VideoMasteringDisplayInfo other) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + IntPtr native_other = GLib.Marshaller.StructureToPtrAlloc (other); + bool raw_ret = gst_video_mastering_display_info_is_equal(this_as_native, native_other); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + Marshal.FreeHGlobal (native_other); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_mastering_display_info_to_string(IntPtr raw); + + public override string ToString() { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + IntPtr raw_ret = gst_video_mastering_display_info_to_string(this_as_native); + string ret = GLib.Marshaller.PtrToStringGFree(raw_ret); + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_mastering_display_info_from_string(IntPtr minfo, IntPtr mastering); + + public static bool FromString(out Gst.Video.VideoMasteringDisplayInfo minfo, string mastering) { + IntPtr native_minfo = Marshal.AllocHGlobal (Marshal.SizeOf (typeof (Gst.Video.VideoMasteringDisplayInfo))); + IntPtr native_mastering = GLib.Marshaller.StringToPtrGStrdup (mastering); + bool raw_ret = gst_video_mastering_display_info_from_string(native_minfo, native_mastering); + bool ret = raw_ret; + minfo = Gst.Video.VideoMasteringDisplayInfo.New (native_minfo); + Marshal.FreeHGlobal (native_minfo); + GLib.Marshaller.Free (native_mastering); + return ret; + } + + static void ReadNative (IntPtr native, ref Gst.Video.VideoMasteringDisplayInfo target) + { + target = New (native); + } + + public bool Equals (VideoMasteringDisplayInfo other) + { + return true && DisplayPrimaries.Equals (other.DisplayPrimaries) && WhitePoint.Equals (other.WhitePoint) && MaxDisplayMasteringLuminance.Equals (other.MaxDisplayMasteringLuminance) && MinDisplayMasteringLuminance.Equals (other.MinDisplayMasteringLuminance); + } + + public override bool Equals (object other) + { + return other is VideoMasteringDisplayInfo && Equals ((VideoMasteringDisplayInfo) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ DisplayPrimaries.GetHashCode () ^ WhitePoint.GetHashCode () ^ MaxDisplayMasteringLuminance.GetHashCode () ^ MinDisplayMasteringLuminance.GetHashCode (); + } + + private static GLib.GType GType { + get { return GLib.GType.Pointer; } + } +#endregion + } +} diff --git a/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs b/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs new file mode 100644 index 0000000000..8df0c8fa0b --- /dev/null +++ b/sources/generated/Gst.Video/VideoMasteringDisplayInfoCoordinates.cs @@ -0,0 +1,46 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.Video { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + [StructLayout(LayoutKind.Sequential)] + public partial struct VideoMasteringDisplayInfoCoordinates : IEquatable { + + public ushort X; + public ushort Y; + + public static Gst.Video.VideoMasteringDisplayInfoCoordinates Zero = new Gst.Video.VideoMasteringDisplayInfoCoordinates (); + + public static Gst.Video.VideoMasteringDisplayInfoCoordinates New(IntPtr raw) { + if (raw == IntPtr.Zero) + return Gst.Video.VideoMasteringDisplayInfoCoordinates.Zero; + return (Gst.Video.VideoMasteringDisplayInfoCoordinates) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMasteringDisplayInfoCoordinates)); + } + + public bool Equals (VideoMasteringDisplayInfoCoordinates other) + { + return true && X.Equals (other.X) && Y.Equals (other.Y); + } + + public override bool Equals (object other) + { + return other is VideoMasteringDisplayInfoCoordinates && Equals ((VideoMasteringDisplayInfoCoordinates) other); + } + + public override int GetHashCode () + { + return this.GetType ().FullName.GetHashCode () ^ X.GetHashCode () ^ Y.GetHashCode (); + } + + private static GLib.GType GType { + get { return GLib.GType.Pointer; } + } +#endregion + } +} diff --git a/sources/generated/Gst.Video/VideoMeta.cs b/sources/generated/Gst.Video/VideoMeta.cs index 6ceefc69e2..5c058e72e6 100644 --- a/sources/generated/Gst.Video/VideoMeta.cs +++ b/sources/generated/Gst.Video/VideoMeta.cs @@ -34,6 +34,7 @@ namespace Gst.Video { public int[] Stride; private IntPtr _map; private IntPtr _unmap; + public Gst.Video.VideoAlignment Alignment; public static Gst.Video.VideoMeta Zero = new Gst.Video.VideoMeta (); @@ -43,6 +44,34 @@ namespace Gst.Video { return (Gst.Video.VideoMeta) Marshal.PtrToStructure (raw, typeof (Gst.Video.VideoMeta)); } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_meta_get_plane_height(IntPtr raw, out uint plane_height); + + public bool GetPlaneHeight(out uint plane_height) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + bool raw_ret = gst_video_meta_get_plane_height(this_as_native, out plane_height); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + return ret; + } + + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_meta_get_plane_size(IntPtr raw, out UIntPtr plane_size); + + public bool GetPlaneSize(out ulong plane_size) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + UIntPtr native_plane_size; + bool raw_ret = gst_video_meta_get_plane_size(this_as_native, out native_plane_size); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + plane_size = (ulong) native_plane_size; + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_meta_map(IntPtr raw, uint plane, IntPtr info, out IntPtr data, out int stride, int flags); @@ -58,6 +87,21 @@ namespace Gst.Video { return ret; } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_video_meta_set_alignment(IntPtr raw, IntPtr alignment); + + public bool SetAlignment(Gst.Video.VideoAlignment alignment) { + IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); + System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); + IntPtr native_alignment = GLib.Marshaller.StructureToPtrAlloc (alignment); + bool raw_ret = gst_video_meta_set_alignment(this_as_native, native_alignment); + bool ret = raw_ret; + ReadNative (this_as_native, ref this); + System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); + Marshal.FreeHGlobal (native_alignment); + return ret; + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern bool gst_video_meta_unmap(IntPtr raw, uint plane, IntPtr info); @@ -91,7 +135,7 @@ namespace Gst.Video { public bool Equals (VideoMeta other) { - return true && Meta.Equals (other.Meta) && Buffer.Equals (other.Buffer) && Flags.Equals (other.Flags) && Format.Equals (other.Format) && Id.Equals (other.Id) && Width.Equals (other.Width) && Height.Equals (other.Height) && NPlanes.Equals (other.NPlanes) && Offset.Equals (other.Offset) && Stride.Equals (other.Stride) && _map.Equals (other._map) && _unmap.Equals (other._unmap); + return true && Meta.Equals (other.Meta) && Buffer.Equals (other.Buffer) && Flags.Equals (other.Flags) && Format.Equals (other.Format) && Id.Equals (other.Id) && Width.Equals (other.Width) && Height.Equals (other.Height) && NPlanes.Equals (other.NPlanes) && Offset.Equals (other.Offset) && Stride.Equals (other.Stride) && _map.Equals (other._map) && _unmap.Equals (other._unmap) && Alignment.Equals (other.Alignment); } public override bool Equals (object other) @@ -101,7 +145,7 @@ namespace Gst.Video { public override int GetHashCode () { - return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Buffer.GetHashCode () ^ Flags.GetHashCode () ^ Format.GetHashCode () ^ Id.GetHashCode () ^ Width.GetHashCode () ^ Height.GetHashCode () ^ NPlanes.GetHashCode () ^ Offset.GetHashCode () ^ Stride.GetHashCode () ^ _map.GetHashCode () ^ _unmap.GetHashCode (); + return this.GetType ().FullName.GetHashCode () ^ Meta.GetHashCode () ^ Buffer.GetHashCode () ^ Flags.GetHashCode () ^ Format.GetHashCode () ^ Id.GetHashCode () ^ Width.GetHashCode () ^ Height.GetHashCode () ^ NPlanes.GetHashCode () ^ Offset.GetHashCode () ^ Stride.GetHashCode () ^ _map.GetHashCode () ^ _unmap.GetHashCode () ^ Alignment.GetHashCode (); } private static GLib.GType GType { diff --git a/sources/generated/Gst.Video/VideoTimeCode.cs b/sources/generated/Gst.Video/VideoTimeCode.cs index 139516affc..6751bb08ae 100644 --- a/sources/generated/Gst.Video/VideoTimeCode.cs +++ b/sources/generated/Gst.Video/VideoTimeCode.cs @@ -172,6 +172,10 @@ namespace Gst.Video { System.Runtime.InteropServices.Marshal.FreeHGlobal (this_as_native); } + public void Init(uint fps_n, uint fps_d, Gst.Video.VideoTimeCodeFlags flags, uint hours, uint minutes, uint seconds, uint frames, uint field_count) { + Init (fps_n, fps_d, null, flags, hours, minutes, seconds, frames, field_count); + } + [DllImport("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_video_time_code_init_from_date_time(IntPtr raw, uint fps_n, uint fps_d, IntPtr dt, int flags, uint field_count); diff --git a/sources/generated/Gst.Video/VideoTimeCodeFlags.cs b/sources/generated/Gst.Video/VideoTimeCodeFlags.cs index d127c465e2..e6dbe1f231 100644 --- a/sources/generated/Gst.Video/VideoTimeCodeFlags.cs +++ b/sources/generated/Gst.Video/VideoTimeCodeFlags.cs @@ -8,11 +8,23 @@ namespace Gst.Video { #region Autogenerated code [Flags] + [GLib.GType (typeof (Gst.Video.VideoTimeCodeFlagsGType))] public enum VideoTimeCodeFlags { None = 0, DropFrame = 1, Interlaced = 2, } + + internal class VideoTimeCodeFlagsGType { + [DllImport ("gstvideo-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_video_time_code_flags_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_video_time_code_flags_get_type ()); + } + } + } #endregion } diff --git a/sources/generated/Gst.Video/VideoTransferFunction.cs b/sources/generated/Gst.Video/VideoTransferFunction.cs index 19e83bd2c4..6addc95911 100644 --- a/sources/generated/Gst.Video/VideoTransferFunction.cs +++ b/sources/generated/Gst.Video/VideoTransferFunction.cs @@ -23,6 +23,9 @@ namespace Gst.Video { Log316 = 10, Bt202012 = 11, Adobergb = 12, + Bt202010 = 13, + Smpte2084 = 14, + AribStdB67 = 15, } internal class VideoTransferFunctionGType { diff --git a/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs b/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs new file mode 100644 index 0000000000..908402d18d --- /dev/null +++ b/sources/generated/Gst.WebRTC/OnErrorEventHandler.cs @@ -0,0 +1,18 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + + public delegate void OnErrorEventHandler(object o, OnErrorEventArgs args); + + public class OnErrorEventArgs : GLib.SignalArgs { + public IntPtr Error{ + get { + return (IntPtr) Args [0]; + } + } + + } +} diff --git a/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs b/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs new file mode 100644 index 0000000000..9a76d7dde8 --- /dev/null +++ b/sources/generated/Gst.WebRTC/OnMessageDataEventHandler.cs @@ -0,0 +1,18 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + + public delegate void OnMessageDataEventHandler(object o, OnMessageDataEventArgs args); + + public class OnMessageDataEventArgs : GLib.SignalArgs { + public GLib.Bytes Data{ + get { + return (GLib.Bytes) Args [0]; + } + } + + } +} diff --git a/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs b/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs new file mode 100644 index 0000000000..6f950c1dec --- /dev/null +++ b/sources/generated/Gst.WebRTC/OnMessageStringEventHandler.cs @@ -0,0 +1,18 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + + public delegate void OnMessageStringEventHandler(object o, OnMessageStringEventArgs args); + + public class OnMessageStringEventArgs : GLib.SignalArgs { + public string Data{ + get { + return (string) Args [0]; + } + } + + } +} diff --git a/sources/generated/Gst.WebRTC/SendDataEventHandler.cs b/sources/generated/Gst.WebRTC/SendDataEventHandler.cs new file mode 100644 index 0000000000..ee4af2b104 --- /dev/null +++ b/sources/generated/Gst.WebRTC/SendDataEventHandler.cs @@ -0,0 +1,18 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + + public delegate void SendDataEventHandler(object o, SendDataEventArgs args); + + public class SendDataEventArgs : GLib.SignalArgs { + public GLib.Bytes Data{ + get { + return (GLib.Bytes) Args [0]; + } + } + + } +} diff --git a/sources/generated/Gst.WebRTC/SendStringEventHandler.cs b/sources/generated/Gst.WebRTC/SendStringEventHandler.cs new file mode 100644 index 0000000000..0513169775 --- /dev/null +++ b/sources/generated/Gst.WebRTC/SendStringEventHandler.cs @@ -0,0 +1,18 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + + public delegate void SendStringEventHandler(object o, SendStringEventArgs args); + + public class SendStringEventArgs : GLib.SignalArgs { + public string Data{ + get { + return (string) Args [0]; + } + } + + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs b/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs new file mode 100644 index 0000000000..24b29d1a6c --- /dev/null +++ b/sources/generated/Gst.WebRTC/WebRTCDataChannel.cs @@ -0,0 +1,1068 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst.WebRTC { + + using System; + using System.Collections; + using System.Collections.Generic; + using System.Runtime.InteropServices; + +#region Autogenerated code + public partial class WebRTCDataChannel : GLib.Object { + + protected WebRTCDataChannel (IntPtr raw) : base(raw) {} + + protected WebRTCDataChannel() : base(IntPtr.Zero) + { + CreateNativeObject (new string [0], new GLib.Value [0]); + } + + [GLib.Property ("buffered-amount")] + public ulong BufferedAmount { + get { + GLib.Value val = GetProperty ("buffered-amount"); + ulong ret = (ulong) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("buffered-amount-low-threshold")] + public ulong BufferedAmountLowThreshold { + get { + GLib.Value val = GetProperty ("buffered-amount-low-threshold"); + ulong ret = (ulong) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value(value); + SetProperty("buffered-amount-low-threshold", val); + val.Dispose (); + } + } + + [GLib.Property ("id")] + public int Id { + get { + GLib.Value val = GetProperty ("id"); + int ret = (int) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("label")] + public string Label { + get { + GLib.Value val = GetProperty ("label"); + string ret = (string) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("max-packet-lifetime")] + public int MaxPacketLifetime { + get { + GLib.Value val = GetProperty ("max-packet-lifetime"); + int ret = (int) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("max-retransmits")] + public int MaxRetransmits { + get { + GLib.Value val = GetProperty ("max-retransmits"); + int ret = (int) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("negotiated")] + public bool Negotiated { + get { + GLib.Value val = GetProperty ("negotiated"); + bool ret = (bool) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("ordered")] + public bool Ordered { + get { + GLib.Value val = GetProperty ("ordered"); + bool ret = (bool) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("priority")] + public Gst.WebRTC.WebRTCPriorityType Priority { + get { + GLib.Value val = GetProperty ("priority"); + Gst.WebRTC.WebRTCPriorityType ret = (Gst.WebRTC.WebRTCPriorityType) (Enum) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("protocol")] + public string Protocol { + get { + GLib.Value val = GetProperty ("protocol"); + string ret = (string) val; + val.Dispose (); + return ret; + } + } + + [GLib.Property ("ready-state")] + public Gst.WebRTC.WebRTCDataChannelState ReadyState { + get { + GLib.Value val = GetProperty ("ready-state"); + Gst.WebRTC.WebRTCDataChannelState ret = (Gst.WebRTC.WebRTCDataChannelState) (Enum) val; + val.Dispose (); + return ret; + } + } + + public GLib.Mutex Lock { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("lock")); + return new GLib.Mutex((*raw_ptr)); + } + } + } + + public string LabelField { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("label")); + return GLib.Marshaller.Utf8PtrToString ((*raw_ptr)); + } + } + } + + public bool OrderedField { + get { + unsafe { + bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("ordered")); + return (*raw_ptr); + } + } + } + + public uint MaxPacketLifetimeField { + get { + unsafe { + uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("max_packet_lifetime")); + return (*raw_ptr); + } + } + } + + public uint MaxRetransmitsField { + get { + unsafe { + uint* raw_ptr = (uint*)(((byte*)Handle) + abi_info.GetFieldOffset("max_retransmits")); + return (*raw_ptr); + } + } + } + + public string ProtocolField { + get { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((byte*)Handle) + abi_info.GetFieldOffset("protocol")); + return GLib.Marshaller.Utf8PtrToString ((*raw_ptr)); + } + } + } + + public bool NegotiatedField { + get { + unsafe { + bool* raw_ptr = (bool*)(((byte*)Handle) + abi_info.GetFieldOffset("negotiated")); + return (*raw_ptr); + } + } + } + + public int IdField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("id")); + return (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCPriorityType PriorityField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("priority")); + return (Gst.WebRTC.WebRTCPriorityType) (*raw_ptr); + } + } + } + + public Gst.WebRTC.WebRTCDataChannelState ReadyStateField { + get { + unsafe { + int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("ready_state")); + return (Gst.WebRTC.WebRTCDataChannelState) (*raw_ptr); + } + } + } + + public ulong BufferedAmountField { + get { + unsafe { + ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffered_amount")); + return (*raw_ptr); + } + } + } + + public ulong BufferedAmountLowThresholdField { + get { + unsafe { + ulong* raw_ptr = (ulong*)(((byte*)Handle) + abi_info.GetFieldOffset("buffered_amount_low_threshold")); + return (*raw_ptr); + } + } + } + + [GLib.Signal("on-buffered-amount-low")] + public event System.EventHandler OnBufferedAmountLowEvent { + add { + this.AddSignalHandler ("on-buffered-amount-low", value); + } + remove { + this.RemoveSignalHandler ("on-buffered-amount-low", value); + } + } + + [GLib.Signal("send-data")] + public event Gst.WebRTC.SendDataEventHandler SendDataEvent { + add { + this.AddSignalHandler ("send-data", value, typeof (Gst.WebRTC.SendDataEventArgs)); + } + remove { + this.RemoveSignalHandler ("send-data", value); + } + } + + [GLib.Signal("on-message-string")] + public event Gst.WebRTC.OnMessageStringEventHandler OnMessageStringEvent { + add { + this.AddSignalHandler ("on-message-string", value, typeof (Gst.WebRTC.OnMessageStringEventArgs)); + } + remove { + this.RemoveSignalHandler ("on-message-string", value); + } + } + + [GLib.Signal("on-open")] + public event System.EventHandler OnOpenEvent { + add { + this.AddSignalHandler ("on-open", value); + } + remove { + this.RemoveSignalHandler ("on-open", value); + } + } + + [GLib.Signal("close")] + public event System.EventHandler CloseEvent { + add { + this.AddSignalHandler ("close", value); + } + remove { + this.RemoveSignalHandler ("close", value); + } + } + + [GLib.Signal("on-message-data")] + public event Gst.WebRTC.OnMessageDataEventHandler OnMessageDataEvent { + add { + this.AddSignalHandler ("on-message-data", value, typeof (Gst.WebRTC.OnMessageDataEventArgs)); + } + remove { + this.RemoveSignalHandler ("on-message-data", value); + } + } + + [GLib.Signal("send-string")] + public event Gst.WebRTC.SendStringEventHandler SendStringEvent { + add { + this.AddSignalHandler ("send-string", value, typeof (Gst.WebRTC.SendStringEventArgs)); + } + remove { + this.RemoveSignalHandler ("send-string", value); + } + } + + [GLib.Signal("on-error")] + public event Gst.WebRTC.OnErrorEventHandler OnErrorEvent { + add { + this.AddSignalHandler ("on-error", value, typeof (Gst.WebRTC.OnErrorEventArgs)); + } + remove { + this.RemoveSignalHandler ("on-error", value); + } + } + + static OnBufferedAmountLowEventNativeDelegate OnBufferedAmountLowEvent_cb_delegate; + static OnBufferedAmountLowEventNativeDelegate OnBufferedAmountLowEventVMCallback { + get { + if (OnBufferedAmountLowEvent_cb_delegate == null) + OnBufferedAmountLowEvent_cb_delegate = new OnBufferedAmountLowEventNativeDelegate (OnBufferedAmountLowEvent_cb); + return OnBufferedAmountLowEvent_cb_delegate; + } + } + + static void OverrideOnBufferedAmountLowEvent (GLib.GType gtype) + { + OverrideOnBufferedAmountLowEvent (gtype, OnBufferedAmountLowEventVMCallback); + } + + static void OverrideOnBufferedAmountLowEvent (GLib.GType gtype, OnBufferedAmountLowEventNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-buffered-amount-low", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnBufferedAmountLowEventNativeDelegate (IntPtr inst); + + static void OnBufferedAmountLowEvent_cb (IntPtr inst) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnOnBufferedAmountLowEvent (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnBufferedAmountLowEvent")] + protected virtual void OnOnBufferedAmountLowEvent () + { + InternalOnBufferedAmountLowEvent (); + } + + private void InternalOnBufferedAmountLowEvent () + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (1); + GLib.Value[] vals = new GLib.Value [1]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static OnErrorEventNativeDelegate OnErrorEvent_cb_delegate; + static OnErrorEventNativeDelegate OnErrorEventVMCallback { + get { + if (OnErrorEvent_cb_delegate == null) + OnErrorEvent_cb_delegate = new OnErrorEventNativeDelegate (OnErrorEvent_cb); + return OnErrorEvent_cb_delegate; + } + } + + static void OverrideOnErrorEvent (GLib.GType gtype) + { + OverrideOnErrorEvent (gtype, OnErrorEventVMCallback); + } + + static void OverrideOnErrorEvent (GLib.GType gtype, OnErrorEventNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-error", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnErrorEventNativeDelegate (IntPtr inst, IntPtr error); + + static void OnErrorEvent_cb (IntPtr inst, IntPtr error) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnOnErrorEvent (error); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnErrorEvent")] + protected virtual void OnOnErrorEvent (IntPtr error) + { + InternalOnErrorEvent (error); + } + + private void InternalOnErrorEvent (IntPtr error) + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (2); + GLib.Value[] vals = new GLib.Value [2]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + vals [1] = new GLib.Value (error); + inst_and_params.Append (vals [1]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static OnMessageDataEventNativeDelegate OnMessageDataEvent_cb_delegate; + static OnMessageDataEventNativeDelegate OnMessageDataEventVMCallback { + get { + if (OnMessageDataEvent_cb_delegate == null) + OnMessageDataEvent_cb_delegate = new OnMessageDataEventNativeDelegate (OnMessageDataEvent_cb); + return OnMessageDataEvent_cb_delegate; + } + } + + static void OverrideOnMessageDataEvent (GLib.GType gtype) + { + OverrideOnMessageDataEvent (gtype, OnMessageDataEventVMCallback); + } + + static void OverrideOnMessageDataEvent (GLib.GType gtype, OnMessageDataEventNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-message-data", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnMessageDataEventNativeDelegate (IntPtr inst, IntPtr data); + + static void OnMessageDataEvent_cb (IntPtr inst, IntPtr data) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnOnMessageDataEvent (new GLib.Bytes(data)); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageDataEvent")] + protected virtual void OnOnMessageDataEvent (GLib.Bytes data) + { + InternalOnMessageDataEvent (data); + } + + private void InternalOnMessageDataEvent (GLib.Bytes data) + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (2); + GLib.Value[] vals = new GLib.Value [2]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + vals [1] = new GLib.Value (data); + inst_and_params.Append (vals [1]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static OnMessageStringEventNativeDelegate OnMessageStringEvent_cb_delegate; + static OnMessageStringEventNativeDelegate OnMessageStringEventVMCallback { + get { + if (OnMessageStringEvent_cb_delegate == null) + OnMessageStringEvent_cb_delegate = new OnMessageStringEventNativeDelegate (OnMessageStringEvent_cb); + return OnMessageStringEvent_cb_delegate; + } + } + + static void OverrideOnMessageStringEvent (GLib.GType gtype) + { + OverrideOnMessageStringEvent (gtype, OnMessageStringEventVMCallback); + } + + static void OverrideOnMessageStringEvent (GLib.GType gtype, OnMessageStringEventNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-message-string", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnMessageStringEventNativeDelegate (IntPtr inst, IntPtr data); + + static void OnMessageStringEvent_cb (IntPtr inst, IntPtr data) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnOnMessageStringEvent (GLib.Marshaller.Utf8PtrToString (data)); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnMessageStringEvent")] + protected virtual void OnOnMessageStringEvent (string data) + { + InternalOnMessageStringEvent (data); + } + + private void InternalOnMessageStringEvent (string data) + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (2); + GLib.Value[] vals = new GLib.Value [2]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + vals [1] = new GLib.Value (data); + inst_and_params.Append (vals [1]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static OnOpenEventNativeDelegate OnOpenEvent_cb_delegate; + static OnOpenEventNativeDelegate OnOpenEventVMCallback { + get { + if (OnOpenEvent_cb_delegate == null) + OnOpenEvent_cb_delegate = new OnOpenEventNativeDelegate (OnOpenEvent_cb); + return OnOpenEvent_cb_delegate; + } + } + + static void OverrideOnOpenEvent (GLib.GType gtype) + { + OverrideOnOpenEvent (gtype, OnOpenEventVMCallback); + } + + static void OverrideOnOpenEvent (GLib.GType gtype, OnOpenEventNativeDelegate callback) + { + OverrideVirtualMethod (gtype, "on-open", callback); + } + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void OnOpenEventNativeDelegate (IntPtr inst); + + static void OnOpenEvent_cb (IntPtr inst) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnOnOpenEvent (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideOnOpenEvent")] + protected virtual void OnOnOpenEvent () + { + InternalOnOpenEvent (); + } + + private void InternalOnOpenEvent () + { + GLib.Value ret = GLib.Value.Empty; + GLib.ValueArray inst_and_params = new GLib.ValueArray (1); + GLib.Value[] vals = new GLib.Value [1]; + vals [0] = new GLib.Value (this); + inst_and_params.Append (vals [0]); + g_signal_chain_from_overridden (inst_and_params.ArrayPtr, ref ret); + foreach (GLib.Value v in vals) + v.Dispose (); + } + + static SendDataEventNativeDelegate SendDataEvent_cb_delegate; + static SendDataEventNativeDelegate SendDataEventVMCallback { + get { + if (SendDataEvent_cb_delegate == null) + SendDataEvent_cb_delegate = new SendDataEventNativeDelegate (SendDataEvent_cb); + return SendDataEvent_cb_delegate; + } + } + + static void OverrideSendDataEvent (GLib.GType gtype) + { + OverrideSendDataEvent (gtype, SendDataEventVMCallback); + } + + static void OverrideSendDataEvent (GLib.GType gtype, SendDataEventNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("send_data")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void SendDataEventNativeDelegate (IntPtr inst, IntPtr data); + + static void SendDataEvent_cb (IntPtr inst, IntPtr data) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnSendDataEvent (new GLib.Bytes(data)); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideSendDataEvent")] + protected virtual void OnSendDataEvent (GLib.Bytes data) + { + InternalSendDataEvent (data); + } + + private void InternalSendDataEvent (GLib.Bytes data) + { + SendDataEventNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("send_data")); + unmanaged = (SendDataEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SendDataEventNativeDelegate)); + } + if (unmanaged == null) return; + + unmanaged (this.Handle, data == null ? IntPtr.Zero : data.Handle); + } + + static SendStringEventNativeDelegate SendStringEvent_cb_delegate; + static SendStringEventNativeDelegate SendStringEventVMCallback { + get { + if (SendStringEvent_cb_delegate == null) + SendStringEvent_cb_delegate = new SendStringEventNativeDelegate (SendStringEvent_cb); + return SendStringEvent_cb_delegate; + } + } + + static void OverrideSendStringEvent (GLib.GType gtype) + { + OverrideSendStringEvent (gtype, SendStringEventVMCallback); + } + + static void OverrideSendStringEvent (GLib.GType gtype, SendStringEventNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("send_string")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void SendStringEventNativeDelegate (IntPtr inst, IntPtr data); + + static void SendStringEvent_cb (IntPtr inst, IntPtr data) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnSendStringEvent (GLib.Marshaller.Utf8PtrToString (data)); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideSendStringEvent")] + protected virtual void OnSendStringEvent (string data) + { + InternalSendStringEvent (data); + } + + private void InternalSendStringEvent (string data) + { + SendStringEventNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("send_string")); + unmanaged = (SendStringEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(SendStringEventNativeDelegate)); + } + if (unmanaged == null) return; + + IntPtr native_data = GLib.Marshaller.StringToPtrGStrdup (data); + unmanaged (this.Handle, native_data); + GLib.Marshaller.Free (native_data); + } + + static CloseEventNativeDelegate CloseEvent_cb_delegate; + static CloseEventNativeDelegate CloseEventVMCallback { + get { + if (CloseEvent_cb_delegate == null) + CloseEvent_cb_delegate = new CloseEventNativeDelegate (CloseEvent_cb); + return CloseEvent_cb_delegate; + } + } + + static void OverrideCloseEvent (GLib.GType gtype) + { + OverrideCloseEvent (gtype, CloseEventVMCallback); + } + + static void OverrideCloseEvent (GLib.GType gtype, CloseEventNativeDelegate callback) + { + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) gtype.GetClassPtr()) + (long) class_abi.GetFieldOffset("close")); + *raw_ptr = Marshal.GetFunctionPointerForDelegate((Delegate) callback); + } + } + + [UnmanagedFunctionPointer (CallingConvention.Cdecl)] + delegate void CloseEventNativeDelegate (IntPtr inst); + + static void CloseEvent_cb (IntPtr inst) + { + try { + WebRTCDataChannel __obj = GLib.Object.GetObject (inst, false) as WebRTCDataChannel; + __obj.OnCloseEvent (); + } catch (Exception e) { + GLib.ExceptionManager.RaiseUnhandledException (e, false); + } + } + + [GLib.DefaultSignalHandler(Type=typeof(Gst.WebRTC.WebRTCDataChannel), ConnectionMethod="OverrideCloseEvent")] + protected virtual void OnCloseEvent () + { + InternalCloseEvent (); + } + + private void InternalCloseEvent () + { + CloseEventNativeDelegate unmanaged = null; + unsafe { + IntPtr* raw_ptr = (IntPtr*)(((long) this.LookupGType().GetThresholdType().GetClassPtr()) + (long) class_abi.GetFieldOffset("close")); + unmanaged = (CloseEventNativeDelegate) Marshal.GetDelegateForFunctionPointer(*raw_ptr, typeof(CloseEventNativeDelegate)); + } + if (unmanaged == null) return; + + unmanaged (this.Handle); + } + + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _class_abi = null; + static public new GLib.AbiStruct class_abi { + get { + if (_class_abi == null) + _class_abi = new GLib.AbiStruct (new List{ + new GLib.AbiField("send_data" + , GLib.Object.class_abi.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_data + , null + , "send_string" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("send_string" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // send_string + , "send_data" + , "close" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("close" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // close + , "send_string" + , "_padding" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "close" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _class_abi; + } + } + + + // End of the ABI representation. + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_webrtc_data_channel_get_type(); + + public static new GLib.GType GType { + get { + IntPtr raw_ret = gst_webrtc_data_channel_get_type(); + GLib.GType ret = new GLib.GType(raw_ret); + return ret; + } + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_close(IntPtr raw); + + public void Close() { + gst_webrtc_data_channel_close(Handle); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_on_buffered_amount_low(IntPtr raw); + + public void OnBufferedAmountLow() { + gst_webrtc_data_channel_on_buffered_amount_low(Handle); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_on_close(IntPtr raw); + + public void OnClose() { + gst_webrtc_data_channel_on_close(Handle); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_on_error(IntPtr raw, IntPtr error); + + public void OnError(IntPtr error) { + gst_webrtc_data_channel_on_error(Handle, error); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_on_message_data(IntPtr raw, IntPtr data); + + public void OnMessageData(GLib.Bytes data) { + gst_webrtc_data_channel_on_message_data(Handle, data == null ? IntPtr.Zero : data.Handle); + } + + public void OnMessageData() { + OnMessageData (null); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_on_message_string(IntPtr raw, IntPtr str); + + public void OnMessageString(string str) { + IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str); + gst_webrtc_data_channel_on_message_string(Handle, native_str); + GLib.Marshaller.Free (native_str); + } + + public void OnMessageString() { + OnMessageString (null); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_on_open(IntPtr raw); + + public void OnOpen() { + gst_webrtc_data_channel_on_open(Handle); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_send_data(IntPtr raw, IntPtr data); + + public void SendData(GLib.Bytes data) { + gst_webrtc_data_channel_send_data(Handle, data == null ? IntPtr.Zero : data.Handle); + } + + public void SendData() { + SendData (null); + } + + [DllImport("gstwebrtc-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_webrtc_data_channel_send_string(IntPtr raw, IntPtr str); + + public void SendString(string str) { + IntPtr native_str = GLib.Marshaller.StringToPtrGStrdup (str); + gst_webrtc_data_channel_send_string(Handle, native_str); + GLib.Marshaller.Free (native_str); + } + + public void SendString() { + SendString (null); + } + + + static WebRTCDataChannel () + { + GtkSharp.GstreamerSharp.ObjectManager.Initialize (); + } + + // Internal representation of the wrapped structure ABI. + static GLib.AbiStruct _abi_info = null; + static public new GLib.AbiStruct abi_info { + get { + if (_abi_info == null) + _abi_info = new GLib.AbiStruct (new List{ + new GLib.AbiField("lock" + , GLib.Object.abi_info.Fields + , (uint) Marshal.SizeOf(typeof(IntPtr)) // lock + , null + , "label" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("label" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // label + , "lock" + , "ordered" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("ordered" + , -1 + , (uint) Marshal.SizeOf(typeof(bool)) // ordered + , "label" + , "max_packet_lifetime" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_orderedAlign), "ordered") + , 0 + ), + new GLib.AbiField("max_packet_lifetime" + , -1 + , (uint) Marshal.SizeOf(typeof(uint)) // max_packet_lifetime + , "ordered" + , "max_retransmits" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_max_packet_lifetimeAlign), "max_packet_lifetime") + , 0 + ), + new GLib.AbiField("max_retransmits" + , -1 + , (uint) Marshal.SizeOf(typeof(uint)) // max_retransmits + , "max_packet_lifetime" + , "protocol" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_max_retransmitsAlign), "max_retransmits") + , 0 + ), + new GLib.AbiField("protocol" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // protocol + , "max_retransmits" + , "negotiated" + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + new GLib.AbiField("negotiated" + , -1 + , (uint) Marshal.SizeOf(typeof(bool)) // negotiated + , "protocol" + , "id" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_negotiatedAlign), "negotiated") + , 0 + ), + new GLib.AbiField("id" + , -1 + , (uint) Marshal.SizeOf(typeof(int)) // id + , "negotiated" + , "priority" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_idAlign), "id") + , 0 + ), + new GLib.AbiField("priority" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCPriorityType))) // priority + , "id" + , "ready_state" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_priorityAlign), "priority") + , 0 + ), + new GLib.AbiField("ready_state" + , -1 + , (uint) Marshal.SizeOf(System.Enum.GetUnderlyingType(typeof(Gst.WebRTC.WebRTCDataChannelState))) // ready_state + , "priority" + , "buffered_amount" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_ready_stateAlign), "ready_state") + , 0 + ), + new GLib.AbiField("buffered_amount" + , -1 + , (uint) Marshal.SizeOf(typeof(ulong)) // buffered_amount + , "ready_state" + , "buffered_amount_low_threshold" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_buffered_amountAlign), "buffered_amount") + , 0 + ), + new GLib.AbiField("buffered_amount_low_threshold" + , -1 + , (uint) Marshal.SizeOf(typeof(ulong)) // buffered_amount_low_threshold + , "buffered_amount" + , "_padding" + , (long) Marshal.OffsetOf(typeof(GstWebRTCDataChannel_buffered_amount_low_thresholdAlign), "buffered_amount_low_threshold") + , 0 + ), + new GLib.AbiField("_padding" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) * 4 // _padding + , "buffered_amount_low_threshold" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), + }); + + return _abi_info; + } + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_orderedAlign + { + sbyte f1; + private bool ordered; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_max_packet_lifetimeAlign + { + sbyte f1; + private uint max_packet_lifetime; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_max_retransmitsAlign + { + sbyte f1; + private uint max_retransmits; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_negotiatedAlign + { + sbyte f1; + private bool negotiated; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_idAlign + { + sbyte f1; + private int id; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_priorityAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCPriorityType priority; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_ready_stateAlign + { + sbyte f1; + private Gst.WebRTC.WebRTCDataChannelState ready_state; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_buffered_amountAlign + { + sbyte f1; + private ulong buffered_amount; + } + + [StructLayout(LayoutKind.Sequential)] + public struct GstWebRTCDataChannel_buffered_amount_low_thresholdAlign + { + sbyte f1; + private ulong buffered_amount_low_threshold; + } + + + // End of the ABI representation. + +#endregion + } +} diff --git a/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs b/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs index bd7d50db9d..29779e5f94 100644 --- a/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs +++ b/sources/generated/Gst.WebRTC/WebRTCRTPTransceiver.cs @@ -18,6 +18,21 @@ namespace Gst.WebRTC { CreateNativeObject (new string [0], new GLib.Value [0]); } + [GLib.Property ("direction")] + public Gst.WebRTC.WebRTCRTPTransceiverDirection Direction { + get { + GLib.Value val = GetProperty ("direction"); + Gst.WebRTC.WebRTCRTPTransceiverDirection ret = (Gst.WebRTC.WebRTCRTPTransceiverDirection) (Enum) val; + val.Dispose (); + return ret; + } + set { + GLib.Value val = new GLib.Value((Enum) value); + SetProperty("direction", val); + val.Dispose (); + } + } + [GLib.Property ("mlineindex")] public uint Mlineindex { get { @@ -93,7 +108,7 @@ namespace Gst.WebRTC { } } - public Gst.WebRTC.WebRTCRTPTransceiverDirection Direction { + public Gst.WebRTC.WebRTCRTPTransceiverDirection DirectionField { get { unsafe { int* raw_ptr = (int*)(((byte*)Handle) + abi_info.GetFieldOffset("direction")); diff --git a/sources/generated/Gst/Bin.cs b/sources/generated/Gst/Bin.cs index e4f6a2bdc3..e320cd2489 100644 --- a/sources/generated/Gst/Bin.cs +++ b/sources/generated/Gst/Bin.cs @@ -813,6 +813,17 @@ namespace Gst { } } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_bin_iterate_all_by_element_factory_name(IntPtr raw, IntPtr factory_name); + + public Gst.Iterator IterateAllByElementFactoryName(string factory_name) { + IntPtr native_factory_name = GLib.Marshaller.StringToPtrGStrdup (factory_name); + IntPtr raw_ret = gst_bin_iterate_all_by_element_factory_name(Handle, native_factory_name); + Gst.Iterator ret = raw_ret == IntPtr.Zero ? null : (Gst.Iterator) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Iterator), true); + GLib.Marshaller.Free (native_factory_name); + return ret; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_bin_iterate_all_by_interface(IntPtr raw, IntPtr iface); diff --git a/sources/generated/Gst/Buffer.cs b/sources/generated/Gst/Buffer.cs index cc3e305535..b795d558b3 100644 --- a/sources/generated/Gst/Buffer.cs +++ b/sources/generated/Gst/Buffer.cs @@ -596,6 +596,51 @@ namespace Gst { Raw = gst_buffer_new_wrapped_full((int) flags, data, new UIntPtr (maxsize), new UIntPtr (offset), new UIntPtr (size), user_data, notify); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_buffer_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_buffer_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_buffer_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_buffer_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_buffer_unref (handle); + return false; + } + } + + ~Buffer () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/BufferList.cs b/sources/generated/Gst/BufferList.cs index 524b47e3ba..77b2448d2d 100644 --- a/sources/generated/Gst/BufferList.cs +++ b/sources/generated/Gst/BufferList.cs @@ -110,6 +110,51 @@ namespace Gst { Raw = gst_buffer_list_new_sized(size); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_buffer_list_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_buffer_list_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_buffer_list_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_buffer_list_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_buffer_list_unref (handle); + return false; + } + } + + ~BufferList () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/Caps.cs b/sources/generated/Gst/Caps.cs index 6b378f56c6..4037187d9f 100644 --- a/sources/generated/Gst/Caps.cs +++ b/sources/generated/Gst/Caps.cs @@ -437,6 +437,51 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_caps_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_caps_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_caps_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_caps_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_caps_unref (handle); + return false; + } + } + + ~Caps () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/ClockType.cs b/sources/generated/Gst/ClockType.cs index b3ecacde42..4a3505fd25 100644 --- a/sources/generated/Gst/ClockType.cs +++ b/sources/generated/Gst/ClockType.cs @@ -13,6 +13,7 @@ namespace Gst { Realtime = 0, Monotonic = 1, Other = 2, + Tai = 3, } internal class ClockTypeGType { diff --git a/sources/generated/Gst/Constants.cs b/sources/generated/Gst/Constants.cs index f9c3fe9793..e885197b8f 100644 --- a/sources/generated/Gst/Constants.cs +++ b/sources/generated/Gst/Constants.cs @@ -58,7 +58,9 @@ namespace Gst { public const int MAP_READWRITE = 3; public const string META_TAG_MEMORY_STR = @"memory"; public const long MSECOND = 1000000; + public const int PARAM_CONDITIONALLY_AVAILABLE = 16384; public const int PARAM_CONTROLLABLE = 512; + public const int PARAM_DOC_SHOW_DEFAULT = 8192; public const int PARAM_MUTABLE_PAUSED = 2048; public const int PARAM_MUTABLE_PLAYING = 4096; public const int PARAM_MUTABLE_READY = 1024; @@ -70,6 +72,7 @@ namespace Gst { public const int QUERY_TYPE_BOTH = 3; public const long SECOND = 1000000000; public const string SEGMENT_FORMAT = @"paB"; + public const int SEGMENT_INSTANT_FLAGS = 912; public const int SEQNUM_INVALID = 0; public const string STIME_FORMAT = @"c%"; public const string TAG_ALBUM = @"album"; diff --git a/sources/generated/Gst/DateTime.cs b/sources/generated/Gst/DateTime.cs index 56639ccf5f..b40feba1c3 100644 --- a/sources/generated/Gst/DateTime.cs +++ b/sources/generated/Gst/DateTime.cs @@ -219,6 +219,15 @@ namespace Gst { Raw = gst_date_time_new_from_unix_epoch_local_time(secs); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_date_time_new_from_unix_epoch_local_time_usecs(long usecs); + + public static DateTime NewFromUnixEpochLocalTimeUsecs(long usecs) + { + DateTime result = new DateTime (gst_date_time_new_from_unix_epoch_local_time_usecs(usecs)); + return result; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_date_time_new_from_unix_epoch_utc(long secs); @@ -228,6 +237,15 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_date_time_new_from_unix_epoch_utc_usecs(long usecs); + + public static DateTime NewFromUnixEpochUtcUsecs(long usecs) + { + DateTime result = new DateTime (gst_date_time_new_from_unix_epoch_utc_usecs(usecs)); + return result; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_date_time_new_local_time(int year, int month, int day, int hour, int minute, double seconds); diff --git a/sources/generated/Gst/Debug.cs b/sources/generated/Gst/Debug.cs index f27e9bce82..4b34e0ce03 100644 --- a/sources/generated/Gst/Debug.cs +++ b/sources/generated/Gst/Debug.cs @@ -158,6 +158,25 @@ namespace Gst { LogDefault (category, level, file, function, line, null, message, IntPtr.Zero); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_debug_log_get_line(IntPtr category, int level, IntPtr file, IntPtr function, int line, IntPtr _object, IntPtr message); + + public static string LogGetLine(Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, GLib.Object _object, Gst.DebugMessage message) { + IntPtr native_category = GLib.Marshaller.StructureToPtrAlloc (category); + IntPtr native_file = GLib.Marshaller.StringToPtrGStrdup (file); + IntPtr native_function = GLib.Marshaller.StringToPtrGStrdup (function); + IntPtr raw_ret = gst_debug_log_get_line(native_category, (int) level, native_file, native_function, line, _object == null ? IntPtr.Zero : _object.Handle, message == null ? IntPtr.Zero : message.Handle); + string ret = GLib.Marshaller.PtrToStringGFree(raw_ret); + Marshal.FreeHGlobal (native_category); + GLib.Marshaller.Free (native_file); + GLib.Marshaller.Free (native_function); + return ret; + } + + public static string LogGetLine(Gst.DebugCategory category, Gst.DebugLevel level, string file, string function, int line, Gst.DebugMessage message) { + return LogGetLine (category, level, file, function, line, null, message); + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_debug_print_stack_trace(); diff --git a/sources/generated/Gst/DebugCategory.cs b/sources/generated/Gst/DebugCategory.cs index c267441381..fc17e30980 100644 --- a/sources/generated/Gst/DebugCategory.cs +++ b/sources/generated/Gst/DebugCategory.cs @@ -28,6 +28,7 @@ namespace Gst { [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_debug_category_free(IntPtr raw); + [Obsolete] public void Free() { IntPtr this_as_native = System.Runtime.InteropServices.Marshal.AllocHGlobal (System.Runtime.InteropServices.Marshal.SizeOf (this)); System.Runtime.InteropServices.Marshal.StructureToPtr (this, this_as_native, false); diff --git a/sources/generated/Gst/Device.cs b/sources/generated/Gst/Device.cs index d56e12829c..daeaa7fa50 100644 --- a/sources/generated/Gst/Device.cs +++ b/sources/generated/Gst/Device.cs @@ -156,7 +156,7 @@ namespace Gst { Device __obj = GLib.Object.GetObject (inst, false) as Device; Gst.Element __result; __result = __obj.OnCreateElement (GLib.Marshaller.Utf8PtrToString (name)); - return __result == null ? IntPtr.Zero : __result.OwnedHandle; + return __result == null ? IntPtr.Zero : __result.Handle; } catch (Exception e) { GLib.ExceptionManager.RaiseUnhandledException (e, true); // NOTREACHED: above call does not return. @@ -182,7 +182,7 @@ namespace Gst { IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); IntPtr __result = unmanaged (this.Handle, native_name); GLib.Marshaller.Free (native_name); - return GLib.Object.GetObject(__result, true) as Gst.Element; + return GLib.Object.GetObject(__result) as Gst.Element; } static ReconfigureElementNativeDelegate ReconfigureElement_cb_delegate; @@ -300,7 +300,7 @@ namespace Gst { public Gst.Element CreateElement(string name) { IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); IntPtr raw_ret = gst_device_create_element(Handle, native_name); - Gst.Element ret = GLib.Object.GetObject(raw_ret, true) as Gst.Element; + Gst.Element ret = GLib.Object.GetObject(raw_ret) as Gst.Element; GLib.Marshaller.Free (native_name); return ret; } diff --git a/sources/generated/Gst/Element.cs b/sources/generated/Gst/Element.cs index 8b63dca1f6..507f032380 100644 --- a/sources/generated/Gst/Element.cs +++ b/sources/generated/Gst/Element.cs @@ -1594,6 +1594,28 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern ulong gst_element_get_current_clock_time(IntPtr raw); + + public ulong CurrentClockTime { + get { + ulong raw_ret = gst_element_get_current_clock_time(Handle); + ulong ret = raw_ret; + return ret; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern ulong gst_element_get_current_running_time(IntPtr raw); + + public ulong CurrentRunningTime { + get { + ulong raw_ret = gst_element_get_current_running_time(Handle); + ulong ret = raw_ret; + return ret; + } + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_element_get_factory(IntPtr raw); diff --git a/sources/generated/Gst/Event.cs b/sources/generated/Gst/Event.cs index 9cce178233..dad280d4b2 100644 --- a/sources/generated/Gst/Event.cs +++ b/sources/generated/Gst/Event.cs @@ -117,6 +117,15 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_event_has_name_id(IntPtr raw, uint name); + + public bool HasNameId(uint name) { + bool raw_ret = gst_event_has_name_id(Handle, name); + bool ret = raw_ret; + return ret; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_event_parse_buffer_size(IntPtr raw, out int format, out long minsize, out long maxsize, out bool async); @@ -162,6 +171,22 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_event_parse_instant_rate_change(IntPtr raw, out double rate_multiplier, out int new_flags); + + public void ParseInstantRateChange(out double rate_multiplier, out Gst.SegmentFlags new_flags) { + int native_new_flags; + gst_event_parse_instant_rate_change(Handle, out rate_multiplier, out native_new_flags); + new_flags = (Gst.SegmentFlags) native_new_flags; + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_event_parse_instant_rate_sync_time(IntPtr raw, out double rate_multiplier, out ulong running_time, out ulong upstream_running_time); + + public void ParseInstantRateSyncTime(out double rate_multiplier, out ulong running_time, out ulong upstream_running_time) { + gst_event_parse_instant_rate_sync_time(Handle, out rate_multiplier, out running_time, out upstream_running_time); + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_event_parse_latency(IntPtr raw, out ulong latency); @@ -465,6 +490,24 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_event_new_instant_rate_change(double rate_multiplier, int new_flags); + + public static Event NewInstantRateChange(double rate_multiplier, Gst.SegmentFlags new_flags) + { + Event result = new Event (gst_event_new_instant_rate_change(rate_multiplier, (int) new_flags)); + return result; + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_event_new_instant_rate_sync_time(double rate_multiplier, ulong running_time, ulong upstream_running_time); + + public static Event NewInstantRateSyncTime(double rate_multiplier, ulong running_time, ulong upstream_running_time) + { + Event result = new Event (gst_event_new_instant_rate_sync_time(rate_multiplier, running_time, upstream_running_time)); + return result; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_event_new_latency(ulong latency); @@ -634,6 +677,51 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_event_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_event_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_event_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_event_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_event_unref (handle); + return false; + } + } + + ~Event () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/EventType.cs b/sources/generated/Gst/EventType.cs index 88d450de52..60b85351e3 100644 --- a/sources/generated/Gst/EventType.cs +++ b/sources/generated/Gst/EventType.cs @@ -26,6 +26,7 @@ namespace Gst { Protection = 33310, SegmentDone = 38406, Gap = 40966, + InstantRateChange = 46090, Qos = 48641, Seek = 51201, Navigation = 53761, @@ -34,6 +35,7 @@ namespace Gst { Reconfigure = 61441, TocSelect = 64001, SelectStreams = 66561, + InstantRateSyncTime = 66817, CustomUpstream = 69121, CustomDownstream = 71686, CustomDownstreamOob = 74242, diff --git a/sources/generated/Gst/Global.cs b/sources/generated/Gst/Global.cs index 854cbe12aa..646850278f 100644 --- a/sources/generated/Gst/Global.cs +++ b/sources/generated/Gst/Global.cs @@ -444,19 +444,6 @@ namespace Gst { return ret; } - [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] - static extern IntPtr gst_structure_from_string(IntPtr str1ng, out IntPtr end); - - public static Gst.Structure StructureFromString(string str1ng, out string end) { - IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng); - IntPtr native_end; - IntPtr raw_ret = gst_structure_from_string(native_str1ng, out native_end); - Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true); - GLib.Marshaller.Free (native_str1ng); - end = GLib.Marshaller.Utf8PtrToString (native_end); - return ret; - } - [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_toc_entry_type_get_nick(int type); @@ -466,6 +453,15 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_tracing_get_active_tracers(); + + public static Gst.Tracer[] TracingGetActiveTracers() { + IntPtr raw_ret = gst_tracing_get_active_tracers(); + Gst.Tracer[] ret = (Gst.Tracer[]) GLib.Marshaller.ListPtrToArray (raw_ret, typeof(GLib.List), true, true, typeof(Gst.Tracer)); + return ret; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_type_find_get_type(); @@ -502,6 +498,24 @@ namespace Gst { return TypeFindRegister (null, name, rank, func, null, possible_caps); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_type_is_plugin_api(IntPtr type, out int flags); + + public static bool TypeIsPluginApi(GLib.GType type, out Gst.PluginAPIFlags flags) { + int native_flags; + bool raw_ret = gst_type_is_plugin_api(type.Val, out native_flags); + bool ret = raw_ret; + flags = (Gst.PluginAPIFlags) native_flags; + return ret; + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_type_mark_as_plugin_api(IntPtr type, int flags); + + public static void TypeMarkAsPluginApi(GLib.GType type, Gst.PluginAPIFlags flags) { + gst_type_mark_as_plugin_api(type.Val, (int) flags); + } + #endregion } } diff --git a/sources/generated/Gst/Memory.cs b/sources/generated/Gst/Memory.cs index 62575629f1..c0c9a781ae 100644 --- a/sources/generated/Gst/Memory.cs +++ b/sources/generated/Gst/Memory.cs @@ -215,6 +215,51 @@ namespace Gst { Raw = gst_memory_new_wrapped((int) flags, data, new UIntPtr (maxsize), new UIntPtr (offset), new UIntPtr (size), user_data, notify); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_memory_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_memory_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_memory_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_memory_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_memory_unref (handle); + return false; + } + } + + ~Memory () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/Message.cs b/sources/generated/Gst/Message.cs index cafcd3d1a1..b526ea2cde 100644 --- a/sources/generated/Gst/Message.cs +++ b/sources/generated/Gst/Message.cs @@ -275,6 +275,15 @@ namespace Gst { return structure; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_message_parse_instant_rate_request(IntPtr raw, out double rate_multiplier); + + public double ParseInstantRateRequest() { + double rate_multiplier; + gst_message_parse_instant_rate_request(Handle, out rate_multiplier); + return rate_multiplier; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_message_parse_new_clock(IntPtr raw, out IntPtr clock); @@ -746,6 +755,15 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_message_new_instant_rate_request(IntPtr src, double rate_multiplier); + + public static Message NewInstantRateRequest(Gst.Object src, double rate_multiplier) + { + Message result = new Message (gst_message_new_instant_rate_request(src == null ? IntPtr.Zero : src.Handle, rate_multiplier)); + return result; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_message_new_latency(IntPtr src); @@ -984,6 +1002,51 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_message_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_message_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_message_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_message_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_message_unref (handle); + return false; + } + } + + ~Message () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/MessageType.cs b/sources/generated/Gst/MessageType.cs index 98457d4b83..01395b034c 100644 --- a/sources/generated/Gst/MessageType.cs +++ b/sources/generated/Gst/MessageType.cs @@ -50,7 +50,8 @@ namespace Gst { StreamCollection = 2147483652, StreamsSelected = 2147483653, Redirect = 2147483654, - DeviceChanged = 2147483654, + DeviceChanged = 2147483655, + InstantRateRequest = 2147483656, Any = 4294967295, } diff --git a/sources/generated/Gst/Pad.cs b/sources/generated/Gst/Pad.cs index a32be64228..64a2f22d41 100644 --- a/sources/generated/Gst/Pad.cs +++ b/sources/generated/Gst/Pad.cs @@ -532,6 +532,17 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_pad_get_single_internal_link(IntPtr raw); + + public Gst.Pad SingleInternalLink { + get { + IntPtr raw_ret = gst_pad_get_single_internal_link(Handle); + Gst.Pad ret = GLib.Object.GetObject(raw_ret, true) as Gst.Pad; + return ret; + } + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_pad_get_sticky_event(IntPtr raw, int event_type, uint idx); diff --git a/sources/generated/Gst/PadTemplate.cs b/sources/generated/Gst/PadTemplate.cs index eadd0ce236..2e879442d2 100644 --- a/sources/generated/Gst/PadTemplate.cs +++ b/sources/generated/Gst/PadTemplate.cs @@ -275,6 +275,23 @@ namespace Gst { } } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_pad_template_get_documentation_caps(IntPtr raw); + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_pad_template_set_documentation_caps(IntPtr raw, IntPtr caps); + + public Gst.Caps DocumentationCaps { + get { + IntPtr raw_ret = gst_pad_template_get_documentation_caps(Handle); + Gst.Caps ret = raw_ret == IntPtr.Zero ? null : (Gst.Caps) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Caps), true); + return ret; + } + set { + gst_pad_template_set_documentation_caps(Handle, value == null ? IntPtr.Zero : value.Handle); + } + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_pad_template_pad_created(IntPtr raw, IntPtr pad); @@ -337,17 +354,25 @@ namespace Gst { , -1 , (uint) Marshal.SizeOf(typeof(GLib.GType)) // ABI.abi.gtype , "caps" - , null + , "ABI.abi.documentation_caps" , (long) Marshal.OffsetOf(typeof(GstPadTemplate_ABI_abi_gtypeAlign), "ABI_abi_gtype") , 0 ), + new GLib.AbiField("ABI.abi.documentation_caps" + , -1 + , (uint) Marshal.SizeOf(typeof(IntPtr)) // ABI.abi.documentation_caps + , "ABI.abi.gtype" + , null + , (uint) Marshal.SizeOf(typeof(IntPtr)) + , 0 + ), // End ABI.abi new GLib.AbiField("ABI" , -1 , new List>() { // union ABI new List() {"ABI._gst_reserved"}, - new List() {"ABI.abi.gtype"} + new List() {"ABI.abi.gtype","ABI.abi.documentation_caps"} } , "caps" , null diff --git a/sources/generated/Gst/PluginAPIFlags.cs b/sources/generated/Gst/PluginAPIFlags.cs new file mode 100644 index 0000000000..57d5176071 --- /dev/null +++ b/sources/generated/Gst/PluginAPIFlags.cs @@ -0,0 +1,28 @@ +// This file was generated by the Gtk# code generator. +// Any changes made will be lost if regenerated. + +namespace Gst { + + using System; + using System.Runtime.InteropServices; + +#region Autogenerated code + [Flags] + [GLib.GType (typeof (Gst.PluginAPIFlagsGType))] + public enum PluginAPIFlags { + + Members = 1, + } + + internal class PluginAPIFlagsGType { + [DllImport ("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_plugin_api_flags_get_type (); + + public static GLib.GType GType { + get { + return new GLib.GType (gst_plugin_api_flags_get_type ()); + } + } + } +#endregion +} diff --git a/sources/generated/Gst/Promise.cs b/sources/generated/Gst/Promise.cs index 857402a57f..f659dc3e0d 100644 --- a/sources/generated/Gst/Promise.cs +++ b/sources/generated/Gst/Promise.cs @@ -53,6 +53,10 @@ namespace Gst { gst_promise_reply(Handle, s == null ? IntPtr.Zero : s.Handle); } + public void Reply() { + Reply (null); + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern int gst_promise_wait(IntPtr raw); diff --git a/sources/generated/Gst/Query.cs b/sources/generated/Gst/Query.cs index 69fc329fe1..01bfb39602 100644 --- a/sources/generated/Gst/Query.cs +++ b/sources/generated/Gst/Query.cs @@ -810,6 +810,40 @@ namespace Gst { return result; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_query_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_query_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_query_unref (handle); + return false; + } + } + + ~Query () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/Sample.cs b/sources/generated/Gst/Sample.cs index 86957489ad..0a462afa32 100644 --- a/sources/generated/Gst/Sample.cs +++ b/sources/generated/Gst/Sample.cs @@ -126,6 +126,51 @@ namespace Gst { Marshal.FreeHGlobal (native_segment); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_sample_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_sample_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_sample_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_sample_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_sample_unref (handle); + return false; + } + } + + ~Sample () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/SeekFlags.cs b/sources/generated/Gst/SeekFlags.cs index d2f5f9bf8f..60086502b6 100644 --- a/sources/generated/Gst/SeekFlags.cs +++ b/sources/generated/Gst/SeekFlags.cs @@ -23,6 +23,8 @@ namespace Gst { SnapNearest = 96, TrickmodeKeyUnits = 128, TrickmodeNoAudio = 256, + TrickmodeForwardPredicted = 512, + InstantRateChange = 1024, } internal class SeekFlagsGType { diff --git a/sources/generated/Gst/SegmentFlags.cs b/sources/generated/Gst/SegmentFlags.cs index a88af4c1d1..ec5f290ad7 100644 --- a/sources/generated/Gst/SegmentFlags.cs +++ b/sources/generated/Gst/SegmentFlags.cs @@ -18,6 +18,7 @@ namespace Gst { Skip = 16, TrickmodeKeyUnits = 128, TrickmodeNoAudio = 256, + TrickmodeForwardPredicted = 512, } internal class SegmentFlagsGType { diff --git a/sources/generated/Gst/StackTraceFlags.cs b/sources/generated/Gst/StackTraceFlags.cs index 1bcb47b373..869bbf801b 100644 --- a/sources/generated/Gst/StackTraceFlags.cs +++ b/sources/generated/Gst/StackTraceFlags.cs @@ -11,6 +11,7 @@ namespace Gst { [GLib.GType (typeof (Gst.StackTraceFlagsGType))] public enum StackTraceFlags { + None = 0, Full = 1, } diff --git a/sources/generated/Gst/Structure.cs b/sources/generated/Gst/Structure.cs index be3495c075..77f1efc2c9 100644 --- a/sources/generated/Gst/Structure.cs +++ b/sources/generated/Gst/Structure.cs @@ -580,21 +580,20 @@ namespace Gst { return ret; } + public Structure(IntPtr raw) : base(raw) {} + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_structure_from_string(IntPtr str1ng, out IntPtr end); - public static Gst.Structure FromString(string str1ng, out string end) { + public Structure (string str1ng, out string end) + { IntPtr native_str1ng = GLib.Marshaller.StringToPtrGStrdup (str1ng); IntPtr native_end; - IntPtr raw_ret = gst_structure_from_string(native_str1ng, out native_end); - Gst.Structure ret = raw_ret == IntPtr.Zero ? null : (Gst.Structure) GLib.Opaque.GetOpaque (raw_ret, typeof (Gst.Structure), true); + Raw = gst_structure_from_string(native_str1ng, out native_end); GLib.Marshaller.Free (native_str1ng); end = GLib.Marshaller.Utf8PtrToString (native_end); - return ret; } - public Structure(IntPtr raw) : base(raw) {} - [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern IntPtr gst_structure_new_empty(IntPtr name); diff --git a/sources/generated/Gst/TagList.cs b/sources/generated/Gst/TagList.cs index db42883795..3a7ecf99b2 100644 --- a/sources/generated/Gst/TagList.cs +++ b/sources/generated/Gst/TagList.cs @@ -483,6 +483,51 @@ namespace Gst { GLib.Marshaller.Free (native_str); } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_tag_list_ref(IntPtr raw); + + protected override void Ref (IntPtr raw) + { + if (!Owned) { + gst_tag_list_ref (raw); + Owned = true; + } + } + + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern void gst_tag_list_unref(IntPtr raw); + + protected override void Unref (IntPtr raw) + { + if (Owned) { + gst_tag_list_unref (raw); + Owned = false; + } + } + + class FinalizerInfo { + IntPtr handle; + + public FinalizerInfo (IntPtr handle) + { + this.handle = handle; + } + + public bool Handler () + { + gst_tag_list_unref (handle); + return false; + } + } + + ~TagList () + { + if (!Owned) + return; + FinalizerInfo info = new FinalizerInfo (Handle); + GLib.Timeout.Add (50, new GLib.TimeoutHandler (info.Handler)); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/Task.cs b/sources/generated/Gst/Task.cs index 638e242c65..f8cbed0c8c 100644 --- a/sources/generated/Gst/Task.cs +++ b/sources/generated/Gst/Task.cs @@ -176,6 +176,15 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_task_resume(IntPtr raw); + + public bool Resume() { + bool raw_ret = gst_task_resume(Handle); + bool ret = raw_ret; + return ret; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_task_set_enter_callback(IntPtr raw, GstSharp.TaskThreadFuncNative enter_func, IntPtr user_data, GLib.DestroyNotify notify); diff --git a/sources/generated/Gst/Tracer.cs b/sources/generated/Gst/Tracer.cs index 3c7dc6600a..d36dd43f16 100644 --- a/sources/generated/Gst/Tracer.cs +++ b/sources/generated/Gst/Tracer.cs @@ -68,6 +68,21 @@ namespace Gst { } } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern bool gst_tracer_register(IntPtr plugin, IntPtr name, IntPtr type); + + public static bool Register(Gst.Plugin plugin, string name, GLib.GType type) { + IntPtr native_name = GLib.Marshaller.StringToPtrGStrdup (name); + bool raw_ret = gst_tracer_register(plugin == null ? IntPtr.Zero : plugin.Handle, native_name, type.Val); + bool ret = raw_ret; + GLib.Marshaller.Free (native_name); + return ret; + } + + public static bool Register(string name, GLib.GType type) { + return Register (null, name, type); + } + // Internal representation of the wrapped structure ABI. static GLib.AbiStruct _abi_info = null; diff --git a/sources/generated/Gst/ValueArray.cs b/sources/generated/Gst/ValueArray.cs index 18dc149f38..f210e7673c 100644 --- a/sources/generated/Gst/ValueArray.cs +++ b/sources/generated/Gst/ValueArray.cs @@ -66,6 +66,17 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_value_array_init(IntPtr value, uint prealloc); + + public static GLib.Value Init(GLib.Value value, uint prealloc) { + IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value); + IntPtr raw_ret = gst_value_array_init(native_value, prealloc); + GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value)); + Marshal.FreeHGlobal (native_value); + return ret; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_value_array_prepend_value(IntPtr value, IntPtr prepend_value); diff --git a/sources/generated/Gst/ValueList.cs b/sources/generated/Gst/ValueList.cs index 68f0a5522c..d586e96597 100644 --- a/sources/generated/Gst/ValueList.cs +++ b/sources/generated/Gst/ValueList.cs @@ -82,6 +82,17 @@ namespace Gst { return ret; } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] + static extern IntPtr gst_value_list_init(IntPtr value, uint prealloc); + + public static GLib.Value Init(GLib.Value value, uint prealloc) { + IntPtr native_value = GLib.Marshaller.StructureToPtrAlloc (value); + IntPtr raw_ret = gst_value_list_init(native_value, prealloc); + GLib.Value ret = (GLib.Value) Marshal.PtrToStructure (raw_ret, typeof (GLib.Value)); + Marshal.FreeHGlobal (native_value); + return ret; + } + [DllImport("gstreamer-1.0-0.dll", CallingConvention = CallingConvention.Cdecl)] static extern void gst_value_list_merge(IntPtr dest, IntPtr value1, IntPtr value2); diff --git a/sources/generated/GtkSharp/ObjectManager.cs b/sources/generated/GtkSharp/ObjectManager.cs index 377ec31dfa..beada7d0cb 100644 --- a/sources/generated/GtkSharp/ObjectManager.cs +++ b/sources/generated/GtkSharp/ObjectManager.cs @@ -73,6 +73,7 @@ namespace GtkSharp.GstreamerSharp { GLib.GType.Register (Gst.Video.VideoFilter.GType, typeof (Gst.Video.VideoFilter)); GLib.GType.Register (Gst.Video.VideoSink.GType, typeof (Gst.Video.VideoSink)); GLib.GType.Register (Gst.WebRTC.WebRTCDTLSTransport.GType, typeof (Gst.WebRTC.WebRTCDTLSTransport)); + GLib.GType.Register (Gst.WebRTC.WebRTCDataChannel.GType, typeof (Gst.WebRTC.WebRTCDataChannel)); GLib.GType.Register (Gst.WebRTC.WebRTCICETransport.GType, typeof (Gst.WebRTC.WebRTCICETransport)); GLib.GType.Register (Gst.WebRTC.WebRTCRTPReceiver.GType, typeof (Gst.WebRTC.WebRTCRTPReceiver)); GLib.GType.Register (Gst.WebRTC.WebRTCRTPSender.GType, typeof (Gst.WebRTC.WebRTCRTPSender)); diff --git a/sources/generated/gstreamer-sharp-abi.c b/sources/generated/gstreamer-sharp-abi.c index ece780f1cf..93df32b15a 100644 --- a/sources/generated/gstreamer-sharp-abi.c +++ b/sources/generated/gstreamer-sharp-abi.c @@ -496,6 +496,10 @@ int main (int argc, char *argv[]) { g_print("\"GstAudioSinkClass.write\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, write)); g_print("\"GstAudioSinkClass.delay\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, delay)); g_print("\"GstAudioSinkClass.reset\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, reset)); + g_print("\"GstAudioSinkClass.pause\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, pause)); + g_print("\"GstAudioSinkClass.resume\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, resume)); + g_print("\"GstAudioSinkClass.stop\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, stop)); + g_print("\"GstAudioSinkClass.extension\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSinkClass, extension)); g_print("\"sizeof(GstAudioSink)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioSink)); g_print("\"GstAudioSink.thread\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAudioSink, thread)); g_print("\"sizeof(GstAudioSrcClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAudioSrcClass)); @@ -544,6 +548,9 @@ int main (int argc, char *argv[]) { g_print("\"GstAggregatorClass.negotiated_src_caps\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, negotiated_src_caps)); g_print("\"GstAggregatorClass.decide_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, decide_allocation)); g_print("\"GstAggregatorClass.propose_allocation\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, propose_allocation)); + g_print("\"GstAggregatorClass.negotiate\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, negotiate)); + g_print("\"GstAggregatorClass.sink_event_pre_queue\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, sink_event_pre_queue)); + g_print("\"GstAggregatorClass.sink_query_pre_queue\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregatorClass, sink_query_pre_queue)); g_print("\"sizeof(GstAggregator)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstAggregator)); g_print("\"GstAggregator.srcpad\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregator, srcpad)); g_print("\"GstAggregator.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstAggregator, priv)); @@ -723,6 +730,10 @@ int main (int argc, char *argv[]) { g_print("\"sizeof(GstLFOControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstLFOControlSource)); g_print("\"GstLFOControlSource.priv\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstLFOControlSource, priv)); g_print("\"GstLFOControlSource.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstLFOControlSource, lock)); + g_print("\"sizeof(GstProxyControlBindingClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstProxyControlBindingClass)); + g_print("\"sizeof(GstProxyControlBinding)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstProxyControlBinding)); + g_print("\"GstProxyControlBinding.ref_object\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstProxyControlBinding, ref_object)); + g_print("\"GstProxyControlBinding.property_name\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstProxyControlBinding, property_name)); g_print("\"sizeof(GstTimedValueControlSourceClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTimedValueControlSourceClass)); g_print("\"sizeof(GstTimedValueControlSource)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstTimedValueControlSource)); g_print("\"GstTimedValueControlSource.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstTimedValueControlSource, lock)); @@ -973,6 +984,23 @@ int main (int argc, char *argv[]) { g_print("\"GstWebRTCDTLSTransport.session_id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, session_id)); g_print("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpenc)); g_print("\"GstWebRTCDTLSTransport.dtlssrtpdec\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDTLSTransport, dtlssrtpdec)); + g_print("\"sizeof(GstWebRTCDataChannelClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDataChannelClass)); + g_print("\"GstWebRTCDataChannelClass.send_data\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannelClass, send_data)); + g_print("\"GstWebRTCDataChannelClass.send_string\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannelClass, send_string)); + g_print("\"GstWebRTCDataChannelClass.close\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannelClass, close)); + g_print("\"sizeof(GstWebRTCDataChannel)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCDataChannel)); + g_print("\"GstWebRTCDataChannel.lock\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, lock)); + g_print("\"GstWebRTCDataChannel.label\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, label)); + g_print("\"GstWebRTCDataChannel.ordered\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, ordered)); + g_print("\"GstWebRTCDataChannel.max_packet_lifetime\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, max_packet_lifetime)); + g_print("\"GstWebRTCDataChannel.max_retransmits\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, max_retransmits)); + g_print("\"GstWebRTCDataChannel.protocol\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, protocol)); + g_print("\"GstWebRTCDataChannel.negotiated\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, negotiated)); + g_print("\"GstWebRTCDataChannel.id\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, id)); + g_print("\"GstWebRTCDataChannel.priority\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, priority)); + g_print("\"GstWebRTCDataChannel.ready_state\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, ready_state)); + g_print("\"GstWebRTCDataChannel.buffered_amount\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, buffered_amount)); + g_print("\"GstWebRTCDataChannel.buffered_amount_low_threshold\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCDataChannel, buffered_amount_low_threshold)); g_print("\"sizeof(GstWebRTCICETransportClass)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCICETransportClass)); g_print("\"GstWebRTCICETransportClass.gather_candidates\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) G_STRUCT_OFFSET(GstWebRTCICETransportClass, gather_candidates)); g_print("\"sizeof(GstWebRTCICETransport)\": \"%" G_GUINT64_FORMAT "\"\n", (guint64) sizeof(GstWebRTCICETransport)); diff --git a/sources/generated/gstreamer-sharp-abi.cs b/sources/generated/gstreamer-sharp-abi.cs index 6c2b73cd53..b5e2cba44e 100644 --- a/sources/generated/gstreamer-sharp-abi.cs +++ b/sources/generated/gstreamer-sharp-abi.cs @@ -490,6 +490,10 @@ namespace AbiTester { Console.WriteLine("\"GstAudioSinkClass.write\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("write") + "\""); Console.WriteLine("\"GstAudioSinkClass.delay\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("delay") + "\""); Console.WriteLine("\"GstAudioSinkClass.reset\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("reset") + "\""); + Console.WriteLine("\"GstAudioSinkClass.pause\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("pause") + "\""); + Console.WriteLine("\"GstAudioSinkClass.resume\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("resume") + "\""); + Console.WriteLine("\"GstAudioSinkClass.stop\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("stop") + "\""); + Console.WriteLine("\"GstAudioSinkClass.extension\": \"" + Gst.Audio.AudioSink.class_abi.GetFieldOffset("extension") + "\""); Console.WriteLine("\"sizeof(GstAudioSink)\": \"" + Gst.Audio.AudioSink.abi_info.Size + "\""); Console.WriteLine("\"GstAudioSink.thread\": \"" + Gst.Audio.AudioSink.abi_info.GetFieldOffset("thread") + "\""); Console.WriteLine("\"sizeof(GstAudioSrcClass)\": \"" + Gst.Audio.AudioSrc.class_abi.Size + "\""); @@ -538,6 +542,9 @@ namespace AbiTester { Console.WriteLine("\"GstAggregatorClass.negotiated_src_caps\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("negotiated_src_caps") + "\""); Console.WriteLine("\"GstAggregatorClass.decide_allocation\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("decide_allocation") + "\""); Console.WriteLine("\"GstAggregatorClass.propose_allocation\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("propose_allocation") + "\""); + Console.WriteLine("\"GstAggregatorClass.negotiate\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("negotiate") + "\""); + Console.WriteLine("\"GstAggregatorClass.sink_event_pre_queue\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("sink_event_pre_queue") + "\""); + Console.WriteLine("\"GstAggregatorClass.sink_query_pre_queue\": \"" + Gst.Base.Aggregator.class_abi.GetFieldOffset("sink_query_pre_queue") + "\""); Console.WriteLine("\"sizeof(GstAggregator)\": \"" + Gst.Base.Aggregator.abi_info.Size + "\""); Console.WriteLine("\"GstAggregator.srcpad\": \"" + Gst.Base.Aggregator.abi_info.GetFieldOffset("srcpad") + "\""); Console.WriteLine("\"GstAggregator.priv\": \"" + Gst.Base.Aggregator.abi_info.GetFieldOffset("priv") + "\""); @@ -717,6 +724,10 @@ namespace AbiTester { Console.WriteLine("\"sizeof(GstLFOControlSource)\": \"" + Gst.Controller.LFOControlSource.abi_info.Size + "\""); Console.WriteLine("\"GstLFOControlSource.priv\": \"" + Gst.Controller.LFOControlSource.abi_info.GetFieldOffset("priv") + "\""); Console.WriteLine("\"GstLFOControlSource.lock\": \"" + Gst.Controller.LFOControlSource.abi_info.GetFieldOffset("lock") + "\""); + Console.WriteLine("\"sizeof(GstProxyControlBindingClass)\": \"" + Gst.Controller.ProxyControlBinding.class_abi.Size + "\""); + Console.WriteLine("\"sizeof(GstProxyControlBinding)\": \"" + Gst.Controller.ProxyControlBinding.abi_info.Size + "\""); + Console.WriteLine("\"GstProxyControlBinding.ref_object\": \"" + Gst.Controller.ProxyControlBinding.abi_info.GetFieldOffset("ref_object") + "\""); + Console.WriteLine("\"GstProxyControlBinding.property_name\": \"" + Gst.Controller.ProxyControlBinding.abi_info.GetFieldOffset("property_name") + "\""); Console.WriteLine("\"sizeof(GstTimedValueControlSourceClass)\": \"" + Gst.Controller.TimedValueControlSource.class_abi.Size + "\""); Console.WriteLine("\"sizeof(GstTimedValueControlSource)\": \"" + Gst.Controller.TimedValueControlSource.abi_info.Size + "\""); Console.WriteLine("\"GstTimedValueControlSource.lock\": \"" + Gst.Controller.TimedValueControlSource.abi_info.GetFieldOffset("lock") + "\""); @@ -967,6 +978,23 @@ namespace AbiTester { Console.WriteLine("\"GstWebRTCDTLSTransport.session_id\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("session_id") + "\""); Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpenc\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpenc") + "\""); Console.WriteLine("\"GstWebRTCDTLSTransport.dtlssrtpdec\": \"" + Gst.WebRTC.WebRTCDTLSTransport.abi_info.GetFieldOffset("dtlssrtpdec") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCDataChannelClass)\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.Size + "\""); + Console.WriteLine("\"GstWebRTCDataChannelClass.send_data\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.GetFieldOffset("send_data") + "\""); + Console.WriteLine("\"GstWebRTCDataChannelClass.send_string\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.GetFieldOffset("send_string") + "\""); + Console.WriteLine("\"GstWebRTCDataChannelClass.close\": \"" + Gst.WebRTC.WebRTCDataChannel.class_abi.GetFieldOffset("close") + "\""); + Console.WriteLine("\"sizeof(GstWebRTCDataChannel)\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.Size + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.lock\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("lock") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.label\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("label") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.ordered\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("ordered") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.max_packet_lifetime\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("max_packet_lifetime") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.max_retransmits\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("max_retransmits") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.protocol\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("protocol") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.negotiated\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("negotiated") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.id\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("id") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.priority\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("priority") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.ready_state\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("ready_state") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.buffered_amount\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("buffered_amount") + "\""); + Console.WriteLine("\"GstWebRTCDataChannel.buffered_amount_low_threshold\": \"" + Gst.WebRTC.WebRTCDataChannel.abi_info.GetFieldOffset("buffered_amount_low_threshold") + "\""); Console.WriteLine("\"sizeof(GstWebRTCICETransportClass)\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.Size + "\""); Console.WriteLine("\"GstWebRTCICETransportClass.gather_candidates\": \"" + Gst.WebRTC.WebRTCICETransport.class_abi.GetFieldOffset("gather_candidates") + "\""); Console.WriteLine("\"sizeof(GstWebRTCICETransport)\": \"" + Gst.WebRTC.WebRTCICETransport.abi_info.Size + "\""); diff --git a/sources/generated/gstreamer-sharp-api.xml b/sources/generated/gstreamer-sharp-api.xml index bc0cd661cd..496ae27b99 100644 --- a/sources/generated/gstreamer-sharp-api.xml +++ b/sources/generated/gstreamer-sharp-api.xml @@ -34,6 +34,7 @@ + @@ -86,6 +87,7 @@ + @@ -94,6 +96,7 @@ + @@ -551,7 +554,8 @@ - + + @@ -632,6 +636,9 @@ + + + @@ -667,6 +674,8 @@ + + @@ -676,8 +685,10 @@ + + @@ -1868,6 +1879,14 @@ + + + missing glib:type-name + + + + + missing glib:type-name @@ -2845,7 +2864,7 @@ - + @@ -2857,7 +2876,7 @@ - + @@ -3548,6 +3567,14 @@ + + + + + + + + @@ -4477,6 +4504,10 @@ + + + + missing glib:type-name @@ -5011,12 +5042,26 @@ + + + missing glib:type-name + + + + + + + + missing glib:type-name + + + @@ -5033,6 +5078,9 @@ @@ -5723,6 +5771,10 @@ + + + + @@ -5856,7 +5908,7 @@ -