Quoting Paul Davis <[EMAIL PROTECTED]>:

> >I also think that the behaviour of hdsp_set_rate() should change. If the 
> >card is set to AutoSync, and there is no input signal, hdsp_set_rate() 
> >will fail on line 888. In this case, I think the proper behaviour would 
> >be to set the card in Master mode with the given rate.
> 
> seems sensible.
> 

I disagree.  If the card is set to AutoSync and there is no input
signal anywhere, this would probably be a problem with cabling or routing
somewhere.  From an end-user perspective, I would want giant red lights 
flashing on my screen telling me things are wrong.  The last thing I
would want is for a low-level software component to silently switch to
master mode.  This would likely cause sample-slipping with some other
piece of hardware, and if the sample rates are close, this may very well
not be detected by cursory audio monitoring (and only noticed after you
have the "perfect take" down).

Of course, if the application knows about slave synchronization, I
would expect it never to call a function to set the sample rate -- only
check the rate.  But a lot of app's don't work this way.  I've played
back a 44.1kS/s file when externally synced to 48kS/s and it comes out
too high/fast.  This is usually pretty easy to detect by listening, so
it's not a horrible problem, but some sort of warning would be better
(naturally this depends on the application, but it requires that the
library return some sort of abnormal status in this case).

The behavior that seems best to me would be to return an error when
1) AutoSync is selected and 2) the sample rate given is not within 400ppm
of the current external sync or there is no valid external sync signal
Then, let the application decide on the policy to implement in these
cases.

Of course, I'm not sure how well this meshes with the overall
ALSA system model and "consumer" style sound cards.  It's just that
sample rate timing/sync (and the associated problem of jitter) is
probably the single biggest issue in distribution of digital audio 
in a professional environment, so this is my USD2*10E-2.

--Rob Dye



-------------------------------------------------------
This SF.net email is sponsored by: VM Ware
With VMware you can run multiple operating systems on a single machine.
WITHOUT REBOOTING! Mix Linux / Windows / Novell virtual machines at the
same time. Free trial click here: http://www.vmware.com/wl/offer/345/0
_______________________________________________
Alsa-devel mailing list
[EMAIL PROTECTED]
https://lists.sourceforge.net/lists/listinfo/alsa-devel

Reply via email to