[gst-cvs] CVS: gstreamer/plugins/oss gstossgst.c,1.9,1.10 gstosssink.c,1.21,1.22 gstosssink.h,1.3,1.4 gstosssrc.c,1.12,1.13 gstosssrc.h,1.3,1.4

Erik Walthinsen omegahacker at users.sourceforge.net
Wed Oct 17 03:22:32 PDT 2001


Update of /cvsroot/gstreamer/gstreamer/plugins/oss
In directory usw-pr-cvs1:/tmp/cvs-serv21419/plugins/oss

Modified Files:
	gstossgst.c gstosssink.c gstosssink.h gstosssrc.c gstosssrc.h 
Log Message:
merge from EVENTS1 on 20011016

Index: gstossgst.c
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/plugins/oss/gstossgst.c,v
retrieving revision 1.9
retrieving revision 1.10
diff -u -d -r1.9 -r1.10
--- gstossgst.c	2001/08/21 20:16:47	1.9
+++ gstossgst.c	2001/10/17 10:21:25	1.10
@@ -422,7 +422,7 @@
   gchar **path;
   gint i =0;
 
-  // get the path of this plugin, we assumer the helper progam lives in the
+  // get the path of this plugin, we assume the helper progam lives in the
   // same directory.
   path = g_strsplit (plugin->filename, G_DIR_SEPARATOR_S, 0);
   while (path[i]) {

Index: gstosssink.c
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/plugins/oss/gstosssink.c,v
retrieving revision 1.21
retrieving revision 1.22
diff -u -d -r1.21 -r1.22
--- gstosssink.c	2001/09/18 04:29:41	1.21
+++ gstosssink.c	2001/10/17 10:21:25	1.22
@@ -65,6 +65,7 @@
 
 enum {
   ARG_0,
+  ARG_DEVICE,
   ARG_MUTE,
   ARG_FORMAT,
   ARG_CHANNELS,
@@ -165,6 +166,9 @@
 
   parent_class = g_type_class_ref(GST_TYPE_ELEMENT);
 
+  g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_DEVICE,
+    g_param_spec_string("device","device","device",
+                        "/dev/dsp",G_PARAM_READWRITE)); // CHECKME!
   g_object_class_install_property(G_OBJECT_CLASS(klass), ARG_MUTE,
     g_param_spec_boolean("mute","mute","mute",
                          TRUE,G_PARAM_READWRITE)); 
@@ -209,6 +213,7 @@
 
   gst_pad_set_chain_function (osssink->sinkpad, gst_osssink_chain);
 
+  osssink->device = "/dev/dsp";
   osssink->fd = -1;
   osssink->clock = gst_clock_get_system();
   osssink->channels = 1;
@@ -343,7 +348,7 @@
   ioctl (osssink->fd, SNDCTL_DSP_GETBLKSIZE, &frag);
   ioctl (osssink->fd, SNDCTL_DSP_GETOSPACE, &ospace);
 
-  g_print ("osssink: setting sound card to %dHz %d bit %s (%d bytes buffer, %d fragment)\n",
+  g_warning ("osssink: setting sound card to %dHz %d bit %s (%d bytes buffer, %d fragment)\n",
            osssink->frequency, osssink->format,
            (osssink->channels == 2) ? "stereo" : "mono", ospace.bytes, frag);
   GST_INFO (GST_CAT_PLUGIN_INFO, "osssink: setting sound card to %dHz %d bit %s (%d bytes buffer, %d fragment)",
@@ -406,6 +411,9 @@
   osssink = GST_OSSSINK (object);
 
   switch (prop_id) {
+    case ARG_DEVICE:
+      osssink->device = g_value_get_string (value);
+      break;
     case ARG_MUTE:
       osssink->mute = g_value_get_boolean (value);
       break;
@@ -445,6 +453,9 @@
   osssink = GST_OSSSINK (object);
 
   switch (prop_id) {
+    case ARG_DEVICE:
+      g_value_set_string (value, osssink->device);
+      break;
     case ARG_MUTE:
       g_value_set_boolean (value, osssink->mute);
       break;
@@ -477,7 +488,7 @@
   GST_INFO (GST_CAT_PLUGIN_INFO, "osssink: attempting to open sound device");
 
   /* first try to open the sound card */
-  sink->fd = open("/dev/dsp", O_WRONLY | O_NONBLOCK);
+  sink->fd = open(sink->device, O_WRONLY | O_NONBLOCK);
   if (errno == EBUSY) {
     g_warning ("osssink: unable to open the sound device (in use ?)\n");
     return FALSE;
@@ -485,7 +496,7 @@
 
   /* re-open the sound device in blocking mode */
   close(sink->fd);
-  sink->fd = open("/dev/dsp", O_WRONLY);
+  sink->fd = open(sink->device, O_WRONLY);
 
   /* if we have it, set the default parameters and go have fun */
   if (sink->fd >= 0) {
@@ -526,7 +537,7 @@
     if (caps & AFMT_AC3)    		GST_INFO (GST_CAT_PLUGIN_INFO, "osssink:   AC3");
 #endif
 
-    GST_INFO (GST_CAT_PLUGIN_INFO, "osssink: opened audio with fd=%d", sink->fd);
+    GST_INFO (GST_CAT_PLUGIN_INFO, "osssink: opened audio (%s) with fd=%d", sink->device, sink->fd);
     GST_FLAG_SET (sink, GST_OSSSINK_OPEN);
 
     gst_osssink_sync_parms (sink);

Index: gstosssink.h
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/plugins/oss/gstosssink.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- gstosssink.h	2001/08/27 07:22:10	1.3
+++ gstosssink.h	2001/10/17 10:21:25	1.4
@@ -62,6 +62,10 @@
 
   //GstClockTime clocktime;
   GstClock *clock;
+
+  /* device */
+  gchar *device;
+
   /* soundcard state */
   int fd;
   int caps; /* the capabilities */

Index: gstosssrc.c
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/plugins/oss/gstosssrc.c,v
retrieving revision 1.12
retrieving revision 1.13
diff -u -d -r1.12 -r1.13
--- gstosssrc.c	2001/10/05 23:38:27	1.12
+++ gstosssrc.c	2001/10/17 10:21:25	1.13
@@ -49,12 +49,12 @@
 
 enum {
   ARG_0,
+  ARG_DEVICE,
   ARG_BYTESPERREAD,
   ARG_CUROFFSET,
   ARG_FORMAT,
   ARG_CHANNELS,
-  ARG_FREQUENCY,
-  ARG_DEVICE
+  ARG_FREQUENCY
 };
 
 GST_PADTEMPLATE_FACTORY (osssrc_src_factory,
@@ -166,13 +166,13 @@
   gst_pad_set_get_function(osssrc->srcpad,gst_osssrc_get);
   gst_element_add_pad (GST_ELEMENT (osssrc), osssrc->srcpad);
 
+  osssrc->device = "/dev/dsp";
   osssrc->fd = -1;
 
   /* adding some default values */
   osssrc->format = AFMT_S16_LE;
   osssrc->channels = 2;
   osssrc->frequency = 44100;
-  osssrc->device = g_strdup("/dev/dsp");
   
   osssrc->bytes_per_read = 4096;
   osssrc->curoffset = 0;
@@ -321,7 +321,7 @@
 
     /* set card state */
     gst_osssrc_sync_parms (src);
-    GST_DEBUG (0,"opened audio\n");
+    GST_DEBUG (0,"opened audio: %s\n",src->device);
     
     GST_FLAG_SET (src, GST_OSSSRC_OPEN);
     return TRUE;

Index: gstosssrc.h
===================================================================
RCS file: /cvsroot/gstreamer/gstreamer/plugins/oss/gstosssrc.h,v
retrieving revision 1.3
retrieving revision 1.4
diff -u -d -r1.3 -r1.4
--- gstosssrc.h	2001/10/05 23:38:27	1.3
+++ gstosssrc.h	2001/10/17 10:21:25	1.4
@@ -60,6 +60,9 @@
   /* pads */
   GstPad *srcpad;
 
+  /* device */
+  gchar *device;
+
   /* sound card */
   gint fd;
 
@@ -67,7 +70,6 @@
   gint format;
   gint channels;
   gint frequency;
-  gchar *device;
 
   /* blocking */
   gulong curoffset;





More information about the Gstreamer-commits mailing list