summaryrefslogtreecommitdiffstats
path: root/sys
diff options
context:
space:
mode:
authorDavid Schleef <ds@schleef.org>2004-04-29 23:45:03 +0000
committerDavid Schleef <ds@schleef.org>2004-04-29 23:45:03 +0000
commit55455061824f268004aa04597a776cf77292edd2 (patch)
tree703f07985cdb58f3ac58a957b1c102458829cbf7 /sys
parent0a4089343ddc17f68212012215fd878341278112 (diff)
sys/oss/gstosselement.c: Add a check for a driver bug on FreeBSD. (bug #140565)
Original commit message from CVS: * sys/oss/gstosselement.c: (gst_osselement_rate_probe_check): Add a check for a driver bug on FreeBSD. (bug #140565)
Diffstat (limited to 'sys')
-rw-r--r--sys/oss/gstosselement.c11
1 files changed, 11 insertions, 0 deletions
diff --git a/sys/oss/gstosselement.c b/sys/oss/gstosselement.c
index 4253a0f9..a990c22c 100644
--- a/sys/oss/gstosselement.c
+++ b/sys/oss/gstosselement.c
@@ -1168,6 +1168,17 @@ gst_osselement_rate_probe_check (GstOssProbe * probe)
probe->min = gst_osselement_rate_check_rate (probe, 1000);
n_checks++;
probe->max = gst_osselement_rate_check_rate (probe, 100000);
+ /* a little bug workaround */
+ {
+ int max;
+
+ max = gst_osselement_rate_check_rate (probe, 48000);
+ if (max > probe->max) {
+ GST_ERROR
+ ("Driver bug recognized (driver does not round rates correctly). Please file a bug report.");
+ probe->max = max;
+ }
+ }
n_checks++;
if (probe->min == -1 || probe->max == -1) {
GST_DEBUG ("unexpected check_rate error");