mbox series

[0/8] ALSA: firewire-lib: check cycle continuity

Message ID 20210518130048.146596-1-o-takashi@sakamocchi.jp
Headers show
Series ALSA: firewire-lib: check cycle continuity | expand

Message

Takashi Sakamoto May 18, 2021, 1 p.m. UTC
Hi,

Current implementation of ALSA IEC 61883-1/6 packet streaming engine
doesn't check whether received packets are exactly per isochronous
cycle. This is required to process packets transferred from
OXFW970-based devices and devices in RME Fireface series. However, the
packet sequence with skipped cycle is inconvenient for media clock
recovery.

This patchset takes the engine to check cycle continuity at processing
packets, including code refactoring. For RME Fireface series, the skipped
cycle is handled as receiving an empty packet. For OXFW970-based devices,
the skipped cycles are acceptable but media clock recovery is hard.

Takashi Sakamoto (8):
  ALSA: firewire-lib: code refactoring to refer the same frame count per
    period in domain structure
  ALSA: firewire-lib: handle the case that empty isochronous packet
    payload for CIP
  ALSA: firewire-lib: code refactoring for sequence descriptor'
  ALSA: firewire-lib: code refactoring for helper function to compute
    OHCI 1394 cycle
  ALSA: firewire-lib: code refactoring for parser of IR context header
  ALSA: firewire-lib: code refactoring for check of CIP header about
    payload size
  ALSA: firewire-lib: check cycle continuity
  ALSA: firewire-lib: insert descriptor for skipped cycle

 sound/firewire/amdtp-stream.c | 172 ++++++++++++++++++++++------------
 sound/firewire/amdtp-stream.h |  10 +-
 2 files changed, 119 insertions(+), 63 deletions(-)