
On 06.04.2013 19:52, Jussi Laako wrote:
All audio formats are specified in *bytes* for sample and buffer sizes, so we will also keep it that way for DSD.
Umm, IIRC, all the ALSA PCM API snd_pcm_*_period_size() stuff is in number of frames? (number of samples per channel)
I was talking about the SND_PCM_FORMAT_ definitions that I augmented. What they denote is bytes per sample frame, not bits.
Thus size of the buffer is period size * sample size * channels (* nperiods). So if we would use 2.8 MHz as sampling rate for DSD, then buffer size would be period size * 1/8 * channels, since one sample of DSD is eight' of a byte.
No, you would choose 1/8 of the actual sample rate, because the actual transport goes in multiple of 8 bits.
And sampling rate is number of frames per second. So it is quite clear and non-confusing.
... and one frame is also just 8 bits (or 16, for the second format). I think that matches the logic quite well.
Daniel