diff options
Diffstat (limited to 'gst/inter/gstintervideosink.c')
-rw-r--r-- | gst/inter/gstintervideosink.c | 141 |
1 files changed, 11 insertions, 130 deletions
diff --git a/gst/inter/gstintervideosink.c b/gst/inter/gstintervideosink.c index d80047e0d..6c25590f9 100644 --- a/gst/inter/gstintervideosink.c +++ b/gst/inter/gstintervideosink.c @@ -55,30 +55,14 @@ static void gst_inter_video_sink_set_property (GObject * object, guint property_id, const GValue * value, GParamSpec * pspec); static void gst_inter_video_sink_get_property (GObject * object, guint property_id, GValue * value, GParamSpec * pspec); -static void gst_inter_video_sink_dispose (GObject * object); static void gst_inter_video_sink_finalize (GObject * object); -static GstCaps *gst_inter_video_sink_get_caps (GstBaseSink * sink); -static gboolean gst_inter_video_sink_set_caps (GstBaseSink * sink, - GstCaps * caps); -static GstFlowReturn gst_inter_video_sink_buffer_alloc (GstBaseSink * sink, - guint64 offset, guint size, GstCaps * caps, GstBuffer ** buf); static void gst_inter_video_sink_get_times (GstBaseSink * sink, GstBuffer * buffer, GstClockTime * start, GstClockTime * end); static gboolean gst_inter_video_sink_start (GstBaseSink * sink); static gboolean gst_inter_video_sink_stop (GstBaseSink * sink); -static gboolean gst_inter_video_sink_unlock (GstBaseSink * sink); -static gboolean gst_inter_video_sink_event (GstBaseSink * sink, - GstEvent * event); -static GstFlowReturn gst_inter_video_sink_preroll (GstBaseSink * sink, - GstBuffer * buffer); static GstFlowReturn gst_inter_video_sink_render (GstBaseSink * sink, GstBuffer * buffer); -static GstStateChangeReturn gst_inter_video_sink_async_play (GstBaseSink * - sink); -static gboolean gst_inter_video_sink_activate_pull (GstBaseSink * sink, - gboolean active); -static gboolean gst_inter_video_sink_unlock_stop (GstBaseSink * sink); enum { @@ -92,23 +76,23 @@ static GstStaticPadTemplate gst_inter_video_sink_sink_template = GST_STATIC_PAD_TEMPLATE ("sink", GST_PAD_SINK, GST_PAD_ALWAYS, - GST_STATIC_CAPS (GST_VIDEO_CAPS_YUV ("I420")) + GST_STATIC_CAPS (GST_VIDEO_CAPS_MAKE ("I420")) ); /* class initialization */ -#define DEBUG_INIT(bla) \ - GST_DEBUG_CATEGORY_INIT (gst_inter_video_sink_debug_category, "intervideosink", 0, \ - "debug category for intervideosink element"); - -GST_BOILERPLATE_FULL (GstInterVideoSink, gst_inter_video_sink, GstBaseSink, - GST_TYPE_BASE_SINK, DEBUG_INIT); +G_DEFINE_TYPE (GstInterVideoSink, gst_inter_video_sink, GST_TYPE_BASE_SINK); static void -gst_inter_video_sink_base_init (gpointer g_class) +gst_inter_video_sink_class_init (GstInterVideoSinkClass * klass) { - GstElementClass *element_class = GST_ELEMENT_CLASS (g_class); + GObjectClass *gobject_class = G_OBJECT_CLASS (klass); + GstElementClass *element_class = GST_ELEMENT_CLASS (klass); + GstBaseSinkClass *base_sink_class = GST_BASE_SINK_CLASS (klass); + + GST_DEBUG_CATEGORY_INIT (gst_inter_video_sink_debug_category, + "intervideosink", 0, "debug category for intervideosink element"); gst_element_class_add_pad_template (element_class, gst_static_pad_template_get (&gst_inter_video_sink_sink_template)); @@ -118,41 +102,15 @@ gst_inter_video_sink_base_init (gpointer g_class) "Sink/Video", "Virtual video sink for internal process communication", "David Schleef <ds@schleef.org>"); -} - -static void -gst_inter_video_sink_class_init (GstInterVideoSinkClass * klass) -{ - GObjectClass *gobject_class = G_OBJECT_CLASS (klass); - GstBaseSinkClass *base_sink_class = GST_BASE_SINK_CLASS (klass); gobject_class->set_property = gst_inter_video_sink_set_property; gobject_class->get_property = gst_inter_video_sink_get_property; - gobject_class->dispose = gst_inter_video_sink_dispose; gobject_class->finalize = gst_inter_video_sink_finalize; - base_sink_class->get_caps = GST_DEBUG_FUNCPTR (gst_inter_video_sink_get_caps); - base_sink_class->set_caps = GST_DEBUG_FUNCPTR (gst_inter_video_sink_set_caps); - if (0) - base_sink_class->buffer_alloc = - GST_DEBUG_FUNCPTR (gst_inter_video_sink_buffer_alloc); base_sink_class->get_times = GST_DEBUG_FUNCPTR (gst_inter_video_sink_get_times); base_sink_class->start = GST_DEBUG_FUNCPTR (gst_inter_video_sink_start); base_sink_class->stop = GST_DEBUG_FUNCPTR (gst_inter_video_sink_stop); - base_sink_class->unlock = GST_DEBUG_FUNCPTR (gst_inter_video_sink_unlock); - if (0) - base_sink_class->event = GST_DEBUG_FUNCPTR (gst_inter_video_sink_event); - //if (0) - base_sink_class->preroll = GST_DEBUG_FUNCPTR (gst_inter_video_sink_preroll); base_sink_class->render = GST_DEBUG_FUNCPTR (gst_inter_video_sink_render); - if (0) - base_sink_class->async_play = - GST_DEBUG_FUNCPTR (gst_inter_video_sink_async_play); - if (0) - base_sink_class->activate_pull = - GST_DEBUG_FUNCPTR (gst_inter_video_sink_activate_pull); - base_sink_class->unlock_stop = - GST_DEBUG_FUNCPTR (gst_inter_video_sink_unlock_stop); g_object_class_install_property (gobject_class, PROP_CHANNEL, g_param_spec_string ("channel", "Channel", @@ -161,8 +119,7 @@ gst_inter_video_sink_class_init (GstInterVideoSinkClass * klass) } static void -gst_inter_video_sink_init (GstInterVideoSink * intervideosink, - GstInterVideoSinkClass * intervideosink_class) +gst_inter_video_sink_init (GstInterVideoSink * intervideosink) { intervideosink->channel = g_strdup ("default"); } @@ -201,16 +158,6 @@ gst_inter_video_sink_get_property (GObject * object, guint property_id, } void -gst_inter_video_sink_dispose (GObject * object) -{ - /* GstInterVideoSink *intervideosink = GST_INTER_VIDEO_SINK (object); */ - - /* clean up as possible. may be called multiple times */ - - G_OBJECT_CLASS (parent_class)->dispose (object); -} - -void gst_inter_video_sink_finalize (GObject * object) { GstInterVideoSink *intervideosink = GST_INTER_VIDEO_SINK (object); @@ -218,33 +165,10 @@ gst_inter_video_sink_finalize (GObject * object) /* clean up object here */ g_free (intervideosink->channel); - G_OBJECT_CLASS (parent_class)->finalize (object); + G_OBJECT_CLASS (gst_inter_video_sink_parent_class)->finalize (object); } - -static GstCaps * -gst_inter_video_sink_get_caps (GstBaseSink * sink) -{ - - return NULL; -} - -static gboolean -gst_inter_video_sink_set_caps (GstBaseSink * sink, GstCaps * caps) -{ - - return TRUE; -} - -static GstFlowReturn -gst_inter_video_sink_buffer_alloc (GstBaseSink * sink, guint64 offset, - guint size, GstCaps * caps, GstBuffer ** buf) -{ - - return GST_FLOW_ERROR; -} - static void gst_inter_video_sink_get_times (GstBaseSink * sink, GstBuffer * buffer, GstClockTime * start, GstClockTime * end) @@ -295,28 +219,6 @@ gst_inter_video_sink_stop (GstBaseSink * sink) return TRUE; } -static gboolean -gst_inter_video_sink_unlock (GstBaseSink * sink) -{ - - return TRUE; -} - -static gboolean -gst_inter_video_sink_event (GstBaseSink * sink, GstEvent * event) -{ - - return TRUE; -} - -static GstFlowReturn -gst_inter_video_sink_preroll (GstBaseSink * sink, GstBuffer * buffer) -{ - //return gst_inter_video_sink_render (sink, buffer); - - return GST_FLOW_OK; -} - static GstFlowReturn gst_inter_video_sink_render (GstBaseSink * sink, GstBuffer * buffer) { @@ -332,24 +234,3 @@ gst_inter_video_sink_render (GstBaseSink * sink, GstBuffer * buffer) return GST_FLOW_OK; } - -static GstStateChangeReturn -gst_inter_video_sink_async_play (GstBaseSink * sink) -{ - - return GST_STATE_CHANGE_SUCCESS; -} - -static gboolean -gst_inter_video_sink_activate_pull (GstBaseSink * sink, gboolean active) -{ - - return TRUE; -} - -static gboolean -gst_inter_video_sink_unlock_stop (GstBaseSink * sink) -{ - - return TRUE; -} |