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().
This commit is contained in:
Tim-Philipp Müller 2008-04-08 19:49:34 +00:00
parent 72f0385606
commit 0525a5d213
4 changed files with 22 additions and 20 deletions

View file

@ -1,3 +1,10 @@
2008-04-08 Tim-Philipp Müller <tim at centricular dot net>
* 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().
2008-04-07 Julien Moutte <julien@fluendo.com> 2008-04-07 Julien Moutte <julien@fluendo.com>
* gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_setcaps): Fix build * gst/rtp/gstrtph264pay.c: (gst_rtp_h264_pay_setcaps): Fix build

View file

@ -352,14 +352,20 @@ gst_oss_helper_rate_check_rate (GstOssProbe * probe, int irate)
GST_LOG ("checking format %d, channels %d, rate %d", GST_LOG ("checking format %d, channels %d, rate %d",
format, n_channels, rate); format, n_channels, rate);
ret = ioctl (probe->fd, SNDCTL_DSP_SETFMT, &format); 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; return -1;
}
ret = ioctl (probe->fd, SNDCTL_DSP_CHANNELS, &n_channels); 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; return -1;
}
ret = ioctl (probe->fd, SNDCTL_DSP_SPEED, &rate); ret = ioctl (probe->fd, SNDCTL_DSP_SPEED, &rate);
if (ret < 0) if (ret < 0) {
GST_DEBUG ("unsupported rate: %d (%d)", irate, rate);
return -1; return -1;
}
GST_DEBUG ("rate %d -> %d", irate, rate); GST_DEBUG ("rate %d -> %d", irate, rate);

View file

@ -574,13 +574,7 @@ gst_oss_sink_delay (GstAudioSink * asink)
static void static void
gst_oss_sink_reset (GstAudioSink * asink) gst_oss_sink_reset (GstAudioSink * asink)
{ {
#if 0 /* There's nothing we can do here really: OSS can't handle access to the
GstOssSink *oss; * same device/fd from multiple threads and might deadlock or blow up in
gint ret; * other ways if we try an ioctl SNDCTL_DSP_RESET or similar */
oss = GST_OSSSINK (asink);
/* deadlocks on my machine... */
ret = ioctl (oss->fd, SNDCTL_DSP_RESET, 0);
#endif
} }

View file

@ -542,12 +542,7 @@ gst_oss_src_delay (GstAudioSrc * asrc)
static void static void
gst_oss_src_reset (GstAudioSrc * asrc) gst_oss_src_reset (GstAudioSrc * asrc)
{ {
GstOssSrc *oss; /* 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
//gint ret; * other ways if we try an ioctl SNDCTL_DSP_RESET or similar */
oss = GST_OSS_SRC (asrc);
/* deadlocks on my machine... */
//ret = ioctl (oss->fd, SNDCTL_DSP_RESET, 0);
} }