[alsa-devel] [PATCH 0/4] firewire-lib: purge restriction of synchronization for non-blocking mode

Takashi Sakamoto o-takashi at sakamocchi.jp
Sat May 16 13:22:41 CEST 2015


This patchset allows non-blocking streams to use timestamp synchronization.

In full duplex synchronization mode, current implementation pass the value
of 'syt' field of CIP header in incoming packets to outgoing packet
processing, while the number of data blocks is not passed. Therefore,
this mode is allowed just to blocking streams, because of a lack of
validator for the number which actual devices transfers. As long as the
number is suspicious, it's not reused to outgoing packet processing.

To allow the synchronization mode to non-blocking streams, this patchset:
 * adds a validator for the number of data blocks in incoming packets
 * adds a flag still to support illegal models (i.e. Behringer FCA202)
 * pass the evaluated number from incoming packet processing to outgoing
 * remove the restriction


Takashi Sakamoto (4):
  ALSA: firewire-lib: add buffer-over-run protection at receiving more
    data blocks than expected
  ALSA: firewire-lib: simplify function to calculate the number of data
    blocks
  ALSA: firewire-lib: pass the number of data blocks in incoming packets
    to outgoing packets
  ALSA: firewire-lib: remove restriction for non-blocking mode

 sound/firewire/amdtp.c            | 108 ++++++++++++++++++++++++--------------
 sound/firewire/amdtp.h            |   4 ++
 sound/firewire/oxfw/oxfw-stream.c |  10 +++-
 3 files changed, 81 insertions(+), 41 deletions(-)

-- 
2.1.4



More information about the Alsa-devel mailing list