Quoting Ed Schouten <[EMAIL PROTECTED]> (from Thu, 7 Sep 2006 13:38:20 +0200):
CCing multimedia@, where all "the cool sound guys hang out"...
Hello,
I was just looking through FreeBSD's snd_uaudio(4) driver, because I'm
thinking of patching it to support Xbox 360 headsets as well. I was
looking at the code to set the sample rate in
/sys/dev/sound/usb/uaudio.c. In that file there is the following code
near line 4100:
| if (speed >= UA_SAMP_LO(asf1d) && speed <= UA_SAMP_HI(asf1d)) {
| ch->sample_rate = speed;
| return speed;
| } else if (speed < UA_SAMP_LO(asf1d)) {
| score = 0xfff * speed / UA_SAMP_LO(asf1d);
| if (score > hiscore) {
| bestspeed = UA_SAMP_LO(asf1d);
| hiscore = score;
| }
| } else if (speed < UA_SAMP_HI(asf1d)) {
| score = 0xfff * UA_SAMP_HI(asf1d) / speed;
| if (score > hiscore) {
| bestspeed = UA_SAMP_HI(asf1d);
| hiscore = score;
| }
| }
If we would rewrite this code to something more basic, let's say we
rename 'speed' to 'x' and the UA_SAMP_ macros to some predefined
variables:
| if (x >= 10 && x <= 20) {
| ...
| } else if (x < 10) {
| ...
| } else if (x < 20) {
| ...
| }
Wouldn't that mean that the last portion of the code is never reached?
Looking at the code, it looks like some range check, making sure the
sample rate remains inside a certain range. Wouldn't it be enough to
remove the entire third if-statement, using a normal '} else {'?
Just by looking at the code you pasted, I assume the last part is a
typo in the uaudio code and should be a '>' instead of a '<': "if it
is outside the range, use the end of the range as a good candidate."
Bye,
Alexander.
--
The most delightful day after the one on which you buy a cottage in
the country is the one on which you resell it.
-- J. Brecheux
http://www.Leidinger.net Alexander @ Leidinger.net: PGP ID = B0063FE7
http://www.FreeBSD.org netchild @ FreeBSD.org : PGP ID = 72077137
_______________________________________________
[email protected] mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-hackers
To unsubscribe, send any mail to "[EMAIL PROTECTED]"