Howdy all, This patch adds support for changing a stream's (or sample's) format and/or rate on the fly. The functions are analagous to esd_set_sample_pan and are used the same way. esd_set_stream_format( int esd, int id, esd_format_t fmt ); esd_set_sample_format( int esd, int id, esd_format_t fmt ); esd_set_stream_rate( int esd, int id, int rate ); esd_set_sample_rate( int esd, int id, int rate ); This should allow things like xmms to not have to create new streams if they don't want to. That will, in turn, make it easier for mixer-like applications to mangle (err... manage) streams. I think they work -- I've hacked up xmms to use 'em where possible instead of opening new streams, but it still seems to open new streams sometimes, so I can't currently guarantee anything. I'd suggest testing 'em before applying them. Still, it's basically a copy (with minor maintainability-hacks) of the esd_set_stream_pan code, so verifying the logic should be simple. Now why do I have this crazy sense of deja-vu? :-) - Bob PS: I'd like to attack the subscribe_all_info() & related functions, just to see 'em in... but I'd also like to pass my midterms and graduate, so it's not likely to happen anytime soon. ;-)
Attachment:
esd_set_fmt+rate.diff.gz
Description: Binary data