The #GstDiscoverer structure. Creates a new #GstDiscoverer with the provided timeout. If an error occurred when creating the discoverer, @err will be set accordingly and %NULL will be returned. If @err is set, the caller must free it when no longer needed using g_error_free(). The new #GstDiscoverer. timeout per file, in nanoseconds. Allowed are values between one second (#GST_SECOND) and one hour (3600 * #GST_SECOND) Synchronously discovers the given @uri. A copy of @uri will be made internally, so the caller can safely g_free() afterwards. error occurred. the result of the scanning. Can be %NULL if an The URI to run on. Appends the given @uri to the list of URIs to discoverer. The actual discovery of the @uri will only take place if gst_discoverer_start() has been called. A copy of @uri will be made internally, so the caller can safely g_free() afterwards. uris, else %FALSE %TRUE if the @uri was succesfully appended to the list of pending the URI to add. Allow asynchronous discovering of URIs to take place. A #GMainLoop must be available for #GstDiscoverer to properly work in asynchronous mode. Stop the discovery of any pending URIs and clears the list of pending URIS (if any). Will be emitted when all information on a URI could be discovered. the results #GstDiscovererInfo #GError, which will be non-NULL if an error occurred during discovery Will be emitted when all pending URIs have been processed. Will be emitted when the discover starts analyzing the pending URIs #GstDiscovererStreamInfo specific to audio streams. the average or nominal bitrate of the stream in bits/second. the number of channels in the stream. the number of bits used per sample in each channel. the maximum bitrate of the stream in bits/second. the sample rate of the stream in Hertz. #GstDiscovererStreamInfo specific to container streams. #GstDiscovererStreamInfo this container stream offers. Free with gst_discoverer_stream_info_list_free() after usage. the list of Structure containing the information of a URI analyzed by #GstDiscoverer. Finds all the #GstDiscovererAudioInfo contained in @info matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). A #GList of Finds all the #GstDiscovererContainerInfo contained in @info matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). A #GList of the duration of the URI in #GstClockTime (nanoseconds). (for example: information about missing plugins). If you wish to use the #GstStructure after the life-time of @info, you will need to copy it. Miscellaneous information stored as a #GstStructure the result of the discovery as a #GstDiscovererResult. the wheter the URI is seekable. #GstDiscovererStreamInfo. This structure can be traversed to see the original hierarchy. Unref with gst_discoverer_stream_info_unref() after usage. the structure (or topology) of the URI as a all streams contained in the #info. Free after usage with gst_discoverer_stream_info_list_free(). the list of Finds the #GstDiscovererStreamInfo contained in @info that match the given @streamtype. matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). A #GList of a #GType derived from #GstDiscovererStreamInfo the tags after the life-time of @info, you will need to copy them. all tags contained in the %URI. If you wish to use Copy it if you wish to use it after the life-time of @info. the URI to which this information corresponds to. Finds all the #GstDiscovererVideoInfo contained in @info matching #GstDiscovererStreamInfo. The caller should free it with gst_discoverer_stream_info_list_free(). A #GList of Result values for the discovery process. Base structure for information concerning a media stream. Depending on the stream type, one can find more media-specific information in #GstDiscovererAudioInfo, #GstDiscovererVideoInfo, and #GstDiscovererContainerInfo. The #GstDiscovererStreamInfo represents the topology of the stream. Siblings can be iterated over with gst_discoverer_stream_info_get_next() and gst_discoverer_stream_info_get_previous(). Children (sub-streams) of a stream can be accessed using the #GstDiscovererContainerInfo API. As a simple example, if you run #GstDiscoverer on an AVI file with one audio and one video stream, you will get a #GstDiscovererContainerInfo corresponding to the AVI container, which in turn will have a #GstDiscovererAudioInfo sub-stream and a #GstDiscovererVideoInfo sub-stream for the audio and video streams respectively. Decrements the reference count of all contained #GstDiscovererStreamInfo and fress the #GList. a #GList of #GstDiscovererStreamInfo #gst_caps_unref after usage. the #GstCaps of the stream. Unref with example codec version, profile, etc..). If you wish to use the #GstStructure after the life-time of @info you will need to copy it. additional information regarding the stream (for for final streams. Unref with #gst_discoverer_stream_info_unref after usage. the next #GstDiscovererStreamInfo in a chain. %NULL %NULL for starting points. Unref with #gst_discoverer_stream_info_unref after usage. the previous #GstDiscovererStreamInfo in a chain. "container",...). a human readable name for the stream type of the given @info (ex : "audio", use the tags after the life-time of @info you will need to copy them. the tags contained in this stream. If you wish to #GstDiscovererStreamInfo specific to video streams (this includes images). the average or nominal bitrate of the video stream in bits/second. the depth in bits of the video stream. the framerate of the video stream (denominator). the framerate of the video stream (numerator). the height of the video stream in pixels. the maximum bitrate of the video stream in bits/second. the Pixel Aspect Ratio (PAR) of the video stream (denominator). the Pixel Aspect Ratio (PAR) of the video stream (numerator). the width of the video stream in pixels. one frame). #TRUE if the video stream corresponds to an image (i.e. only contains %TRUE if the stream is interlaced, else %FALSE. Variant of #GstEncodingProfile for audio streams. Creates a new #GstEncodingAudioProfile All provided allocatable arguments will be internally copied, so can be safely freed/unreferenced after calling this method. the newly created #GstEncodingAudioProfile. the #GstCaps the preset(s) to use on the encoder, can be #NULL the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details. the number of time this stream must be used. 0 means any number of times (including never) Encoding profiles for containers. Keeps track of a list of #GstEncodingProfile Creates a new #GstEncodingContainerProfile. The newly created #GstEncodingContainerProfile. The name of the container profile, can be %NULL The description of the container profile, can be %NULL The format to use for this profile The preset to use for this profile Add a #GstEncodingProfile to the list of profiles handled by @container. No copy of @profile will be made, if you wish to use it elsewhere after this method you should increment its reference count. %TRUE if the @stream was properly added, else %FALSE. the #GstEncodingProfile to add. Checks if @container contains a #GstEncodingProfile identical to to @profile, else %FALSE. %TRUE if @container contains a #GstEncodingProfile identical a #GstEncodingProfile The opaque base class object for all encoding profiles. This contains generic information like name, description, format and preset. Find the #GstEncodingProfile with the specified name and category. The matching #GstEncodingProfile or %NULL. The name of the target The name of the profile The target category. Can be %NULL the description of the profile, can be %NULL. the #GstCaps corresponding to the media format used in the profile. Computes the full output caps that this @profile will be able to consume. when you are done with the caps. The full caps the given @profile can consume. Call gst_caps_unref() the name of the profile, can be %NULL. container profile. If 0, it is not a mandatory stream. The number of times the profile is used in its parent the name of the #GstPreset to be used in the profile. that will be used in the profile. The fields present in restriction caps are properties of the raw stream (that is before encoding), such as height and width for video and depth and sampling rate for audio. Does not apply to #GstEncodingContainerProfile (since there is no corresponding raw stream). Can be %NULL. The restriction #GstCaps to apply before the encoder the human-readable name of the type of @profile. Checks whether the two #GstEncodingProfile are equal %TRUE if @a and @b are equal, else %FALSE. a #GstEncodingProfile Set @description as the given description for the @profile. A copy of @description will be made internally. the description to set on the profile Sets the media format used in the profile. the media format to use in the profile. Set @name as the given name for the @profile. A copy of @name will be made internally. the name to set on the profile Set the number of time the profile is used in its parent container profile. If 0, it is not a mandatory stream the number of time the profile can be used Sets the preset to use for the profile. the element preset to use Set the restriction #GstCaps to apply before the encoder that will be used in the profile. See gst_encoding_profile_set_restriction() for more about restrictions. Does not apply to #GstEncodingContainerProfile. the restriction to apply Collection of #GstEncodingProfile for a specific target or use-case. When being stored/loaded, targets come from a specific category, like #GST_ENCODING_CATEGORY_DEVICE. Creates a new #GstEncodingTarget. The name and category can only consist of lowercase ASCII letters for the first character, followed by either lowercase ASCII letters, digits or hyphens ('-'). The @category <emphasis>should</emphasis> be one of the existing well-defined categories, like #GST_ENCODING_CATEGORY_DEVICE, but it <emphasis>can</emphasis> be a application or user specific category if needed. there was an error. The newly created #GstEncodingTarget or %NULL if The name of the target. The name of the category to which this @target belongs. For example: #GST_ENCODING_CATEGORY_DEVICE. A description of #GstEncodingTarget in the current locale. A #GList of #GstEncodingProfile. Searches for the #GstEncodingTarget with the given name, loads it and returns it. If the category name is specified only targets from that category will be searched for. The #GstEncodingTarget if available, else %NULL. the name of the #GstEncodingTarget to load. the name of the target category, like #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL Opens the provided file and returns the contained #GstEncodingTarget. %NULL The #GstEncodingTarget contained in the file, else The file location to load the #GstEncodingTarget from Adds the given @profile to the @target. Each added profile must have a unique name within the profile. The @target will steal a reference to the @profile. If you wish to use the profile after calling this method, you should increase its reference count. %TRUE if the profile was added, else %FALSE. the #GstEncodingProfile to add #GST_ENCODING_CATEGORY_DEVICE. The category of the @target. For example: The description of the @target. The name of the @target. The matching #GstEncodingProfile, or %NULL. the name of the profile to retrieve #GstEncodingProfile(s) this @target handles. A list of Saves the @target to a default user-local directory. %TRUE if the target was correctly saved, else %FALSE. Saves the @target to the provided file location. %TRUE if the target was correctly saved, else %FALSE. the location to store the @target at. Variant of #GstEncodingProfile for video streams, allows specifying the @pass. Creates a new #GstEncodingVideoProfile All provided allocatable arguments will be internally copied, so can be safely freed/unreferenced after calling this method. If you wish to control the pass number (in case of multi-pass scenarios), please refer to the gst_encoding_video_profile_set_pass() documentation. If you wish to use/force a constant framerate please refer to the gst_encoding_video_profile_set_variableframerate() documentation. the newly created #GstEncodingVideoProfile. the #GstCaps the preset(s) to use on the encoder, can be #NULL the #GstCaps used to restrict the input to the encoder, can be NULL. See gst_encoding_profile_get_restriction() for more details. the number of time this stream must be used. 0 means any number of times (including never) 1 for multi-pass. 0 if this is not a multi-pass profile The pass number if this is part of a multi-pass profile. Starts at Whether non-constant video framerate is allowed for encoding. Sets the pass number of this video profile. The first pass profile should have this value set to 1. If this video profile isn't part of a multi-pass profile, you may set it to 0 (the default value). the pass number for this profile If set to %TRUE, then the incoming streamm will be allowed to have non-constant framerate. If set to %FALSE (default value), then the incoming stream will be normalized by dropping/duplicating frames in order to produce a constance framerate. a boolean Opaque context structure for the plugin installation. Use the provided API to set details on it. Creates a new #GstInstallPluginsContext. gst_install_plugins_context_free() when no longer needed a new #GstInstallPluginsContext. Free with Frees a #GstInstallPluginsContext. This function is for X11-based applications (such as most Gtk/Qt applications on linux/unix) only. You can use it to tell the external installer the XID of your main application window. That way the installer can make its own window transient to your application window during the installation. If set, the XID will be passed to the installer via a --transient-for=XID command line option. Gtk+/Gnome application should be able to obtain the XID of the top-level window like this: <programlisting> ##include &lt;gtk/gtk.h&gt; ##ifdef GDK_WINDOWING_X11 ##include &lt;gdk/gdkx.h&gt; ##endif ... ##ifdef GDK_WINDOWING_X11 xid = GDK_WINDOW_XWINDOW (GTK_WIDGET (application_window)-&gt;window); ##endif ... </programlisting> the XWindow ID (XID) of the top-level application The prototype of the callback function that will be called once the external plugin installer program has returned. You only need to provide a callback function if you are using the asynchronous interface. whether the installation of the requested plugins succeeded or not the user data passed to gst_install_plugins_async() Result codes returned by gst_install_plugins_async() and gst_install_plugins_sync(), and also the result code passed to the #GstInstallPluginsResultFunc specified with gst_install_plugin_async(). These codes indicate success or failure of starting an external installer program and to what extent the requested plugins could be installed. Sets the level and profile on @caps if it can be determined from gst_codec_utils_aac_get_profile() for more details on the parameters. If mpegversion is 4, the "base-profile" field is also set in @caps. %TRUE if the level and profile could be set, %FALSE otherwise. the #GstCaps to which level and profile fields are to be added a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1 (see below for a more details). Length of @audio_config in bytes Determines the level of a stream as defined in ISO/IEC 14496-3. For AAC LC streams, the constraints from the AAC audio profile are applied. For AAC Main, LTP, SSR and others, the Main profile is used. The @audio_config parameter follows the following format, starting from the most significant bit of the first byte: <itemizedlist> <listitem><para> Bit 0:4 contains the AudioObjectType </para></listitem> <listitem><para> Bit 5:8 contains the sample frequency index (if this is 0xf, then the next 24 bits define the actual sample frequency, and subsequent fields are appropriately shifted). </para></listitem> <listitem><para> Bit 9:12 contains the channel configuration </para></listitem> </itemizedlist> <note> HE-AAC support has not yet been implemented. </note> determined. The level as a const string and %NULL if the level could not be a pointer to the AudioSpecificConfig as specified in the Elementary Stream Descriptor (esds) in ISO/IEC 14496-1. Length of @audio_config in bytes Returns the profile of the given AAC stream as a string. The profile is determined using the AudioObjectType field which is in the first 5 bits of <note> HE-AAC support has not yet been implemented. </note> determined. The profile as a const string and %NULL if the profile could not be 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). Length of @audio_config in bytes Translates the sample rate index found in AAC headers to the actual sample rate. The sample rate if @sr_idx is valid, 0 otherwise. Sample rate index as from the AudioSpecificConfig (MPEG-4 container) or ADTS frame header Sets the level and profile in @caps if it can be determined from @sps. See gst_codec_utils_h264_get_level() and gst_codec_utils_h264_get_profile() for more details on the parameters. %TRUE if the level and profile could be set, %FALSE otherwise. the #GstCaps to which the level and profile are to be added Pointer to the sequence parameter set for the stream. Length of the data available in @sps. Converts the level indication (level_idc) in the stream's sequence parameter set into a string. The SPS is expected to have the same format as for gst_codec_utils_h264_get_profile(). The level as a const string, or %NULL if there is an error. Pointer to the sequence parameter set for the stream. Length of the data available in @sps. Converts the profile indication (profile_idc) in the stream's sequence parameter set into a string. The SPS is expected to have the following format, as defined in the H.264 specification. The SPS is viewed as a bitstream here, with bit 0 being the most significant bit of the first byte. <itemizedlist> <listitem><para>Bit 0:7 - Profile indication</para></listitem> <listitem><para>Bit 8 - constraint_set0_flag</para></listitem> <listitem><para>Bit 9 - constraint_set1_flag</para></listitem> <listitem><para>Bit 10 - constraint_set2_flag</para></listitem> <listitem><para>Bit 11 - constraint_set3_flag</para></listitem> <listitem><para>Bit 12 - constraint_set3_flag</para></listitem> <listitem><para>Bit 13:15 - Reserved</para></listitem> <listitem><para>Bit 16:24 - Level indication</para></listitem> </itemizedlist> The profile as a const string, or %NULL if there is an error. Pointer to the sequence parameter set for the stream. Length of the data available in @sps. Sets the level and profile in @caps if it can be determined from gst_codec_utils_mpeg4video_get_profile() for more details on the parameters. %TRUE if the level and profile could be set, %FALSE otherwise. the #GstCaps to which the level and profile are to be added Pointer to the visual object sequence for the stream. Length of the data available in @sps. Converts the level indication in the stream's visual object sequence into a string. @vis_obj_seq is expected to be the data following the visual object sequence start code. Only the first byte (profile_and_level_indication) is used. The level as a const string, or NULL if there is an error. Pointer to the visual object sequence for the stream. Length of the data available in @sps. Converts the profile indication in the stream's visual object sequence into a string. @vis_obj_seq is expected to be the data following the visual object sequence start code. Only the first byte (profile_and_level_indication) is used. The profile as a const string, or NULL if there is an error. Pointer to the visual object sequence for the stream. Length of the data available in @sps. List all available #GstEncodingTarget for the specified category, or all categories if @categoryname is %NULL. The list of #GstEncodingTarget The category, for ex: #GST_ENCODING_CATEGORY_DEVICE. Can be %NULL. Lists all #GstEncodingTarget categories present on disk. of #GstEncodingTarget categories. A list Requests plugin installation without blocking. Once the plugins have been installed or installation has failed, @func will be called with the result of the installation and your provided @user_data pointer. This function requires a running GLib/Gtk main loop. If you are not running a GLib/Gtk main loop, make sure to regularly call g_main_context_iteration(NULL,FALSE). The installer strings that make up @detail are typically obtained by calling gst_missing_plugin_message_get_installer_detail() on missing-plugin messages that have been caught on a pipeline's bus or created by the application via the provided API, such as gst_missing_element_message_new(). It is possible to request the installation of multiple missing plugins in one go (as might be required if there is a demuxer for a certain format installed but no suitable video decoder and no suitable audio decoder). result code whether an external installer could be started NULL-terminated array of installer string details (see below) a #GstInstallPluginsContext, or NULL the function to call when the installer program returns the user data to pass to @func when called, or NULL Checks whether plugin installation (initiated by this application only) is currently in progress. TRUE if plugin installation is in progress, otherwise FALSE Convenience function to return the descriptive string associated with a status code. This function returns English strings and should not be used for user messages. It is here only to assist in debugging. a descriptive string for the status code in @ret the return status code Checks whether plugin installation is likely to be supported by the current environment. This currently only checks whether the helper script that is to be provided by the distribution or operating system vendor exists. TRUE if plugin installation is likely to be supported. Requests plugin installation and block until the plugins have been installed or installation has failed. This function should almost never be used, it only exists for cases where a non-GLib main loop is running and the user wants to run it in a separate thread and marshal the result back asynchronously into the main thread using the other non-GLib main loop. You should almost always use gst_install_plugins_async() instead of this function. the result of the installation. NULL-terminated array of installer string details a #GstInstallPluginsContext, or NULL Checks whether @msg is a missing plugins message. %TRUE if @msg is a missing-plugins message, otherwise %FALSE. a #GstMessage Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. with g_free() when not needed any longer. a newly-allocated detail string, or NULL on error. Free string the (fixed) caps for which a decoder element is needed Creates a missing-plugin message for @element to notify the application that a decoder element for a particular set of (fixed) caps is missing. This function is mainly for use in plugins. a new #GstMessage, or NULL on error the #GstElement posting the message the (fixed) caps for which a decoder element is needed Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. with g_free() when not needed any longer. a newly-allocated detail string, or NULL on error. Free string the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc" Creates a missing-plugin message for @element to notify the application that a certain required element is missing. This function is mainly for use in plugins. a new #GstMessage, or NULL on error the #GstElement posting the message the name of the missing element (element factory), e.g. "videoscale" or "cdparanoiasrc" Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. with g_free() when not needed any longer. a newly-allocated detail string, or NULL on error. Free string the (fixed) caps for which an encoder element is needed Creates a missing-plugin message for @element to notify the application that an encoder element for a particular set of (fixed) caps is missing. This function is mainly for use in plugins. a new #GstMessage, or NULL on error the #GstElement posting the message the (fixed) caps for which an encoder element is needed Returns a localised string describing the missing feature, for use in error dialogs and the like. Should never return NULL unless @msg is not a valid missing-plugin message. This function is mainly for applications that need a human-readable string describing a missing plugin, given a previously collected missing-plugin message string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions. with g_free() when not needed any longer. a newly-allocated detail string, or NULL on error. Free string a missing-plugin #GstMessage of type #GST_MESSAGE_ELEMENT Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. with g_free() when not needed any longer. a newly-allocated detail string, or NULL on error. Free string the URI protocol the missing source needs to implement, e.g. "http" or "mms" Creates a missing-plugin message for @element to notify the application that a sink element for a particular URI protocol is missing. This function is mainly for use in plugins. a new #GstMessage, or NULL on error the #GstElement posting the message the URI protocol the missing sink needs to implement, e.g. "http" or "smb" Returns an opaque string containing all the details about the missing element to be passed to an external installer called via gst_install_plugins_async() or gst_install_plugins_sync(). This function is mainly for applications that call external plugin installation mechanisms using one of the two above-mentioned functions in the case where the application knows exactly what kind of plugin it is missing. with g_free() when not needed any longer. a newly-allocated detail string, or NULL on error. Free string the URI protocol the missing source needs to implement, e.g. "http" or "mms" Creates a missing-plugin message for @element to notify the application that a source element for a particular URI protocol is missing. This function is mainly for use in plugins. a new #GstMessage, or NULL on error the #GstElement posting the message the URI protocol the missing source needs to implement, e.g. "http" or "mms" Adds a codec tag describing the format specified by @caps to @taglist. TRUE if a codec tag was added, FALSE otherwise. a #GstTagList a GStreamer codec tag such as #GST_TAG_AUDIO_CODEC, #GST_TAG_VIDEO_CODEC or #GST_TAG_CODEC the (fixed) #GstCaps for which a codec tag should be added. Returns a localised (as far as this is possible) string describing the media format specified in @caps, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @caps is invalid. Also see the convenience function gst_pb_utils_add_codec_description_to_tag_list(). string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free the (fixed) #GstCaps for which an format description is needed Returns a localised string describing an decoder for the format specified in @caps, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @factory_name or @caps are invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free the (fixed) #GstCaps for which an decoder description is needed Returns a localised string describing the given element, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @factory_name is invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free the name of the element, e.g. "gnomevfssrc" Returns a localised string describing an encoder for the format specified in @caps, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @factory_name or @caps are invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free the (fixed) #GstCaps for which an encoder description is needed Returns a localised string describing a sink element handling the protocol specified in @protocol, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @protocol is invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free the protocol the sink element needs to handle, e.g. "http" Returns a localised string describing a source element handling the protocol specified in @protocol, for use in error dialogs or other messages to be seen by the user. Should never return NULL unless @protocol is invalid. This function is mainly for internal use, applications would typically use gst_missing_plugin_message_get_description() to get a description of a missing feature from a missing-plugin message. string with g_free() when not needed any longer. a newly-allocated description string, or NULL on error. Free the protocol the source element needs to handle, e.g. "http" Initialises the base utils support library. This function is not thread-safe. Applications should call it after calling gst_init(), plugins should call it from their plugin_init function. This function may be called multiple times. It will do nothing if the library has already been initialised. Gets the version number of the GStreamer Plugins Base libraries. pointer to a guint to store the major version number, or %NULL pointer to a guint to store the minor version number, or %NULL pointer to a guint to store the micro version number, or %NULL pointer to a guint to store the nano version number, or %NULL This function returns a string that is useful for describing this version strings, logging, about dialogs ... a newly allocated string describing this version of gst-plugins-base