Re: USB asynchronous mode feedback format

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Thu, Oct 14, 2010 at 01:44:23PM +0200, Julian Scheel wrote:
> Am Donnerstag, 14. Oktober 2010, 13:15:45 schrieb Alex:
> > Channel inversion is a known issue and u need to sync the channel to the
> > LRCK, and resync when the USB stream is stopped and restarted and when
> > doing sample rate changes (48 to 96 etc).
> 
> So far I only support one fixed sample rate (48 kHz) in the device. Regarding 
> the sync I am wondering how to determine the alignment of the data coming from 
> USB. Is there some way to be sure that the data frames do start with the left 
> channel when reading them from USB?

Yes, a USB packet always starts at a sample frame boundary. In other
words, after the SOF, the USB stream will start with the first byte of
the first channel. One USB packet must also transport multiple full
audio frames (ie, samples for all channels), and not only fractions
thereof.

> The output to the I2S is done in bigger chunks through the DMA engine of the 
> AT91SAM7 - it might be possible that I loose one packet in some case at this 
> place... This would actually cause a inversion on the channels...

If you lose one entire packet and catch up with the next one, there
shouldn't be any channel inversion, just a data dropout. However I would
add an extra check to assure your internal counters are in sync whenever
a SOF is received.

Daniel
_______________________________________________
Alsa-devel mailing list
Alsa-devel@xxxxxxxxxxxxxxxx
http://mailman.alsa-project.org/mailman/listinfo/alsa-devel


[Index of Archives]     [ALSA User]     [Linux Audio Users]     [Kernel Archive]     [Asterisk PBX]     [Photo Sharing]     [Linux Sound]     [Video 4 Linux]     [Gimp]     [Yosemite News]

  Powered by Linux