mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
ges: Add a method to get GES GOption group
This allow us to have global options to be passed as arguments of the program to configure GES behaviour API: ges_init_get_option_group https://bugzilla.gnome.org/show_bug.cgi?id=740715
This commit is contained in:
parent
39a7ce6ca0
commit
c8b2ab8dbb
3 changed files with 67 additions and 4 deletions
|
@ -4,7 +4,9 @@
|
||||||
<FILE>ges-common</FILE>
|
<FILE>ges-common</FILE>
|
||||||
<TITLE>Initialization</TITLE>
|
<TITLE>Initialization</TITLE>
|
||||||
ges_init
|
ges_init
|
||||||
|
ges_init_check
|
||||||
ges_version
|
ges_version
|
||||||
|
ges_init_get_option_group
|
||||||
GES_VERSION_MAJOR
|
GES_VERSION_MAJOR
|
||||||
GES_VERSION_MICRO
|
GES_VERSION_MICRO
|
||||||
GES_VERSION_MINOR
|
GES_VERSION_MINOR
|
||||||
|
|
60
ges/ges.c
60
ges/ges.c
|
@ -18,6 +18,12 @@
|
||||||
* Boston, MA 02110-1301, USA.
|
* Boston, MA 02110-1301, USA.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
|
||||||
|
#ifdef HAVE_CONFIG_H
|
||||||
|
#include "config.h"
|
||||||
|
#endif
|
||||||
|
|
||||||
|
#include <stdlib.h>
|
||||||
#include <ges/ges.h>
|
#include <ges/ges.h>
|
||||||
#include "ges/gstframepositionner.h"
|
#include "ges/gstframepositionner.h"
|
||||||
#include "ges-internal.h"
|
#include "ges-internal.h"
|
||||||
|
@ -108,6 +114,60 @@ ges_init (void)
|
||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
#ifndef GST_DISABLE_OPTION_PARSING
|
||||||
|
static gboolean
|
||||||
|
parse_goption_arg (const gchar * s_opt,
|
||||||
|
const gchar * arg, gpointer data, GError ** err)
|
||||||
|
{
|
||||||
|
if (g_strcmp0 (s_opt, "--ges-version") == 0) {
|
||||||
|
g_print ("GStreamer Editing Services version %s\n", PACKAGE_VERSION);
|
||||||
|
exit (0);
|
||||||
|
}
|
||||||
|
|
||||||
|
return TRUE;
|
||||||
|
}
|
||||||
|
#endif
|
||||||
|
|
||||||
|
/**
|
||||||
|
* ges_init_get_option_group: (skip)
|
||||||
|
*
|
||||||
|
* Returns a #GOptionGroup with GES's argument specifications. The
|
||||||
|
* group is set up to use standard GOption callbacks, so when using this
|
||||||
|
* group in combination with GOption parsing methods, all argument parsing
|
||||||
|
* and initialization is automated.
|
||||||
|
*
|
||||||
|
* This function is useful if you want to integrate GES with other
|
||||||
|
* libraries that use GOption (see g_option_context_add_group() ).
|
||||||
|
*
|
||||||
|
* If you use this function, you should make sure you initialise the GStreamer
|
||||||
|
* as one of the very first things in your program.
|
||||||
|
*
|
||||||
|
* Returns: (transfer full): a pointer to GES's option group.
|
||||||
|
*/
|
||||||
|
GOptionGroup *
|
||||||
|
ges_init_get_option_group (void)
|
||||||
|
{
|
||||||
|
#ifndef GST_DISABLE_OPTION_PARSING
|
||||||
|
|
||||||
|
GOptionGroup *group;
|
||||||
|
static const GOptionEntry ges_args[] = {
|
||||||
|
{"ges-version", 0, G_OPTION_FLAG_NO_ARG, G_OPTION_ARG_CALLBACK,
|
||||||
|
(gpointer) parse_goption_arg,
|
||||||
|
"Print the GStreamer Editing Services version",
|
||||||
|
NULL},
|
||||||
|
{NULL}
|
||||||
|
};
|
||||||
|
|
||||||
|
group = g_option_group_new ("GES", "GStreamer Editing Services Options",
|
||||||
|
"Show GStreamer Options", NULL, NULL);
|
||||||
|
g_option_group_add_entries (group, ges_args);
|
||||||
|
|
||||||
|
return group;
|
||||||
|
|
||||||
|
#else
|
||||||
|
return NULL;
|
||||||
|
#endif
|
||||||
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* ges_version:
|
* ges_version:
|
||||||
|
|
|
@ -85,9 +85,10 @@ G_BEGIN_DECLS
|
||||||
|
|
||||||
|
|
||||||
gboolean ges_init (void);
|
gboolean ges_init (void);
|
||||||
|
|
||||||
void ges_version (guint * major, guint * minor, guint * micro,
|
void ges_version (guint * major, guint * minor, guint * micro,
|
||||||
guint * nano);
|
guint * nano);
|
||||||
|
GOptionGroup *
|
||||||
|
ges_init_get_option_group (void);
|
||||||
|
|
||||||
G_END_DECLS
|
G_END_DECLS
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue