This feature already worked in most of TV's then you set delay of bluetooth and set on multiple audio ouput...on my tv i see the step in 10ms...not so precisely but works fine for tv...since @frd__ made a lot of work for right clocking the source just putting usleep(param); send_to_dac(dac2); can make a trick.
IIUC you want to play both dacs in the same area. Then every variable millisecond makes a difference.So the idea to mix dacs and speakers to take advantages of both.
And if the track takes 10 minutes? Or an hour-long track made gapless from several tracks?seems wtfplay kill the process every song, so relative delay will be restored... (?)
Clock synchronization/async issues are commonly faced in audio. Correct solutions are rather complex, and involve more than just trying to pause one stream against the other with usleep (which guarantees minimum delay, not maximum e.g. https://stackoverflow.com/a/8970637/15717902 ).
If you want to play, just use the alsa multi plugin for testing, but this is what the founder of alsa says: https://github.com/alsa-project/alsa-lib/issues/273#issuecomment-1268568415
Kernel driver can handle timings issues with better accuracy than usleep,,,many options to discuss.
What do you really want to accomplish? One dac for woofers, another for tweeters? Or something else?
@HenrikEnquist yes i think this usefull to try many configurations with ability to mix / to switch / to separate. At my setup first i'd try full range + tweeters and choose an lfe for sub..
@promisc : If you want to experiment, then IMO the custom-compiled and extremely cut-down (not even alsa plugins available) wtfplay does not seem to be the best platform. IMO a standard linux distribution would serve the purpose much better as all the tools are available there for you.
- Home
- Source & Line
- PC Based
- wtfplay project - Linux based PC playback system