From: Sebastian Dröge Date: Wed, 2 Jan 2008 12:09:48 +0000 (+0000) Subject: gst-libs/gst/audio/gstaudiofilter.c: Implement get_unit_size() vmethod of GstBaseTran... X-Git-Tag: RELEASE-0_10_16~32 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=0e5857ea26396fd4c6eb912225f74c072680b806;p=platform%2Fupstream%2Fgst-plugins-base.git gst-libs/gst/audio/gstaudiofilter.c: Implement get_unit_size() vmethod of GstBaseTransform. Original commit message from CVS: * gst-libs/gst/audio/gstaudiofilter.c: (gst_audio_filter_class_init), (gst_audio_filter_get_unit_size): Implement get_unit_size() vmethod of GstBaseTransform. --- diff --git a/ChangeLog b/ChangeLog index 9a3157f..c0dea48 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2008-01-02 Sebastian Dröge + + * gst-libs/gst/audio/gstaudiofilter.c: + (gst_audio_filter_class_init), (gst_audio_filter_get_unit_size): + Implement get_unit_size() vmethod of GstBaseTransform. + 2008-01-01 Edward Hervey * gst-libs/gst/pbutils/Makefile.am: diff --git a/gst-libs/gst/audio/gstaudiofilter.c b/gst-libs/gst/audio/gstaudiofilter.c index 71c0aaf..c0bb26d 100644 --- a/gst-libs/gst/audio/gstaudiofilter.c +++ b/gst-libs/gst/audio/gstaudiofilter.c @@ -65,6 +65,8 @@ static GstStateChangeReturn gst_audio_filter_change_state (GstElement * element, GstStateChange transition); static gboolean gst_audio_filter_set_caps (GstBaseTransform * btrans, GstCaps * incaps, GstCaps * outcaps); +static gboolean gst_audio_filter_get_unit_size (GstBaseTransform * btrans, + GstCaps * caps, guint * size); static GstElementClass *parent_class = NULL; @@ -117,6 +119,8 @@ gst_audio_filter_class_init (gpointer klass, gpointer class_data) gstelement_class->change_state = GST_DEBUG_FUNCPTR (gst_audio_filter_change_state); basetrans_class->set_caps = GST_DEBUG_FUNCPTR (gst_audio_filter_set_caps); + basetrans_class->get_unit_size = + GST_DEBUG_FUNCPTR (gst_audio_filter_get_unit_size); } static void @@ -189,6 +193,25 @@ gst_audio_filter_set_caps (GstBaseTransform * btrans, GstCaps * incaps, return ret; } +static gboolean +gst_audio_filter_get_unit_size (GstBaseTransform * btrans, GstCaps * caps, + guint * size) +{ + GstStructure *structure; + gboolean ret = TRUE; + gint width, channels; + + structure = gst_caps_get_structure (caps, 0); + + ret &= gst_structure_get_int (structure, "width", &width); + ret &= gst_structure_get_int (structure, "channels", &channels); + + if (ret) + *size = (width / 8) * channels; + + return ret; +} + /** * gst_audio_filter_class_add_pad_templates: * @klass: an #GstAudioFilterClass