mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-27 04:01:08 +00:00
adding a section on gnome integration
Original commit message from CVS: adding a section on gnome integration
This commit is contained in:
parent
e6e1dc2e0e
commit
03d480c433
4 changed files with 225 additions and 0 deletions
74
docs/manual/appendix-gnome.xml
Normal file
74
docs/manual/appendix-gnome.xml
Normal file
|
@ -0,0 +1,74 @@
|
|||
<chapter id="cha-gnome">
|
||||
<title>Gnome integration</title>
|
||||
<para>
|
||||
GStreamer is fairly easy to integrate with Gnome applications.
|
||||
GStreamer uses libxml 2.0, GLib 2.0 and popt, as do all other
|
||||
Gnome applications.
|
||||
There are however some basic issues you need to address in your Gnome
|
||||
applications.
|
||||
</para>
|
||||
|
||||
<sect1>
|
||||
<title>Command line options</title>
|
||||
<para>
|
||||
Gnome applications call gnome_program_init () to parse command-line
|
||||
options and initialize the necessary gnome modules.
|
||||
GStreamer applications normally call gst_init (&argc, &argv) to
|
||||
do the same for GStreamer.
|
||||
</para>
|
||||
<para>
|
||||
Each of these two swallows the program options passed to the program,
|
||||
so we need a different way to allow both Gnome and GStreamer to parse
|
||||
the command-line options. This is shown in the following example.
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
/* example-begin gnome.c */
|
||||
#include <gnome.h>
|
||||
#include <gst/gst.h>
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
struct poptOption options[] = {
|
||||
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0, "GStreamer", NULL },
|
||||
POPT_TABLEEND
|
||||
};
|
||||
GnomeProgram *program;
|
||||
poptContext context;
|
||||
const gchar **argvn;
|
||||
|
||||
options[0].arg = (void *) gst_init_get_popt_table ();
|
||||
if (! (program = gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE,
|
||||
argc, argv,
|
||||
GNOME_PARAM_POPT_TABLE, options,
|
||||
NULL)))
|
||||
g_error ("gnome_program_init failed");
|
||||
|
||||
g_object_get (program, "popt-context", &context, NULL);
|
||||
argvn = poptGetArgs (context);
|
||||
if (!argvn) {
|
||||
g_print ("Run this example with some arguments to see how it works.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (*argvn) {
|
||||
g_print ("argument: %s\n", *argvn);
|
||||
++argvn;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* example-end gnome.c */
|
||||
</programlisting>
|
||||
<para>
|
||||
If you try out this program, you will see that when called with
|
||||
--help, it will print out both GStreamer and Gnome help arguments.
|
||||
All of the arguments that didn't belong to either end up in the
|
||||
argvn pointer array.
|
||||
</para>
|
||||
<para>
|
||||
FIXME: flesh this out more. How do we get the GStreamer arguments
|
||||
at the end ?
|
||||
</sect1>
|
||||
</chapter>
|
74
docs/manual/appendix-integration.xml
Normal file
74
docs/manual/appendix-integration.xml
Normal file
|
@ -0,0 +1,74 @@
|
|||
<chapter id="cha-gnome">
|
||||
<title>Gnome integration</title>
|
||||
<para>
|
||||
GStreamer is fairly easy to integrate with Gnome applications.
|
||||
GStreamer uses libxml 2.0, GLib 2.0 and popt, as do all other
|
||||
Gnome applications.
|
||||
There are however some basic issues you need to address in your Gnome
|
||||
applications.
|
||||
</para>
|
||||
|
||||
<sect1>
|
||||
<title>Command line options</title>
|
||||
<para>
|
||||
Gnome applications call gnome_program_init () to parse command-line
|
||||
options and initialize the necessary gnome modules.
|
||||
GStreamer applications normally call gst_init (&argc, &argv) to
|
||||
do the same for GStreamer.
|
||||
</para>
|
||||
<para>
|
||||
Each of these two swallows the program options passed to the program,
|
||||
so we need a different way to allow both Gnome and GStreamer to parse
|
||||
the command-line options. This is shown in the following example.
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
/* example-begin gnome.c */
|
||||
#include <gnome.h>
|
||||
#include <gst/gst.h>
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
struct poptOption options[] = {
|
||||
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0, "GStreamer", NULL },
|
||||
POPT_TABLEEND
|
||||
};
|
||||
GnomeProgram *program;
|
||||
poptContext context;
|
||||
const gchar **argvn;
|
||||
|
||||
options[0].arg = (void *) gst_init_get_popt_table ();
|
||||
if (! (program = gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE,
|
||||
argc, argv,
|
||||
GNOME_PARAM_POPT_TABLE, options,
|
||||
NULL)))
|
||||
g_error ("gnome_program_init failed");
|
||||
|
||||
g_object_get (program, "popt-context", &context, NULL);
|
||||
argvn = poptGetArgs (context);
|
||||
if (!argvn) {
|
||||
g_print ("Run this example with some arguments to see how it works.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (*argvn) {
|
||||
g_print ("argument: %s\n", *argvn);
|
||||
++argvn;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* example-end gnome.c */
|
||||
</programlisting>
|
||||
<para>
|
||||
If you try out this program, you will see that when called with
|
||||
--help, it will print out both GStreamer and Gnome help arguments.
|
||||
All of the arguments that didn't belong to either end up in the
|
||||
argvn pointer array.
|
||||
</para>
|
||||
<para>
|
||||
FIXME: flesh this out more. How do we get the GStreamer arguments
|
||||
at the end ?
|
||||
</sect1>
|
||||
</chapter>
|
74
docs/manual/gnome.xml
Normal file
74
docs/manual/gnome.xml
Normal file
|
@ -0,0 +1,74 @@
|
|||
<chapter id="cha-gnome">
|
||||
<title>Gnome integration</title>
|
||||
<para>
|
||||
GStreamer is fairly easy to integrate with Gnome applications.
|
||||
GStreamer uses libxml 2.0, GLib 2.0 and popt, as do all other
|
||||
Gnome applications.
|
||||
There are however some basic issues you need to address in your Gnome
|
||||
applications.
|
||||
</para>
|
||||
|
||||
<sect1>
|
||||
<title>Command line options</title>
|
||||
<para>
|
||||
Gnome applications call gnome_program_init () to parse command-line
|
||||
options and initialize the necessary gnome modules.
|
||||
GStreamer applications normally call gst_init (&argc, &argv) to
|
||||
do the same for GStreamer.
|
||||
</para>
|
||||
<para>
|
||||
Each of these two swallows the program options passed to the program,
|
||||
so we need a different way to allow both Gnome and GStreamer to parse
|
||||
the command-line options. This is shown in the following example.
|
||||
</para>
|
||||
|
||||
<programlisting>
|
||||
/* example-begin gnome.c */
|
||||
#include <gnome.h>
|
||||
#include <gst/gst.h>
|
||||
|
||||
int
|
||||
main (int argc, char **argv)
|
||||
{
|
||||
struct poptOption options[] = {
|
||||
{ NULL, '\0', POPT_ARG_INCLUDE_TABLE, NULL, 0, "GStreamer", NULL },
|
||||
POPT_TABLEEND
|
||||
};
|
||||
GnomeProgram *program;
|
||||
poptContext context;
|
||||
const gchar **argvn;
|
||||
|
||||
options[0].arg = (void *) gst_init_get_popt_table ();
|
||||
if (! (program = gnome_program_init (PACKAGE, VERSION, LIBGNOMEUI_MODULE,
|
||||
argc, argv,
|
||||
GNOME_PARAM_POPT_TABLE, options,
|
||||
NULL)))
|
||||
g_error ("gnome_program_init failed");
|
||||
|
||||
g_object_get (program, "popt-context", &context, NULL);
|
||||
argvn = poptGetArgs (context);
|
||||
if (!argvn) {
|
||||
g_print ("Run this example with some arguments to see how it works.\n");
|
||||
return 0;
|
||||
}
|
||||
|
||||
while (*argvn) {
|
||||
g_print ("argument: %s\n", *argvn);
|
||||
++argvn;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
/* example-end gnome.c */
|
||||
</programlisting>
|
||||
<para>
|
||||
If you try out this program, you will see that when called with
|
||||
--help, it will print out both GStreamer and Gnome help arguments.
|
||||
All of the arguments that didn't belong to either end up in the
|
||||
argvn pointer array.
|
||||
</para>
|
||||
<para>
|
||||
FIXME: flesh this out more. How do we get the GStreamer arguments
|
||||
at the end ?
|
||||
</sect1>
|
||||
</chapter>
|
|
@ -36,6 +36,7 @@
|
|||
<!ENTITY DEBUGGING SYSTEM "debugging.xml">
|
||||
<!ENTITY PROGRAMS SYSTEM "programs.xml">
|
||||
<!ENTITY COMPONENTS SYSTEM "components.xml">
|
||||
<!ENTITY GNOME SYSTEM "gnome.xml">
|
||||
<!ENTITY QUOTES SYSTEM "quotes.xml">
|
||||
]>
|
||||
|
||||
|
@ -242,6 +243,8 @@
|
|||
|
||||
&COMPONENTS;
|
||||
|
||||
&GNOME;
|
||||
|
||||
"ES;
|
||||
|
||||
</part>
|
||||
|
|
Loading…
Reference in a new issue