From 6af207c3e446e3f25884a58ee04350f440f66494 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Fri, 2 Mar 2018 22:24:09 +0200 Subject: [PATCH] Update gir-files to 1.13.1+ --- gir-files/Gst-1.0.gir | 1596 +++++++++++++++++++++++++------ gir-files/GstApp-1.0.gir | 135 ++- gir-files/GstAudio-1.0.gir | 900 +++++++++++++++-- gir-files/GstBase-1.0.gir | 1096 ++++++++++++++++++++- gir-files/GstNet-1.0.gir | 17 +- gir-files/GstPbutils-1.0.gir | 242 +++-- gir-files/GstPlayer-1.0.gir | 56 +- gir-files/GstRtsp-1.0.gir | 280 +++--- gir-files/GstRtspServer-1.0.gir | 710 +++++++++++++- gir-files/GstSdp-1.0.gir | 15 +- gir-files/GstVideo-1.0.gir | 307 +++++- 11 files changed, 4714 insertions(+), 640 deletions(-) diff --git a/gir-files/Gst-1.0.gir b/gir-files/Gst-1.0.gir index 57c1fe4b2..a4e40a3ba 100644 --- a/gir-files/Gst-1.0.gir +++ b/gir-files/Gst-1.0.gir @@ -68,13 +68,16 @@ and/or use gtk-doc annotations. --> Create a copy of @params. Free-function: gst_allocation_params_free - + a new ##GstAllocationParams, free with gst_allocation_params_free(). - + a #GstAllocationParams @@ -176,7 +179,7 @@ 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. @@ -233,7 +236,7 @@ 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. @@ -342,7 +345,7 @@ use an alignment of 7. - + a new #GstMemory. @@ -847,8 +850,9 @@ all elements that implement the interface, use gst_bin_iterate_all_by_interface(). This function recurses into child bins. MT safe. Caller owns returned reference. - - A #GstElement inside the bin implementing the interface + + A #GstElement inside the bin +implementing the interface @@ -1742,7 +1746,7 @@ The prefix/padding must be filled with 0 if @flags contains Add metadata for @info to @buffer using the parameters in @params. - + the metadata for the api in @info on @buffer. @@ -1769,7 +1773,7 @@ The prefix/padding must be filled with 0 if @flags contains version="1.6"> Add a #GstParentBufferMeta to @buffer that holds a reference on @ref until the buffer is freed. - + The #GstParentBufferMeta that was added to the buffer @@ -1807,6 +1811,36 @@ unsuccessful. + + 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 + + + + + a #GstBuffer + + + + identifier for the timestamp reference. + + + + timestamp + + + + duration, or %GST_CLOCK_TIME_NONE + + + + Append all the memory from @buf2 to @buf1. The result buffer will contain a concatenation of the memory of @buf1 and @buf2. @@ -2016,7 +2050,7 @@ newly-allocated memory. @dest must be freed using g_free() when done. caller-allocates="0" transfer-ownership="full"> A pointer where - the destination array will be written. + the destination array will be written. Might be %NULL if the size is 0. @@ -2145,7 +2179,7 @@ in the buffer should be skipped. Get all the memory block in @buffer. The memory blocks will be merged into one large #GstMemory. - + a #GstMemory that contains the merged memory. Use gst_memory_unref () after usage. @@ -2174,7 +2208,7 @@ Use gst_memory_unref () after usage. Get the memory block at index @idx in @buffer. - + a #GstMemory that contains the data of the memory block at @idx. Use gst_memory_unref () after usage. @@ -2196,7 +2230,7 @@ memory block at @idx. Use gst_memory_unref () after usage. 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 blocks starting at @idx. Use gst_memory_unref () after usage. @@ -2238,6 +2272,52 @@ and check the meta->info.api member for the API type. + + + number of metas of type @api_type on @buffer. + + + + + a #GstBuffer + + + + the #GType of an API + + + + + + 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 +is no such metadata on @buffer. + + + + + a #GstBuffer + + + + a reference #GstCaps + + + + Get the total size of the memory blocks in @buffer. @@ -2436,9 +2516,10 @@ when there are no more items. + nullable="1"> an opaque state pointer @@ -2464,9 +2545,10 @@ type @meta_api_type is returned. + nullable="1"> an opaque state pointer @@ -2628,7 +2710,7 @@ larger than what gst_buffer_get_max_memory() returns. 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. @@ -3000,31 +3082,31 @@ function to specify which items should be copied. c:identifier="GST_BUFFER_FLAG_LIVE" glib:nick="live"> the buffer is live data and should be discarded in - the PAUSED state. + the PAUSED state. 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. + because it will be clipped against the segment + boundaries or because it does not contain data + that should be shown to the user. 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. + This typically occurs after a seek or a dropped buffer + from a live or network source. the buffer timestamps might have a discontinuity - and this buffer is a good point to resynchronize. + and this buffer is a good point to resynchronize. c:identifier="GST_BUFFER_FLAG_MARKER" glib:nick="marker"> 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. + video this is typically the end of a frame boundary, for audio + this is usually the start of a talkspurt. the buffer contains header information that is - needed to decode the following data. + needed to decode the following data. 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). + stream and contains media neutral data (elements can + switch to optimized code path that ignores the buffer + content). the buffer can be dropped without breaking the - stream, for example to reduce bandwidth. + stream, for example to reduce bandwidth. c:identifier="GST_BUFFER_FLAG_TAG_MEMORY" glib:nick="tag-memory"> this flag is set when memory of the buffer - is added/removed + is added/removed 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 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) + additional media specific flags can be added starting from - this flag. + this flag. @@ -3171,6 +3263,22 @@ Free-function: gst_buffer_list_unref + + 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. + + + + + a #GstBufferList + + + + @@ -3220,7 +3328,10 @@ the list should be skipped. - 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 or %NULL when there is no buffer. The buffer remains valid as @@ -3238,6 +3349,30 @@ the list should be skipped. + + 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 returned buffer remains valid as long as @list is valid and + the buffer is not removed from the list. + + + + + a (writable) #GstBufferList + + + + the index + + + + Insert @buffer at @idx in @list. Other buffers are moved to make room for this new buffer. @@ -4493,11 +4628,14 @@ The bus watch will only work if a GLib main loop is being run. The watch can be removed using gst_bus_remove_watch() or by returning %FALSE from @func. If the watch was added to the default main context it is also -possible to remove the watch using g_source_remove(). - - The event source id or 0 if @bus already got an event source. +possible to remove the watch using g_source_remove(). + +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. @@ -4540,6 +4678,9 @@ The watch can be removed using gst_bus_remove_watch() or by returning %FALSE from @func. If the watch was added to the default main context it is also possible to remove the watch using g_source_remove(). +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. @@ -4605,7 +4746,7 @@ into signals. 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. @@ -4669,6 +4810,31 @@ MT safe. + + 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. + +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 GPollFD to fill + + + + Check if there are pending messages on the bus that should be handled. @@ -5556,9 +5722,9 @@ 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 corresponding - to @index + + a pointer to the #GstCapsFeatures + corresponding to @index @@ -6083,9 +6249,9 @@ This method does not preserve the original order of @caps. 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 corresponding - to @index. + + a pointer to the #GstStructure + corresponding to @index. @@ -6164,7 +6330,7 @@ additional reference to it with gst_caps_ref(). The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. - + a newly allocated #GstCaps @@ -6417,7 +6583,7 @@ have a parent when this function is called. c:identifier="gst_caps_features_get_nth" version="1.2"> Returns the @i-th feature of @features. - + The @i-th feature of @features. @@ -9598,7 +9764,7 @@ if @month == -1, then #GstDateTime will created only for @year. If so on. Free-function: gst_date_time_unref - + the newly created #GstDateTime @@ -9727,7 +9893,7 @@ 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 @@ -10528,7 +10694,7 @@ message is, the greater the probability that the debugging system outputs it. Gets the string representation of a #GstDebugMessage. This function is used in debug handlers to extract the message. - + the string representation of a #GstDebugMessage. @@ -10560,8 +10726,9 @@ aggregated by #GstDeviceMonitor objects. version="1.4"> Creates the element with all of the required parameters set to use this device. - - a new #GstElement configured to use this device + + a new #GstElement configured to use +this device @@ -10609,8 +10776,9 @@ device in the PLAYING state. version="1.4"> Creates the element with all of the required parameters set to use this device. - - a new #GstElement configured to use this device + + a new #GstElement configured to use +this device @@ -10630,7 +10798,7 @@ create a unique name. Getter for the #GstCaps that this device supports. - + The #GstCaps supported by this device. Unref with gst_caps_unref() when done. @@ -10678,7 +10846,7 @@ classes of the #GstDeviceProvider that produced this device. c:identifier="gst_device_get_properties" version="1.6"> Gets the extra properties of a device. - + The extra properties or %NULL when there are none. Free with gst_structure_free() after use. @@ -10810,8 +10978,9 @@ device in the PLAYING state. - - a new #GstElement configured to use this device + + a new #GstElement configured to use +this device @@ -10993,7 +11162,7 @@ Filters must be added before the #GstDeviceMonitor is started. version="1.4"> 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 #GstDevice @@ -11262,7 +11431,10 @@ 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 a new device has been added. -This is for use by subclasses. +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()). @@ -11369,6 +11541,25 @@ are hidden by @provider. + + Get metadata with @key in @provider. + + the metadata for @key. + + + + + provider to get metadata for + + + + the key to get + + + + @@ -11607,7 +11798,7 @@ dynamically loaded plugins.) c:identifier="gst_device_provider_class_get_metadata" version="1.4"> Get metadata with @key in @klass. - + the metadata for @key. @@ -12294,8 +12485,9 @@ specific situations. c:identifier="gst_element_make_from_uri" throws="1"> Creates an element for handling the given URI. - - a new element or %NULL if none could be created + + a new element or %NULL if none +could be created @@ -12657,7 +12849,10 @@ MT safe. a #GstElement to set the bus of. - + the #GstBus to set. @@ -12680,7 +12875,10 @@ MT safe. a #GstElement to set the clock for. - + the #GstClock to set for the element. @@ -12932,7 +13130,9 @@ If after calling this method the element still has not reached the pending state, the next state change is performed. This method is used internally and should normally not be called by plugins -or applications. +or applications. + +This function must be called with STATE_LOCK held. The result of the commit state change. @@ -12965,6 +13165,114 @@ subclasses of #GstElement. + + 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 + returned %FALSE. + + + + + a #GstElement to iterate pads of + + + + function to call for each pad + + + + user data passed to @func + + + + + + 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 + returned %FALSE. + + + + + a #GstElement to iterate sink pads of + + + + function to call for each sink pad + + + + user data passed to @func + + + + + + 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 + to @func returned %FALSE. + + + + + a #GstElement to iterate source pads of + + + + function to call for each source pad + + + + user data passed to @func + + + + Returns the base time of the element. The base time is the absolute time of the clock when this element was last put to @@ -12986,8 +13294,9 @@ MT safe. Returns the bus of the element. Note that only a #GstPipeline will provide a bus for the application. - - the element's #GstBus. unref after usage. + + the element's #GstBus. unref after +usage. MT safe. @@ -13005,7 +13314,7 @@ 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. MT safe. @@ -13097,7 +13406,7 @@ MT safe. c:identifier="gst_element_get_context_unlocked" version="1.8"> Gets the context with @context_type set on the element or NULL. - + A #GstContext or NULL @@ -13145,6 +13454,65 @@ MT safe. + + Get metadata with @key in @klass. + + the metadata for @key. + + + + + class to get metadata for + + + + the key to get + + + + + + Retrieves a padtemplate from @element with the given name. + + the #GstPadTemplate with the + given name, or %NULL if none was found. No unreferencing is + necessary. + + + + + a #GstElement to get the pad template of. + + + + the name of the #GstPadTemplate to get. + + + + + + Retrieves a list of the pad templates associated with @element. The +list must not be modified by the calling code. + + the #GList of + pad templates. + + + + + + + a #GstElement to get pad templates of. + + + + Retrieves a pad from the element by name (e.g. "src_\%d"). This version only @@ -14763,7 +15131,10 @@ MT safe. a #GstElement to set the bus of. - + the #GstBus to set. @@ -14802,7 +15173,10 @@ MT safe. a #GstElement to set the clock for. - + the #GstClock to set for the element. @@ -14916,7 +15290,10 @@ MT safe. c:identifier="gst_element_class_add_pad_template"> 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. +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()) @@ -14978,6 +15355,31 @@ the old one is replaced by the new one. + + 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. + + + + #GstStaticPadTemplate to add as pad template to the element class. + + + + The #GType of the pad to create + + + + Get metadata with @key in @klass. @@ -15556,6 +15958,34 @@ make a copy of the protocol string array if you need to. offset to define more flags + + 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 + + + + + the #GstElement + + + + a #GstPad + + + + user data passed to the foreach function + + + + 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. @@ -15673,7 +16103,7 @@ serialization flags. New custom events can also be created by subclassing the event type if needed. - + the new custom event. @@ -15905,7 +16335,7 @@ 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. @@ -15971,7 +16401,7 @@ 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. @@ -16038,7 +16468,7 @@ 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. @@ -16078,9 +16508,12 @@ The select-streams event requests the specified @streams to be activated. The list of @streams corresponds to the "Stream ID" of each stream to be activated. Those ID can be obtained via the #GstStream objects present in #GST_EVENT_STREAM_START, #GST_EVENT_STREAM_COLLECTION or -#GST_MESSSAGE_STREAM_COLLECTION. +#GST_MESSAGE_STREAM_COLLECTION. + +Note: The list of @streams can not be empty. - a new select-streams event. + a new select-streams event or %NULL in case of +an error (like an empty streams list). @@ -16129,7 +16562,7 @@ the step operation. The @intermediate flag instructs the pipeline that this step operation is part of a larger step operation. - + a new #GstEvent @@ -16359,10 +16792,10 @@ MT safe. Access the structure of the event. - - 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. + + 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. MT safe. @@ -16581,8 +17014,10 @@ holding protection system specific information. pointer to store a value that indicates where the protection information carried by @event was extracted @@ -17449,7 +17884,7 @@ gst_event_type_get_flags() function. c:type="GST_FLAG_SET_MASK_EXACT" version="1.6"> A mask value with all bits set, for use as a -#GstFlagSet mask where all flag bits must match +GstFlagSet mask where all flag bits must match exactly @@ -17756,6 +18191,16 @@ is unknown. glib:get-type="gst_fraction_range_get_type" glib:fundamental="1"> + + 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. + + 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. @@ -19086,11 +19531,21 @@ from @offset to the end of the memory region. a #GstMemory - + pointer to offset - + pointer to maxsize @@ -19157,7 +19612,10 @@ the returned @offset. a #GstMemory - + a pointer to a result offset @@ -19556,7 +20014,7 @@ container using gst_element_post_message(). c:identifier="gst_message_new_application"> 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. MT safe. @@ -19637,7 +20095,7 @@ message with @percent set to 100, which can happen after the pipeline completed prerolling. MT safe. - + The new buffering message. @@ -19719,7 +20177,7 @@ MT safe. 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. MT safe. @@ -19816,7 +20274,7 @@ MT safe. 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. MT safe. @@ -19893,7 +20351,7 @@ MT safe. @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. @@ -19975,7 +20433,7 @@ MT safe. version="1.10"> Create a new info message. The message will make copies of @error and @debug. - + the new warning message. @@ -20074,7 +20532,7 @@ 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. @@ -20693,7 +21151,7 @@ MT safe. version="1.10"> Create a new warning message. The message will make copies of @error and @debug. - + the new warning message. @@ -20797,10 +21255,11 @@ MT safe. Extracts the object managing the streaming thread from @message. - - 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. + + 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. @@ -20812,10 +21271,10 @@ future. The object remains valid as long as @message is valid. Access the structure of the message. - - 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. + + 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. MT safe. @@ -21020,7 +21479,7 @@ MT safe. the context type, or %NULL @@ -21151,7 +21610,7 @@ The returned structure must not be freed. + transfer-ownership="none"> A pointer to the returned details @@ -21260,7 +21719,7 @@ The returned structure must not be freed. + transfer-ownership="none"> A pointer to the returned details structure @@ -21358,22 +21817,23 @@ gst_element_add_property_deep_notify_watch(). - return location for the name of the - property that got changed, or %NULL + return location for + the name of the property that got changed, or %NULL - 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 + 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 @@ -22156,7 +22616,7 @@ The returned structure must not be freed. + transfer-ownership="none"> A pointer to the returned details structure @@ -22356,7 +22816,7 @@ GstTask object but other objects might be added in the future. c:identifier="gst_message_streams_selected_get_stream" version="1.10"> Retrieves the #GstStream with index @index from the @message. - + A #GstStream @@ -22371,6 +22831,27 @@ GstTask object but other objects might be added in the future. + + Get a writable version of 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 +%NULL. + +MT safe. + + + + + The #GstMessage. + + + + 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 access metadata. + + a #GstMetaInfo that can be used to +access metadata. @@ -23055,8 +23537,9 @@ and gst_mini_object_weak_unref() respectively. Creates a copy of the mini-object. MT safe - - the new mini-object. + + the new mini-object if copying is +possible, %NULL otherwise. @@ -23391,7 +23874,7 @@ Either @newdata and the value pointed to by @olddata may be %NULL. introspectable="0"> Replace the current #GstMiniObject pointer to by @olddata with %NULL and return the old value. - + the #GstMiniObject at @oldata @@ -23672,7 +24155,10 @@ In other words, if the object is floating, then this call "assumes ownership" of the floating reference, converting it to a normal reference by clearing the floating flag while leaving the reference count unchanged. If the object is not floating, then this call adds a new normal reference increasing the -reference count by one. +reference count by one. + +For more background on "floating references" please see the #GObject +documentation. @@ -23737,7 +24223,8 @@ Either @newobj and the value pointed to by @oldobj may be %NULL. Attach the #GstControlBinding to the object. If there already was a #GstControlBinding for this property it will be replaced. -The @object will take ownership of the @binding. +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 has been setup for a non suitable property, %TRUE otherwise. @@ -25169,7 +25656,7 @@ MT safe. 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. MT safe. @@ -27697,7 +28184,7 @@ The callback is allowed to modify the data pointer in @info. - + The #GstBuffer from the probe @@ -27710,7 +28197,7 @@ The callback is allowed to modify the data pointer in @info. - + The #GstBufferList from the probe @@ -27722,7 +28209,7 @@ The callback is allowed to modify the data pointer in @info. - + The #GstEvent from the probe @@ -27734,7 +28221,7 @@ The callback is allowed to modify the data pointer in @info. - + The #GstQuery from the probe @@ -28073,6 +28560,53 @@ element class, this is usually done in the class_init of the class: ]| Creates a new pad template with a name according to the given template +and with the given arguments. + + a new #GstPadTemplate. + + + + + the name template. + + + + the #GstPadDirection of the template. + + + + the #GstPadPresence of the pad. + + + + a #GstCaps set for the template. + + + + + + Converts a #GstStaticPadTemplate into a #GstPadTemplate with a type. + + a new #GstPadTemplate. + + + + + the static pad template + + + + The #GType of the pad to create + + + + + + Creates a new pad template with a name according to the given template and with the given arguments. a new #GstPadTemplate. @@ -28095,6 +28629,10 @@ and with the given arguments. a #GstCaps set for the template. + + The #GType of the pad to create + + @@ -28157,6 +28695,14 @@ Unref after usage. The direction of the pad described by the pad template. + + The type of the pad described by the pad template. + + - - - - - + + + + + + + + + + + + This signal is fired when an element creates a pad from this template. @@ -28361,15 +28914,15 @@ for re-use. gst_parse_launchv_full(). Free-function: gst_parse_context_free - - a newly-allocated parse context. Free with - gst_parse_context_free() when no longer needed. + + a newly-allocated parse context. Free + with gst_parse_context_free() when no longer needed. Copies the @context. - + A copied #GstParseContext @@ -28397,7 +28950,7 @@ Free-function: gst_parse_context_free 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 %NULL-terminated array of element factory name strings of missing elements. Free with g_strfreev() when no longer needed. @@ -28954,8 +29507,9 @@ into memory. Load the named plugin. Refs the plugin. - - a reference to a loaded plugin, or %NULL on error. + + a reference to a loaded plugin, or +%NULL on error. @@ -28977,7 +29531,7 @@ reference to the newly-loaded GstPlugin, or %NULL if an error occurred. the plugin filename to load - + @@ -29263,7 +29817,7 @@ stored. This is the case when the registry is getting rebuilt. get the filename of the plugin the filename of the plugin - + @@ -29396,8 +29950,9 @@ loaded_plugin = gst_plugin_load (plugin); gst_object_unref (plugin); plugin = loaded_plugin; ]| - - a reference to a loaded plugin, or %NULL on error. + + a reference to a loaded plugin, or +%NULL on error. @@ -29472,6 +30027,14 @@ The cache is flushed every time the registry is rebuilt. filename argument as filter prefix and check all matching files in the directory. Since 1.8. + + 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 @@ -30916,6 +31479,224 @@ application of the status of asynchronous tasks. posted on the bus. + + 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> + +A #GstPromise can be created with gst_promise_new(), replied to +with gst_promise_reply(), interrupted with gst_promise_interrupt() and +expired with gst_promise_expire(). A callback can also be installed at +#GstPromise creation for result changes with gst_promise_new_with_change_func(). +The change callback can be used to chain #GstPromises's together as in the +following example. +|[<!-- language="C" --> +const GstStructure *reply; +GstPromise *p; +if (gst_promise_wait (promise) != GST_PROMISE_RESULT_REPLIED) + return; // interrupted or expired value +reply = gst_promise_get_reply (promise); +if (error in reply) + return; // propagate error +p = gst_promise_new_with_change_func (another_promise_change_func, user_data, notify); +pass p to promise-using API +]| + +Each #GstPromise starts out with a #GstPromiseResult of +%GST_PROMISE_RESULT_PENDING and only ever transitions out of that result +into one of the other #GstPromiseResult. + +In order to support multi-threaded code, gst_promise_reply(), +gst_promise_interrupt() and gst_promise_expire() may all be from +different threads with some restrictions, the final result of the promise +is whichever call is made first. There are two restrictions on ordering: + +1. That gst_promise_reply() and gst_promise_interrupt() cannot be called +after gst_promise_expire() +2. That gst_promise_reply() and gst_promise_interrupt() +cannot be called twice. + + parent #GstMiniObject + + + + + a new #GstPromise + + + + + @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 #GstPromiseChangeFunc to call + + + + argument to call @func with + + + + notification function that @user_data is no longer needed + + + + + + Expire a @promise. This will wake up any waiters with +%GST_PROMISE_RESULT_EXPIRED + + + + + + a #GstPromise + + + + + + Retrieve the reply set on @promise. @promise must be in +%GST_PROMISE_RESULT_REPLIED and is owned by @promise + + The reply set on @promise + + + + + a #GstPromise + + + + + + Interrupt waiting for a @promise. This will wake up any waiters with +%GST_PROMISE_RESULT_INTERRUPTED + + + + + + a #GstPromise + + + + + + Set a reply on @promise. This will wake up any waiters with +%GST_PROMISE_RESULT_REPLIED. + + + + + + a #GstPromise + + + + a #GstStructure with the the reply contents + + + + + + 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 + + + + + a #GstPromise + + + + + + + + + + + + a #GstPromise + + + + user data + + + + + + The result of a #GstPromise + + Initial state. Waiting for transition to any + other state. + + + Interrupted by the consumer as it doesn't + want the value anymore. + + + A producer marked a reply + + + 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 track, including the information needed to decrypt it (if it is encrypted). @@ -31291,7 +32072,7 @@ Free-function: gst_query_unref() when done with it. Free-function: gst_query_unref() - + a new #GstQuery @@ -31662,10 +32443,10 @@ scheduling mode array of the query's structure. Get the structure of a query. - - the #GstStructure of the query. The structure is - still owned by the query and will therefore be freed when the query - is unreffed. + + the #GstStructure of the query. The + structure is still owned by the query and will therefore be freed when the + query is unreffed. @@ -31755,7 +32536,12 @@ valid. a GST_QUERY_ACCEPT_CAPS type query #GstQuery - + location for the result @@ -32332,10 +33118,7 @@ set to GST_FORMAT_UNDEFINED. a #GstQuery - + the nth format to retrieve. @@ -32989,7 +33772,7 @@ at @index of the allocator array. - the size + the buffer size @@ -33410,6 +34193,45 @@ These constants serve as a rough guidance for defining the rank of a will be chosen first + + #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. + +The reference is stored as a #GstCaps in @reference. Examples of valid +references would be "timestamp/x-drivername-stream" for timestamps that are locally +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 + + + + identifier for the timestamp reference. + + + + timestamp + + + + duration, or %GST_CLOCK_TIME_NONE + + + + Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + + The #GstMetaInfo + + + + Add the feature to the registry. The feature-added signal will be emitted. -This function sinks @feature. + +@feature's reference count will be incremented, and any floating +reference will be removed (see gst_object_ref_sink()) %TRUE on success. @@ -33535,7 +34359,9 @@ MT safe. Add the plugin to the registry. The plugin-added signal will be emitted. -This function will sink @plugin. + +@plugin's reference count will be incremented, and any floating +reference will be removed (see gst_object_ref_sink()) %TRUE on success. @@ -33880,7 +34706,7 @@ path is specific to the registry. the path to scan - + @@ -34053,6 +34879,16 @@ 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 +gst_util_seqnum_next(). + +Can be used as a default value in variables used to store seqnum. + + Get extra information associated with @sample. - + the extra info of @sample. The info remains valid as long as @sample is valid. @@ -34513,7 +35349,7 @@ info to stream time (which is always between 0 and the duration of the stream).< - the duration of the segment + the duration of the stream @@ -34934,14 +35770,15 @@ returned, @running_time is -1 or not in @segment. - + 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 --1 when @running_time is -1 or when it is not inside @segment. - -Deprecated. Use gst_segment_position_from_running_time() instead. +-1 when @running_time is -1 or when it is not inside @segment. @@ -35168,10 +36005,10 @@ values of the seek flags. + c:type="GstStackTraceFlags"> + + state change from NULL to NULL. (Since 1.14) + + + 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) + + + 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) + + + state change from PLAYING to PLAYING. (Since 1.14) + + + Gets a string representing the given state transition. + + a string with the name of the state + result. + + + + + a #GstStateChange to get the name of. + + + + Converts a #GstStaticCaps to a #GstCaps. - - 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. + + 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. @@ -35410,7 +36292,7 @@ instantiate a #GstCaps. Converts a #GstStaticPadTemplate into a #GstPadTemplate. - + a new #GstPadTemplate. @@ -35674,7 +36556,7 @@ time. The #GstTagList of the #GstStream. - + @@ -35802,7 +36684,7 @@ Applications can activate streams from a collection by using the Retrieve the #GstStream with index @index from the collection. The caller should not modify the returned #GstStream - + A #GstStream @@ -35838,7 +36720,7 @@ The caller should not modify the returned #GstStream transfer-ownership="none"> - + @@ -36148,7 +37030,7 @@ whether a stream is of a certain type. c:identifier="gst_stream_type_get_name" version="1.10"> Get a descriptive string for a given #GstStreamType - + A string describing the stream type @@ -37171,8 +38053,9 @@ gst_structure_get() for more details. Get the value of the field with name @fieldname. - - the #GValue corresponding to the field with the given name. + + the #GValue corresponding to the field with the given +name. @@ -37308,9 +38191,9 @@ gst_structure_id_get() for more details. Get the value of the field with GQuark @field. - - the #GValue corresponding to the field with the given name - identifier. + + the #GValue corresponding to the field with the given +name identifier. @@ -37457,7 +38340,7 @@ value is replaced and freed. Intersects @struct1 and @struct2 and returns the intersection. - + Intersection of @struct1 and @struct2 @@ -39273,17 +40156,27 @@ into one if multiple values are associated with the tag. + 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 + given list. + a #GstTagList to get the tag from + tag to read out - + + location for the result @@ -41416,7 +42309,7 @@ values, %FALSE otherwise. Gets the parent #GstTocEntry of @entry. - + The parent #GstTocEntry of @entry @@ -41838,7 +42731,7 @@ unreffed before setting a new one. glib:get-type="gst_tracer_get_type" glib:type-struct="TracerClass"> Tracing modules will subclass #GstTracer and register through -gst_tracing_register(). Modules can attach to various hook-types - see +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. + + 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 factory is not loaded. + + + + + factory to get managed #GType from + + + + version="1.6"> 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. @@ -42856,7 +43766,7 @@ If @uri is %NULL then returns %NULL. 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. @@ -42884,9 +43794,9 @@ 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 fragment hash table - from the URI. + + The + fragment hash table from the URI. @@ -42905,8 +43815,8 @@ 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. - The path from the URI. Once finished with the - string should be g_free()'d. + (nullable): The path from the URI. Once finished + with the string should be g_free()'d. @@ -42942,9 +43852,9 @@ See more about Media Fragments URI 1.0 (W3C) at https://www.w3.org/TR/media-frag c:identifier="gst_uri_get_path_string" version="1.6"> Extract the path string from the URI object as a percent encoded URI path. - - The path from the URI. Once finished with the - string should be g_free()'d. + + The path from the URI. Once finished + with the string should be g_free()'d. @@ -42996,9 +43906,9 @@ If @uri is %NULL then returns %GST_URI_NO_PORT. c:identifier="gst_uri_get_query_string" version="1.6"> Get a percent encoded URI query string from the @uri. - - A percent encoded query string. Use g_free() when - no longer needed. + + A percent encoded query string. Use + g_free() when no longer needed. @@ -43020,9 +43930,9 @@ 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 hash table - from the URI. + + The query + hash table from the URI. @@ -43046,7 +43956,7 @@ 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. @@ -43067,7 +43977,7 @@ query. 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. @@ -43086,7 +43996,7 @@ If @uri is %NULL then returns %NULL. version="1.6"> 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. @@ -43141,9 +44051,9 @@ writable. 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 with the - reference URI joined on. + + A #GstUri which represents the base + with the reference URI joined on. @@ -43159,7 +44069,7 @@ increased. nullable="1" allow-none="1"> The reference URI to join onto the - base URI. + base URI. @@ -43597,10 +44507,13 @@ The string is put together as described in RFC 3986. - + 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 given URI protocol is not valid, or the given location is %NULL. @@ -43640,10 +44553,10 @@ 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 %NULL if the - URI isn't valid. If the URI does not contain a location, an empty - string is returned. + + 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. @@ -43656,7 +44569,7 @@ Free-function: g_free Extracts the protocol out of a given valid URI. The returned string must be freed using g_free(). - + The protocol for this URI. @@ -43786,11 +44699,11 @@ determine a order for the two provided values. The micro version of GStreamer at compile time: - + The minor 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-... @@ -44116,7 +45029,8 @@ together to make room for the new block. + version="1.12" + introspectable="0"> 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 @@ -44214,7 +45128,7 @@ Free-function: gst_caps_features_free The current implementation of serialization will lead to unexpected results when there are nested #GstCaps / #GstStructure deeper than one level. - + a newly allocated #GstCaps @@ -44261,6 +45175,30 @@ 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 +@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 + + + + Timeout for threads in seconds + + + + @@ -44288,7 +45226,7 @@ Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. - + @@ -44305,7 +45243,7 @@ Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. - + @@ -44377,9 +45315,9 @@ The caller has to free the list after use. - If libunwind or glibc backtrace are present, a stack trace -is returned. - + + a stack trace, if libunwind or glibc backtrace are +present, else %NULL. @@ -44608,6 +45546,28 @@ a stack trace is printed. + + Removes any previously added ring buffer logger with +gst_debug_add_ring_buffer_logger(). + + + + + + Fetches the current logs per thread from the ring buffer logger. See +gst_debug_add_ring_buffer_logger() for details. + + NULL-terminated array of +strings with the debug output per thread + + + + + If activated, debugging messages are sent to the debugging handlers. @@ -45000,6 +45960,22 @@ is unknown. + + 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 + initialized GStreamer, or %NULL if it could not be determined. + + + 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 @@ -45035,7 +46011,7 @@ Free with g_free(). 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 @@ -45178,7 +46154,7 @@ 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. @@ -45336,8 +46312,9 @@ or gst_init_check(). 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 access metadata. + + a #GstMetaInfo that can be used to +access metadata. @@ -45408,7 +46385,7 @@ Either @newdata and the value pointed to by @olddata may be %NULL. introspectable="0"> Replace the current #GstMiniObject pointer to by @olddata with %NULL and return the old value. - + the #GstMiniObject at @oldata @@ -45466,7 +46443,9 @@ Either @newdata and the value pointed to by @olddata may be %NULL. - + 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 @@ -45504,7 +46483,7 @@ GObjects's instance_init function. 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 @@ -45608,7 +46587,7 @@ 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 element, which is guaranteed to be a bin unless GST_FLAG_NO_SINGLE_ELEMENT_BINS was passed, or %NULL if an error @@ -45653,10 +46632,11 @@ yourself). 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. - - 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. + + 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. @@ -45673,12 +46653,12 @@ can try to play the pipeline. 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. - - 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 which case they are put - in a #GstBin instead). + + 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 + which case they are put in a #GstBin instead). @@ -45704,8 +46684,9 @@ can try to play the pipeline. 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 on failure. + + a new element on success and %NULL +on failure. @@ -45723,11 +46704,12 @@ An error does not mean that the pipeline could not be constructed. 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 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 on failure) + + 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 + on failure) @@ -45950,6 +46932,28 @@ This function is primarily for printing debug output. + + 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. + + + + + + + A null terminated array of strings +that contains the UUID values of each protection system that is to be +checked. + + + + @@ -45969,10 +46973,11 @@ This function is primarily for printing debug output. 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 @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. + + 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. @@ -46031,6 +47036,22 @@ checked. + + + + + + + Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + + The #GstMetaInfo + + + @@ -46065,6 +47086,23 @@ the GStreamer core. See gst_segtrap_is_enabled() for more information. + + Gets a string representing the given state transition. + + a string with the name of the state + result. + + + + + a #GstStateChange to get the name of. + + + + @@ -46089,7 +47127,7 @@ the GStreamer core. See gst_segtrap_is_enabled() for more information. moved-to="StreamType.get_name" version="1.10"> Get a descriptive string for a given #GstStreamType - + A string describing the stream type @@ -46148,7 +47186,7 @@ Free-function: gst_structure_free c:identifier="gst_tag_get_description"> Returns the human-readable description of this tag, You must not change or free this string. - + the human-readable description of this tag @@ -46175,7 +47213,7 @@ free this string. Returns the human-readable name of this tag, You must not change or free this string. - + the human-readable name of this tag @@ -46493,10 +47531,12 @@ Note that this function may block for a significant amount of time. + moved-to="Uri.construct" + deprecated="1"> 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 given URI protocol is not valid, or the given location is %NULL. @@ -46546,10 +47586,10 @@ 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 %NULL if the - URI isn't valid. If the URI does not contain a location, an empty - string is returned. + + 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. @@ -46564,7 +47604,7 @@ Free-function: g_free moved-to="Uri.get_protocol"> Extracts the protocol out of a given valid URI. The returned string must be freed using g_free(). - + The protocol for this URI. @@ -46755,6 +47795,20 @@ the result. + + Dumps the buffer memory into a hex representation. Useful for debugging. + + + + + + a #GstBuffer whose memory to dump + + + + Dumps the memory block into a hex representation. Useful for debugging. @@ -46991,7 +48045,9 @@ and @b. Return a constantly incrementing group id. This function is used to generate a new group-id for the -stream-start event. +stream-start event. + +This function never returns %GST_GROUP_ID_INVALID (which is 0) A constantly incrementing unsigned integer, which might overflow back to 0 at some point. @@ -47036,10 +48092,12 @@ positive number if @s1 is after @s2. This function is used internally to GStreamer to be able to determine which events and messages are "the same". For example, elements may set the seqnum on a segment-done message to be the same as that of the last seek event, to -indicate that event and the message correspond to the same segment. +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 -overflow back to 0 at some point. Use gst_util_seqnum_compare() to make sure +overflow at some point. Use gst_util_seqnum_compare() to make sure you handle wraparound correctly. @@ -47613,7 +48671,7 @@ before getting rid of the @value. Gets the maximum of the range specified by @value. - + the maximum of the range @@ -47627,7 +48685,7 @@ before getting rid of the @value. Gets the minimum of the range specified by @value. - + the minimum of the range diff --git a/gir-files/GstApp-1.0.gir b/gir-files/GstApp-1.0.gir index 8b08d528b..9913b72d6 100644 --- a/gir-files/GstApp-1.0.gir +++ b/gir-files/GstApp-1.0.gir @@ -91,13 +91,15 @@ to avoid polling. Get the last preroll sample in @appsink. This was the sample that caused the -appsink to preroll in the PAUSED state. This sample can be pulled many times -and remains available to the application even after EOS. +appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED state. Calling this function after doing a seek will give the sample right after the seek position. +Calling this function will clear the internal reference to the preroll +buffer. + Note that the preroll sample will also be returned as the first sample when calling gst_app_sink_pull_sample(). @@ -146,13 +148,15 @@ If an EOS event was received before any buffers, this function returns invoker="try_pull_preroll" version="1.10"> Get the last preroll sample in @appsink. This was the sample that caused the -appsink to preroll in the PAUSED state. This sample can be pulled many times -and remains available to the application even after EOS. +appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED state. Calling this function after doing a seek will give the sample right after the seek position. +Calling this function will clear the internal reference to the preroll +buffer. + Note that the preroll sample will also be returned as the first sample when calling gst_app_sink_pull_sample(). @@ -316,13 +320,15 @@ PLAYING state. Get the last preroll sample in @appsink. This was the sample that caused the -appsink to preroll in the PAUSED state. This sample can be pulled many times -and remains available to the application even after EOS. +appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED state. Calling this function after doing a seek will give the sample right after the seek position. +Calling this function will clear the internal reference to the preroll +buffer. + Note that the preroll sample will also be returned as the first sample when calling gst_app_sink_pull_sample(). @@ -517,13 +523,15 @@ elements until a sample is pulled from @appsink. c:identifier="gst_app_sink_try_pull_preroll" version="1.10"> Get the last preroll sample in @appsink. This was the sample that caused the -appsink to preroll in the PAUSED state. This sample can be pulled many times -and remains available to the application even after EOS. +appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED state. Calling this function after doing a seek will give the sample right after the seek position. +Calling this function will clear the internal reference to the preroll +buffer. + Note that the preroll sample will also be returned as the first sample when calling gst_app_sink_pull_sample(). @@ -653,13 +661,15 @@ 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 -appsink to preroll in the PAUSED state. This sample can be pulled many times -and remains available to the application even after EOS. +appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED state. Calling this function after doing a seek will give the sample right after the seek position. +Calling this function will clear the internal reference to the preroll +buffer. + Note that the preroll sample will also be returned as the first sample when calling gst_app_sink_pull_sample() or the "pull-sample" action signal. @@ -698,13 +708,15 @@ If an EOS event was received before any buffers, this function returns action="1" version="1.10"> Get the last preroll sample in @appsink. This was the sample that caused the -appsink to preroll in the PAUSED state. This sample can be pulled many times -and remains available to the application even after EOS. +appsink to preroll in the PAUSED state. This function is typically used when dealing with a pipeline in the PAUSED state. Calling this function after doing a seek will give the sample right after the seek position. +Calling this function will clear the internal reference to the preroll +buffer. + Note that the preroll sample will also be returned as the first sample when calling gst_app_sink_pull_sample() or the "pull-sample" action signal. @@ -1075,6 +1087,32 @@ space becomes available in the queue. + + 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_FLUSHING when @appsrc is not PAUSED or PLAYING. +#GST_FLOW_EOS when EOS occured. + + + + + a #GstAppSrc + + + + a #GstBufferList to push + + + + 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 @@ -1209,7 +1247,7 @@ signals. direction="out" caller-allocates="0" transfer-ownership="full"> - the min latency + the max latency @@ -1279,6 +1317,32 @@ space becomes available in the queue. + + 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_FLUSHING when @appsrc is not PAUSED or PLAYING. +#GST_FLOW_EOS when EOS occured. + + + + + a #GstAppSrc + + + + a #GstBufferList to push + + + + @@ -1415,7 +1479,7 @@ default latency calculations for pseudo-live sources will be used. - the min latency + the max latency @@ -1575,6 +1639,27 @@ becomes available in the queue. + + 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. + +When the block property is TRUE, this function can block until free space +becomes available in the queue. + + + + + + a buffer list to push + + + + Extract a buffer from the provided sample and adds the extracted buffer to the queue of buffers that the appsrc element will @@ -1791,8 +1876,28 @@ extracted + + + + #GST_FLOW_OK when the buffer list was successfuly queued. +#GST_FLOW_FLUSHING when @appsrc is not PAUSED or PLAYING. +#GST_FLOW_EOS when EOS occured. + + + + + a #GstAppSrc + + + + a #GstBufferList to push + + + + + - + diff --git a/gir-files/GstAudio-1.0.gir b/gir-files/GstAudio-1.0.gir index 92238e82d..2187c9dc4 100644 --- a/gir-files/GstAudio-1.0.gir +++ b/gir-files/GstAudio-1.0.gir @@ -30,6 +30,38 @@ changing bit depth. Default is #GST_AUDIO_DITHER_NONE. + + #GST_TYPE_VALUE_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 +number of input channels. + +## Example matrix generation code +To generate the matrix using code: + +|[ +GValue v = G_VALUE_INIT; +GValue v2 = G_VALUE_INIT; +GValue v3 = G_VALUE_INIT; + +g_value_init (&v2, GST_TYPE_ARRAY); +g_value_init (&v3, G_TYPE_DOUBLE); +g_value_set_double (&v3, 1); +gst_value_array_append_value (&v2, &v3); +g_value_unset (&v3); +[ Repeat for as many double as your input channels - unset and reinit v3 ] +g_value_init (&v, GST_TYPE_ARRAY); +gst_value_array_append_value (&v, &v2); +g_value_unset (&v2); +[ Repeat for as many v2's as your output channels - unset and reinit v2] +g_object_set_property (G_OBJECT (audiomixmatrix), "matrix", &v); +g_value_unset (&v); +]| + + @@ -215,6 +247,343 @@ transition band for the kaiser window. 0.087 is the default. c:type="GST_AUDIO_RESAMPLER_QUALITY_MIN"> + + 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. + +#GstAudioAggregator can perform conversion on the data arriving +on its sink pads, based on the format expected downstream: in order +to enable that behaviour, the GType of the sink pads must either be +a (subclass of) #GstAudioAggregatorConvertPad to use the default +#GstAudioConverter implementation, or a subclass of #GstAudioAggregatorPad +implementing #GstAudioAggregatorPad.convert_buffer. + +To allow for the output caps to change, the mechanism is the same as +above, with the GType of the source pad. + +See #GstAudioMixer for an example. + +When conversion is enabled, #GstAudioAggregator will accept +any type of raw audio caps and perform conversion +on the data arriving on its sink pads, with whatever downstream +expects as the target format. + +In case downstream caps are not fully fixated, it will use +the first configured sink pad to finish fixating its source pad +caps. + +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). + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The parent #GstAggregator + + + + The caps set by the subclass + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + An implementation of GstPad that can be used with #GstAudioAggregator. + +See #GstAudioAggregator for more details. + + + + + The parent #GstAudioAggregatorPad + + + + + + + + + + + + + + + + + + + + + + + + + The default implementation of GstPad used with #GstAudioAggregator + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The parent #GstAggregatorPad + + + + The audio info for this pad set from the incoming caps + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - 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 +with 0.0 and 1.0. + +As this is floating point comparisons, if the values have been +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. @@ -1282,8 +1661,8 @@ Perform channel mixing on @in_data and write the result to @out_data. introspectable="0"> Create a new channel mixer object for the given parameters. - a new #GstAudioChannelMixer object. Free with gst_audio_channel_mixer_free() -after usage. + a new #GstAudioChannelMixer object, or %NULL if @format isn't supported. + Free with gst_audio_channel_mixer_free() after usage. @@ -1315,6 +1694,45 @@ after usage. + + Create a new channel mixer object for the given parameters. + + 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 + + + + + + + number of input channels + + + + number of output channels + + + + channel conversion matrix, m[@in_channels][@out_channels]. + If identity matrix, passthrough applies. If %NULL, a (potentially truncated) + identity matrix is generated. + + + + 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. @@ -1782,7 +2200,90 @@ be used. - + + + Create a new #GstAudioConverter that is able to convert between @in and @out +audio formats. + +@config contains extra configuration options, see #GST_VIDEO_CONVERTER_OPT_* +parameters for details about the options and values. + + a #GstAudioConverter or %NULL if conversion is not possible. + + + + + extra #GstAudioConverterFlags + + + + a source #GstAudioInfo + + + + a destination #GstAudioInfo + + + + a #GstStructure with configuration options + + + + + + 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. + + + + + + + + extra #GstAudioConverterFlags + + + + input data + + + + + + size of @in + + + + a pointer where + the output data will be written + + + + + + a pointer where the size of @out will be written + + + + Free a previously allocated @convert instance. @@ -1995,37 +2496,6 @@ option and values. - - Create a new #GstAudioConverter that is able to convert between @in and @out -audio formats. - -@config contains extra configuration options, see #GST_VIDEO_CONVERTER_OPT_* -parameters for details about the options and values. - - a #GstAudioConverter or %NULL if conversion is not possible. - - - - - extra #GstAudioConverterFlags - - - - a source #GstAudioInfo - - - - a destination #GstAudioInfo - - - - a #GstStructure with configuration options - - - - - #TRUE if the negotiation succeeded, else #FALSE. + %TRUE if the negotiation succeeded, else %FALSE. @@ -2697,7 +3167,7 @@ not required to use this and can still do tag handling on its own. 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. @@ -3188,7 +3658,7 @@ overridden. - #TRUE if the negotiation succeeded, else #FALSE. + %TRUE if the negotiation succeeded, else %FALSE. @@ -3539,7 +4009,7 @@ Things that subclass need to take care of: 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. @@ -3998,7 +4468,7 @@ MT safe. 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. @@ -4526,7 +4996,7 @@ 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. @@ -5459,10 +5929,17 @@ Note: This initializes @info first, no values are preserved. the number of channels - + the channel positions - + + + @@ -7938,6 +8415,263 @@ functionality. + + #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 +processing happens according to sample rate @rate, until +gst_audio_discont_wait_set_rate() is called with a new @rate. +A negative rate can be used for reverse playback. + +@alignment_threshold gives the tolerance in nanoseconds after which a +timestamp difference is considered a discontinuity. Once detected, +@discont_wait nanoseconds have to pass without going below the threshold +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 sample rate + + + + a alignment threshold in nanoseconds + + + + discont wait in nanoseconds + + + + + + Copy a GstAudioStreamAlign structure. + + a new #GstAudioStreamAlign. free with gst_audio_stream_align_free. + + + + + a #GstAudioStreamAlign + + + + + + Free a GstAudioStreamAlign structure previously allocated with gst_audio_stream_align_new() +or gst_audio_stream_align_copy(). + + + + + + a #GstAudioStreamAlign + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Returns the number of samples that were processed since the last +discontinuity was detected. + + The number of samples processed since the last discontinuity. + + + + + a #GstAudioStreamAlign + + + + + + 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 + + + + + a #GstAudioStreamAlign + + + + + + Marks the next buffer as discontinuous and resets timestamp tracking. + + + + + + a #GstAudioStreamAlign + + + + + + 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. + +A discontinuity is detected once the difference between the actual +timestamp and the timestamp calculated from the sample count since the last +discontinuity differs by more than the alignment threshold for a duration +longer than discont wait. + +Note: In reverse playback, every buffer is considered discontinuous in the +context of buffer flags because the last sample of the previous buffer is +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. + + + + + a #GstAudioStreamAlign + + + + if this data is considered to be discontinuous + + + + a #GstClockTime of the start of the data + + + + number of samples to process + + + + output timestamp of the data + + + + output duration of the data + + + + output sample position of the start of the data + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + introspectable="0"> Create a new channel mixer object for the given parameters. - a new #GstAudioChannelMixer object. Free with gst_audio_channel_mixer_free() -after usage. + a new #GstAudioChannelMixer object, or %NULL if @format isn't supported. + Free with gst_audio_channel_mixer_free() after usage. @@ -8227,6 +8961,46 @@ after usage. + + Create a new channel mixer object for the given parameters. + + 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 + + + + + + + number of input channels + + + + number of output channels + + + + channel conversion matrix, m[@in_channels][@out_channels]. + If identity matrix, passthrough applies. If %NULL, a (potentially truncated) + identity matrix is generated. + + + + Convert the @channels present in @channel_mask to a @position array @@ -8394,38 +9168,6 @@ checks if the channels are in the order required by GStreamer. - - Create a new #GstAudioConverter that is able to convert between @in and @out -audio formats. - -@config contains extra configuration options, see #GST_VIDEO_CONVERTER_OPT_* -parameters for details about the options and values. - - a #GstAudioConverter or %NULL if conversion is not possible. - - - - - extra #GstAudioConverterFlags - - - - a source #GstAudioInfo - - - - a destination #GstAudioInfo - - - - a #GstStructure with configuration options - - - - diff --git a/gir-files/GstBase-1.0.gir b/gir-files/GstBase-1.0.gir index bbaa80078..5dd9f7239 100644 --- a/gir-files/GstBase-1.0.gir +++ b/gir-files/GstBase-1.0.gir @@ -928,6 +928,927 @@ buffer in the list before freeing the list after usage. disguised="1" glib:is-gtype-struct-for="Adapter"> + + 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 + the #GstAggregatorClass.aggregate() virtual method. + + * Installs a #GstPadChainFunction, a #GstPadEventFullFunction and a + #GstPadQueryFunction to queue all serialized data packets per sink pad. + Subclasses should not overwrite those, but instead implement + #GstAggregatorClass.sink_event() and #GstAggregatorClass.sink_query() as + needed. + + * When data is queued on all pads, the aggregate vmethod is called. + + * One can peek at the data on any given GstAggregatorPad with the + gst_aggregator_pad_peek_buffer () method, and remove it from the pad + with the gst_aggregator_pad_pop_buffer () method. When a buffer + has been taken with pop_buffer (), a new buffer can be queued + on that pad. + + * If the subclass wishes to push a buffer downstream in its aggregate + implementation, it should do so through the + gst_aggregator_finish_buffer () method. This method will take care + of sending and ordering mandatory events such as stream start, caps + and segment. + + * Same goes for EOS events, which should not be pushed directly by the + subclass, it should instead return GST_FLOW_EOS in its aggregate + implementation. + + * Note that the aggregator logic regarding gap event handling is to turn + these into gap buffers with matching PTS and duration. It will also + flag these buffers with GST_BUFFER_FLAG_GAP and GST_BUFFER_FLAG_DROPPABLE + to ease their identification and subsequent processing. + + * Subclasses must use (a subclass of) #GstAggregatorPad for both their + sink and source pads. + See gst_element_class_add_static_pad_template_with_gtype(). + +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, +mandatory events such as stream-start, caps, and segment events will be +sent before pushing the buffer. + + + + + + The #GstAggregator + + + + the #GstBuffer to push. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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 #GstBuffer to push. + + + + + + Lets #GstAggregator sub-classes get the memory @allocator +acquired by the base class and its @params. + +Unref the @allocator after use it. + + + + + + a #GstAggregator + + + + the #GstAllocator +used + + + + the +#GstAllocationParams of @allocator + + + + + + + the instance of the #GstBufferPool used +by @trans; free it after use it + + + + + a #GstAggregator + + + + + + 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 + + + + + a #GstAggregator + + + + + + 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 + + + + minimum latency + + + + maximum latency + + + + + + Sets the caps to be used on the src pad. + + + + + + The #GstAggregator + + + + The #GstCaps to set on the src pad. + + + + + + + + + + + + + + + + + + the aggregator's source pad + + + + + + + + + + + + + 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. + +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. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + The #GstAggregator + + + + the #GstBuffer to push. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Pads managed by a #GstAggregor subclass. + +This class used to live in gst-plugins-bad and was moved to core. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Drop the buffer currently queued in @pad. + + TRUE if there was a buffer queued in @pad, or FALSE if not. + + + + + the pad where to drop any pending buffer + + + + + + + %TRUE if the pad is EOS, otherwise %FALSE. + + + + + an aggregator pad + + + + + + + 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 + + + + + + Steal the ref to the buffer currently queued in @pad. + + The buffer in @pad or NULL if no buffer was + queued. You should unref the buffer after usage. + + + + + the pad to get buffer from + + + + + + + + + last segment received. + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + @@ -3554,6 +4475,8 @@ received, it may safely shut down the entire pipeline. + Ask the subclass to create a buffer with @offset and @size, the default +implementation will call alloc and fill. @@ -3567,7 +4490,10 @@ received, it may safely shut down the entire pipeline. - + @@ -3670,6 +4596,8 @@ received, it may safely shut down the entire pipeline. + Given @buffer, return @start and @end time when it should be pushed +out. The base class will sync on the clock using these times. @@ -3680,10 +4608,16 @@ received, it may safely shut down the entire pipeline. - + - + @@ -4161,6 +5095,39 @@ helper thread. + + 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 +drastically, especially for packetised inputs (for data streams where +the packetisation/chunking is not important it is usually more efficient +to return larger buffers instead). + +Subclasses that use this function from their create function must return +%GST_FLOW_OK and no buffer from their create virtual method implementation. +If a buffer is returned after a buffer list has also been submitted via this +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 #GstBufferList + + + + If the #GstBaseSrcClass.create() method performs its own synchronisation against the clock it must unblock when going from PLAYING to the PAUSED state @@ -4375,10 +5342,16 @@ buffers. - + - + @@ -4513,7 +5486,10 @@ buffers. - + @@ -4803,7 +5779,10 @@ It provides for: - + @@ -4819,7 +5798,10 @@ It provides for: - + @@ -4835,7 +5817,10 @@ It provides for: - + @@ -5037,7 +6022,10 @@ It provides for: - + @@ -5566,7 +6554,10 @@ same type and quantity) it should provide @transform_ip. - + @@ -5584,7 +6575,10 @@ same type and quantity) it should provide @transform_ip. - + @@ -5656,7 +6650,10 @@ same type and quantity) it should provide @transform_ip. - + @@ -5776,7 +6773,10 @@ same type and quantity) it should provide @transform_ip. - + @@ -8647,10 +9647,10 @@ is given to the manager of this object when all pads have data. be installed with gst_collect_pads_set_function (). * Pads are added to the collection with gst_collect_pads_add_pad()/ - gst_collect_pads_remove_pad(). The pad - has to be a sinkpad. The chain and event functions of the pad are - overridden. The element_private of the pad is used to store - private information for the collectpads. + gst_collect_pads_remove_pad(). The pad has to be a sinkpad. When added, + the chain, event and query functions of the pad are overridden. The + element_private of the pad is used to store private information for the + collectpads. * For each pad, data is queued in the _chain function or by performing a pull_range. @@ -10221,13 +11221,15 @@ returned immediatelly from the gst_flow_combiner_update_flow() function. - + + Increments the reference count on the #GstFlowCombiner. + the #GstFlowCombiner. + the #GstFlowCombiner to add a reference to. @@ -10264,13 +11266,16 @@ returned immediatelly from the gst_flow_combiner_update_flow() function. - + Decrements the reference count on the #GstFlowCombiner. + the #GstFlowCombiner to unreference. @@ -10640,6 +11645,38 @@ 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 + + + + + a #GstQueueArray object + + + + + + Returns the tail of the queue @array, but does not remove it from the queue. + + The tail of the queue + + + + + a #GstQueueArray object + + + + + + Returns the tail of the queue @array and removes +it from the queue. + + The tail of the queue + + + + + a #GstQueueArray object + + + + Create a new #GstNetClientInternalClock 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 clock. @@ -125,6 +125,9 @@ clock. transfer-ownership="none"> + + + @@ -197,7 +200,7 @@ structures. caller is responsible for ensuring that @buffer is at least #GST_NET_TIME_PACKET_SIZE bytes long. -If @buffer is #NULL, the local and remote times will be set to +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). @@ -324,7 +327,7 @@ The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. Allows network clients to get the current time of @clock. - + the new #GstNetTimeProvider, or NULL on error @@ -368,6 +371,9 @@ The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. transfer-ownership="none"> + + + @@ -407,7 +413,7 @@ The #GstNetTimeProvider typically wraps the clock used by a #GstPipeline. 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 clock. @@ -522,7 +528,8 @@ 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 diff --git a/gir-files/GstPbutils-1.0.gir b/gir-files/GstPbutils-1.0.gir index 4094eba6d..3413a4619 100644 --- a/gir-files/GstPbutils-1.0.gir +++ b/gir-files/GstPbutils-1.0.gir @@ -523,6 +523,23 @@ thread. + + + the channel-mask of the stream, refer to +gst_audio_channel_positions_from_mask() for more +information. + + + + + a #GstDiscovererAudioInfo + + + + @@ -773,6 +790,20 @@ gst_discoverer_stream_info_list_free(). + + + whether the URI is live. + + + + + a #GstDiscovererInfo + + + + @@ -1402,7 +1433,7 @@ 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). @@ -1498,7 +1529,7 @@ safely freed/unreferenced after calling this method. transfer-ownership="none" nullable="1" allow-none="1"> - the preset(s) to use on the encoder, can be #NULL + the preset(s) to use on the encoder, can be %NULL - Set whether the profile should be used or not. + Set whether the profile should be used or not. + +Since 1.6 @@ -2312,7 +2345,7 @@ gst_encoding_video_profile_set_variableframerate() documentation. transfer-ownership="none" nullable="1" allow-none="1"> - the preset(s) to use on the encoder, can be #NULL + the preset(s) to use on the encoder, can be %NULL 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. Actual releases have 0, GIT versions have 1, prerelease versions have 2-... @@ -2746,10 +2779,12 @@ If mpegversion is 4, the "base-profile" field is also set in @caps. - a pointer to the AudioSpecificConfig as specified in the - Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see - below for a more details). - + a pointer to the AudioSpecificConfig + as specified in the Elementary Stream Descriptor (esds) + in ISO/IEC 14496-1. (See below for more details) + + + Length of @audio_config in bytes @@ -2768,11 +2803,15 @@ Since 1.10 - a pointer to the AudioSpecificConfig as specified in the - Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. - + a pointer to the AudioSpecificConfig + as specified in the Elementary Stream Descriptor (esds) + in ISO/IEC 14496-1. + + + + Length of @audio_config in bytes @@ -2815,9 +2854,12 @@ determined. - a pointer to the AudioSpecificConfig as specified in the - Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. - + a pointer to the AudioSpecificConfig + as specified in the Elementary Stream Descriptor (esds) + in ISO/IEC 14496-1. + + + Length of @audio_config in bytes @@ -2839,10 +2881,12 @@ determined. - a pointer to the AudioSpecificConfig as specified in the - Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see - gst_codec_utils_aac_get_level() for a more details). - + a pointer to the AudioSpecificConfig + as specified in the Elementary Stream Descriptor (esds) + in ISO/IEC 14496-1. + + + Length of @audio_config in bytes @@ -2862,12 +2906,15 @@ Since 1.10 - a pointer to the AudioSpecificConfig as specified in the - Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. - + a pointer to the AudioSpecificConfig + as specified in the Elementary Stream Descriptor (esds) + in ISO/IEC 14496-1. + + + - Length of @audio_config in bytes + Length of @audio_config @@ -2904,7 +2951,9 @@ for more details on the parameters. Pointer to the sequence parameter set for the stream. - + + + Length of the data available in @sps. @@ -2924,7 +2973,9 @@ same format as for gst_codec_utils_h264_get_profile(). Pointer to the sequence parameter set for the stream. - + + + Length of the data available in @sps. @@ -2969,7 +3020,9 @@ byte. Pointer to the sequence parameter set for the stream. - + + + Length of the data available in @sps. @@ -2995,8 +3048,11 @@ Since 1.4 - Pointer to the profile_tier_level struct - + Pointer to the profile_tier_level + struct + + + Length of the data available in @profile_tier_level. @@ -3017,9 +3073,11 @@ Since 1.4 - Pointer to the profile_tier_level structure + Pointer to the profile_tier_level for the stream - + + + Length of the data available in @profile_tier_level. @@ -3071,7 +3129,9 @@ Since 1.4 Pointer to the profile_tier_level structure for the stream. - + + + Length of the data available in @profile_tier_level @@ -3092,9 +3152,11 @@ Since 1.4 - Pointer to the profile_tier_level structure + Pointer to the profile_tier_level for the stream. - + + + Length of the data available in @profile_tier_level. @@ -3118,8 +3180,11 @@ parameters. - Pointer to the visual object sequence for the stream. - + Pointer to the visual object + sequence for the stream. + + + Length of the data available in @sps. @@ -3139,8 +3204,11 @@ object sequence start code. Only the first byte - Pointer to the visual object sequence for the stream. - + Pointer to the visual object + sequence for the stream. + + + Length of the data available in @sps. @@ -3160,8 +3228,11 @@ object sequence start code. Only the first byte - Pointer to the visual object sequence for the stream. - + Pointer to the visual object + sequence for the stream. + + + Length of the data available in @sps. @@ -3174,7 +3245,8 @@ object sequence start code. Only the first byte version="1.8"> Creates Opus caps from the given parameters. - The #GstCaps. + The #GstCaps, or %NULL if the parameters would lead to +invalid Opus caps. @@ -3203,7 +3275,9 @@ object sequence start code. Only the first byte nullable="1" allow-none="1"> the mapping between the streams - + + + @@ -3264,7 +3338,9 @@ object sequence start code. Only the first byte nullable="1" allow-none="1"> the mapping between the streams - + + + Pre-skip in 48kHz samples or 0 @@ -3286,32 +3362,52 @@ object sequence start code. Only the first byte - the #GstCaps to which the level and profile are to be added + the #GstCaps to parse the data from - + the sample rate - + the number of channels - + the channel mapping family - + the number of independent streams - + the number of stereo streams - + the mapping between the streams - + + + @@ -3328,35 +3424,61 @@ object sequence start code. Only the first byte the OpusHead #GstBuffer - + the sample rate - + the number of channels - + the channel mapping family - + the number of independent streams - + the number of stereo streams - + the mapping between the streams - + + + - + Pre-skip in 48kHz samples or 0 - + Output gain or 0 diff --git a/gir-files/GstPlayer-1.0.gir b/gir-files/GstPlayer-1.0.gir index ce95d355a..c742ab13b 100644 --- a/gir-files/GstPlayer-1.0.gir +++ b/gir-files/GstPlayer-1.0.gir @@ -117,6 +117,32 @@ Since 1.10 + + Enable or disable accurate seeking. When enabled, elements will try harder +to seek as accurately as possible to the requested seek position. Generally +it will be slower especially for formats that don't have any indexes or +timestamp markers in the stream. + +If accurate seeking is disabled, elements will seek as close as the request +position without slowing down seeking too much. + +Accurate seeking is disabled by default. + + + + + + a #GstPlayer configuration + + + + accurate seek or not + + + + Set the user agent to pass to the server if @player needs to connect @@ -212,32 +238,6 @@ matching #GstPlayerVideoInfo. - - Enable or disable accurate seeking. When enabled, elements will try harder -to seek as accurately as possible to the requested seek position. Generally -it will be slower especially for formats that don't have any indexes or -timestamp markers in the stream. - -If accurate seeking is disabled, elements will seek as close as the request -position without slowing down seeking too much. - -Accurate seeking is disabled by default. - - - - - - #GstPlayer instance - - - - accurate seek or not - - - - Retrieve the current value of audio-video-offset property @@ -808,7 +808,9 @@ Sets the subtitle strack @stream_index. - Sets the external subtitle URI. + Sets the external subtitle URI. This should be combined with a call to +gst_player_set_subtitle_track_enabled(@player, TRUE) so the subtitles are actually +rendered. diff --git a/gir-files/GstRtsp-1.0.gir b/gir-files/GstRtsp-1.0.gir index af34b1dd5..5479693b8 100644 --- a/gir-files/GstRtsp-1.0.gir +++ b/gir-files/GstRtsp-1.0.gir @@ -119,7 +119,7 @@ state as when it was first created. Attempt to connect to the url of @conn made with -gst_rtsp_connection_create(). If @timeout is #NULL this function can block +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. @@ -142,7 +142,7 @@ This function can be cancelled with gst_rtsp_connection_flush(). Attempt to connect to the url of @conn made with -gst_rtsp_connection_create(). If @timeout is #NULL this function can block +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. @@ -426,7 +426,7 @@ 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 #NULL, in which case this function might block forever. +@timeout can be %NULL, in which case this function might block forever. This function can be cancelled with gst_rtsp_connection_flush(). @@ -454,7 +454,7 @@ This function can be cancelled with gst_rtsp_connection_flush(). 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 +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(). @@ -476,14 +476,14 @@ This function can be cancelled with gst_rtsp_connection_flush(). - 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 +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(). @@ -501,7 +501,7 @@ This function can be cancelled with gst_rtsp_connection_flush(). - a timeout value or #NULL + a timeout value or %NULL @@ -522,7 +522,7 @@ This function can be cancelled with gst_rtsp_connection_flush(). Attempt to send @message to the connected @conn, blocking up to -the specified @timeout. @timeout can be #NULL, in which case this function +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(). @@ -540,11 +540,52 @@ This function can be cancelled with gst_rtsp_connection_flush(). - a timeout value or #NULL + a timeout value or %NULL + + 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 #GstRTSPConnectionAcceptCertificateFunc to check certificates + + + + User data passed to @func + + + + #GDestroyNotify for @user_data + + + + Configure @conn for authentication mode @method with @user and @pass as the user and password respectively. @@ -772,7 +813,7 @@ the @conn is connected. 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 +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(). @@ -794,7 +835,7 @@ This function can be cancelled with gst_rtsp_connection_flush(). - a timeout value or #NULL + a timeout value or %NULL @@ -887,6 +928,30 @@ read from @socket which should be used before starting to read new data. + + + + + + + + + + + + + + + + + + + c:identifier="GST_RTSP_HDR_KEYMGMT" glib:nick="keymgmt"> - + + + + + + + + @@ -1888,7 +1973,11 @@ read from @socket which should be used before starting to read new data. encrypt TCP and HTTP with TLS - + Provides methods for creating and parsing request, response and data messages. the message type @@ -2004,6 +2093,27 @@ for transmission. + + 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 #GstRTSPMessage + + + + pointer to new #GstRTSPMessage + + + + Dump the contents of @msg to stdout. @@ -2192,9 +2302,9 @@ again, use gst_rtsp_message_unset(). c:identifier="gst_rtsp_message_init_response"> Initialize @msg with @code and @reason. -When @reason is #NULL, the default reason for @code will be used. +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 +When @request is not %NULL, the relevant headers will be copied to the new response message. a #GstRTSPResult. @@ -2267,7 +2377,7 @@ response message. 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 +@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. @@ -2312,7 +2422,7 @@ value. 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 +@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. @@ -2426,7 +2536,7 @@ all matching headers will be removed. 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. +the body and size of @msg will be set to %NULL and 0 respectively. #GST_RTSP_OK. @@ -2540,109 +2650,6 @@ gst_rtsp_message_init_data() on stack allocated #GstRTSPMessage structures. - - Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free(). - - a #GstRTSPResult. - - - - - a location for the new #GstRTSPMessage - - - - - - Create a new data #GstRTSPMessage with @channel and store the -result message in @msg. Free with gst_rtsp_message_free(). - - a #GstRTSPResult. - - - - - a location for the new #GstRTSPMessage - - - - the channel - - - - - - 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 location for the new #GstRTSPMessage - - - - the request method to use - - - - the uri of the request - - - - - - 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 location for the new #GstRTSPMessage - - - - the status code - - - - the status reason or %NULL - - - - the request that triggered the response or %NULL - - - - value="-8" c:identifier="GST_RTSP_EPARSE" glib:nick="eparse"> - a persing error occured + a parsing error occured 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. @@ -3609,7 +3616,7 @@ used to generate #GstCaps events. 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 +@manager will contain an element name or %NULL when no manager is needed/available for @trans. #GST_RTSP_OK. @@ -3868,6 +3875,12 @@ with gst_rtsp_url_free(). glib:nick="1-1"> version 1.1. + + version 2.0. + Convert @version to a string. @@ -4569,9 +4582,7 @@ Currently only supported algorithm "md5". - + Create a new initialized #GstRTSPMessage. Free with gst_rtsp_message_free(). a #GstRTSPResult. @@ -4588,8 +4599,7 @@ Currently only supported algorithm "md5". + c:identifier="gst_rtsp_message_new_data"> Create a new data #GstRTSPMessage with @channel and store the result message in @msg. Free with gst_rtsp_message_free(). @@ -4611,8 +4621,7 @@ result message in @msg. Free with gst_rtsp_message_free(). + c:identifier="gst_rtsp_message_new_request"> Create a new #GstRTSPMessage with @method and @uri and store the result request message in @msg. Free with gst_rtsp_message_free(). @@ -4638,14 +4647,13 @@ request message in @msg. Free with gst_rtsp_message_free(). + c:identifier="gst_rtsp_message_new_response"> 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 @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 +When @request is not %NULL, the relevant headers will be copied to the new response message. a #GstRTSPResult. @@ -4858,7 +4866,7 @@ UTC times will be converted to nanoseconds since 1900. 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 +@manager will contain an element name or %NULL when no manager is needed/available for @trans. #GST_RTSP_OK. diff --git a/gir-files/GstRtspServer-1.0.gir b/gir-files/GstRtspServer-1.0.gir index 820712554..17b1674ba 100644 --- a/gir-files/GstRtspServer-1.0.gir +++ b/gir-files/GstRtspServer-1.0.gir @@ -2990,6 +2990,27 @@ element of @media, and create #GstRTSPStreams for them. + + Add a receiver and sender parts to the pipeline based on the transport from +SETUP. + + %TRUE if the media pipeline has been sucessfully updated. + + + + + a #GstRTSPMedia + + + + a list of #GstRTSPTransport + + + + + + Create a new stream in @media that provides RTP data on @pad. @pad should be a pad of an element inside @media->element. @@ -3457,6 +3478,38 @@ gst_rtsp_media_prepare(). + + Seek the pipeline of @media to @range. @media must be prepared with +gst_rtsp_media_prepare(). + + %TRUE on success. + + + + + a #GstRTSPMedia + + + + a #GstRTSPTimeRange + + + + The minimal set of #GstSeekFlags to use + + + + + + + + + + + + + + configure @pool to be used as the address pool of @media. @@ -4443,6 +4496,24 @@ will be created and the role will be added to it. + + A convenience wrapper around gst_rtsp_permissions_add_role_from_structure(). +If @factory had no permissions, new permissions will be created and the +role will be added to it. + + + + + + + + + + + + Construct the media object and create its streams. Implementations should create the needed gstreamer elements and add them to the result @@ -4686,7 +4757,7 @@ usage. Get if media created from this factory can be used for PLAY or RECORD methods. - The supported transport modes. + The transport mode. @@ -5535,6 +5606,351 @@ g_object_unref() after usage. c:type="GstRTSPMountPointsPrivate" disguised="1"> + + + + + + + + + + + + + + + + + + + + + + + Find the ONVIF backchannel depayloader element. It should be named +'depay_backchannel', be placed in a bin called 'onvif-backchannel' +and return all supported RTP caps on a caps query. Complete RTP caps with +at least the payload type, clock-rate and encoding-name are required. + +A new #GstRTSPStream is created for the backchannel if found. + + %TRUE if a backchannel stream could be found and created + + + + + a #GstRTSPOnvifMedia + + + + + + Get the configured/supported bandwidth of the ONVIF backchannel pipeline in +bits per second. + + the configured/supported backchannel bandwidth. + + + + + + + + + + Set the configured/supported bandwidth of the ONVIF backchannel pipeline in +bits per second. + + + + + + + + + the bandwidth in bits per second + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Create a new #GstRTSPOnvifMediaFactory + + A new #GstRTSPOnvifMediaFactory + + + + + Checks whether the client request requires backchannel. + + %TRUE if the client request requires backchannel. + + + + + a #GstRTSPMediaFactory + + + + + + + + + Returns %TRUE if an ONVIF backchannel is supported by the media factory. + + %TRUE if an ONVIF backchannel is supported by the media factory. + + + + + a #GstRTSPMediaFactory + + + + + + Get the configured/supported bandwidth of the ONVIF backchannel pipeline in +bits per second. + + the configured/supported backchannel bandwidth. + + + + + a #GstRTSPMediaFactory + + + + + + Get the gst_parse_launch() pipeline description that will be used in the +default prepare vmethod for generating the ONVIF backchannel pipeline. + + the configured backchannel launch description. g_free() after +usage. + + + + + a #GstRTSPMediaFactory + + + + + + Returns %TRUE if an ONVIF backchannel is supported by the media factory. + + %TRUE if an ONVIF backchannel is supported by the media factory. + + + + + a #GstRTSPMediaFactory + + + + + + Set the configured/supported bandwidth of the ONVIF backchannel pipeline in +bits per second. + + + + + + a #GstRTSPMediaFactory + + + + the bandwidth in bits per second + + + + + + The gst_parse_launch() line to use for constructing the ONVIF backchannel +pipeline in the default prepare vmethod if requested by the client. + +The pipeline description should return a GstBin as the toplevel element +which can be accomplished by enclosing the description with brackets '(' +')'. + +The description should return a pipeline with a single depayloader named +depay_backchannel. A caps query on the depayloader's sinkpad should return +all possible, complete RTP caps that are going to be supported. At least +the payload type, clock-rate and encoding-name need to be specified. + + + + + + a #GstRTSPMediaFactory + + + + the launch description + + + + + + + + + + + + + + + + + + + + + + + + %TRUE if an ONVIF backchannel is supported by the media factory. + + + + + a #GstRTSPMediaFactory + + + + + + + + + + + + + + + + + + Create a new #GstRTSPOnvifServer instance. + + a new #GstRTSPOnvifServer + + + + + + + + + + + + + + + + + + + + + + + + Add a new @permission for @role to @permissions with the access in @allowed. + + + + + + a #GstRTSPPermissions + + + + a role + + + + the permission + + + + whether the role has this permission or not + + + + Add a new @role to @permissions with the given variables. The fields are the same layout as gst_structure_new(). @@ -5579,6 +6022,48 @@ are the same layout as gst_structure_new(). + + Add a new @role to @permissions without any permissions. You can add +permissions for the role with gst_rtsp_permissions_add_permission_for_role(). + + + + + + a #GstRTSPPermissions + + + + a role + + + + + + Add a new role to @permissions based on @structure, for example +given a role named `tester`, which should be granted a permission named +`permission1`, the structure could be created with: + +``` +gst_structure_new ("tester", "permission1", G_TYPE_BOOLEAN, TRUE, NULL); +``` + + + + + + + + + + + + @@ -6826,6 +7311,23 @@ valid until the session of @media is unreffed. + + Get a list of all available #GstRTSPStreamTransport in this session. + + a +list of #GstRTSPStreamTransport, g_ptr_array_unref () after usage. + + + + + + + a #GstRTSPSessionMedia + + + + Check if the path of @media matches @path. It @path matches, the amount of matched characters is returned in @matched. @@ -7365,10 +7867,8 @@ then also be send to the values configured in @trans. + c:identifier="gst_rtsp_stream_allocate_udp_sockets"> Allocates RTP and RTCP ports. - This function shouldn't have been made public %TRUE if the RTP and RTCP sockets have been succeccully allocated. @@ -7386,12 +7886,32 @@ then also be send to the values configured in @trans. transport method - + Whether to use client settings or not + + Add a receiver and sender part to the pipeline based on the transport from +SETUP. + + %TRUE if the stream has been sucessfully updated. + + + + + a #GstRTSPStream + + + + a #GstRTSPTransport + + + + Get the #GstRTSPAddressPool used as the address pool of @stream. @@ -7633,6 +8153,25 @@ g_free() after usage. + + Get the multicast RTCP socket from @stream for a @family. + + the multicast RTCP socket or %NULL if no +socket could be allocated for @family. Unref after usage + + + + + a #GstRTSPStream + + + + the socket family + + + + Get the RTCP socket from @stream for a @family. @@ -7640,6 +8179,25 @@ g_free() after usage. @stream must be joined to a bin. the RTCP socket or %NULL if no +socket could be allocated for @family. Unref after usage + + + + + a #GstRTSPStream + + + + the socket family + + + + + + Get the multicast RTP socket from @stream for a @family. + + the multicast RTP socket or %NULL if no socket could be allocated for @family. Unref after usage @@ -7869,6 +8427,47 @@ be called when @stream has been joined. + + Checks whether the stream is complete, contains the receiver and the sender +parts. As the stream contains sink(s) element(s), it's possible to perform +seek operations on it. + + %TRUE if the stream contains at least one sink element. + + + + + a #GstRTSPStream + + + + + + Checks whether the stream is a receiver. + + %TRUE if the stream is a receiver and %FALSE otherwise. + + + + + a #GstRTSPStream + + + + + + Checks whether the stream is a sender. + + %TRUE if the stream is a sender and %FALSE otherwise. + + + + + a #GstRTSPStream + + + + Check if @transport can be handled by stream @@ -8094,6 +8693,19 @@ the address could be reserved. gst_rtsp_address_free() after usage. + + Checks whether the individual @stream is seekable. + + %TRUE if @stream is seekable, else %FALSE. + + + + + a #GstRTSPStream + + + + configure @pool to be used as the address pool of @stream. @@ -8411,6 +9023,17 @@ element in the #GList should be unreffed before the list is freed. + + + + + + + + + + Update the new crypto information for @ssrc in @stream. If information @@ -9249,6 +9872,7 @@ It is generated after successful authentication. Create a new Authorization token with the given fieldnames and values. Arguments are given similar to gst_structure_new(). @@ -9267,7 +9891,9 @@ Arguments are given similar to gst_structure_new(). - + Create a new empty Authorization token. a new empty authorization token. @@ -9347,6 +9973,50 @@ MT safe. + + Sets a boolean value on @token. + + + + + + The #GstRTSPToken. + + + + field to set + + + + boolean value to set + + + + + + Sets a string value on @token. + + + + + + The #GstRTSPToken. + + + + field to set + + + + string value to set + + + + Get a writable version of the structure. @@ -9433,6 +10103,11 @@ port pair in multicast. No response is sent when the check returns Check the URL and methods + + + @@ -9568,5 +10243,28 @@ information in the SDP. + + + + + + + + + + + + + + + + + + + + + + diff --git a/gir-files/GstSdp-1.0.gir b/gir-files/GstSdp-1.0.gir index db78f9dce..b877d9006 100644 --- a/gir-files/GstSdp-1.0.gir +++ b/gir-files/GstSdp-1.0.gir @@ -1512,7 +1512,10 @@ specific security protocol the key - + the value @@ -1717,7 +1720,10 @@ keys. a key - + a value @@ -2683,7 +2689,10 @@ messages. the key - + the value diff --git a/gir-files/GstVideo-1.0.gir b/gir-files/GstVideo-1.0.gir index 7569a1a9a..d373c4719 100644 --- a/gir-files/GstVideo-1.0.gir +++ b/gir-files/GstVideo-1.0.gir @@ -1708,7 +1708,7 @@ of cores. @@ -1842,11 +1842,24 @@ quatization errors. + c:type="GstVideoAffineTransformationMeta" + version="1.8"> + 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(). + +The vertices operated on are all in the range 0 to 1, not in +Normalized Device Coordinates (-1 to +1). Transforming points in this space +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 + the column-major 4x4 transformation matrix @@ -1854,7 +1867,8 @@ quatization errors. - 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. @@ -2024,7 +2038,7 @@ They can conflict with other extended buffer flags. Create a new bufferpool that can allocate video frames. This bufferpool supports all the video bufferpool options. - + a new #GstBufferPool to allocate video frames @@ -2574,7 +2588,7 @@ non-linear RGB (R'G'B') value="6" c:identifier="GST_VIDEO_COLOR_MATRIX_BT2020" glib:nick="bt2020"> - ITU-R BT.2020 color matrix. Since: 1.6. + ITU-R BT.2020 color matrix. Since: 1.6 value="7" c:identifier="GST_VIDEO_COLOR_PRIMARIES_BT2020" glib:nick="bt2020"> - BT2020 primaries. Since: 1.6. + BT2020 primaries. Since: 1.6 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. @@ -2850,7 +2864,7 @@ values. version="1.6"> Compare the 2 colorimetry sets for equality - #TRUE if @cinfo and @other are equal. + %TRUE if @cinfo and @other are equal. @@ -2868,7 +2882,7 @@ values. 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. @@ -3244,7 +3258,7 @@ The bare minimum that a functional subclass needs to implement is: 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. @@ -3839,7 +3853,7 @@ MT safe. 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. @@ -4267,7 +4281,7 @@ 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. @@ -4634,7 +4648,15 @@ Things that subclass need to take care of: * Provide pad templates * Provide source pad caps before pushing the first buffer * Accept data in @handle_frame and provide encoded results to - @gst_video_encoder_finish_frame. + @gst_video_encoder_finish_frame. + + +The #GstVideoEncoder:qos property will enable the Quality-of-Service +features of the encoder which gather statistics about the real-time +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. @@ -4710,7 +4732,7 @@ Things that subclass need to take care of: 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. @@ -5043,6 +5065,31 @@ used + + 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. + + + + + a #GstVideoEncoder + + + + a #GstVideoCodecFrame + + + + Get the oldest unfinished pending #GstVideoCodecFrame @@ -5071,6 +5118,22 @@ used + + 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. + + + + + the encoder + + + + Sets the video encoder tags and how they should be merged with any upstream stream tags. This will override any tags previously-set @@ -5107,7 +5170,7 @@ MT safe. 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. @@ -5248,6 +5311,27 @@ from the next call to #gst_video_encoder_finish_frame(). + + Configures @encoder to handle Quality-of-Service events from downstream. + + + + + + the encoder + + + + the new qos value. + + + + + + + @@ -5452,7 +5536,7 @@ and @get_caps are likely needed as well. - #TRUE if the negotiation succeeded, else #FALSE. + %TRUE if the negotiation succeeded, else %FALSE. @@ -6279,6 +6363,24 @@ to implement frame dropping. glib:nick="y444-12le"> planar 4:4:4 YUV, 12 bits per channel (Since: 1.12) + + 10-bit grayscale, packet in 32bit words (2 bits padding) + + + 10-bit variant of @GST_VIDEO_FORMAT_NV12, packet in 32bit words (MSB 2 bits padding) (Since: 1.14) + + + 10-bit variant of @GST_VIDEO_FORMAT_NV16, packet in 32bit words (MSB 2 bits padding) (Since: 1.14) + Converts a FOURCC value into the corresponding #GstVideoFormat. If the FOURCC cannot be represented by #GstVideoFormat, @@ -8792,6 +8894,59 @@ int main(int argc, char *argv[]) return ret; } ]| + + 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 + + + + + + The class on which the properties will be installed + + + + The first free property ID to use + + + + + + 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 + + + + + The instance on which the property is set + + + + The highest property ID. + + + + The property ID + + + + The #GValue to be set + + + + Tell an overlay that it has been exposed. This will redraw the current frame in the drawable even if the pipeline is PAUSED. @@ -9302,6 +9457,10 @@ contained in the rectangles are not copied. + + bounding box height + + list of #GstStructure containing element-specific params for downstream, see gst_video_region_of_interest_meta_add_params(). (Since: 1.14) + + + + + + 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. + +This is typically used to tell encoders how they should encode this specific region. +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 #GstStructure + + + + + + 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 #GstVideoRegionOfInterestMeta + + + + + + + @@ -10340,7 +10554,7 @@ 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. @@ -11166,7 +11380,7 @@ non-linear RGB (R'G'B') and linear RGB glib:nick="bt2020-12"> Gamma 2.2 curve with a linear segment in the lower range. Used for BT.2020 with 12 bits per - component. Since: 1.6. + component. Since: 1.6 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. @@ -13362,6 +13576,61 @@ the requested mode. + + 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 + + + + + + The class on which the properties will be installed + + + + The first free property ID to use + + + + + + 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 + + + + + The instance on which the property is set + + + + The highest property ID. + + + + The property ID + + + + The #GValue to be set + + + +