From 0941bfb00ea1d8b28d242ecd9963792a583bdafd Mon Sep 17 00:00:00 2001 From: Benjamin Otte Date: Tue, 30 Mar 2004 18:01:45 +0000 Subject: [PATCH] sys/oss/gstosselement.c: probe caps correctly for sound cards that only support one format Original commit message from CVS: * sys/oss/gstosselement.c: (gst_osselement_probe_caps), (gst_osselement_rate_check_rate): probe caps correctly for sound cards that only support one format --- ChangeLog | 6 ++++++ sys/oss/gstosselement.c | 4 +++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/ChangeLog b/ChangeLog index 9ac77165a6..854a68549f 100644 --- a/ChangeLog +++ b/ChangeLog @@ -1,3 +1,9 @@ +2004-03-30 Benjamin Otte + + * sys/oss/gstosselement.c: (gst_osselement_probe_caps), + (gst_osselement_rate_check_rate): + probe caps correctly for sound cards that only support one format + 2004-03-30 Benjamin Otte * ext/kio/kiosrc.cpp: (process_events): diff --git a/sys/oss/gstosselement.c b/sys/oss/gstosselement.c index 78215d57da..0353982568 100644 --- a/sys/oss/gstosselement.c +++ b/sys/oss/gstosselement.c @@ -1038,7 +1038,7 @@ gst_osselement_probe_caps (GstOssElement * oss) caps = gst_caps_new_empty (); /* assume that the most significant bit of format_mask is 0 */ - for (format_bit = 1; format_bit < format_mask; format_bit <<= 1) { + for (format_bit = 1; format_bit <= format_mask; format_bit <<= 1) { if (format_bit & format_mask) { GValue rate_value = { 0 }; @@ -1257,6 +1257,8 @@ gst_osselement_rate_check_rate (GstOssProbe * probe, int irate) format = probe->format; n_channels = probe->n_channels; + GST_LOG ("checking format %d, channels %d, rate %d", + format, n_channels, rate); ret = ioctl (probe->fd, SNDCTL_DSP_SETFMT, &format); if (ret < 0) return -1;