From b25a071145d5cd10d2ae10b0587013a8bc07fd7f Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Sebastian=20Dr=C3=B6ge?= Date: Thu, 15 Mar 2018 09:49:56 +0200 Subject: [PATCH] Update gir-files from gstreamer-sys --- gir-files/GLib-2.0.gir | 953 ++++++++++++++---- gir-files/GObject-2.0.gir | 1117 +++++++++++++-------- gir-files/Gst-1.0.gir | 1646 ++++++++++++++++++++++++++----- gir-files/GstApp-1.0.gir | 135 ++- gir-files/GstAudio-1.0.gir | 900 +++++++++++++++-- gir-files/GstBase-1.0.gir | 1113 ++++++++++++++++++++- 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 | 715 +++++++++++++- gir-files/GstSdp-1.0.gir | 15 +- gir-files/GstVideo-1.0.gir | 307 +++++- 13 files changed, 6269 insertions(+), 1227 deletions(-) diff --git a/gir-files/GLib-2.0.gir b/gir-files/GLib-2.0.gir index 2282f57b7..a540e0e72 100644 --- a/gir-files/GLib-2.0.gir +++ b/gir-files/GLib-2.0.gir @@ -26,7 +26,7 @@ allowed. The year is represented with four digits. Opaque type. See g_mutex_locker_new() for details. - + A type which is used to hold a process identification. @@ -46,7 +46,7 @@ particular string. A GQuark value of zero is associated to %NULL. A typedef alias for gchar**. This is mostly useful when used together with g_auto(). - + Simply a replacement for time_t. It has been deprecated @@ -149,7 +149,11 @@ is greater than one, the #GArray wrapper is preserved but the size of @array will be set to zero. If array elements contain dynamically-allocated memory, they should -be freed separately. +be freed separately. + +This function is not thread-safe. If using a #GArray from multiple +threads, use only the atomic g_array_ref() and g_array_unref() +functions. the element data if @free_segment is %FALSE, otherwise %NULL. The element data should be freed using g_free(). @@ -278,7 +282,7 @@ the new elements. version="2.22" introspectable="0"> Atomically increments the reference count of @array by one. -This function is MT-safe and may be called from any thread. +This function is thread-safe and may be called from any thread. The passed in #GArray @@ -523,7 +527,7 @@ This did not actually work, so any such code should be removed. introspectable="0"> Atomically decrements the reference count of @array by one. If the reference count drops to 0, all memory allocated by the array is -released. This function is MT-safe and may be called from any +released. This function is thread-safe and may be called from any thread. @@ -3361,6 +3365,9 @@ date to include new hashing algorithm types. Use the SHA-512 hashing algorithm (Since: 2.36) + + Use the SHA-384 hashing algorithm (Since: 2.51) + Prototype of a #GChildWatchSource callback, called when a child @@ -7393,7 +7400,9 @@ The g_direct_equal(), g_int_equal(), g_int64_equal(), g_double_equal() and g_str_equal() functions are provided for the most common types of keys. If @key_equal_func is %NULL, keys are compared directly in a similar fashion to g_direct_equal(), but without the overhead of -a function call. +a function call. @key_equal_func is called with the key from the hash table +as its first parameter, and the user-provided key to check against as +its second. a new #GHashTable @@ -7424,7 +7433,7 @@ Since version 2.42 it is permissible for destroy notify functions to recursively remove further items from the hash table. This is only permissible if the application still holds a reference to the hash table. This means that you may need to ensure that the hash table is empty by -calling g_hash_table_remove_all before releasing the last reference using +calling g_hash_table_remove_all() before releasing the last reference using g_hash_table_unref(). a new #GHashTable @@ -7987,7 +7996,8 @@ g_hmac_get_digest() have been called on a #GHmac, the HMAC will be closed and it won't be possible to call g_hmac_update() on it anymore. -Support for digests of type %G_CHECKSUM_SHA512 has been added in GLib 2.42. +Support for digests of type %G_CHECKSUM_SHA512 has been added in GLib 2.42. +Support for %G_CHECKSUM_SHA384 was added in GLib 2.52. the newly created #GHmac, or %NULL. Use g_hmac_unref() to free the memory allocated by it. @@ -8916,6 +8926,8 @@ The default encoding for #GIOChannel is UTF-8. If your application is reading output from a command using via pipe, you may need to set the encoding to the encoding of the current locale (see g_get_charset()) with the g_io_channel_set_encoding() function. +By default, the fd passed will not be closed when the final reference +to the #GIOChannel data structure is dropped. If you want to read raw binary data without interpretation, then call the g_io_channel_set_encoding() function with %NULL for the @@ -9021,8 +9033,7 @@ will be closed when @channel receives its final unref and is destroyed. The default value of this is %TRUE for channels created by g_io_channel_new_file (), and %FALSE for all other channels. - Whether the channel will be closed on the final unref of - the GIOChannel data structure. + %TRUE if the channel will be closed, %FALSE otherwise. @@ -9432,8 +9443,12 @@ The default state of the channel is buffered. - Setting this flag to %TRUE for a channel you have already closed -can cause problems. + Whether to close the channel on the final unref of the #GIOChannel +data structure. The default value of this is %TRUE for channels +created by g_io_channel_new_file (), and %FALSE for all other channels. + +Setting this flag to %TRUE for a channel you have already closed +can cause problems when the final reference to the #GIOChannel is dropped. @@ -9444,9 +9459,7 @@ can cause problems. Whether to close the channel on the final unref of - the GIOChannel data structure. The default value of - this is %TRUE for channels created by g_io_channel_new_file (), - and %FALSE for all other channels. + the GIOChannel data structure. @@ -10012,6 +10025,11 @@ in a generic way. Resource temporarily unavailable. + + + the value associated with the key as an integer, or @@ -10555,7 +10574,8 @@ integers. If @key cannot be found then %NULL is returned and @error is set to #G_KEY_FILE_ERROR_KEY_NOT_FOUND. Likewise, if the values associated -with @key cannot be interpreted as integers then %NULL is returned +with @key cannot be interpreted as integers, or are out of range for +#gint, then %NULL is returned and @error is set to #G_KEY_FILE_ERROR_INVALID_VALUE. @@ -11015,9 +11035,13 @@ set to either a #GFileError or #GKeyFileError. throws="1"> This function looks for a key file named @file in the paths specified in @search_dirs, loads the file into @key_file and -returns the file's full path in @full_path. If the file could not -be loaded then an %error is set to either a #GFileError or -#GKeyFileError. +returns the file's full path in @full_path. + +If the file could not be found in any of the @search_dirs, +%G_KEY_FILE_ERROR_NOT_FOUND is returned. If +the file is found but the OS returns an error when opening or reading the +file, a %G_FILE_ERROR is returned. If there is a problem parsing the file, a +%G_KEY_FILE_ERROR is returned. %TRUE if a key file could be loaded, %FALSE otherwise @@ -11058,8 +11082,13 @@ be loaded then an %error is set to either a #GFileError or version="2.6" throws="1"> Loads a key file into an empty #GKeyFile structure. -If the file could not be loaded then @error is set to -either a #GFileError or #GKeyFileError. + +If the OS returns an error when opening or reading the file, a +%G_FILE_ERROR is returned. If there is a problem parsing the file, a +%G_KEY_FILE_ERROR is returned. + +This function will never return a %G_KEY_FILE_ERROR_NOT_FOUND error. If the +@file is not found, %G_FILE_ERROR_NOENT is returned. %TRUE if a key file could be loaded, %FALSE otherwise @@ -11782,8 +11811,7 @@ See #G_BYTE_ORDER. Defines the log domain. -For applications, this is typically left as the default %NULL -(or "") domain. Libraries should define this so that any messages +Libraries should define this so that any messages which they log can be differentiated from messages from other libraries and application code. But be careful not to define it in any public header files. @@ -11791,7 +11819,11 @@ it in any public header files. For example, GTK+ uses this in its Makefile.am: |[ AM_CPPFLAGS = -DG_LOG_DOMAIN=\"Gtk\" -]| +]| + +Applications can choose to leave it as the default %NULL (or "") +domain. However, defining the domain offers the same advantages as +above. @@ -12816,7 +12848,14 @@ can write arbitrary binary output, as field values may be arbitrary binary. @log_level is guaranteed to be included in @fields as the `PRIORITY` field, but is provided separately for convenience of deciding whether or where to -output the log entry. +output the log entry. + +Writer functions should return %G_LOG_WRITER_HANDLED if they handled the log +message successfully or if they deliberately ignored it. If there was an +error handling the message (for example, if the writer function is meant to +send messages to a remote logging server and there is a network error), it +should return %G_LOG_WRITER_UNHANDLED. This allows writer functions to be +chained and fall back to simpler handlers in case of failure. %G_LOG_WRITER_HANDLED if the log entry was handled successfully; %G_LOG_WRITER_UNHANDLED otherwise @@ -12914,7 +12953,7 @@ linked against at application run time. The maximum value which can be held in a #guint8. - + The micro version number of the GLib library. Like #gtk_micro_version, but from the headers used at @@ -12941,7 +12980,7 @@ linked against at application run time. The minimum value which can be held in a #gint8. - + The minor version number of the GLib library. Like #gtk_minor_version, but from the headers used at @@ -13024,7 +13063,7 @@ You must have successfully acquired the context with g_main_context_acquire() before you may call this function. %TRUE if some sources are ready to be dispatched. - + @@ -15914,6 +15953,22 @@ should generally be normalized before comparing them. another name for %G_NORMALIZE_ALL_COMPOSE + + Error codes returned by functions converting a string to a number. + + String was not a valid number. + + + String was a number, but out of bounds. + + + transfer-ownership="full"> a pointer to the number of command line arguments + transfer-ownership="full"> a pointer to the array of command line arguments @@ -17400,6 +17451,99 @@ in size automatically if necessary. + + Checks whether @needle exists in @haystack. If the element is found, %TRUE is +returned and the element’s index is returned in @index_ (if non-%NULL). +Otherwise, %FALSE is returned and @index_ is undefined. If @needle exists +multiple times in @haystack, the index of the first instance is returned. + +This does pointer comparisons only. If you want to use more complex equality +checks, such as string comparisons, use g_ptr_array_find_with_equal_func(). + + %TRUE if @needle is one of the elements of @haystack + + + + + pointer array to be searched + + + + + + pointer to look for + + + + return location for the index of + the element, if found + + + + + + Checks whether @needle exists in @haystack, using the given @equal_func. +If the element is found, %TRUE is returned and the element’s index is +returned in @index_ (if non-%NULL). Otherwise, %FALSE is returned and @index_ +is undefined. If @needle exists multiple times in @haystack, the index of +the first instance is returned. + +@equal_func is called with the element from the array as its first parameter, +and @needle as its second parameter. If @equal_func is %NULL, pointer +equality is used. + + %TRUE if @needle is one of the elements of @haystack + + + + + pointer array to be searched + + + + + + pointer to look for + + + + the function to call for each element, which should + return %TRUE when the desired element is found; or %NULL to use pointer + equality + + + + return location for the index of + the element, if found + + + + +function has been set for @array. + +This function is not thread-safe. If using a #GPtrArray from multiple +threads, use only the atomic g_ptr_array_ref() and g_ptr_array_unref() +functions. the pointer array if @free_seg is %FALSE, otherwise %NULL. The pointer array should be freed using g_free(). @@ -17856,7 +18004,7 @@ This is guaranteed to be a stable sort since version 2.32. Atomically decrements the reference count of @array by one. If the reference count drops to 0, the effect is the same as calling g_ptr_array_free() with @free_segment set to %TRUE. This function -is MT-safe and may be called from any thread. +is thread-safe and may be called from any thread. @@ -22471,12 +22619,9 @@ g_io_channel_seek_position() operation. The #GSequence struct is an opaque data type representing a [sequence][glib-Sequences] data type. - + Adds a new item to the end of @seq. - + an iterator pointing to the new item @@ -22537,10 +22682,9 @@ in @seq. + version="2.14"> Returns the begin iterator for @seq. - + the begin iterator for @seq. @@ -22553,10 +22697,9 @@ in @seq. + version="2.14"> Returns the end iterator for @seg - + the end iterator for @seq @@ -22569,11 +22712,10 @@ in @seq. + version="2.14"> Returns the iterator at position @pos. If @pos is negative or larger than the number of items in @seq, the end iterator is returned. - + The #GSequenceIter at position @pos @@ -22617,7 +22759,7 @@ otherwise the new position of @data is undefined. It should return 0 if the items are equal, a negative value if the first item comes before the second, and a positive value if the second item comes before the first. - + a #GSequenceIter pointing to the new item. @@ -22663,7 +22805,7 @@ It is called with two iterators pointing into @seq. It should return 0 if the iterators are equal, a negative value if the first iterator comes before the second, and a positive value if the second iterator comes before the first. - + a #GSequenceIter pointing to the new item @@ -22732,7 +22874,7 @@ unsorted. Use g_sequence_insert_sorted() or g_sequence_insert_sorted_iter() to add data to your sequence or, if you want to add a large amount of data, call g_sequence_sort() after doing unsorted insertions. - + an #GSequenceIter pointing to the position of the first item found equal to @data according to @cmp_func and @cmp_data, or %NULL if no such item exists @@ -22780,7 +22922,7 @@ unsorted. Use g_sequence_insert_sorted() or g_sequence_insert_sorted_iter() to add data to your sequence or, if you want to add a large amount of data, call g_sequence_sort() after doing unsorted insertions. - + an #GSequenceIter pointing to the position of the first item found equal to @data according to @cmp_func and @cmp_data, or %NULL if no such item exists @@ -22812,12 +22954,9 @@ doing unsorted insertions. - + Adds a new item to the front of @seq - + an iterator pointing to the new item @@ -22855,7 +22994,7 @@ unsorted. Use g_sequence_insert_sorted() or g_sequence_insert_sorted_iter() to add data to your sequence or, if you want to add a large amount of data, call g_sequence_sort() after doing unsorted insertions. - + an #GSequenceIter pointing to the position where @data would have been inserted according to @cmp_func and @cmp_data @@ -22905,7 +23044,7 @@ unsorted. Use g_sequence_insert_sorted() or g_sequence_insert_sorted_iter() to add data to your sequence or, if you want to add a large amount of data, call g_sequence_sort() after doing unsorted insertions. - + a #GSequenceIter pointing to the position in @seq where @data would have been inserted according to @iter_cmp and @cmp_data @@ -23047,10 +23186,9 @@ iterator comes before the first. + version="2.14"> Inserts a new item just before the item pointed to by @iter. - + an iterator pointing to the new item @@ -23124,7 +23262,7 @@ the (@begin, @end) range, the range does not move. Creates a new GSequence. The @data_destroy function, if non-%NULL will be called on all items when the sequence is destroyed and on items that are removed from the sequence. - + a new #GSequence @@ -23141,15 +23279,14 @@ are removed from the sequence. + version="2.14"> Finds an iterator somewhere in the range (@begin, @end). This iterator will be close to the middle of the range, but is not guaranteed to be exactly in the middle. The @begin and @end iterators must both point to the same sequence and @begin must come before or be equal to @end in the sequence. - + a #GSequenceIter pointing somewhere in the (@begin, @end) range @@ -23352,10 +23489,9 @@ The @a and @b iterators must point into the same sequence. + version="2.14"> Returns the #GSequence that @iter points into. - + the #GSequence that @iter points into @@ -23396,15 +23532,12 @@ The @a and @b iterators must point into the same sequence. - + Returns the #GSequenceIter which is @delta positions away from @iter. If @iter is closer than -@delta positions to the beginning of the sequence, the begin iterator is returned. If @iter is closer than @delta positions to the end of the sequence, the end iterator is returned. - + a #GSequenceIter which is @delta positions away from @iter @@ -23420,13 +23553,10 @@ to the end of the sequence, the end iterator is returned. - + Returns an iterator pointing to the next position after @iter. If @iter is the end iterator, the end iterator is returned. - + a #GSequenceIter pointing to the next position after @iter @@ -23437,13 +23567,10 @@ If @iter is the end iterator, the end iterator is returned. - + Returns an iterator pointing to the previous position before @iter. If @iter is the begin iterator, the begin iterator is returned. - + a #GSequenceIter pointing to the previous position before @iter @@ -23932,7 +24059,13 @@ idle_callback (gpointer data) return FALSE; } -]| +]| + +Calls to this function from a thread other than the one acquired by the +#GMainContext the #GSource is attached to are typically redundant, as the +source could be destroyed immediately after this function returns. However, +once a source is destroyed it cannot be un-destroyed, so this function can be +used for opportunistic checks from any thread. %TRUE if the source has been destroyed @@ -24274,6 +24407,9 @@ other suggests that it would be delivered first, and the ready time for both sources is reached during the same main context iteration then the order of dispatch is undefined. +It is a no-op to call this function on a #GSource which has already been +destroyed with g_source_destroy(). + This API is only intended to be used by implementations of #GSource. Do not call this API on a #GSource that you did not create. @@ -25679,7 +25815,7 @@ These two options correspond rather directly to the 'dist' and 'built' terminology that automake uses and are explicitly used to distinguish between the 'srcdir' and 'builddir' being separate. All files in your project should either be dist (in the -`DIST_EXTRA` or `dist_schema_DATA` +`EXTRA_DIST` or `dist_schema_DATA` sense, in which case they will always be in the srcdir) or built (in the `BUILT_SOURCES` sense, in which case they will always be in the builddir). @@ -26659,9 +26795,16 @@ the W3C Note Both of these documents are profiles of ISO 8601. Use g_date_time_format() or g_strdup_printf() if a different -variation of ISO 8601 format is required. - - a newly allocated string containing an ISO 8601 date +variation of ISO 8601 format is required. + +If @time_ represents a date which is too large to fit into a `struct tm`, +%NULL will be returned. This is platform dependent, but it is safe to assume +years up to 3000 are supported. The return value of g_time_val_to_iso8601() +has been nullable since GLib 2.54; before then, GLib would crash under the +same conditions. + + a newly allocated string containing an ISO 8601 date, + or %NULL if @time_ was too large @@ -27917,7 +28060,7 @@ This macro is provided for code readability. Since new unicode versions may add new types here, applications should be ready to handle unknown values. They may be regarded as %G_UNICODE_BREAK_UNKNOWN. -See <ulink url="http://www.unicode.org/unicode/reports/tr14/">http://www.unicode.org/unicode/reports/tr14/</ulink>. +See [Unicode Line Breaking Algorithm](http://www.unicode.org/unicode/reports/tr14/). @@ -28124,9 +28267,7 @@ and is interchangeable with #PangoScript. Note that new types may be added in the future. Applications should be ready to handle unknown values. -See <ulink -url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex -#24: Script names</ulink>. +See [Unicode Standard Annex #24: Script names](http://www.unicode.org/reports/tr24/). @@ -28721,13 +28862,31 @@ url="http://www.unicode.org/reports/tr24/">Unicode Standard Annex Osage. Since: 2.50 - Tangut. Since: 2.50 + Tangut. Since: 2.50 +@G_UNICODE_SCRIPT_MASARAM_GONDI, Masaram Gondi. Since: 2.54 +@G_UNICODE_SCRIPT_NUSHU, Nushu. Since: 2.54 +@G_UNICODE_SCRIPT_SOYOMBO, Soyombo. Since: 2.54 +@G_UNICODE_SCRIPT_ZANABAZAR_SQUARE Zanabazar Square. Since: 2.54 + + + + + + + + These are the possible character classifications from the Unicode specification. -See <ulink url="http://www.unicode.org/reports/tr44/#General_Category_Values">Unicode Character Database</unlink>. +See [Unicode Character Database](http://www.unicode.org/reports/tr44/#General_Category_Values). General category "Other, Control" (Cc) @@ -28996,10 +29155,10 @@ For instance, if you want to create a #GVariant holding an integer value you can use: |[<!-- language="C" --> - GVariant *v = g_variant_new ('u', 40); + GVariant *v = g_variant_new ("u", 40); ]| -The string 'u' in the first argument tells #GVariant that the data passed to +The string "u" in the first argument tells #GVariant that the data passed to the constructor (40) is going to be an unsigned integer. More advanced examples of #GVariant in use can be found in documentation for @@ -29211,7 +29370,7 @@ child. To put the entire example together, for our dictionary mapping strings to variants (with two entries, as given above), we are -using 91 bytes of memory for type information, 29 byes of memory +using 91 bytes of memory for type information, 29 bytes of memory for the serialised data, 16 bytes for buffer management and 24 bytes for the #GVariant instance, or a total of 160 bytes, plus malloc overhead. If we were to use g_variant_get_child_value() to @@ -29431,10 +29590,10 @@ the new instance takes ownership of them as if via g_variant_ref_sink(). - Provides access to the serialised data for an array of fixed-sized -items. + Constructs a new array #GVariant instance, where the elements are +of @element_type type. -@value must be an array with fixed-sized elements. Numeric types are +@elements must be an array with fixed-sized elements. Numeric types are fixed-size as are tuples containing only other fixed-sized types. @element_size must be the size of a single element in the array. @@ -29443,8 +29602,7 @@ you might say sizeof(gint32). This value isn't used except for the purpose of a double-check that the form of the serialised data matches the caller's expectation. -@n_elements, which must be non-%NULL is set equal to the number of -items in the array. +@n_elements must be the length of the @elements array. a floating reference to a new array #GVariant instance @@ -29999,7 +30157,7 @@ pointing to the argument following the last. Note that the arguments in @app must be of the correct width for their types specified in @format_string when collected into the #va_list. -See the [GVariant varargs documentation][gvariant-varargs. +See the [GVariant varargs documentation][gvariant-varargs]. These two generalisations allow mixing of multiple calls to g_variant_new_va() and g_variant_get_va() within a single actual @@ -30651,11 +30809,11 @@ the appropriate type: - %G_VARIANT_TYPE_DOUBLE: #gdouble For example, if calling this function for an array of 32-bit integers, -you might say sizeof(gint32). This value isn't used except for the purpose +you might say `sizeof(gint32)`. This value isn't used except for the purpose of a double-check that the form of the serialised data matches the caller's expectation. -@n_elements, which must be non-%NULL is set equal to the number of +@n_elements, which must be non-%NULL, is set equal to the number of items in the array. a pointer to @@ -31872,7 +32030,7 @@ It typically only makes sense to do this on a stack-allocated #GVariantBuilder if you want to abort building the value part-way through. This function need not be called if you call g_variant_builder_end() and it also doesn't need to be called on -builders allocated with g_variant_builder_new (see +builders allocated with g_variant_builder_new() (see g_variant_builder_unref() for that). This function leaves the #GVariantBuilder structure set to all-zeros. @@ -31986,11 +32144,41 @@ this function. Opens a subcontainer inside the given @builder. When done adding -items to the subcontainer, g_variant_builder_close() must be called. +items to the subcontainer, g_variant_builder_close() must be called. @type +is the type of the container: so to build a tuple of several values, @type +must include the tuple itself. It is an error to call this function in any way that would cause an inconsistent value to be constructed (ie: adding too many values or -a value of an incorrect type). +a value of an incorrect type). + +Example of building a nested variant: +|[<!-- language="C" --> +GVariantBuilder builder; +guint32 some_number = get_number (); +g_autoptr (GHashTable) some_dict = get_dict (); +GHashTableIter iter; +const gchar *key; +const GVariant *value; +g_autoptr (GVariant) output = NULL; + +g_variant_builder_init (&builder, G_VARIANT_TYPE ("(ua{sv})")); +g_variant_builder_add (&builder, "u", some_number); +g_variant_builder_open (&builder, G_VARIANT_TYPE ("a{sv}")); + +g_hash_table_iter_init (&iter, some_dict); +while (g_hash_table_iter_next (&iter, (gpointer *) &key, (gpointer *) &value)) + { + g_variant_builder_open (&builder, G_VARIANT_TYPE ("{sv}")); + g_variant_builder_add (&builder, "s", key); + g_variant_builder_add (&builder, "v", value); + g_variant_builder_close (&builder); + } + +g_variant_builder_close (&builder); + +output = g_variant_builder_end (&builder); +]| @@ -32000,7 +32188,7 @@ a value of an incorrect type). - a #GVariantType + the #GVariantType of the container @@ -33013,7 +33201,7 @@ The meaning of each of the characters is as follows: - `s`: the type string of %G_VARIANT_TYPE_STRING; a string. - `o`: the type string of %G_VARIANT_TYPE_OBJECT_PATH; a string in the form of a D-Bus object path. -- `g`: the type string of %G_VARIANT_TYPE_STRING; a string in the form of +- `g`: the type string of %G_VARIANT_TYPE_SIGNATURE; a string in the form of a D-Bus type signature. - `?`: the type string of %G_VARIANT_TYPE_BASIC; an indefinite type that is a supertype of any of the basic types. @@ -33865,6 +34053,120 @@ Both @s1 and @s2 must be non-%NULL. + + A convenience function for converting a string to a signed number. + +This function assumes that @str contains only a number of the given +@base that is within inclusive bounds limited by @min and @max. If +this is true, then the converted number is stored in @out_num. An +empty string is not a valid input. A string with leading or +trailing whitespace is also an invalid input. + +@base can be between 2 and 36 inclusive. Hexadecimal numbers must +not be prefixed with "0x" or "0X". Such a problem does not exist +for octal numbers, since they were usually prefixed with a zero +which does not change the value of the parsed number. + +Parsing failures result in an error with the %G_NUMBER_PARSER_ERROR +domain. If the input is invalid, the error code will be +%G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of +bounds - %G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS. + +See g_ascii_strtoll() if you have more complex needs such as +parsing a string which starts with a number, but then has other +characters. + + %TRUE if @str was a number, otherwise %FALSE. + + + + + a string + + + + base of a parsed number + + + + a lower bound (inclusive) + + + + an upper bound (inclusive) + + + + a return location for a number + + + + + + A convenience function for converting a string to an unsigned number. + +This function assumes that @str contains only a number of the given +@base that is within inclusive bounds limited by @min and @max. If +this is true, then the converted number is stored in @out_num. An +empty string is not a valid input. A string with leading or +trailing whitespace is also an invalid input. + +@base can be between 2 and 36 inclusive. Hexadecimal numbers must +not be prefixed with "0x" or "0X". Such a problem does not exist +for octal numbers, since they were usually prefixed with a zero +which does not change the value of the parsed number. + +Parsing failures result in an error with the %G_NUMBER_PARSER_ERROR +domain. If the input is invalid, the error code will be +%G_NUMBER_PARSER_ERROR_INVALID. If the parsed number is out of +bounds - %G_NUMBER_PARSER_ERROR_OUT_OF_BOUNDS. + +See g_ascii_strtoull() if you have more complex needs such as +parsing a string which starts with a number, but then has other +characters. + + %TRUE if @str was a number, otherwise %FALSE. + + + + + a string + + + + base of a parsed number + + + + a lower bound (inclusive) + + + + an upper bound (inclusive) + + + + a return location for a number + + + + Compare @s1 and @s2, ignoring the case of ASCII characters and any characters after the first @n in each string. @@ -34884,7 +35186,9 @@ representation. The output buffer must be large enough to fit all the data that will be written to it. It will need up to 4 bytes, or up to 5 bytes if -line-breaking is enabled. +line-breaking is enabled. + +The @out array will not be automatically nul-terminated. The number of bytes of output that was written @@ -37230,8 +37534,7 @@ codes are those in the #GFileError enumeration. In the error case, direction="out" caller-allocates="0" transfer-ownership="full" - optional="1" - allow-none="1"> + nullable="1"> location to store length in bytes of the contents, or %NULL @@ -37493,8 +37796,7 @@ encoding used for filenames. nullable="1" optional="1" allow-none="1"> - Location to store hostname for the - URI. + Location to store hostname for the URI. If there is no hostname in the URI, %NULL will be stored in this location. @@ -38052,9 +38354,11 @@ similar cases. Gets the name of the program. This name should not be localized, in contrast to g_get_application_name(). -If you are using GDK or GTK+ the program name is set in gdk_init(), -which is called by gtk_init(). The program name is found by taking -the last component of @argv[0]. +If you are using #GApplication the program name is set in +g_application_run(). In case of GDK or GTK+ it is set in +gdk_init(), which is called by gtk_init() and the +#GtkApplication::startup handler. The program name is found by +taking the last component of @argv[0]. the name of the program. The returned string belongs to GLib and must not be modified or freed. @@ -38100,12 +38404,15 @@ in the [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec). In this case the list of directories retrieved will be `XDG_CONFIG_DIRS`. -On Windows is the directory that contains application data for all users. -A typical path is C:\Documents and Settings\All Users\Application Data. -This folder is used for application data that is not user specific. -For example, an application can store a spell-check dictionary, a database -of clip art, or a log file in the CSIDL_COMMON_APPDATA folder. -This information will not roam and is available to anyone using the computer. +On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_DIRS` is defined. +If `XDG_CONFIG_DIRS` is undefined, the directory that contains application +data for all users is used instead. A typical path is +`C:\Documents and Settings\All Users\Application Data`. +This folder is used for application data +that is not user specific. For example, an application can store +a spell-check dictionary, a database of clip art, or a log file in the +CSIDL_COMMON_APPDATA folder. This information will not roam and is available +to anyone using the computer. a %NULL-terminated array of strings owned by GLib that must not be @@ -38124,9 +38431,11 @@ system-wide application data. On UNIX platforms this is determined using the mechanisms described in the [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec) -In this case the list of directories retrieved will be XDG_DATA_DIRS. +In this case the list of directories retrieved will be `XDG_DATA_DIRS`. -On Windows the first elements in the list are the Application Data +On Windows it follows XDG Base Directory Specification if `XDG_DATA_DIRS` is defined. +If `XDG_DATA_DIRS` is undefined, +the first elements in the list are the Application Data and Documents folders for All Users. (These can be determined only on Windows 2000 or later and are not present in the list on other Windows versions.) See documentation for CSIDL_COMMON_APPDATA and @@ -38185,12 +38494,13 @@ data specific to particular user. On UNIX platforms this is determined using the mechanisms described in the [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec). -In this case the directory retrieved will be XDG_CACHE_HOME. +In this case the directory retrieved will be `XDG_CACHE_HOME`. -On Windows is the directory that serves as a common repository for -temporary Internet files. A typical path is -C:\Documents and Settings\username\Local Settings\Temporary Internet Files. -See documentation for CSIDL_INTERNET_CACHE. +On Windows it follows XDG Base Directory Specification if `XDG_CACHE_HOME` is defined. +If `XDG_CACHE_HOME` is undefined, the directory that serves as a common +repository for temporary Internet files is used instead. A typical path is +`C:\Documents and Settings\username\Local Settings\Temporary Internet Files`. +See the [documentation for `CSIDL_INTERNET_CACHE`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_internet_cache). a string owned by GLib that must not be modified or freed. @@ -38208,10 +38518,12 @@ in the [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec). In this case the directory retrieved will be `XDG_CONFIG_HOME`. -On Windows this is the folder to use for local (as opposed to -roaming) application data. See documentation for -CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as -what g_get_user_data_dir() returns. +On Windows it follows XDG Base Directory Specification if `XDG_CONFIG_HOME` is defined. +If `XDG_CONFIG_HOME` is undefined, the folder to use for local (as opposed +to roaming) application data is used instead. See the +[documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata). +Note that in this case on Windows it will be the same +as what g_get_user_data_dir() returns. a string owned by GLib that must not be modified or freed. @@ -38229,10 +38541,12 @@ in the [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec). In this case the directory retrieved will be `XDG_DATA_HOME`. -On Windows this is the folder to use for local (as opposed to -roaming) application data. See documentation for -CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as -what g_get_user_config_dir() returns. +On Windows it follows XDG Base Directory Specification if `XDG_DATA_HOME` +is defined. If `XDG_DATA_HOME` is undefined, the folder to use for local (as +opposed to roaming) application data is used instead. See the +[documentation for `CSIDL_LOCAL_APPDATA`](https://msdn.microsoft.com/en-us/library/windows/desktop/bb762494%28v=vs.85%29.aspx#csidl_local_appdata). +Note that in this case on Windows it will be the same +as what g_get_user_config_dir() returns. a string owned by GLib that must not be modified or freed. @@ -38255,18 +38569,13 @@ consistent on a machine. On Windows, it is always UTF-8. Returns a directory that is unique to the current user on the local system. -On UNIX platforms this is determined using the mechanisms described +This is determined using the mechanisms described in the [XDG Base Directory Specification](http://www.freedesktop.org/Standards/basedir-spec). This is the directory specified in the `XDG_RUNTIME_DIR` environment variable. In the case that this variable is not set, we return the value of -g_get_user_cache_dir(), after verifying that it exists. - -On Windows this is the folder to use for local (as opposed to -roaming) application data. See documentation for -CSIDL_LOCAL_APPDATA. Note that on Windows it thus is the same as -what g_get_user_config_dir() returns. +g_get_user_cache_dir(), after verifying that it exists. a string owned by GLib that must not be modified or freed. @@ -39808,7 +40117,10 @@ There can only be one writer function. It is an error to set more than one.Log a message with structured data. The message will be passed through to the log writer set by the application using g_log_set_writer_func(). If the message is fatal (i.e. its log level is %G_LOG_LEVEL_ERROR), the program will -be aborted at the end of this function. +be aborted at the end of this function. If the log writer returns +%G_LOG_WRITER_UNHANDLED (failure), no other fallback writers will be tried. +See the documentation for #GLogWriterFunc for information on chaining +writers. The structured data is provided as key–value pairs, where keys are UTF-8 strings, and values are arbitrary pointers — typically pointing to UTF-8 @@ -39873,8 +40185,8 @@ g_log_structured_array (G_LOG_LEVEL_DEBUG, fields, G_N_ELEMENTS (fields)); ]| Note also that, even if no other structured fields are specified, there -must always be a "MESSAGE" key before the format string. The "MESSAGE"-format -pair has to be the last of the key-value pairs, and "MESSAGE" is the only +must always be a `MESSAGE` key before the format string. The `MESSAGE`-format +pair has to be the last of the key-value pairs, and `MESSAGE` is the only field for which printf()-style formatting is supported. The default writer function for `stdout` and `stderr` will automatically @@ -40067,7 +40379,13 @@ UTF-8. version="2.50"> Check whether the given @output_fd file descriptor is a connection to the systemd journal, or something else (like a log file or `stdout` or -`stderr`). +`stderr`). + +Invalid file descriptors are accepted and return %FALSE, which allows for +the following construct without needing any additional error handling: +|[<!-- language="C" --> + is_journald = g_log_writer_is_journald (fileno (stderr)); +]| %TRUE if @output_fd points to the journal, %FALSE otherwise @@ -40709,18 +41027,25 @@ created. Returns -1 if an error occurred, with errno set. - + Creates a temporary directory. See the mkdtemp() documentation on most UNIX-like systems. The parameter is a string that should follow the rules for mkdtemp() templates, i.e. contain the string "XXXXXX". g_mkdtemp() is slightly more flexible than mkdtemp() in that the -sequence does not have to occur at the very end of the template -and you can pass a @mode and additional @flags. The X string will -be modified to form the name of a directory that didn't exist. +sequence does not have to occur at the very end of the template. +The X string will be modified to form the name of a directory that +didn't exist. The string should be in the GLib file name encoding. Most importantly, -on Windows it should be in UTF-8. +on Windows it should be in UTF-8. + +If you are going to be creating a temporary directory inside the +directory returned by g_get_tmp_dir(), you might want to use +g_dir_make_tmp() instead. A pointer to @tmpl, which has been modified to hold the directory name. In case of errors, %NULL is @@ -40734,18 +41059,25 @@ on Windows it should be in UTF-8. - + Creates a temporary directory. See the mkdtemp() documentation on most UNIX-like systems. The parameter is a string that should follow the rules for mkdtemp() templates, i.e. contain the string "XXXXXX". -g_mkdtemp() is slightly more flexible than mkdtemp() in that the +g_mkdtemp_full() is slightly more flexible than mkdtemp() in that the sequence does not have to occur at the very end of the template and you can pass a @mode. The X string will be modified to form the name of a directory that didn't exist. The string should be in the GLib file name encoding. Most importantly, on Windows it -should be in UTF-8. +should be in UTF-8. + +If you are going to be creating a temporary directory inside the +directory returned by g_get_tmp_dir(), you might want to use +g_dir_make_tmp() instead. A pointer to @tmpl, which has been modified to hold the directory name. In case of errors, %NULL is @@ -40763,7 +41095,7 @@ should be in UTF-8. - + Opens a temporary file. See the mkstemp() documentation on most UNIX-like systems. @@ -40789,7 +41121,10 @@ Most importantly, on Windows it should be in UTF-8. - + Opens a temporary file. See the mkstemp() documentation on most UNIX-like systems. @@ -40836,6 +41171,12 @@ on Windows it should be in UTF-8. + + + + + Prompts the user with `[E]xit, [H]alt, show [S]tack trace or [P]roceed`. @@ -41484,6 +41825,101 @@ g_prefix_error(). + + Checks whether @needle exists in @haystack. If the element is found, %TRUE is +returned and the element’s index is returned in @index_ (if non-%NULL). +Otherwise, %FALSE is returned and @index_ is undefined. If @needle exists +multiple times in @haystack, the index of the first instance is returned. + +This does pointer comparisons only. If you want to use more complex equality +checks, such as string comparisons, use g_ptr_array_find_with_equal_func(). + + %TRUE if @needle is one of the elements of @haystack + + + + + pointer array to be searched + + + + + + pointer to look for + + + + return location for the index of + the element, if found + + + + + + Checks whether @needle exists in @haystack, using the given @equal_func. +If the element is found, %TRUE is returned and the element’s index is +returned in @index_ (if non-%NULL). Otherwise, %FALSE is returned and @index_ +is undefined. If @needle exists multiple times in @haystack, the index of +the first instance is returned. + +@equal_func is called with the element from the array as its first parameter, +and @needle as its second parameter. If @equal_func is %NULL, pointer +equality is used. + + %TRUE if @needle is one of the elements of @haystack + + + + + pointer array to be searched + + + + + + pointer to look for + + + + the function to call for each element, which should + return %TRUE when the desired element is found; or %NULL to use pointer + equality + + + + return location for the index of + the element, if found + + + + @@ -41975,6 +42411,29 @@ on your system. + + Inserts a new item just before the item pointed to by @iter. + + an iterator pointing to the new item + + + + + a #GSequenceIter + + + + the data for the new item + + + + + + Finds an iterator somewhere in the range (@begin, @end). This +iterator will be close to the middle of the range, but is not +guaranteed to be exactly in the middle. + +The @begin and @end iterators must both point to the same sequence +and @begin must come before or be equal to @end in the sequence. + + a #GSequenceIter pointing somewhere in the + (@begin, @end) range + + + + + a #GSequenceIter + + + + a #GSequenceIter + + + + Sets the name of the program. This name should not be localized, in contrast to g_set_application_name(). +If you are using #GApplication the program name is set in +g_application_run(). In case of GDK or GTK+ it is set in +gdk_init(), which is called by gtk_init() and the +#GtkApplication::startup handler. The program name is found by +taking the last component of @argv[0]. + Note that for thread-safety reasons this function can only be called once. @@ -42751,10 +43242,10 @@ simply calls the g_spawn_async_with_pipes() without any pipes. You should call g_spawn_close_pid() on the returned child process reference when you don't need it any more. -If you are writing a GTK+ application, and the program you are -spawning is a graphical application, too, then you may want to -use gdk_spawn_on_screen() instead to ensure that the spawned program -opens its windows on the right screen. +If you are writing a GTK+ application, and the program you are spawning is a +graphical application too, then to ensure that the spawned program opens its +windows on the right screen, you may want to use #GdkAppLaunchContext, +#GAppLaunchcontext, or set the %DISPLAY environment variable. Note that the returned @child_pid on Windows is a handle to the child process and not its identifier. Process handles and process identifiers @@ -42878,10 +43369,11 @@ If @envp is %NULL, the child inherits its parent's environment. @flags should be the bitwise OR of any flags you want to affect the function's behaviour. The %G_SPAWN_DO_NOT_REAP_CHILD means that the -child will not automatically be reaped; you must use a child watch to -be notified about the death of the child process. Eventually you must -call g_spawn_close_pid() on the @child_pid, in order to free -resources which may be associated with the child process. (On Unix, +child will not automatically be reaped; you must use a child watch +(g_child_watch_add()) to be notified about the death of the child process, +otherwise it will stay around as a zombie process until this process exits. +Eventually you must call g_spawn_close_pid() on the @child_pid, in order to +free resources which may be associated with the child process. (On Unix, using a child watch is equivalent to calling waitpid() or handling the %SIGCHLD signal manually. On Windows, calling g_spawn_close_pid() is equivalent to calling CloseHandle() on the process handle returned @@ -42965,10 +43457,10 @@ and @standard_error will not be filled with valid values. If @child_pid is not %NULL and an error does not occur then the returned process reference must be closed using g_spawn_close_pid(). -If you are writing a GTK+ application, and the program you -are spawning is a graphical application, too, then you may -want to use gdk_spawn_on_screen_with_pipes() instead to ensure that -the spawned program opens its windows on the right screen. +If you are writing a GTK+ application, and the program you are spawning is a +graphical application too, then to ensure that the spawned program opens its +windows on the right screen, you may want to use #GdkAppLaunchContext, +#GAppLaunchcontext, or set the %DISPLAY environment variable. %TRUE on success, %FALSE if an error was set @@ -43913,7 +44405,17 @@ the lifetime of the process. Note that the string may be translated according to the current locale. -The value of %errno will not be changed by this function. +The value of %errno will not be changed by this function. However, it may +be changed by intermediate function calls, so you should save its value +as soon as the call returns: +|[ + int saved_errno; + + ret = read (blah); + saved_errno = errno; + + g_strerror (saved_errno); +]| a UTF-8 string describing the error code. If the error code is unknown, it returns a string like "unknown error (<code>)". @@ -45034,6 +45536,7 @@ So far, the following arguments are understood: - `--verbose`: Run tests verbosely. - `-q`, `--quiet`: Run tests quietly. - `-p PATH`: Execute all tests matching the given path. +- `-s PATH`: Skip all tests matching the given path. This can also be used to force a test to run that would otherwise be skipped (ie, a test whose name contains "/subprocess"). - `-m {perf|slow|thorough|quick|undefined|no-undefined}`: Execute tests according to these test modes: @@ -45203,7 +45706,7 @@ order for test result reports. version="2.16"> This function enqueus a callback @destroy_func to be executed during the next test case teardown phase. This is most useful -to auto destruct allocted test resources at the end of a test run. +to auto destruct allocated test resources at the end of a test run. Resources are released in reverse queue order, that means enqueueing callback A before callback B will cause B() to be called before A() during teardown. @@ -45314,8 +45817,9 @@ see g_test_rand_int() for details on test case random numbers. Runs all tests under the toplevel suite which can be retrieved with g_test_get_root(). Similar to g_test_run_suite(), the test cases to be run are filtered according to test path arguments -(`-p testpath`) as parsed by g_test_init(). g_test_run_suite() -or g_test_run() may only be called once in a program. +(`-p testpath` and `-s testpath`) as parsed by g_test_init(). +g_test_run_suite() or g_test_run() may only be called once in a +program. In general, the tests and sub-suites within each suite are run in the order in which they are defined. However, note that prior to @@ -45352,9 +45856,10 @@ producing TAP output, or 77 (treated as "skip test" by Automake) otherwise. Execute the tests within @suite and all nested #GTestSuites. The test suites to be executed are filtered according to -test path arguments (`-p testpath`) as parsed by g_test_init(). -See the g_test_run() documentation for more information on the -order that tests are run in. +test path arguments (`-p testpath` and `-s testpath`) as parsed by +g_test_init(). See the g_test_run() documentation for more +information on the order that tests are run in. + g_test_run_suite() or g_test_run() may only be called once in a program. @@ -47343,7 +47848,7 @@ using g_source_remove(). Create a #GSource that will be dispatched upon delivery of the UNIX signal @signum. In GLib versions before 2.36, only `SIGHUP`, `SIGINT`, `SIGTERM` can be monitored. In GLib 2.36, `SIGUSR1` and `SIGUSR2` -were added. +were added. In GLib 2.54, `SIGWINCH` was added. Note that unlike the UNIX default, all sources which have created a watch will be dispatched, regardless of which underlying thread @@ -47799,9 +48304,15 @@ Note that this function depends on the [current locale][setlocale]. @p does not have to be at the beginning of a UTF-8 character. No check is made to see if the character found is actually valid other than -it starts with an appropriate byte. - - a pointer to the found character or %NULL +it starts with an appropriate byte. + +If @end is %NULL, the return value will never be %NULL: if the end of the +string is reached, a pointer to the terminating nul byte is returned. If +@end is non-%NULL, the return value will be %NULL if the end of the string +is reached. + + a pointer to the found character or %NULL if @end is + set and is reached @@ -47865,7 +48376,11 @@ instead. Convert a sequence of bytes encoded as UTF-8 to a Unicode character. This function checks for incomplete characters, for invalid characters such as characters that are out of the range of Unicode, and for -overlong encodings of valid characters. +overlong encodings of valid characters. + +Note that g_utf8_get_char_validated() returns (gunichar)-2 if +@max_len is positive and any of the bytes in the first UTF-8 character +sequence are nul. the resulting character. If @p points to a partial sequence at the end of a string that could begin a valid @@ -47880,8 +48395,35 @@ overlong encodings of valid characters. - the maximum number of bytes to read, or -1, for no maximum or - if @p is nul-terminated + the maximum number of bytes to read, or -1 if @p is nul-terminated + + + + + + If the provided string is valid UTF-8, return a copy of it. If not, +return a copy in which bytes that could not be interpreted as valid Unicode +are replaced with the Unicode replacement character (U+FFFD). + +For example, this is an appropriate function to use if you have received +a string that was incorrectly declared to be UTF-8, and you need a valid +UTF-8 version of it that can be logged or displayed to the user, with the +assumption that it is close enough to ASCII or UTF-8 to be mostly +readable as-is. + + a valid UTF-8 string whose content resembles @str + + + + + string to coerce into UTF-8 + + + + the maximum length of @str to use, in bytes. If @len < 0, + then the string is nul-terminated. @@ -48366,6 +48908,37 @@ doing anything else with it. + + Parses the string @str and verify if it is a UUID. + +The function accepts the following syntax: + +- simple forms (e.g. `f81d4fae-7dec-11d0-a765-00a0c91e6bf6`) + +Note that hyphens are required within the UUID string itself, +as per the aforementioned RFC. + + %TRUE if @str is a valid UUID, %FALSE otherwise. + + + + + a string representing a UUID + + + + + + Generates a random UUID (RFC 4122 version 4) as a string. + + A string that should be freed with g_free(). + + + diff --git a/gir-files/GObject-2.0.gir b/gir-files/GObject-2.0.gir index 077151556..44e1d0a1f 100644 --- a/gir-files/GObject-2.0.gir +++ b/gir-files/GObject-2.0.gir @@ -507,42 +507,47 @@ accumulator, such as g_signal_accumulator_true_handled(). - A marshaller for a #GCClosure with a callback of type -`gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter -denotes a flags type. + A #GClosureMarshal function for use with signals with handlers that +take a flags type as an argument and return a boolean. If you have +such a signal, you will probably also need to use an accumulator, +such as g_signal_accumulator_true_handled(). - the #GClosure to which the marshaller belongs + A #GClosure. - a #GValue which can store the returned #gboolean + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding instance and arg1 + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -600,41 +605,46 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`. + A #GClosureMarshal function for use with signals with handlers that +take a #GObject and a pointer and produce a string. It is highly +unlikely that your signal handler fits this description. - the #GClosure to which the marshaller belongs + A #GClosure. - a #GValue, which can store the returned string + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 3 + The length of the @param_values array. - a #GValue array holding instance, arg1 and arg2 + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -692,41 +702,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +boolean argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gboolean parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -784,41 +798,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +argument which is any boxed pointer type. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GBoxed* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -876,41 +894,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +character argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gchar parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -968,41 +990,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with one +double-precision floating point argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gdouble parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1060,41 +1086,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type.. + A #GClosureMarshal function for use with signals with a single +argument with an enumerated type. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the enumeration parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1152,41 +1182,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type. + A #GClosureMarshal function for use with signals with a single +argument with a flags types. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the flags parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1244,41 +1278,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with one +single-precision floating point argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gfloat parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1336,41 +1374,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gint arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gint parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1428,41 +1470,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, glong arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with with a single +long integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #glong parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1520,41 +1566,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +#GObject argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GObject* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1612,41 +1662,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +argument of type #GParamSpec. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GParamSpec* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1704,41 +1758,49 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single raw +pointer argument type. + +If it is possible, it is better to use one of the more specific +functions such as g_cclosure_marshal_VOID__OBJECT() or +g_cclosure_marshal_VOID__OBJECT(). - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gpointer parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1796,41 +1858,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single string +argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gchar* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1888,41 +1954,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +unsigned character argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #guchar parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -1980,82 +2050,90 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, guint arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with with a single +unsigned integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #guint parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a unsigned int +and a pointer as arguments. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 3 + The length of the @param_values array. - a #GValue array holding instance, arg1 and arg2 + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -2164,41 +2242,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +unsigned long integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gulong parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -2255,43 +2337,46 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`. + c:identifier="g_cclosure_marshal_VOID__VARIANT"> + A #GClosureMarshal function for use with signals with a single +#GVariant argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GVariant* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -2349,41 +2434,44 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gpointer user_data)`. + A #GClosureMarshal function for use with signals with no arguments. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 1 + The length of the @param_values array. - a #GValue array holding only the instance + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -3814,7 +3902,7 @@ zeros before this function is called. to the #GObject implementation and should never be accessed directly. Creates a new instance of a #GObject subtype and sets its properties. @@ -3868,11 +3956,54 @@ which are not explicitly specified are set to their default values. - + + Creates a new instance of a #GObject subtype and sets its properties using +the provided arrays. Both arrays must have exactly @n_properties elements, +and the names and values correspond by index. + +Construction parameters (see %G_PARAM_CONSTRUCT, %G_PARAM_CONSTRUCT_ONLY) +which are not explicitly specified are set to their default values. + + a new instance of +@object_type + + + + + the object type to instantiate + + + + the number of properties + + + + the names of each property to be set + + + + + + the values of each property to be set + + + + + + + Creates a new instance of a #GObject subtype and sets its properties. Construction parameters (see #G_PARAM_CONSTRUCT, #G_PARAM_CONSTRUCT_ONLY) which are not explicitly specified are set to their default values. + Use g_object_new_with_properties() instead. +deprecated. See #GParameter for more information. a new instance of @object_type @@ -4739,6 +4870,37 @@ See g_object_get(). + + Gets @n_properties properties for an @object. +Obtained properties will be set to @values. All properties must be valid. +Warnings will be emitted and undefined behaviour may result if invalid +properties are passed in. + + + + + + a #GObject + + + + the number of properties + + + + the names of each property to get + + + + + + the values of each property to get + + + + + + @@ -5253,6 +5415,40 @@ with the same @quark. + + Sets @n_properties properties for an @object. +Properties to be set will be taken from @values. All properties must be +valid. Warnings will be emitted and undefined behaviour may result if invalid +properties are passed in. + + + + + + a #GObject + + + + the number of properties + + + + the names of each property to be set + + + + + + the values of each property to be set + + + + + + Remove a specified datum from the object's data associations, without invoking the association's destroy handler. @@ -7260,9 +7456,13 @@ g_param_type_register_static(). - + The GParameter struct is an auxiliary structure used to hand parameter name/value pairs to g_object_newv(). + This type is not introspectable. the parameter name @@ -10755,42 +10955,47 @@ accumulator, such as g_signal_accumulator_true_handled(). - A marshaller for a #GCClosure with a callback of type -`gboolean (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter -denotes a flags type. + A #GClosureMarshal function for use with signals with handlers that +take a flags type as an argument and return a boolean. If you have +such a signal, you will probably also need to use an accumulator, +such as g_signal_accumulator_true_handled(). - the #GClosure to which the marshaller belongs + A #GClosure. - a #GValue which can store the returned #gboolean + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding instance and arg1 + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -10798,41 +11003,46 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`gchar* (*callback) (gpointer instance, GObject *arg1, gpointer arg2, gpointer user_data)`. + A #GClosureMarshal function for use with signals with handlers that +take a #GObject and a pointer and produce a string. It is highly +unlikely that your signal handler fits this description. - the #GClosure to which the marshaller belongs + A #GClosure. - a #GValue, which can store the returned string + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 3 + The length of the @param_values array. - a #GValue array holding instance, arg1 and arg2 + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -10840,41 +11050,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gboolean arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +boolean argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gboolean parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -10882,41 +11096,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GBoxed *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +argument which is any boxed pointer type. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GBoxed* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -10924,41 +11142,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gchar arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +character argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gchar parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -10966,41 +11188,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gdouble arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with one +double-precision floating point argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gdouble parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11008,41 +11234,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes an enumeration type.. + A #GClosureMarshal function for use with signals with a single +argument with an enumerated type. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the enumeration parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11050,41 +11280,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gint arg1, gpointer user_data)` where the #gint parameter denotes a flags type. + A #GClosureMarshal function for use with signals with a single +argument with a flags types. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the flags parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11092,41 +11326,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gfloat arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with one +single-precision floating point argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gfloat parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11134,41 +11372,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gint arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gint parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11176,41 +11418,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, glong arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with with a single +long integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #glong parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11218,41 +11464,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GObject *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +#GObject argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GObject* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11260,41 +11510,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GParamSpec *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +argument of type #GParamSpec. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GParamSpec* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11302,41 +11556,49 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gpointer arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single raw +pointer argument type. + +If it is possible, it is better to use one of the more specific +functions such as g_cclosure_marshal_VOID__OBJECT() or +g_cclosure_marshal_VOID__OBJECT(). - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gpointer parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11344,41 +11606,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, const gchar *arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single string +argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gchar* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11386,41 +11652,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, guchar arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +unsigned character argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #guchar parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11428,41 +11698,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, guint arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with with a single +unsigned integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #guint parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11470,41 +11744,45 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, guint arg1, gpointer arg2, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a unsigned int +and a pointer as arguments. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 3 + The length of the @param_values array. - a #GValue array holding instance, arg1 and arg2 + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11512,84 +11790,91 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gulong arg1, gpointer user_data)`. + A #GClosureMarshal function for use with signals with a single +unsigned long integer argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #gulong parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, GVariant *arg1, gpointer user_data)`. + moved-to="CClosure.marshal_VOID__VARIANT"> + A #GClosureMarshal function for use with signals with a single +#GVariant argument. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 2 + The length of the @param_values array. - a #GValue array holding the instance and the #GVariant* parameter + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11597,41 +11882,44 @@ denotes a flags type. - A marshaller for a #GCClosure with a callback of type -`void (*callback) (gpointer instance, gpointer user_data)`. + A #GClosureMarshal function for use with signals with no arguments. - the #GClosure to which the marshaller belongs + A #GClosure. - ignored + A #GValue to store the return value. May be %NULL + if the callback of closure doesn't return a value. - 1 + The length of the @param_values array. - a #GValue array holding only the instance + An array of #GValues holding the arguments + on which to invoke the callback of closure. - the invocation hint given as the last argument - to g_closure_invoke() + The invocation hint given as the last argument to + g_closure_invoke(). - additional data specified when registering the marshaller + Additional data specified when registering the + marshaller, see g_closure_set_marshal() and + g_closure_set_meta_marshal() @@ -11952,6 +12240,28 @@ definition than to write one yourself using g_enum_register_static(). + + Pretty-prints @value in the form of the enum’s name. + +This is intended to be used for debugging purposes. The format of the output +may change in the future. + + a newly-allocated text string + + + + + the type identifier of a #GEnumClass type + + + + the value + + + + This function is meant to be called from the complete_type_info() @@ -12061,6 +12371,29 @@ definition than to write one yourself using g_flags_register_static(). + + Pretty-prints @value in the form of the flag names separated by ` | ` and +sorted. Any extra bits will be shown at the end as a hexadecimal number. + +This is intended to be used for debugging purposes. The format of the output +may change in the future. + + a newly-allocated text string + + + + + the type identifier of a #GFlagsClass type + + + + the value + + + + @@ -13229,7 +13562,7 @@ g_signal_override_class_handler(). c:identifier="g_signal_connect_closure"> Connects a closure to a signal for a particular object. - the handler id (always greater than 0 for successful connections) + the handler ID (always greater than 0 for successful connections) @@ -13256,7 +13589,7 @@ g_signal_override_class_handler(). c:identifier="g_signal_connect_closure_by_id"> Connects a closure to a signal for a particular object. - the handler id (always greater than 0 for successful connections) + the handler ID (always greater than 0 for successful connections) @@ -13292,7 +13625,7 @@ which will be called when the signal handler is disconnected and no longer used. Specify @connect_flags if you need `..._after()` or `..._swapped()` variants of this function. - the handler id (always greater than 0 for successful connections) + the handler ID (always greater than 0 for successful connections) @@ -13606,7 +13939,7 @@ If no handler was found, 0 is returned. - Returns whether @handler_id is the id of a handler connected to @instance. + Returns whether @handler_id is the ID of a handler connected to @instance. whether @handler_id identifies a handler connected to @instance. @@ -13617,7 +13950,7 @@ If no handler was found, 0 is returned. - the handler id. + the handler ID. diff --git a/gir-files/Gst-1.0.gir b/gir-files/Gst-1.0.gir index 57c1fe4b2..7a32293ca 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 @@ -30327,7 +30890,7 @@ application. the directory or %NULL, don't free or modify the string - + @@ -30341,7 +30904,7 @@ system presets. the application specific preset dir - + @@ -30916,6 +31479,246 @@ 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> +As with all Future/Promise-like functionality, there is the concept of the +producer of the value and the consumer of the value. + +A #GstPromise is created with gst_promise_new() by the consumer and passed +to the producer to avoid thread safety issues with the change callback. +A #GstPromise can be replied to with a value (or an error) by the producer +with gst_promise_reply(). gst_promise_interrupt() is for the consumer to +indicate to the producer that the value is not needed anymore and producing +that value can stop. The @GST_PROMISE_RESULT_EXPIRED state set by a call +to gst_promise_expire() indicates to the consumer that a value will never +be produced and is intended to be called by a third party that implements +some notion of message handling such as #GstBus. +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 once +into one of the other #GstPromiseResult's. + +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 and 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. + +The change function set with gst_promise_new_with_change_func() is +called directly from either the gst_promise_reply(), +gst_promise_interrupt() or gst_promise_expire() and can be called +from an arbitrary thread. #GstPromise using APIs can restrict this to +a single thread or a subset of threads but that is entirely up to the API +that uses #GstPromise. + + parent #GstMiniObject + + + + + 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. Called by a message loop when the parent +message is handled and/or destroyed (possibly unanswered). + + + + + + a #GstPromise + + + + + + Retrieve the reply set on @promise. @promise must be in +%GST_PROMISE_RESULT_REPLIED and the returned structure is owned by @promise + + The reply set on @promise + + + + + a #GstPromise + + + + + + Interrupt waiting for a @promise. This will wake up any waiters with +%GST_PROMISE_RESULT_INTERRUPTED. Called when the consumer does not want +the value produced anymore. + + + + + + a #GstPromise + + + + + + Set a reply on @promise. This will wake up any waiters with +%GST_PROMISE_RESULT_REPLIED. Called by the producer of the value to +indicate success (or failure). + +If @promise has already been interrupted by the consumer, then this reply +is not visible to the consumer. + + + + + + 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 +32094,7 @@ Free-function: gst_query_unref() when done with it. Free-function: gst_query_unref() - + a new #GstQuery @@ -31662,10 +32465,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 +32558,12 @@ valid. a GST_QUERY_ACCEPT_CAPS type query #GstQuery - + location for the result @@ -32332,10 +33140,7 @@ set to GST_FORMAT_UNDEFINED. a #GstQuery - + the nth format to retrieve. @@ -32989,7 +33794,7 @@ at @index of the allocator array. - the size + the buffer size @@ -33410,6 +34215,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 +34381,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 +34728,7 @@ path is specific to the registry. the path to scan - + @@ -34053,6 +34901,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 +35371,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 +35792,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 +36027,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 +36314,7 @@ instantiate a #GstCaps. Converts a #GstStaticPadTemplate into a #GstPadTemplate. - + a new #GstPadTemplate. @@ -35674,7 +36578,7 @@ time. The #GstTagList of the #GstStream. - + @@ -35802,7 +36706,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 +36742,7 @@ The caller should not modify the returned #GstStream transfer-ownership="none"> - + @@ -36148,7 +37052,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 +38075,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 +38213,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 +38362,7 @@ value is replaced and freed. Intersects @struct1 and @struct2 and returns the intersection. - + Intersection of @struct1 and @struct2 @@ -39273,17 +40178,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 +42331,7 @@ values, %FALSE otherwise. Gets the parent #GstTocEntry of @entry. - + The parent #GstTocEntry of @entry @@ -41838,7 +42753,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 +43788,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 +43816,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 +43837,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 +43874,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 +43928,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 +43952,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 +43978,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 +43999,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 +44018,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 +44073,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 +44091,7 @@ increased. nullable="1" allow-none="1"> The reference URI to join onto the - base URI. + base URI. @@ -43597,10 +44529,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 +44575,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 +44591,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. @@ -43782,11 +44717,11 @@ determine a order for the two provided values. The major version of GStreamer at compile time: - + The micro version of GStreamer at compile time: - + The minor version of GStreamer at compile time: @@ -44116,7 +45051,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 +45150,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,13 +45197,43 @@ 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 + + + + + To aid debugging applications one can use this method to obtain the whole +network of gstreamer elements that form the pipeline into an dot file. +This data can be processed with graphviz to get an image. + a string containing the pipeline in graphviz +dot format. + the top-level pipeline that should be analyzed @@ -44277,35 +45243,47 @@ Be sure to use #G_GNUC_NO_INSTRUMENT on that function, it is needed. + To aid debugging applications one can use this method to write out the whole +network of gstreamer elements that form the pipeline into an dot file. +This file can be processed with graphviz to get an image. +<informalexample><programlisting> + dot -Tpng -oimage.png graph_lowlevel.dot +</programlisting></informalexample> + the top-level pipeline that should be analyzed - + output base filename (e.g. "myplayer") + + This works like gst_debug_bin_to_dot_file(), but adds the current timestamp +to the filename, so that it can be used to take multiple snapshots. + the top-level pipeline that should be analyzed - + output base filename (e.g. "myplayer") + @@ -44377,9 +45355,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 +45586,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. @@ -44851,7 +45851,7 @@ On Windows #filename should be in UTF-8 encoding. absolute or relative file name path - + @@ -45000,6 +46000,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 +46051,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 +46194,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 +46352,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 +46425,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 +46483,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 +46523,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 +46627,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 +46672,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 +46693,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 +46724,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 +46744,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) @@ -45806,7 +46828,7 @@ application. the directory or %NULL, don't free or modify the string - + the application specific preset dir - + @@ -45950,6 +46972,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 +47013,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 +47076,22 @@ checked. + + + + + + + Get the global #GstMetaInfo describing the #GstReferenceTimestampMeta meta. + + The #GstMetaInfo + + + @@ -46065,6 +47126,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 +47167,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 +47226,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 +47253,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 +47571,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 +47626,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 +47644,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 +47835,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 +48085,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 +48132,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 +48711,7 @@ before getting rid of the @value. Gets the maximum of the range specified by @value. - + the maximum of the range @@ -47627,7 +48725,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..b84ba5911 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 + + + + + + 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..596a61bed 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 micro version of GStreamer's gst-plugins-base libraries at compile time. The minor version of GStreamer's gst-plugins-base libraries at compile time. @@ -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..255babec8 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,356 @@ 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. + +Note: The pipeline part passed here must end in sinks that are not waiting +until pre-rolling before reaching the PAUSED state, i.e. setting +async=false on #GstBaseSink. Otherwise the whole media will not be able to +prepare. + + + + + + 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 +6027,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 +7316,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 +7872,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 +7891,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 +8158,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 +8184,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 +8432,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 +8698,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 +9028,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 +9877,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 +9896,9 @@ Arguments are given similar to gst_structure_new(). - + Create a new empty Authorization token. a new empty authorization token. @@ -9347,6 +9978,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 +10108,11 @@ port pair in multicast. No response is sent when the check returns Check the URL and methods + + + @@ -9568,5 +10248,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..d50ff30a5 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, packed into 32bit words (2 bits padding) (Since: 1.14) + + + 10-bit variant of @GST_VIDEO_FORMAT_NV12, packed into 32bit words (MSB 2 bits padding) (Since: 1.14) + + + 10-bit variant of @GST_VIDEO_FORMAT_NV16, packed into 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 + + + +