Took someone's (darn, already scrolled off the end of the recent diary entries) advice and changed the libao API for the third time. The change was trivial, and the result is much cleaner. Thanks.
Finally figured out the ALSA problem. By default the driver operates in non-blocking mode. The program would decode the next block before the first one had finished playing and would overwrite the currently playing block with the next block. Hence the neat (though frustrating effect) of listening to Brickhouse at 33% faster speed. I fixed that and wrote some buffering code to pack the data coming in (which can be in chunks of whatever size) into 32k blocks and send the completed blocks to the ALSA driver. Sounds good.
I've decided to wait on submitting this code until Kenneth gets back. Monty mentioned a little while ago that he would no longer mess with that branch (after accidentally stepping on Kenneth during a commit frenzy). In the meantime, I'm going to see if I can scrounge up an IRIX account on some friend's box to test (at least the compilation of) libao on IRIX. Same goes for Solaris, though I don't know if our school's Solaris boxes have the sound header files. If neither of these seem feasible, I'll go figure out how to do Win32 code instead. :)
Also hacked on a patch I found to let ht://Dig work with SSL. The patch was for 3.1.4, but would not cleanly apply to 3.1.5. I've never hacked a diff directly, though I must say it is not as hard as it looks.
ralsina: Ack. Slashdot has cured me of my desire to participate (or watch) the license flamewars. I must say that the GPL == non-free debate is one of the stranger ones I've heard of. I guess my take is that every license except the public domain is "non-free" to a certain extent, just like anarchy is the only truly "free" form of government. Of course, being "free" isn't one's only motivation in such things, so the issue is how much freedom should be traded in for other things we want. That's the real debate in my mind, and the rest is just playing games with semantics.
jmg: Careful with the CD-RW. I've had problems reading them in most CD drives (unless they are also CD Burners). I imagine newer drives have no problems, but you may be stuck in front of an older box.