Hi,
ALSA IEC 61883-1/6 packet streaming engine have been using pre-computed parameters ideal for nominal sampling transfer frequency (STF), to transfer packets to device since it was added 2011. As a result of user experience for a decade, it is clear that the sequence is not suitable to some actual devices.
In design of audio and music unit in IEEE 1394 bus, feedback of effective sampling transfer frequency is delivered by packets transferred from device. Reuse of the sequence of parameter in the packets results in pseudo media clock recovery to transfer packet.
In this patchset, an option is added to AMDTP domain so that each of AMDTP stream for outgoing packet has association to AMDTP stream for incoming packet, to replay the sequence of parameter. Some devices require receiving packet on-the-fly to transfer packets, so another option is added.
These options are just added, not used yet in this time. In future work, they are going to be used by drivers in ALSA firewire stack.
Takashi Sakamoto (3): ALSA: firewire-lib: add replay target to cache sequence of packet ALSA: firewire-lib: replay sequence of incoming packets for outgoing packets ALSA: firewire-lib: transfer rx packets on-the-fly when replaying
sound/firewire/amdtp-stream.c | 252 ++++++++++++++++++-- sound/firewire/amdtp-stream.h | 17 +- sound/firewire/bebob/bebob_stream.c | 2 +- sound/firewire/dice/dice-stream.c | 2 +- sound/firewire/digi00x/digi00x-stream.c | 2 +- sound/firewire/fireface/ff-stream.c | 2 +- sound/firewire/fireworks/fireworks_stream.c | 2 +- sound/firewire/motu/motu-stream.c | 2 +- sound/firewire/oxfw/oxfw-stream.c | 2 +- sound/firewire/tascam/tascam-stream.c | 2 +- 10 files changed, 259 insertions(+), 26 deletions(-)