Blame docs/gst/html/gstreamer-Gst.html

Packit Service 963350
Packit Service 963350
<html>
Packit Service 963350
<head>
Packit Service 963350
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
Packit Service 963350
<title>GStreamer: GStreamer 1.0 Core Reference Manual</title>
Packit Service 963350
<meta name="generator" content="DocBook XSL Stylesheets V1.79.1">
Packit Service 963350
<link rel="home" href="index.html" title="GStreamer 1.0 Core Reference Manual">
Packit Service 963350
<link rel="up" href="libgstreamer.html" title="GStreamer Core Library">
Packit Service 963350
<link rel="prev" href="libgstreamer.html" title="GStreamer Core Library">
Packit Service 963350
<link rel="next" href="GstAllocator.html" title="GstAllocator">
Packit Service 963350
<meta name="generator" content="GTK-Doc V1.27 (XML mode)">
Packit Service 963350
<link rel="stylesheet" href="style.css" type="text/css">
Packit Service 963350
</head>
Packit Service 963350
<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
Packit Service 963350
Packit Service 963350
Packit Service 963350
Top  | 
Packit Service 963350
                  Description
Packit Service 963350
Packit Service 963350
Home
Packit Service 963350
Up
Packit Service 963350
Prev
Packit Service 963350
Next
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

GStreamer

Packit Service 963350

GStreamer — Media library supporting arbitrary formats and filter

Packit Service 963350
                    graphs.

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Functions

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_init ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_init_check ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
GOptionGroup *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_init_get_option_group ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_is_initialized ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_deinit ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_version ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gchar *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_version_string ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_segtrap_is_enabled ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_segtrap_set_enabled ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_registry_fork_is_enabled ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
void
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_registry_fork_set_enabled ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
gboolean
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_update_registry ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
const gchar *
Packit Service 963350
Packit Service 963350
Packit Service 963350
gst_get_main_executable_path ()
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Includes

Packit Service 963350
#include <gst/gst.h>
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Description

Packit Service 963350

GStreamer is a framework for constructing graphs of various filters

