sys/oss/gstosshelper.c: Verify that the format returned after the ioctl is the one...
authorJan Schmidt <thaytan@mad.scientist.com>
Sat, 8 Dec 2007 16:47:33 +0000 (16:47 +0000)
committerJan Schmidt <thaytan@mad.scientist.com>
Sat, 8 Dec 2007 16:47:33 +0000 (16:47 +0000)
Original commit message from CVS:
* sys/oss/gstosshelper.c:
Verify that the format returned after the ioctl is the one
we requested. It is valid for the ioctl to succeed while
substituting an alternate 'supported' sample format.

ChangeLog
sys/oss/gstosshelper.c

index cff07bd..1d90d50 100644 (file)
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,10 @@
+2007-12-08  Jan Schmidt  <jan.schmidt@sun.com>
+
+       * sys/oss/gstosshelper.c:
+       Verify that the format returned after the ioctl is the one
+       we requested. It is valid for the ioctl to succeed while
+       substituting an alternate 'supported' sample format.
+
 2007-12-07  Tim-Philipp Müller  <tim at centricular dot net>
 
        * sys/oss/gstossaudio.c: (plugin_init):
index 38b3689..dea22cc 100644 (file)
@@ -352,7 +352,7 @@ 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)
+  if (ret < 0 || format != probe->format)
     return -1;
   ret = ioctl (probe->fd, SNDCTL_DSP_CHANNELS, &n_channels);
   if (ret < 0)