[gst-cvs] CVS: gstreamer/libs/audio gstaudio.h,1.4,1.4.4.1

Erik Walthinsen omegahacker at users.sourceforge.net
Wed Oct 17 01:52:26 PDT 2001


Update of /cvsroot/gstreamer/gstreamer/libs/audio
In directory usw-pr-cvs1:/tmp/cvs-serv20849/libs/audio

Modified Files:
      Tag: BRANCH-EVENTS1
	gstaudio.h 
Log Message:
merge from HEAD on 20011016

Index: gstaudio.h
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/libs/audio/gstaudio.h,v
retrieving revision 1.4
retrieving revision 1.4.4.1
diff -u -d -r1.4 -r1.4.4.1
--- gstaudio.h	2001/06/13 21:08:02	1.4
+++ gstaudio.h	2001/10/17 08:51:00	1.4.4.1
@@ -18,13 +18,76 @@
  * Boston, MA 02111-1307, USA.
  */
 
+#include <gst/gst.h>
+
+/* for people that are looking at this source: the purpose of these defines is
+ * to make GstCaps a bit easier, in that you don't have to know all of the
+ * properties that need to be defined. you can just use these macros. currently
+ * (8/01) the only plugins that use these are the passthrough, speed, volume,
+ * and [de]interleave plugins. so. these are for convenience only, and do not
+ * specify the 'limits' of gstreamer. you might also use these definitions as a
+ * base for making your own caps, if need be.
+ *
+ * for example, to make a source pad that can output mono streams of either
+ * float or int:
+
+    template = gst_padtemplate_new 
+      ("sink", GST_PAD_SINK, GST_PAD_ALWAYS,
+      gst_caps_append(gst_caps_new ("sink_int",  "audio/raw",
+                                    GST_AUDIO_INT_PAD_TEMPLATE_PROPS),
+                      gst_caps_new ("sink_float", "audio/raw",
+                                    GST_AUDIO_FLOAT_MONO_PAD_TEMPLATE_PROPS)),
+      NULL);
+
+    srcpad = gst_pad_new_from_template(template,"src");
+
+ * Andy Wingo, 18 August 2001 */
+
+#define GST_AUDIO_INT_PAD_TEMPLATE_PROPS \
+        gst_props_new (\
+          "format",             GST_PROPS_STRING ("int"),\
+            "law",              GST_PROPS_INT (0),\
+            "endianness",       GST_PROPS_INT (G_BYTE_ORDER),\
+            "signed",           GST_PROPS_LIST (\
+            					  GST_PROPS_BOOLEAN (TRUE),\
+            					  GST_PROPS_BOOLEAN(FALSE)\
+            					),\
+            "width",            GST_PROPS_LIST (GST_PROPS_INT(8), GST_PROPS_INT(16)),\
+            "depth",            GST_PROPS_LIST (GST_PROPS_INT(8), GST_PROPS_INT(16)),\
+            "rate",             GST_PROPS_INT_RANGE (4000, 96000),\
+            "channels",         GST_PROPS_INT_RANGE (1, G_MAXINT),\
+          NULL)
+
+#define GST_AUDIO_INT_MONO_PAD_TEMPLATE_PROPS \
+        gst_props_new (\
+          "format",             GST_PROPS_STRING ("int"),\
+            "law",              GST_PROPS_INT (0),\
+            "endianness",       GST_PROPS_INT (G_BYTE_ORDER),\
+            "signed",           GST_PROPS_LIST (\
+            					  GST_PROPS_BOOLEAN (TRUE),\
+            					  GST_PROPS_BOOLEAN(FALSE)\
+            					),\
+            "width",            GST_PROPS_LIST (GST_PROPS_INT(8), GST_PROPS_INT(16)),\
+            "depth",            GST_PROPS_LIST (GST_PROPS_INT(8), GST_PROPS_INT(16)),\
+            "rate",             GST_PROPS_INT_RANGE (4000, 96000),\
+            "channels",         GST_PROPS_INT (1),\
+          NULL)
+
+#define GST_AUDIO_FLOAT_MONO_PAD_TEMPLATE_PROPS \
+        gst_props_new (\
+          "format",             GST_PROPS_STRING ("float"),\
+            "layout",           GST_PROPS_STRING ("gfloat"),\
+            "intercept",        GST_PROPS_FLOAT (0.0),\
+            "slope",            GST_PROPS_FLOAT (1.0),\
+            "rate",             GST_PROPS_INT_RANGE (4000, 96000),\
+            "channels",         GST_PROPS_INT (1),\
+            NULL)
+
 /*
  * this library defines and implements some helper functions for audio
  * handling
  */
 
-#include <gst/gst.h>
-
 /* get byte size of audio frame (based on caps of pad */
 int		gst_audio_frame_byte_size 	(GstPad* pad);
 
@@ -42,4 +105,5 @@
 
 /* check if the buffer size is a whole multiple of the frame size */
 gboolean	gst_audio_is_buffer_framed 	(GstPad* pad, GstBuffer* buf);
+
 





More information about the Gstreamer-commits mailing list