mirror of
https://gitlab.freedesktop.org/gstreamer/gstreamer.git
synced 2024-11-28 20:51:13 +00:00
small doc fixes
Original commit message from CVS: small doc fixes
This commit is contained in:
parent
dda4ae6621
commit
b7e0552699
13 changed files with 53 additions and 42 deletions
16
ChangeLog
16
ChangeLog
|
@ -1,3 +1,19 @@
|
||||||
|
2005-05-17 Thomas Vander Stichele <thomas at apestaart dot org>
|
||||||
|
|
||||||
|
* docs/manual/advanced-schedulers.xml:
|
||||||
|
* docs/manual/appendix-checklist.xml:
|
||||||
|
* docs/pwg/advanced-clock.xml:
|
||||||
|
* docs/pwg/advanced-interfaces.xml:
|
||||||
|
* docs/pwg/advanced-request.xml:
|
||||||
|
* docs/pwg/advanced-types.xml:
|
||||||
|
* docs/pwg/intro-preface.xml:
|
||||||
|
* examples/plugins/example.c: (gst_example_class_init),
|
||||||
|
(gst_example_chain), (gst_example_set_property),
|
||||||
|
(gst_example_get_property), (gst_example_change_state),
|
||||||
|
(plugin_init):
|
||||||
|
* examples/plugins/example.h:
|
||||||
|
small doc fixes
|
||||||
|
|
||||||
2005-05-14 David Schleef <ds@schleef.org>
|
2005-05-14 David Schleef <ds@schleef.org>
|
||||||
|
|
||||||
* configure.ac: Set G_LOG_DOMAIN in config.h to a string literal.
|
* configure.ac: Set G_LOG_DOMAIN in config.h to a string literal.
|
||||||
|
|
2
common
2
common
|
@ -1 +1 @@
|
||||||
Subproject commit 131c2632127e6f061b5270d8f80651782a4fdd13
|
Subproject commit 67b7e6c0db99415e0440d0c576495641b53e976a
|
|
@ -119,7 +119,7 @@
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
The default &GStreamer; scheduler, <quote>opt</quote>, uses a concept
|
The default &GStreamer; scheduler, <quote>opt</quote>, uses a concept
|
||||||
of chains and groups. A group is a series of elements that can that
|
of chains and groups. A group is a series of elements that
|
||||||
do not require any context switches or intermediate data stores to
|
do not require any context switches or intermediate data stores to
|
||||||
be executed. In practice, this implies zero or one loop-based elements,
|
be executed. In practice, this implies zero or one loop-based elements,
|
||||||
one get-based element (at the beginning) and an infinite amount of
|
one get-based element (at the beginning) and an infinite amount of
|
||||||
|
|
|
@ -152,7 +152,7 @@
|
||||||
<para>
|
<para>
|
||||||
<command>gst-inspect</command> can be used to inspect all properties,
|
<command>gst-inspect</command> can be used to inspect all properties,
|
||||||
signals, dynamic parameters and the object hierarchy of an element.
|
signals, dynamic parameters and the object hierarchy of an element.
|
||||||
This acn be very useful to see which <classname>GObject</classname>
|
This can be very useful to see which <classname>GObject</classname>
|
||||||
properties or which signals (and using what arguments) an element
|
properties or which signals (and using what arguments) an element
|
||||||
supports. Run <command>gst-inspect fakesrc</command> to get an idea
|
supports. Run <command>gst-inspect fakesrc</command> to get an idea
|
||||||
of what it does. See the manual page of <command>gst-inspect</command>
|
of what it does. See the manual page of <command>gst-inspect</command>
|
||||||
|
|
|
@ -11,7 +11,7 @@
|
||||||
<title> Types of time </title>
|
<title> Types of time </title>
|
||||||
|
|
||||||
<para>
|
<para>
|
||||||
There are kinds of time in GStreamer. <emphasis
|
There are two kinds of time in GStreamer. <emphasis
|
||||||
role="strong">Clock time</emphasis> is an absolute time. By contrast,
|
role="strong">Clock time</emphasis> is an absolute time. By contrast,
|
||||||
<emphasis role="strong">element time</emphasis> is the relative time,
|
<emphasis role="strong">element time</emphasis> is the relative time,
|
||||||
usually to the start of the current media stream. The element time
|
usually to the start of the current media stream. The element time
|
||||||
|
@ -99,10 +99,11 @@
|
||||||
<title>Source elements </title>
|
<title>Source elements </title>
|
||||||
<para>
|
<para>
|
||||||
Source elements (or parsers of formats that provide notion of time, such
|
Source elements (or parsers of formats that provide notion of time, such
|
||||||
as MPEG, as explained above). must place a timestamp in each buffer that
|
as MPEG, as explained above) must place a timestamp in each buffer that
|
||||||
they deliver. The origin of the time used is arbitrary, but it must match
|
they deliver. The origin of the time used is arbitrary, but it must
|
||||||
the time delivered in the discontinous event (see bellow). However, it is
|
match the time delivered in the discontinous event (see below).
|
||||||
expected that the origin is the origin of the media stream.
|
However, it is expected that the origin is the origin of the media
|
||||||
|
stream.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
In order to initialize the element time of the rest of the pipeline, a
|
In order to initialize the element time of the rest of the pipeline, a
|
||||||
|
|
|
@ -457,7 +457,7 @@ gst_my_filter_tuner_interface_init (GstTunerClass *iface)
|
||||||
enumeration lists and probing. Firstly, enumerations only allow strings
|
enumeration lists and probing. Firstly, enumerations only allow strings
|
||||||
as values; property probing works for any value type. Secondly, the
|
as values; property probing works for any value type. Secondly, the
|
||||||
contents of a probed list of allowed values may change during the life
|
contents of a probed list of allowed values may change during the life
|
||||||
of an element. The contents of a enumeraiton list are static. Crrently,
|
of an element. The contents of an enumeration list are static. Currently,
|
||||||
property probing is being used for detection of devices (e.g. for OSS
|
property probing is being used for detection of devices (e.g. for OSS
|
||||||
elements, Video4linux elements, etc.). It could - in theory - be used
|
elements, Video4linux elements, etc.). It could - in theory - be used
|
||||||
for any property, though.
|
for any property, though.
|
||||||
|
|
|
@ -6,7 +6,7 @@
|
||||||
the application requests the pad. The first is called a
|
the application requests the pad. The first is called a
|
||||||
<emphasis>sometimes</emphasis>; the second is called a
|
<emphasis>sometimes</emphasis>; the second is called a
|
||||||
<emphasis>request</emphasis> pad. The availability of a pad (always,
|
<emphasis>request</emphasis> pad. The availability of a pad (always,
|
||||||
sometimes or request) can be seen in a pad's template. This chapted will
|
sometimes or request) can be seen in a pad's template. This chapter will
|
||||||
discuss when each of the two is useful, how they are created and when
|
discuss when each of the two is useful, how they are created and when
|
||||||
they should be disposed.
|
they should be disposed.
|
||||||
</para>
|
</para>
|
||||||
|
|
|
@ -158,7 +158,7 @@ plugin_init (GstPlugin *plugin)
|
||||||
types, for the sake of readability. Below each table might follow a
|
types, for the sake of readability. Below each table might follow a
|
||||||
list of notes that apply to that table. In the definition of each type,
|
list of notes that apply to that table. In the definition of each type,
|
||||||
we try to follow the types and rules as defined by <ulink type="http"
|
we try to follow the types and rules as defined by <ulink type="http"
|
||||||
url="http://www.isi.edu/in-notes/iana/assignments/media-types/media-types">
|
url="http://www.iana.org/assignmentsmedia-types">
|
||||||
IANA</ulink> for as far as possible.
|
IANA</ulink> for as far as possible.
|
||||||
</para>
|
</para>
|
||||||
<para>
|
<para>
|
||||||
|
|
|
@ -180,7 +180,7 @@
|
||||||
The last chapter, <xref linkend="chapter-advanced-events"/>, will
|
The last chapter, <xref linkend="chapter-advanced-events"/>, will
|
||||||
discuss the concept of events in &GStreamer;. Events are, on the
|
discuss the concept of events in &GStreamer;. Events are, on the
|
||||||
one hand, another way of doing application-element interaction. It
|
one hand, another way of doing application-element interaction. It
|
||||||
atkes care of seeking, for example. On the other hand, it is also
|
takes care of seeking, for example. On the other hand, it is also
|
||||||
a way in which elements interact with each other, such as letting
|
a way in which elements interact with each other, such as letting
|
||||||
each other know about media stream discontinuities, forwarding tags
|
each other know about media stream discontinuities, forwarding tags
|
||||||
inside a pipeline and so on.
|
inside a pipeline and so on.
|
||||||
|
|
|
@ -76,7 +76,7 @@ GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/* A number of functon prototypes are given so we can refer to them later. */
|
/* A number of function prototypes are given so we can refer to them later. */
|
||||||
static void gst_example_class_init (GstExampleClass * klass);
|
static void gst_example_class_init (GstExampleClass * klass);
|
||||||
static void gst_example_init (GstExample * example);
|
static void gst_example_init (GstExample * example);
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ gst_example_class_init (GstExampleClass * klass)
|
||||||
*/
|
*/
|
||||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACTIVE, g_param_spec_int ("active", "active", "active", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
|
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACTIVE, g_param_spec_int ("active", "active", "active", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
|
||||||
|
|
||||||
/* Here we add a signal to the object. This is avery useless signal
|
/* Here we add a signal to the object. This is a very useless signal
|
||||||
* called asdf. The signal will also pass a pointer to the listeners
|
* called asdf. The signal will also pass a pointer to the listeners
|
||||||
* which happens to be the example element itself */
|
* which happens to be the example element itself */
|
||||||
gst_example_signals[ASDF] =
|
gst_example_signals[ASDF] =
|
||||||
|
@ -238,7 +238,7 @@ gst_example_chain (GstPad * pad, GstData * _data)
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
g_return_if_fail (buf != NULL);
|
g_return_if_fail (buf != NULL);
|
||||||
|
|
||||||
/* We need to get a pointer to the element this pad belogs to. */
|
/* We need to get a pointer to the element this pad belongs to. */
|
||||||
example = GST_EXAMPLE (gst_pad_get_parent (pad));
|
example = GST_EXAMPLE (gst_pad_get_parent (pad));
|
||||||
|
|
||||||
/* A few more sanity checks to make sure that the element that owns
|
/* A few more sanity checks to make sure that the element that owns
|
||||||
|
@ -249,7 +249,7 @@ gst_example_chain (GstPad * pad, GstData * _data)
|
||||||
|
|
||||||
/* If we are supposed to be doing something, here's where it happens. */
|
/* If we are supposed to be doing something, here's where it happens. */
|
||||||
if (example->active) {
|
if (example->active) {
|
||||||
/* In this example we're going to copy the buffer to another one,
|
/* In this example we're going to copy the buffer to another one,
|
||||||
* so we need to allocate a new buffer first. */
|
* so we need to allocate a new buffer first. */
|
||||||
outbuf = gst_buffer_new ();
|
outbuf = gst_buffer_new ();
|
||||||
|
|
||||||
|
@ -283,8 +283,8 @@ gst_example_chain (GstPad * pad, GstData * _data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Arguments are part of the Gtk+ object system, and these functions
|
/* Properties are part of the GLib+ object system, and these functions
|
||||||
* enable the element to respond to various arguments.
|
* enable the element to respond to various properties.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
gst_example_set_property (GObject * object, guint prop_id, const GValue * value,
|
gst_example_set_property (GObject * object, guint prop_id, const GValue * value,
|
||||||
|
@ -292,7 +292,6 @@ gst_example_set_property (GObject * object, guint prop_id, const GValue * value,
|
||||||
{
|
{
|
||||||
GstExample *example;
|
GstExample *example;
|
||||||
|
|
||||||
/* It's not null if we got it, but it might not be ours */
|
|
||||||
g_return_if_fail (GST_IS_EXAMPLE (object));
|
g_return_if_fail (GST_IS_EXAMPLE (object));
|
||||||
|
|
||||||
/* Get a pointer of the right type. */
|
/* Get a pointer of the right type. */
|
||||||
|
@ -321,8 +320,8 @@ gst_example_get_property (GObject * object, guint prop_id, GValue * value,
|
||||||
{
|
{
|
||||||
GstExample *example;
|
GstExample *example;
|
||||||
|
|
||||||
/* It's not null if we got it, but it might not be ours */
|
|
||||||
g_return_if_fail (GST_IS_EXAMPLE (object));
|
g_return_if_fail (GST_IS_EXAMPLE (object));
|
||||||
|
|
||||||
example = GST_EXAMPLE (object);
|
example = GST_EXAMPLE (object);
|
||||||
|
|
||||||
switch (prop_id) {
|
switch (prop_id) {
|
||||||
|
@ -352,11 +351,9 @@ gst_example_change_state (GstElement * element)
|
||||||
* of the element */
|
* of the element */
|
||||||
switch (GST_STATE_TRANSITION (element)) {
|
switch (GST_STATE_TRANSITION (element)) {
|
||||||
/* The NULL to READY transition is used to
|
/* The NULL to READY transition is used to
|
||||||
* create threads (if any) */
|
* create threads (if any), and/or open devices */
|
||||||
case GST_STATE_NULL_TO_READY:
|
case GST_STATE_NULL_TO_READY:
|
||||||
break;
|
break;
|
||||||
/* In the READY to PAUSED state, the element should
|
|
||||||
* open devices (if any) */
|
|
||||||
case GST_STATE_READY_TO_PAUSED:
|
case GST_STATE_READY_TO_PAUSED:
|
||||||
break;
|
break;
|
||||||
/* In the PAUSED to PLAYING state, the element should
|
/* In the PAUSED to PLAYING state, the element should
|
||||||
|
@ -388,8 +385,8 @@ gst_example_change_state (GstElement * element)
|
||||||
static gboolean
|
static gboolean
|
||||||
plugin_init (GstPlugin * plugin)
|
plugin_init (GstPlugin * plugin)
|
||||||
{
|
{
|
||||||
/* We need to register each element we provide with the plugin. This consists
|
/* We need to register each element we provide with the plugin. This consists
|
||||||
* of the name of the element, a rank that gives the importance of the element
|
* of the name of the element, a rank that gives the importance of the element
|
||||||
* when compared to similar plugins and the GType identifier.
|
* when compared to similar plugins and the GType identifier.
|
||||||
*/
|
*/
|
||||||
if (!gst_element_register (plugin, "example", GST_RANK_MARGINAL,
|
if (!gst_element_register (plugin, "example", GST_RANK_MARGINAL,
|
||||||
|
@ -419,7 +416,7 @@ GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, /* The major version of the core that th
|
||||||
"an example plugin", /* a short description of the plugin in English */
|
"an example plugin", /* a short description of the plugin in English */
|
||||||
plugin_init, /* Pointer to the initialisation function for the plugin. */
|
plugin_init, /* Pointer to the initialisation function for the plugin. */
|
||||||
"0.1", /* The version number of the plugin */
|
"0.1", /* The version number of the plugin */
|
||||||
"LGPL", /* ieffective license the plugin can be shipped with. Must be
|
"LGPL", /* effective license the plugin can be shipped with. Must be
|
||||||
* valid for all libraries it links to, too. */
|
* valid for all libraries it links to, too. */
|
||||||
"my nifty plugin package",
|
"my nifty plugin package",
|
||||||
/* package this plugin belongs to. */
|
/* package this plugin belongs to. */
|
||||||
|
|
|
@ -56,7 +56,7 @@ struct _GstExampleClass {
|
||||||
void (*asdf) (GstElement *element, GstExample *example);
|
void (*asdf) (GstElement *element, GstExample *example);
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Five standard preprocessing macros are used in the Gtk+ object system.
|
/* Five standard preprocessing macros are used in the GLib object system.
|
||||||
* The first uses the object's _get_type function to return the GType
|
* The first uses the object's _get_type function to return the GType
|
||||||
* of the object.
|
* of the object.
|
||||||
*/
|
*/
|
||||||
|
|
|
@ -76,7 +76,7 @@ GstStaticPadTemplate src_template = GST_STATIC_PAD_TEMPLATE ("src",
|
||||||
);
|
);
|
||||||
|
|
||||||
|
|
||||||
/* A number of functon prototypes are given so we can refer to them later. */
|
/* A number of function prototypes are given so we can refer to them later. */
|
||||||
static void gst_example_class_init (GstExampleClass * klass);
|
static void gst_example_class_init (GstExampleClass * klass);
|
||||||
static void gst_example_init (GstExample * example);
|
static void gst_example_init (GstExample * example);
|
||||||
|
|
||||||
|
@ -155,7 +155,7 @@ gst_example_class_init (GstExampleClass * klass)
|
||||||
*/
|
*/
|
||||||
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACTIVE, g_param_spec_int ("active", "active", "active", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
|
g_object_class_install_property (G_OBJECT_CLASS (klass), ARG_ACTIVE, g_param_spec_int ("active", "active", "active", G_MININT, G_MAXINT, 0, G_PARAM_READWRITE)); /* CHECKME */
|
||||||
|
|
||||||
/* Here we add a signal to the object. This is avery useless signal
|
/* Here we add a signal to the object. This is a very useless signal
|
||||||
* called asdf. The signal will also pass a pointer to the listeners
|
* called asdf. The signal will also pass a pointer to the listeners
|
||||||
* which happens to be the example element itself */
|
* which happens to be the example element itself */
|
||||||
gst_example_signals[ASDF] =
|
gst_example_signals[ASDF] =
|
||||||
|
@ -238,7 +238,7 @@ gst_example_chain (GstPad * pad, GstData * _data)
|
||||||
g_return_if_fail (GST_IS_PAD (pad));
|
g_return_if_fail (GST_IS_PAD (pad));
|
||||||
g_return_if_fail (buf != NULL);
|
g_return_if_fail (buf != NULL);
|
||||||
|
|
||||||
/* We need to get a pointer to the element this pad belogs to. */
|
/* We need to get a pointer to the element this pad belongs to. */
|
||||||
example = GST_EXAMPLE (gst_pad_get_parent (pad));
|
example = GST_EXAMPLE (gst_pad_get_parent (pad));
|
||||||
|
|
||||||
/* A few more sanity checks to make sure that the element that owns
|
/* A few more sanity checks to make sure that the element that owns
|
||||||
|
@ -249,7 +249,7 @@ gst_example_chain (GstPad * pad, GstData * _data)
|
||||||
|
|
||||||
/* If we are supposed to be doing something, here's where it happens. */
|
/* If we are supposed to be doing something, here's where it happens. */
|
||||||
if (example->active) {
|
if (example->active) {
|
||||||
/* In this example we're going to copy the buffer to another one,
|
/* In this example we're going to copy the buffer to another one,
|
||||||
* so we need to allocate a new buffer first. */
|
* so we need to allocate a new buffer first. */
|
||||||
outbuf = gst_buffer_new ();
|
outbuf = gst_buffer_new ();
|
||||||
|
|
||||||
|
@ -283,8 +283,8 @@ gst_example_chain (GstPad * pad, GstData * _data)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
/* Arguments are part of the Gtk+ object system, and these functions
|
/* Properties are part of the GLib+ object system, and these functions
|
||||||
* enable the element to respond to various arguments.
|
* enable the element to respond to various properties.
|
||||||
*/
|
*/
|
||||||
static void
|
static void
|
||||||
gst_example_set_property (GObject * object, guint prop_id, const GValue * value,
|
gst_example_set_property (GObject * object, guint prop_id, const GValue * value,
|
||||||
|
@ -292,7 +292,6 @@ gst_example_set_property (GObject * object, guint prop_id, const GValue * value,
|
||||||
{
|
{
|
||||||
GstExample *example;
|
GstExample *example;
|
||||||
|
|
||||||
/* It's not null if we got it, but it might not be ours */
|
|
||||||
g_return_if_fail (GST_IS_EXAMPLE (object));
|
g_return_if_fail (GST_IS_EXAMPLE (object));
|
||||||
|
|
||||||
/* Get a pointer of the right type. */
|
/* Get a pointer of the right type. */
|
||||||
|
@ -321,8 +320,8 @@ gst_example_get_property (GObject * object, guint prop_id, GValue * value,
|
||||||
{
|
{
|
||||||
GstExample *example;
|
GstExample *example;
|
||||||
|
|
||||||
/* It's not null if we got it, but it might not be ours */
|
|
||||||
g_return_if_fail (GST_IS_EXAMPLE (object));
|
g_return_if_fail (GST_IS_EXAMPLE (object));
|
||||||
|
|
||||||
example = GST_EXAMPLE (object);
|
example = GST_EXAMPLE (object);
|
||||||
|
|
||||||
switch (prop_id) {
|
switch (prop_id) {
|
||||||
|
@ -352,11 +351,9 @@ gst_example_change_state (GstElement * element)
|
||||||
* of the element */
|
* of the element */
|
||||||
switch (GST_STATE_TRANSITION (element)) {
|
switch (GST_STATE_TRANSITION (element)) {
|
||||||
/* The NULL to READY transition is used to
|
/* The NULL to READY transition is used to
|
||||||
* create threads (if any) */
|
* create threads (if any), and/or open devices */
|
||||||
case GST_STATE_NULL_TO_READY:
|
case GST_STATE_NULL_TO_READY:
|
||||||
break;
|
break;
|
||||||
/* In the READY to PAUSED state, the element should
|
|
||||||
* open devices (if any) */
|
|
||||||
case GST_STATE_READY_TO_PAUSED:
|
case GST_STATE_READY_TO_PAUSED:
|
||||||
break;
|
break;
|
||||||
/* In the PAUSED to PLAYING state, the element should
|
/* In the PAUSED to PLAYING state, the element should
|
||||||
|
@ -388,8 +385,8 @@ gst_example_change_state (GstElement * element)
|
||||||
static gboolean
|
static gboolean
|
||||||
plugin_init (GstPlugin * plugin)
|
plugin_init (GstPlugin * plugin)
|
||||||
{
|
{
|
||||||
/* We need to register each element we provide with the plugin. This consists
|
/* We need to register each element we provide with the plugin. This consists
|
||||||
* of the name of the element, a rank that gives the importance of the element
|
* of the name of the element, a rank that gives the importance of the element
|
||||||
* when compared to similar plugins and the GType identifier.
|
* when compared to similar plugins and the GType identifier.
|
||||||
*/
|
*/
|
||||||
if (!gst_element_register (plugin, "example", GST_RANK_MARGINAL,
|
if (!gst_element_register (plugin, "example", GST_RANK_MARGINAL,
|
||||||
|
@ -419,7 +416,7 @@ GST_PLUGIN_DEFINE (GST_VERSION_MAJOR, /* The major version of the core that th
|
||||||
"an example plugin", /* a short description of the plugin in English */
|
"an example plugin", /* a short description of the plugin in English */
|
||||||
plugin_init, /* Pointer to the initialisation function for the plugin. */
|
plugin_init, /* Pointer to the initialisation function for the plugin. */
|
||||||
"0.1", /* The version number of the plugin */
|
"0.1", /* The version number of the plugin */
|
||||||
"LGPL", /* ieffective license the plugin can be shipped with. Must be
|
"LGPL", /* effective license the plugin can be shipped with. Must be
|
||||||
* valid for all libraries it links to, too. */
|
* valid for all libraries it links to, too. */
|
||||||
"my nifty plugin package",
|
"my nifty plugin package",
|
||||||
/* package this plugin belongs to. */
|
/* package this plugin belongs to. */
|
||||||
|
|
|
@ -56,7 +56,7 @@ struct _GstExampleClass {
|
||||||
void (*asdf) (GstElement *element, GstExample *example);
|
void (*asdf) (GstElement *element, GstExample *example);
|
||||||
};
|
};
|
||||||
|
|
||||||
/* Five standard preprocessing macros are used in the Gtk+ object system.
|
/* Five standard preprocessing macros are used in the GLib object system.
|
||||||
* The first uses the object's _get_type function to return the GType
|
* The first uses the object's _get_type function to return the GType
|
||||||
* of the object.
|
* of the object.
|
||||||
*/
|
*/
|
||||||
|
|
Loading…
Reference in a new issue