[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