[farsight2/master] Rename it back to FsRtpSpecialSource (its more descriptive)
Olivier Crête
olivier.crete at collabora.co.uk
Tue Dec 23 15:21:31 PST 2008
---
gst/fsrtpconference/Makefile.am | 4 +-
gst/fsrtpconference/fs-rtp-special-codec.c | 233 ---------------------------
gst/fsrtpconference/fs-rtp-special-codec.h | 95 -----------
gst/fsrtpconference/fs-rtp-special-source.c | 233 +++++++++++++++++++++++++++
gst/fsrtpconference/fs-rtp-special-source.h | 95 +++++++++++
5 files changed, 330 insertions(+), 330 deletions(-)
delete mode 100644 gst/fsrtpconference/fs-rtp-special-codec.c
delete mode 100644 gst/fsrtpconference/fs-rtp-special-codec.h
create mode 100644 gst/fsrtpconference/fs-rtp-special-source.c
create mode 100644 gst/fsrtpconference/fs-rtp-special-source.h
diff --git a/gst/fsrtpconference/Makefile.am b/gst/fsrtpconference/Makefile.am
index 003cb0a..8cc0ffd 100644
--- a/gst/fsrtpconference/Makefile.am
+++ b/gst/fsrtpconference/Makefile.am
@@ -10,7 +10,7 @@ libfsrtpconference_la_SOURCES = gstfsrtpconference.c \
fs-rtp-codec-cache.c \
fs-rtp-codec-negotiation.c \
fs-rtp-specific-nego.c \
- fs-rtp-special-codec.c
+ fs-rtp-special-source.c
libfsrtpconference_la_CFLAGS = $(FS2_INTERNAL_CFLAGS) $(FS2_CFLAGS) $(GST_PLUGINS_BASE_CFLAGS) $(GST_CFLAGS)
libfsrtpconference_la_LDFLAGS = $(GST_PLUGIN_LDFLAGS)
@@ -29,4 +29,4 @@ noinst_HEADERS = \
fs-rtp-codec-cache.h \
fs-rtp-codec-negotiation.h \
fs-rtp-specific-nego.h \
- fs-rtp-special-codec.h
+ fs-rtp-special-source.h
diff --git a/gst/fsrtpconference/fs-rtp-special-codec.c b/gst/fsrtpconference/fs-rtp-special-codec.c
deleted file mode 100644
index f0cc5b6..0000000
--- a/gst/fsrtpconference/fs-rtp-special-codec.c
+++ /dev/null
@@ -1,233 +0,0 @@
-/*
- * Farsight2 - Farsight RTP Special Codec
- *
- * Copyright 2007 Collabora Ltd.
- * @author: Olivier Crete <olivier.crete at collabora.co.uk>
- * Copyright 2007 Nokia Corp.
- *
- * fs-rtp-substream.c - A Farsight RTP Substream gobject
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#ifdef HAVE_CONFIG_H
-#include "config.h"
-#endif
-
-#include "fs-rtp-special-codec.h"
-
-#define GST_CAT_DEFAULT fsrtpconference_debug
-
-/**
- * SECTION:fs-rtp-special-codec
- * @short_description: Base class to abstract how special codecs are handled
- *
- * This class defines how special codecs can be handled, it is the base
- * for DMTF and CN sources.
- *
- */
-
-
-#define DEFAULT_NO_RTCP_TIMEOUT (7000)
-
-struct _FsRtpSpecialCodecPrivate {
- gboolean disposed;
-};
-
-static GObjectClass *parent_class = NULL;
-
-static GList *classes = NULL;
-
-G_DEFINE_ABSTRACT_TYPE(FsRtpSpecialCodec, fs_rtp_special_codec, G_TYPE_OBJECT);
-
-#define FS_RTP_SPECIAL_CODEC_GET_PRIVATE(o) \
- (G_TYPE_INSTANCE_GET_PRIVATE ((o), FS_TYPE_RTP_SPECIAL_CODEC, \
- FsRtpSpecialCodecPrivate))
-
-static void fs_rtp_special_codec_dispose (GObject *object);
-
-static FsRtpSpecialCodec *
-fs_rtp_special_codec_new (FsRtpSpecialCodecClass *klass,
- GList *negotiated_codecs,
- GError **error);
-static gboolean
-fs_rtp_special_codec_update (FsRtpSpecialCodec *codec,
- GList *negotiated_codecs);
-
-static void
-fs_rtp_special_codec_class_init (FsRtpSpecialCodecClass *klass)
-{
- GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
-
- parent_class = fs_rtp_special_codec_parent_class;
-
- gobject_class->dispose = fs_rtp_special_codec_dispose;
-
- if (!classes)
- {
- //classes = g_list_prepend (classes, g_type_ref_class(GTYPE1));
- }
-}
-
-
-static void
-fs_rtp_special_codec_init (FsRtpSpecialCodec *self)
-{
- self->priv = FS_RTP_SPECIAL_CODEC_GET_PRIVATE (self);
- self->priv->disposed = FALSE;
-}
-
-static void
-fs_rtp_special_codec_dispose (GObject *object)
-{
- FsRtpSpecialCodec *self = FS_RTP_SPECIAL_CODEC (object);
-
- if (self->priv->disposed)
- return;
-
- self->priv->disposed = TRUE;
- G_OBJECT_CLASS (fs_rtp_special_codec_parent_class)->dispose (object);
-}
-
-
-static GList*
-fs_rtp_special_codec_class_add_blueprint (FsRtpSpecialCodecClass *klass,
- GList *blueprints)
-{
- if (klass->add_blueprint)
- return klass->add_blueprint (klass, blueprints);
-
- return blueprints;
-}
-
-static gboolean
-fs_rtp_special_codec_class_want_codec (FsRtpSpecialCodecClass *klass,
- GList *negotiated_codecs)
-{
- if (klass->want_codec)
- return klass->want_codec (klass, negotiated_codecs);
-
- return FALSE;
-}
-
-GList *
-fs_rtp_special_codecs_add_blueprints (GList *blueprints)
-{
- GList *item = NULL;
-
- for (item = g_list_first (classes);
- item;
- item = g_list_next (item))
- {
- FsRtpSpecialCodecClass *klass = item->data;
- blueprints = fs_rtp_special_codec_class_add_blueprint (klass, blueprints);
- }
-
- return blueprints;
-}
-
-/**
- * fs_rtp_special_codecs_update:
- * @current_extra_codecs: The #GList returned by previous calls to this function
- * @negotiated_codecs: A #GList of current negotiated #FsCodec
- * @error: NULL or the local of a #GError
- *
- * This function checks which extra codecs are currently being used and
- * which should be used according to currently negotiated codecs. It then
- * creates, destroys or modifies the list accordingly
- *
- * Returns: A #GList to be passed to other functions in this class
- */
-
-GList *
-fs_rtp_special_codecs_update (
- GList *current_extra_codecs,
- GList *negotiated_codecs,
- GError **error)
-{
- GList *klass_item = NULL;
-
- for (klass_item = g_list_first (classes);
- klass_item;
- klass_item = g_list_next (klass_item))
- {
- FsRtpSpecialCodecClass *klass = klass_item->data;
- GList *obj_item;
- FsRtpSpecialCodec *obj = NULL;
-
- /* Check if we already have an object for this type */
- for (obj_item = g_list_first (current_extra_codecs);
- obj_item;
- obj_item = g_list_next (obj_item))
- {
- obj = obj_item->data;
- if (G_OBJECT_TYPE(obj) == G_OBJECT_CLASS_TYPE(klass))
- break;
- }
-
- if (obj_item)
- {
- if (fs_rtp_special_codec_class_want_codec (klass, negotiated_codecs))
- {
- if (!fs_rtp_special_codec_update (obj, negotiated_codecs))
- {
- current_extra_codecs = g_list_remove (current_extra_codecs, obj);
- g_object_unref (obj);
- obj = fs_rtp_special_codec_new (klass, negotiated_codecs, error);
- if (!obj)
- goto error;
- current_extra_codecs = g_list_prepend (current_extra_codecs, obj);
- }
- }
- else
- {
- current_extra_codecs = g_list_remove (current_extra_codecs, obj);
- g_object_unref (obj);
- }
- }
- else
- {
- if (fs_rtp_special_codec_class_want_codec (klass, negotiated_codecs))
- {
- obj = fs_rtp_special_codec_new (klass, negotiated_codecs, error);
- if (!obj)
- goto error;
- current_extra_codecs = g_list_prepend (current_extra_codecs, obj);
- }
- }
- }
-
- error:
-
- return current_extra_codecs;
-}
-
-
-static FsRtpSpecialCodec *
-fs_rtp_special_codec_new (FsRtpSpecialCodecClass *klass,
- GList *negotiated_codecs,
- GError **error)
-{
- /* STUB */
- return NULL;
-}
-
-static gboolean
-fs_rtp_special_codec_update (FsRtpSpecialCodec *codec,
- GList *negotiated_codecs)
-{
- return FALSE;
-}
diff --git a/gst/fsrtpconference/fs-rtp-special-codec.h b/gst/fsrtpconference/fs-rtp-special-codec.h
deleted file mode 100644
index 2c9f9b2..0000000
--- a/gst/fsrtpconference/fs-rtp-special-codec.h
+++ /dev/null
@@ -1,95 +0,0 @@
-/*
- * Farsight2 - Farsight RTP Special Codec
- *
- * Copyright 2007 Collabora Ltd.
- * @author: Olivier Crete <olivier.crete at collabora.co.uk>
- * Copyright 2007 Nokia Corp.
- *
- * fs-rtp-substream.h - A Farsight RTP Substream gobject
- *
- * This library is free software; you can redistribute it and/or
- * modify it under the terms of the GNU Lesser General Public
- * License as published by the Free Software Foundation; either
- * version 2.1 of the License, or (at your option) any later version.
- *
- * This library is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- * Lesser General Public License for more details.
- *
- * You should have received a copy of the GNU Lesser General Public
- * License along with this library; if not, write to the Free Software
- * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
- */
-
-
-#ifndef __FS_RTP_SPECIAL_CODEC_H__
-#define __FS_RTP_SPECIAL_CODEC_H__
-
-#include <gst/gst.h>
-
-G_BEGIN_DECLS
-
-/* TYPE MACROS */
-#define FS_TYPE_RTP_SPECIAL_CODEC \
- (fs_rtp_special_codec_get_type())
-#define FS_RTP_SPECIAL_CODEC(obj) \
- (G_TYPE_CHECK_INSTANCE_CAST((obj), FS_TYPE_RTP_SPECIAL_CODEC, \
- FsRtpSpecialCodec))
-#define FS_RTP_SPECIAL_CODEC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_CAST((klass), FS_TYPE_RTP_SPECIAL_CODEC, \
- FsRtpSpecialCodecClass))
-#define FS_IS_RTP_SPECIAL_CODEC(obj) \
- (G_TYPE_CHECK_INSTANCE_TYPE((obj), FS_TYPE_RTP_SPECIAL_CODEC))
-#define FS_IS_RTP_SPECIAL_CODEC_CLASS(klass) \
- (G_TYPE_CHECK_CLASS_TYPE((klass), FS_TYPE_RTP_SPECIAL_CODEC))
-#define FS_RTP_SPECIAL_CODEC_GET_CLASS(obj) \
- (G_TYPE_INSTANCE_GET_CLASS ((obj), FS_TYPE_RTP_SPECIAL_CODEC, \
- FsRtpSpecialCodecClass))
-#define FS_RTP_SPECIAL_CODEC_CAST(obj) ((FsRtpSpecialCodec*) (obj))
-
-typedef struct _FsRtpSpecialCodec FsRtpSpecialCodec;
-typedef struct _FsRtpSpecialCodecClass FsRtpSpecialCodecClass;
-typedef struct _FsRtpSpecialCodecPrivate FsRtpSpecialCodecPrivate;
-
-struct _FsRtpSpecialCodecClass
-{
- GObjectClass parent_class;
-
- /* Object methods */
-
- gboolean (*update) (FsRtpSpecialCodec *codec,
- GList *negotiated_codecs);
-
- /* Class methods */
- gboolean (*want_codec) (FsRtpSpecialCodecClass *klass,
- GList *negotiated_codecs);
-
- GList* (*add_blueprint) (FsRtpSpecialCodecClass *klass,
- GList *blueprints);
-};
-
-/**
- * FsRtpSpecialCodec:
- *
- */
-struct _FsRtpSpecialCodec
-{
- GObject parent;
- FsRtpSpecialCodecPrivate *priv;
-};
-
-GType fs_rtp_special_codec_get_type (void);
-
-GList *
-fs_rtp_special_codecs_update (
- GList *current_extra_codecs,
- GList *negotiated_codecs,
- GError **error);
-
-GList *
-fs_rtp_special_codecs_add_blueprints (GList *blueprints);
-
-G_END_DECLS
-
-#endif /* __FS_RTP_SPECIAL_CODEC_H__ */
diff --git a/gst/fsrtpconference/fs-rtp-special-source.c b/gst/fsrtpconference/fs-rtp-special-source.c
new file mode 100644
index 0000000..d1d94d4
--- /dev/null
+++ b/gst/fsrtpconference/fs-rtp-special-source.c
@@ -0,0 +1,233 @@
+/*
+ * Farsight2 - Farsight RTP Special Codec
+ *
+ * Copyright 2007 Collabora Ltd.
+ * @author: Olivier Crete <olivier.crete at collabora.co.uk>
+ * Copyright 2007 Nokia Corp.
+ *
+ * fs-rtp-substream.c - A Farsight RTP Substream gobject
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#ifdef HAVE_CONFIG_H
+#include "config.h"
+#endif
+
+#include "fs-rtp-special-source.h"
+
+#define GST_CAT_DEFAULT fsrtpconference_debug
+
+/**
+ * SECTION:fs-rtp-special-source
+ * @short_description: Base class to abstract how special sources are handled
+ *
+ * This class defines how special sources can be handled, it is the base
+ * for DMTF and CN sources.
+ *
+ */
+
+
+#define DEFAULT_NO_RTCP_TIMEOUT (7000)
+
+struct _FsRtpSpecialSourcePrivate {
+ gboolean disposed;
+};
+
+static GObjectClass *parent_class = NULL;
+
+static GList *classes = NULL;
+
+G_DEFINE_ABSTRACT_TYPE(FsRtpSpecialSource, fs_rtp_special_source, G_TYPE_OBJECT);
+
+#define FS_RTP_SPECIAL_SOURCE_GET_PRIVATE(o) \
+ (G_TYPE_INSTANCE_GET_PRIVATE ((o), FS_TYPE_RTP_SPECIAL_SOURCE, \
+ FsRtpSpecialSourcePrivate))
+
+static void fs_rtp_special_source_dispose (GObject *object);
+
+static FsRtpSpecialSource *
+fs_rtp_special_source_new (FsRtpSpecialSourceClass *klass,
+ GList *negotiated_sources,
+ GError **error);
+static gboolean
+fs_rtp_special_source_update (FsRtpSpecialSource *source,
+ GList *negotiated_sources);
+
+static void
+fs_rtp_special_source_class_init (FsRtpSpecialSourceClass *klass)
+{
+ GObjectClass *gobject_class = G_OBJECT_CLASS (klass);
+
+ parent_class = fs_rtp_special_source_parent_class;
+
+ gobject_class->dispose = fs_rtp_special_source_dispose;
+
+ if (!classes)
+ {
+ //classes = g_list_prepend (classes, g_type_ref_class(GTYPE1));
+ }
+}
+
+
+static void
+fs_rtp_special_source_init (FsRtpSpecialSource *self)
+{
+ self->priv = FS_RTP_SPECIAL_SOURCE_GET_PRIVATE (self);
+ self->priv->disposed = FALSE;
+}
+
+static void
+fs_rtp_special_source_dispose (GObject *object)
+{
+ FsRtpSpecialSource *self = FS_RTP_SPECIAL_SOURCE (object);
+
+ if (self->priv->disposed)
+ return;
+
+ self->priv->disposed = TRUE;
+ G_OBJECT_CLASS (fs_rtp_special_source_parent_class)->dispose (object);
+}
+
+
+static GList*
+fs_rtp_special_source_class_add_blueprint (FsRtpSpecialSourceClass *klass,
+ GList *blueprints)
+{
+ if (klass->add_blueprint)
+ return klass->add_blueprint (klass, blueprints);
+
+ return blueprints;
+}
+
+static gboolean
+fs_rtp_special_source_class_want_source (FsRtpSpecialSourceClass *klass,
+ GList *negotiated_sources)
+{
+ if (klass->want_source)
+ return klass->want_source (klass, negotiated_sources);
+
+ return FALSE;
+}
+
+GList *
+fs_rtp_special_sources_add_blueprints (GList *blueprints)
+{
+ GList *item = NULL;
+
+ for (item = g_list_first (classes);
+ item;
+ item = g_list_next (item))
+ {
+ FsRtpSpecialSourceClass *klass = item->data;
+ blueprints = fs_rtp_special_source_class_add_blueprint (klass, blueprints);
+ }
+
+ return blueprints;
+}
+
+/**
+ * fs_rtp_special_sources_update:
+ * @current_extra_sources: The #GList returned by previous calls to this function
+ * @negotiated_codecs: A #GList of current negotiated #FsCodec
+ * @error: NULL or the local of a #GError
+ *
+ * This function checks which extra sources are currently being used and
+ * which should be used according to currently negotiated codecs. It then
+ * creates, destroys or modifies the list accordingly
+ *
+ * Returns: A #GList to be passed to other functions in this class
+ */
+
+GList *
+fs_rtp_special_sources_update (
+ GList *current_extra_sources,
+ GList *negotiated_codecs,
+ GError **error)
+{
+ GList *klass_item = NULL;
+
+ for (klass_item = g_list_first (classes);
+ klass_item;
+ klass_item = g_list_next (klass_item))
+ {
+ FsRtpSpecialSourceClass *klass = klass_item->data;
+ GList *obj_item;
+ FsRtpSpecialSource *obj = NULL;
+
+ /* Check if we already have an object for this type */
+ for (obj_item = g_list_first (current_extra_sources);
+ obj_item;
+ obj_item = g_list_next (obj_item))
+ {
+ obj = obj_item->data;
+ if (G_OBJECT_TYPE(obj) == G_OBJECT_CLASS_TYPE(klass))
+ break;
+ }
+
+ if (obj_item)
+ {
+ if (fs_rtp_special_source_class_want_source (klass, negotiated_codecs))
+ {
+ if (!fs_rtp_special_source_update (obj, negotiated_codecs))
+ {
+ current_extra_sources = g_list_remove (current_extra_sources, obj);
+ g_object_unref (obj);
+ obj = fs_rtp_special_source_new (klass, negotiated_codecs, error);
+ if (!obj)
+ goto error;
+ current_extra_sources = g_list_prepend (current_extra_sources, obj);
+ }
+ }
+ else
+ {
+ current_extra_sources = g_list_remove (current_extra_sources, obj);
+ g_object_unref (obj);
+ }
+ }
+ else
+ {
+ if (fs_rtp_special_source_class_want_source (klass, negotiated_codecs))
+ {
+ obj = fs_rtp_special_source_new (klass, negotiated_codecs, error);
+ if (!obj)
+ goto error;
+ current_extra_sources = g_list_prepend (current_extra_sources, obj);
+ }
+ }
+ }
+
+ error:
+
+ return current_extra_sources;
+}
+
+
+static FsRtpSpecialSource *
+fs_rtp_special_source_new (FsRtpSpecialSourceClass *klass,
+ GList *negotiated_sources,
+ GError **error)
+{
+ /* STUB */
+ return NULL;
+}
+
+static gboolean
+fs_rtp_special_source_update (FsRtpSpecialSource *source,
+ GList *negotiated_sources)
+{
+ return FALSE;
+}
diff --git a/gst/fsrtpconference/fs-rtp-special-source.h b/gst/fsrtpconference/fs-rtp-special-source.h
new file mode 100644
index 0000000..52f4899
--- /dev/null
+++ b/gst/fsrtpconference/fs-rtp-special-source.h
@@ -0,0 +1,95 @@
+/*
+ * Farsight2 - Farsight RTP Special Source
+ *
+ * Copyright 2007 Collabora Ltd.
+ * @author: Olivier Crete <olivier.crete at collabora.co.uk>
+ * Copyright 2007 Nokia Corp.
+ *
+ * fs-rtp-substream.h - A Farsight RTP Substream gobject
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Lesser General Public
+ * License as published by the Free Software Foundation; either
+ * version 2.1 of the License, or (at your option) any later version.
+ *
+ * This library is distributed in the hope that it will be useful,
+ * but WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
+ * Lesser General Public License for more details.
+ *
+ * You should have received a copy of the GNU Lesser General Public
+ * License along with this library; if not, write to the Free Software
+ * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
+ */
+
+
+#ifndef __FS_RTP_SPECIAL_SOURCE_H__
+#define __FS_RTP_SPECIAL_SOURCE_H__
+
+#include <gst/gst.h>
+
+G_BEGIN_DECLS
+
+/* TYPE MACROS */
+#define FS_TYPE_RTP_SPECIAL_SOURCE \
+ (fs_rtp_special_source_get_type())
+#define FS_RTP_SPECIAL_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_CAST((obj), FS_TYPE_RTP_SPECIAL_SOURCE, \
+ FsRtpSpecialSource))
+#define FS_RTP_SPECIAL_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_CAST((klass), FS_TYPE_RTP_SPECIAL_SOURCE, \
+ FsRtpSpecialSourceClass))
+#define FS_IS_RTP_SPECIAL_SOURCE(obj) \
+ (G_TYPE_CHECK_INSTANCE_TYPE((obj), FS_TYPE_RTP_SPECIAL_SOURCE))
+#define FS_IS_RTP_SPECIAL_SOURCE_CLASS(klass) \
+ (G_TYPE_CHECK_CLASS_TYPE((klass), FS_TYPE_RTP_SPECIAL_SOURCE))
+#define FS_RTP_SPECIAL_SOURCE_GET_CLASS(obj) \
+ (G_TYPE_INSTANCE_GET_CLASS ((obj), FS_TYPE_RTP_SPECIAL_SOURCE, \
+ FsRtpSpecialSourceClass))
+#define FS_RTP_SPECIAL_SOURCE_CAST(obj) ((FsRtpSpecialSource*) (obj))
+
+typedef struct _FsRtpSpecialSource FsRtpSpecialSource;
+typedef struct _FsRtpSpecialSourceClass FsRtpSpecialSourceClass;
+typedef struct _FsRtpSpecialSourcePrivate FsRtpSpecialSourcePrivate;
+
+struct _FsRtpSpecialSourceClass
+{
+ GObjectClass parent_class;
+
+ /* Object methods */
+
+ gboolean (*update) (FsRtpSpecialSource *source,
+ GList *negotiated_codecs);
+
+ /* Class methods */
+ gboolean (*want_source) (FsRtpSpecialSourceClass *klass,
+ GList *negotiated_codecs);
+
+ GList* (*add_blueprint) (FsRtpSpecialSourceClass *klass,
+ GList *blueprints);
+};
+
+/**
+ * FsRtpSpecialSource:
+ *
+ */
+struct _FsRtpSpecialSource
+{
+ GObject parent;
+ FsRtpSpecialSourcePrivate *priv;
+};
+
+GType fs_rtp_special_source_get_type (void);
+
+GList *
+fs_rtp_special_sources_update (
+ GList *current_extra_sources,
+ GList *negotiated_codecs,
+ GError **error);
+
+GList *
+fs_rtp_special_sources_add_blueprints (GList *blueprints);
+
+G_END_DECLS
+
+#endif /* __FS_RTP_SPECIAL_SOURCE_H__ */
--
1.5.6.5
More information about the farsight-commits
mailing list