--- /dev/null
+filterdir = $(libdir)/gst
+
+filter_LTLIBRARIES = libgstaudio.la
+
+libgstaudio_la_SOURCES = gstaudio.c
+
+libgstaudioincludedir = $(includedir)/gst/libs/gstaudio
+libgstaudioinclude_HEADERS = gstaudio.h
+
+# FIXME is this needed?
+CFLAGS += -O2 $(FOMIT_FRAME_POINTER) -finline-functions -ffast-math
--- /dev/null
+#include "gstaudio.h"
+
+double
+gst_audio_length (GstPad* pad, GstBuffer* buf)
+{
+/* calculate length in seconds
+ * of audio buffer buf
+ * based on capabilities of pad
+ */
+
+ long bytes = 0;
+ int width = 0;
+ int channels = 0;
+ long rate = 0L;
+
+ double length;
+
+ GstCaps *caps = NULL;
+
+ /* get caps of pad */
+ caps = GST_PAD_CAPS (pad);
+ if (caps == NULL)
+ {
+ /* ERROR: could not get caps of pad */
+ length = 0.0;
+ }
+ else
+ {
+ bytes = GST_BUFFER_SIZE (buf);
+ width = gst_caps_get_int (caps, "width");
+ channels = gst_caps_get_int (caps, "channels");
+ rate = gst_caps_get_int (caps, "rate");
+
+ length = (bytes * 8.0) / (double) (rate * channels * width);
+ }
+ return length;
+}
--- /dev/null
+/* Gnome-Streamer
+ * Copyright (C) <1999> Erik Walthinsen <omega@cse.ogi.edu>
+ * Library <2001> Thomas Vander Stichele <thomas@apestaart.org>
+ *
+ * This library is free software; you can redistribute it and/or
+ * modify it under the terms of the GNU Library General Public
+ * License as published by the Free Software Foundation; either
+ * version 2 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
+ * Library General Public License for more details.
+ *
+ * You should have received a copy of the GNU Library General Public
+ * License along with this library; if not, write to the
+ * Free Software Foundation, Inc., 59 Temple Place - Suite 330,
+ * Boston, MA 02111-1307, USA.
+ */
+
+/*
+ * this library defines and implements some helper functions for audio
+ * handling
+ */
+
+#include <gst/gst.h>
+
+/* calculate length in seconds of audio buffer buf based on caps of pad */
+
+double gst_audio_length (GstPad* pad, GstBuffer* buf);
+