summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--ChangeLog5
-rw-r--r--sys/oss/gstosselement.c11
2 files changed, 16 insertions, 0 deletions
diff --git a/ChangeLog b/ChangeLog
index caa45e2b..b2489b4b 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -1,3 +1,8 @@
+2004-04-29 David Schleef <ds@schleef.org>
+
+ * sys/oss/gstosselement.c: (gst_osselement_rate_probe_check):
+ Add a check for a driver bug on FreeBSD. (bug #140565)
+
2004-04-29 Thomas Vander Stichele <thomas at apestaart dot org>
* ext/jpeg/gstjpegdec.c: (gst_jpegdec_get_type):
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");