diff options
author | Tim-Philipp Müller <tim@centricular.net> | 2008-04-08 19:49:34 +0000 |
---|---|---|
committer | Tim-Philipp Müller <tim@centricular.net> | 2008-04-08 19:49:34 +0000 |
commit | 0525a5d213bdf3bdb476888c2af8e2bffd1f48d8 (patch) | |
tree | 8842ba841e1ccfabf5df3d363ae3fffe6256d564 /sys/oss | |
parent | 72f0385606f324d7182e491175cf5418980b5208 (diff) |
sys/oss/: More logging when probing (see #518474), some comments in _reset().
Original commit message from CVS:
* sys/oss/gstosshelper.c: (gst_oss_helper_rate_check_rate):
* sys/oss/gstosssink.c: (gst_oss_sink_reset):
* sys/oss/gstosssrc.c: (gst_oss_src_reset):
More logging when probing (see #518474), some comments in _reset().
Diffstat (limited to 'sys/oss')
-rw-r--r-- | sys/oss/gstosshelper.c | 12 | ||||
-rw-r--r-- | sys/oss/gstosssink.c | 12 | ||||
-rw-r--r-- | sys/oss/gstosssrc.c | 11 |
3 files changed, 15 insertions, 20 deletions
diff --git a/sys/oss/gstosshelper.c b/sys/oss/gstosshelper.c index dea22ccf..cc81ad81 100644 --- a/sys/oss/gstosshelper.c +++ b/sys/oss/gstosshelper.c @@ -352,14 +352,20 @@ gst_oss_helper_rate_check_rate (GstOssProbe * probe, int irate) GST_LOG ("checking format %d, channels %d, rate %d", format, n_channels, rate); ret = ioctl (probe->fd, SNDCTL_DSP_SETFMT, &format); - if (ret < 0 || format != probe->format) + if (ret < 0 || format != probe->format) { + GST_DEBUG ("unsupported format: %d (%d)", probe->format, format); return -1; + } ret = ioctl (probe->fd, SNDCTL_DSP_CHANNELS, &n_channels); - if (ret < 0) + if (ret < 0 || n_channels != probe->n_channels) { + GST_DEBUG ("unsupported channels: %d (%d)", probe->n_channels, n_channels); return -1; + } ret = ioctl (probe->fd, SNDCTL_DSP_SPEED, &rate); - if (ret < 0) + if (ret < 0) { + GST_DEBUG ("unsupported rate: %d (%d)", irate, rate); return -1; + } GST_DEBUG ("rate %d -> %d", irate, rate); diff --git a/sys/oss/gstosssink.c b/sys/oss/gstosssink.c index 17f3964a..23e177b4 100644 --- a/sys/oss/gstosssink.c +++ b/sys/oss/gstosssink.c @@ -574,13 +574,7 @@ gst_oss_sink_delay (GstAudioSink * asink) static void gst_oss_sink_reset (GstAudioSink * asink) { -#if 0 - GstOssSink *oss; - gint ret; - - oss = GST_OSSSINK (asink); - - /* deadlocks on my machine... */ - ret = ioctl (oss->fd, SNDCTL_DSP_RESET, 0); -#endif + /* There's nothing we can do here really: OSS can't handle access to the + * same device/fd from multiple threads and might deadlock or blow up in + * other ways if we try an ioctl SNDCTL_DSP_RESET or similar */ } diff --git a/sys/oss/gstosssrc.c b/sys/oss/gstosssrc.c index 417bdcf0..06e17e75 100644 --- a/sys/oss/gstosssrc.c +++ b/sys/oss/gstosssrc.c @@ -542,12 +542,7 @@ gst_oss_src_delay (GstAudioSrc * asrc) static void gst_oss_src_reset (GstAudioSrc * asrc) { - GstOssSrc *oss; - - //gint ret; - - oss = GST_OSS_SRC (asrc); - - /* deadlocks on my machine... */ - //ret = ioctl (oss->fd, SNDCTL_DSP_RESET, 0); + /* There's nothing we can do here really: OSS can't handle access to the + * same device/fd from multiple threads and might deadlock or blow up in + * other ways if we try an ioctl SNDCTL_DSP_RESET or similar */ } |