Packit Service 963350
(termed elements here) that will handle streaming media.  Any discrete
Packit Service 963350
(packetizable) media type is supported, with provisions for automatically
Packit Service 963350
determining source type.  Formatting/framing information is provided with
Packit Service 963350
a powerful negotiation framework.  Plugins are heavily used to provide for
Packit Service 963350
all elements, allowing one to construct plugins outside of the GST
Packit Service 963350
library, even released binary-only if license require (please don't).
Packit Service 963350
GStreamer covers a wide range of use cases including: playback, recording,
Packit Service 963350
editing, serving streams, voice over ip and video calls.

Packit Service 963350

The GStreamer library should be initialized with

Packit Service 963350
gst_init() before it can be used. You should pass pointers to the main argc
Packit Service 963350
and argv variables so that GStreamer can process its own command line
Packit Service 963350
options, as shown in the following example.

Packit Service 963350
Packit Service 963350

Initializing the gstreamer library

Packit Service 963350
Packit Service 963350
  
Packit Service 963350
    
Packit Service 963350
      
Packit Service 963350
        
1
Packit Service 963350
2
Packit Service 963350
3
Packit Service 963350
4
Packit Service 963350
5
Packit Service 963350
6
Packit Service 963350
7
Packit Service 963350
        
int
Packit Service 963350
main (int argc, char *argv[])
Packit Service 963350
{
Packit Service 963350
  // initialize the GStreamer library
Packit Service 963350
  gst_init (&argc, &argv);
Packit Service 963350
  ...
Packit Service 963350
}
Packit Service 963350
      
Packit Service 963350
    
Packit Service 963350
  
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350

It's allowed to pass two NULL pointers to gst_init() in case you don't want

Packit Service 963350
to pass the command line args to GStreamer.

Packit Service 963350

You can also use GOption to initialize your own parameters as shown in

Packit Service 963350
the next code fragment:

Packit Service 963350
Packit Service 963350
Packit Service 963350

Initializing own parameters when initializing gstreamer

Packit Service 963350
Packit Service 963350
  
Packit Service 963350
    
Packit Service 963350
      
Packit Service 963350
        
1
Packit Service 963350
2
Packit Service 963350
3
Packit Service 963350
4
Packit Service 963350
5
Packit Service 963350
6
Packit Service 963350
7
Packit Service 963350
8
Packit Service 963350
9
Packit Service 963350
10
Packit Service 963350
11
Packit Service 963350
12
Packit Service 963350
13
Packit Service 963350
14
Packit Service 963350
15
Packit Service 963350
16
Packit Service 963350
17
Packit Service 963350
18
Packit Service 963350
19
Packit Service 963350
20
Packit Service 963350
        
static gboolean stats = FALSE;
Packit Service 963350
...
Packit Service 963350
int
Packit Service 963350
main (int argc, char *argv[])
Packit Service 963350
{
Packit Service 963350
 GOptionEntry options[] = {
Packit Service 963350
  {"tags", 't', 0, G_OPTION_ARG_NONE, &tags,
Packit Service 963350
      N_("Output tags (also known as metadata)"), NULL},
Packit Service 963350
  {NULL}
Packit Service 963350
 };
Packit Service 963350
 ctx = g_option_context_new ("[ADDITIONAL ARGUMENTS]");
Packit Service 963350
 g_option_context_add_main_entries (ctx, options, GETTEXT_PACKAGE);
Packit Service 963350
 g_option_context_add_group (ctx, gst_init_get_option_group ());
Packit Service 963350
 if (!g_option_context_parse (ctx, &argc, &argv, &err)) {
Packit Service 963350
   g_print ("Error initializing: %s\n", GST_STR_NULL (err->message));
Packit Service 963350
   exit (1);
Packit Service 963350
 }
Packit Service 963350
 g_option_context_free (ctx);
Packit Service 963350
...
Packit Service 963350
}
Packit Service 963350
      
Packit Service 963350
    
Packit Service 963350
  
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350

Use gst_version() to query the library version at runtime or use the

Packit Service 963350
GST_VERSION_* macros to find the version at compile time. Optionally
Packit Service 963350
gst_version_string() returns a printable string.

Packit Service 963350

The gst_deinit() call is used to clean up all internal resources used

Packit Service 963350
by GStreamer. It is mostly used in unit tests to check for leaks.

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Functions

Packit Service 963350
Packit Service 963350

gst_init ()

Packit Service 963350
void
Packit Service 963350
gst_init (int *argc,
Packit Service 963350
          char **argv[]);
Packit Service 963350

Initializes the GStreamer library, setting up internal path lists,

Packit Service 963350
registering built-in elements, and loading standard plugins.

Packit Service 963350

Unless the plugin registry is disabled at compile time, the registry will be

Packit Service 963350
loaded. By default this will also check if the registry cache needs to be
Packit Service 963350
updated and rescan all plugins if needed. See gst_update_registry() for
Packit Service 963350
details and section

Packit Service 963350
Running GStreamer Applications

for how to disable automatic registry updates.

Packit Service 963350

This function will terminate your program if it was unable to initialize

Packit Service 963350
GStreamer for some reason.  If you want your program to fall back,
Packit Service 963350
use gst_init_check() instead.

Packit Service 963350

WARNING: This function does not work in the same way as corresponding

Packit Service 963350
functions in other glib-style libraries, such as gtk_init(). In
Packit Service 963350
particular, unknown command line options cause this function to
Packit Service 963350
abort program execution.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

argc

Packit Service 963350

pointer to application's argc.

Packit Service 963350
[inout][allow-none]
Packit Service 963350
Packit Service 963350
Packit Service 963350

argv

Packit Service 963350

pointer to application's argv.

Packit Service 963350
[inout][array length=argc][allow-none]
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_init_check ()

Packit Service 963350
gboolean
Packit Service 963350
gst_init_check (int *argc,
Packit Service 963350
                char **argv[],
Packit Service 963350
                GError **err);
Packit Service 963350

Initializes the GStreamer library, setting up internal path lists,

Packit Service 963350
registering built-in elements, and loading standard plugins.

Packit Service 963350

This function will return FALSE if GStreamer could not be initialized

Packit Service 963350
for some reason.  If you want your program to fail fatally,
Packit Service 963350
use gst_init() instead.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

argc

Packit Service 963350

pointer to application's argc.

Packit Service 963350
[inout][allow-none]
Packit Service 963350
Packit Service 963350
Packit Service 963350

argv

Packit Service 963350

pointer to application's argv.

Packit Service 963350
[inout][array length=argc][allow-none]
Packit Service 963350
Packit Service 963350
Packit Service 963350

err

Packit Service 963350

pointer to a GError to which a message will be posted on error

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

TRUE if GStreamer could be initialized.

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_init_get_option_group ()

Packit Service 963350
GOptionGroup *
Packit Service 963350
gst_init_get_option_group (void);
Packit Service 963350

Returns a GOptionGroup with GStreamer's argument specifications. The

Packit Service 963350
group is set up to use standard GOption callbacks, so when using this
Packit Service 963350
group in combination with GOption parsing methods, all argument parsing
Packit Service 963350
and initialization is automated.

Packit Service 963350

This function is useful if you want to integrate GStreamer with other

Packit Service 963350
libraries that use GOption (see g_option_context_add_group() ).

Packit Service 963350

If you use this function, you should make sure you initialise the GLib

Packit Service 963350
threading system as one of the very first things in your program
Packit Service 963350
(see the example at the beginning of this section).

Packit Service 963350

[skip]

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

a pointer to GStreamer's option group.

Packit Service 963350

[transfer full][nullable]

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_is_initialized ()

Packit Service 963350
gboolean
Packit Service 963350
gst_is_initialized (void);
Packit Service 963350

Use this function to check if GStreamer has been initialized with gst_init()

Packit Service 963350
or gst_init_check().

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

TRUE if initialization has been done, FALSE otherwise.

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_deinit ()

Packit Service 963350
void
Packit Service 963350
gst_deinit (void);
Packit Service 963350

Clean up any resources created by GStreamer in gst_init().

Packit Service 963350

It is normally not needed to call this function in a normal application

Packit Service 963350
as the resources will automatically be freed when the program terminates.
Packit Service 963350
This function is therefore mostly used by testsuites and other memory
Packit Service 963350
profiling tools.

Packit Service 963350

After this call GStreamer (including this method) should not be used anymore.

Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_version ()

Packit Service 963350
void
Packit Service 963350
gst_version (guint *major,
Packit Service 963350
             guint *minor,
Packit Service 963350
             guint *micro,
Packit Service 963350
             guint *nano);
Packit Service 963350

Gets the version number of the GStreamer library.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

major

Packit Service 963350

pointer to a guint to store the major version number.

Packit Service 963350
[out]
Packit Service 963350
Packit Service 963350
Packit Service 963350

minor

Packit Service 963350

pointer to a guint to store the minor version number.

Packit Service 963350
[out]
Packit Service 963350
Packit Service 963350
Packit Service 963350

micro

Packit Service 963350

pointer to a guint to store the micro version number.

Packit Service 963350
[out]
Packit Service 963350
Packit Service 963350
Packit Service 963350

nano

Packit Service 963350

pointer to a guint to store the nano version number.

Packit Service 963350
[out]
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_version_string ()

Packit Service 963350
gchar *
Packit Service 963350
gst_version_string (void);
Packit Service 963350

This function returns a string that is useful for describing this version

Packit Service 963350
of GStreamer to the outside world: user agent strings, logging, ...

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

a newly allocated string describing this version

Packit Service 963350
of GStreamer. 

Packit Service 963350

[transfer full]

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_segtrap_is_enabled ()

Packit Service 963350
gboolean
Packit Service 963350
gst_segtrap_is_enabled (void);
Packit Service 963350

Some functions in the GStreamer core might install a custom SIGSEGV handler

Packit Service 963350
to better catch and report errors to the application. Currently this feature
Packit Service 963350
is enabled by default when loading plugins.

Packit Service 963350

Applications might want to disable this behaviour with the

Packit Service 963350
gst_segtrap_set_enabled() function. This is typically done if the application
Packit Service 963350
wants to install its own handler without GStreamer interfering.

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

TRUE if GStreamer is allowed to install a custom SIGSEGV handler.

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_segtrap_set_enabled ()

Packit Service 963350
void
Packit Service 963350
gst_segtrap_set_enabled (gboolean enabled);
Packit Service 963350

Applications might want to disable/enable the SIGSEGV handling of

Packit Service 963350
the GStreamer core. See gst_segtrap_is_enabled() for more information.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

enabled

Packit Service 963350

whether a custom SIGSEGV handler should be installed.

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_registry_fork_is_enabled ()

Packit Service 963350
gboolean
Packit Service 963350
gst_registry_fork_is_enabled (void);
Packit Service 963350

By default GStreamer will perform scanning and rebuilding of the

Packit Service 963350
registry file using a helper child process.

Packit Service 963350

Applications might want to disable this behaviour with the

Packit Service 963350
gst_registry_fork_set_enabled() function, in which case new plugins
Packit Service 963350
are scanned (and loaded) into the application process.

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

TRUE if GStreamer will use the child helper process when

Packit Service 963350
rebuilding the registry.

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_registry_fork_set_enabled ()

Packit Service 963350
void
Packit Service 963350
gst_registry_fork_set_enabled (gboolean enabled);
Packit Service 963350

Applications might want to disable/enable spawning of a child helper process

Packit Service 963350
when rebuilding the registry. See gst_registry_fork_is_enabled() for more
Packit Service 963350
information.

Packit Service 963350
Packit Service 963350

Parameters

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

enabled

Packit Service 963350

whether rebuilding the registry can use a temporary child helper process.

Packit Service 963350
 
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_update_registry ()

Packit Service 963350
gboolean
Packit Service 963350
gst_update_registry (void);
Packit Service 963350

Forces GStreamer to re-scan its plugin paths and update the default

Packit Service 963350
plugin registry.

Packit Service 963350

Applications will almost never need to call this function, it is only

Packit Service 963350
useful if the application knows new plugins have been installed (or old
Packit Service 963350
ones removed) since the start of the application (or, to be precise, the
Packit Service 963350
first call to gst_init()) and the application wants to make use of any
Packit Service 963350
newly-installed plugins without restarting the application.

Packit Service 963350

Applications should assume that the registry update is neither atomic nor

Packit Service 963350
thread-safe and should therefore not have any dynamic pipelines running
Packit Service 963350
(including the playbin and decodebin elements) and should also not create
Packit Service 963350
any elements or access the GStreamer registry while the update is in
Packit Service 963350
progress.

Packit Service 963350

Note that this function may block for a significant amount of time.

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

TRUE if the registry has been updated successfully (does not

Packit Service 963350
imply that there were changes), otherwise FALSE.

Packit Service 963350
Packit Service 963350
Packit Service 963350

Packit Service 963350
Packit Service 963350

gst_get_main_executable_path ()

Packit Service 963350
const gchar *
Packit Service 963350
gst_get_main_executable_path (void);
Packit Service 963350

This helper is mostly helpful for plugins that need to

Packit Service 963350
inspect the folder of the main executable to determine
Packit Service 963350
their set of features.

Packit Service 963350

When a plugin is initialized from the gst-plugin-scanner

Packit Service 963350
external process, the returned path will be the same as from the
Packit Service 963350
parent process.

Packit Service 963350
Packit Service 963350

Returns

Packit Service 963350

The path of the executable that

Packit Service 963350
initialized GStreamer, or NULL if it could not be determined. 

Packit Service 963350

[transfer none][nullable]

Packit Service 963350
Packit Service 963350

Since: 1.14

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Types and Values

Packit Service 963350
Packit Service 963350
Packit Service 963350
Packit Service 963350

Generated by GTK-Doc V1.27
Packit Service 963350
</body>
Packit Service 963350
</html>