Re: Timing of linked devices

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

 



louis@xxxxxxxxxxxxxxxx wrote:
> I am developing an application which opens both inputs and outputs for
> digital and s/pdif (so, 4 devices).  The sync IDs all match.  However,
> under certain conditions, I am receiving partial buffers from the input. 
> So, I have a few questions:
> 
> Does linking input and output devices, from a programmer's perspective,
> mean that input is ready at precisely the same time that the device is
> ready to output a buffer?

No; linking just means that ALSA tries to start the streams at the same
time.  If the sync IDs match, the hardware actually supports this.

> Or, does it only mean that the ins and outs will be synchronized for
> each given buffer?

Not even that.  Linking streams does not guarantee that they run at the
same speed.

If two streams are handled by the same DMA controller and are using the
same clock, they should be perfectly synchronous.  In the case of S/PDIF
recording, the clock is determined by the sending device, so it is
likely to be different from the other stream.

> And, in the case that I am doing a non-blocking read (pcm_read) from a
> buffer which is not yet ready, should I receive an outdated buffer, a
> blank buffer, or one which has both partially new and partially old data?

You get no data and error code -EAGAIN.


HTH
Clemens
_______________________________________________
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