summaryrefslogtreecommitdiff
path: root/gst
diff options
context:
space:
mode:
authorOlivier CrĂȘte <olivier.crete@collabora.com>2012-01-27 18:55:09 +0100
committerOlivier CrĂȘte <olivier.crete@collabora.com>2012-09-10 19:32:08 -0400
commit242b113f9d7196d7422027494d8b471ebb50aa87 (patch)
tree0858b4ab5a1428afc43faaaf13e7733598d5c27c /gst
parente2383f9b36498c62833c12ab39800fecaa42612f (diff)
downloadlibnice-242b113f9d7196d7422027494d8b471ebb50aa87.tar.gz
Use GstPushSrc as a base class
Diffstat (limited to 'gst')
-rw-r--r--gst/gstnicesrc.c17
-rw-r--r--gst/gstnicesrc.h8
2 files changed, 10 insertions, 15 deletions
diff --git a/gst/gstnicesrc.c b/gst/gstnicesrc.c
index 321a97c..d879d01 100644
--- a/gst/gstnicesrc.c
+++ b/gst/gstnicesrc.c
@@ -50,9 +50,7 @@ GST_DEBUG_CATEGORY_STATIC (nicesrc_debug);
static GstFlowReturn
gst_nice_src_create (
- GstBaseSrc *basesrc,
- guint64 offset,
- guint length,
+ GstPushSrc *basesrc,
GstBuffer **buffer);
static gboolean
@@ -93,7 +91,7 @@ GST_STATIC_PAD_TEMPLATE (
GST_PAD_ALWAYS,
GST_STATIC_CAPS_ANY);
-G_DEFINE_TYPE (GstNiceSrc, gst_nice_src, GST_TYPE_BASE_SRC);
+G_DEFINE_TYPE (GstNiceSrc, gst_nice_src, GST_TYPE_PUSH_SRC);
enum
{
@@ -106,6 +104,7 @@ enum
static void
gst_nice_src_class_init (GstNiceSrcClass *klass)
{
+ GstPushSrcClass *gstpushsrc_class;
GstBaseSrcClass *gstbasesrc_class;
GstElementClass *gstelement_class;
GObjectClass *gobject_class;
@@ -113,8 +112,10 @@ gst_nice_src_class_init (GstNiceSrcClass *klass)
GST_DEBUG_CATEGORY_INIT (nicesrc_debug, "nicesrc",
0, "libnice source");
+ gstpushsrc_class = (GstPushSrcClass *) klass;
+ gstpushsrc_class->create = GST_DEBUG_FUNCPTR (gst_nice_src_create);
+
gstbasesrc_class = (GstBaseSrcClass *) klass;
- gstbasesrc_class->create = GST_DEBUG_FUNCPTR (gst_nice_src_create);
gstbasesrc_class->unlock = GST_DEBUG_FUNCPTR (gst_nice_src_unlock);
gstbasesrc_class->unlock_stop = GST_DEBUG_FUNCPTR (gst_nice_src_unlock_stop);
@@ -262,17 +263,13 @@ gst_nice_src_unlock_stop (GstBaseSrc *src)
static GstFlowReturn
gst_nice_src_create (
- GstBaseSrc *basesrc,
- guint64 offset,
- guint length,
+ GstPushSrc *basesrc,
GstBuffer **buffer)
{
GstNiceSrc *nicesrc = GST_NICE_SRC (basesrc);
GST_LOG_OBJECT (nicesrc, "create called");
- nicesrc->offset = offset;
-
GST_OBJECT_LOCK (basesrc);
if (nicesrc->unlocked) {
GST_OBJECT_UNLOCK (basesrc);
diff --git a/gst/gstnicesrc.h b/gst/gstnicesrc.h
index 7b4327a..5d3f554 100644
--- a/gst/gstnicesrc.h
+++ b/gst/gstnicesrc.h
@@ -39,7 +39,7 @@
#define _GSTNICESRC_H
#include <gst/gst.h>
-#include <gst/base/gstbasesrc.h>
+#include <gst/base/gstpushsrc.h>
#include <nice/nice.h>
@@ -60,15 +60,13 @@ typedef struct _GstNiceSrc GstNiceSrc;
struct _GstNiceSrc
{
- GstBaseSrc parent;
+ GstPushSrc parent;
GstPad *srcpad;
NiceAgent *agent;
guint stream_id;
guint component_id;
GMainContext *mainctx;
GMainLoop *mainloop;
- guint64 offset;
- GstFlowReturn flow_ret;
GQueue *outbufs;
gboolean unlocked;
GSource *idle_source;
@@ -78,7 +76,7 @@ typedef struct _GstNiceSrcClass GstNiceSrcClass;
struct _GstNiceSrcClass
{
- GstBaseSrcClass parent_class;
+ GstPushSrcClass parent_class;
};
GType gst_nice_src_get_type (void);