diff options
Diffstat (limited to 'multimedia/gstreamer-plugins-good/files/patch-sys_oss_gstosshelper.c')
-rw-r--r-- | multimedia/gstreamer-plugins-good/files/patch-sys_oss_gstosshelper.c | 38 |
1 files changed, 18 insertions, 20 deletions
diff --git a/multimedia/gstreamer-plugins-good/files/patch-sys_oss_gstosshelper.c b/multimedia/gstreamer-plugins-good/files/patch-sys_oss_gstosshelper.c index c39b2e9c3..34fdd3119 100644 --- a/multimedia/gstreamer-plugins-good/files/patch-sys_oss_gstosshelper.c +++ b/multimedia/gstreamer-plugins-good/files/patch-sys_oss_gstosshelper.c @@ -1,22 +1,20 @@ ---- sys/oss/gstosshelper.c.orig Sat Apr 1 18:22:31 2006 -+++ sys/oss/gstosshelper.c Sat Apr 1 18:22:38 2006 -@@ -232,6 +291,11 @@ gst_oss_helper_rate_probe_check (GstOssP +--- sys/oss/gstosshelper.c.orig Sun Apr 2 03:23:53 2006 ++++ sys/oss/gstosshelper.c Sun Apr 2 03:25:44 2006 +@@ -343,13 +344,17 @@ gst_oss_helper_rate_check_rate (GstOssPr + int format; + int n_channels; + int ret; ++ int rst; - probe->rates = g_array_new (FALSE, FALSE, sizeof (int)); + rate = irate; + format = probe->format; + n_channels = probe->n_channels; ++ rst = 4000; /* XXX Lowest supported rate for FreeBSD. */ -+ probe->min = 8000; -+ probe->max = 100000; -+ result = FALSE; -+ goto out; -+ - probe->min = gst_oss_helper_rate_check_rate (probe, 1000); - n_checks++; - probe->max = gst_oss_helper_rate_check_rate (probe, 100000); -@@ -312,6 +376,7 @@ gst_oss_helper_rate_probe_check (GstOssP - - g_free (range); - } -+out: - - while ((range = g_queue_pop_head (ranges))) { - g_free (range); + GST_LOG ("checking format %d, channels %d, rate %d", + format, n_channels, rate); ++ /* Reset rate to lowest supported rate. */ ++ ioctl (probe->fd, SNDCTL_DSP_SPEED, &rst); + ret = ioctl (probe->fd, SNDCTL_DSP_SETFMT, &format); + if (ret < 0) + return -1; |