]> git.tuebingen.mpg.de Git - paraslash.git/commit
More audiod fixes
authorAndre <maan@p133.(none)>
Sun, 4 Jun 2006 20:59:38 +0000 (22:59 +0200)
committerAndre <maan@p133.(none)>
Sun, 4 Jun 2006 20:59:38 +0000 (22:59 +0200)
commit450dc78c2298f8ebc8ec494288c6b04aa2359e2d
tree5c24cfefa9ec0facb68dac026237460af698a4e7
parent73a1a1396dc46c4534548b78f44b8125a146444d
More audiod fixes

The bug-quality rises. This patch fixes

the select timeout after receiver open. As the pre_select
function of the receiver just opened will be called _after_
the upcoming select call, we might block for the time of that
call. Only afterwards, the receiver can change the timeout. Fix
this problem by changing the timeout to a minimum from within
start_receiver() (which gets called by audiod_pre_select()).

Resume on server restart. This was broken by design as it
used sleep() and also caused problems with the alsa writer
being restarted too early. We can do much better with the
new scheduler, so introduce a new field "restart_barrier" in
struct status_task and restart para_client and the receivers
not before this time.

Also, set the default timeout to a ridiculous value to detect further
timeout problems and do not kill the decoders even if the status pipe
went south.
audiod.c