[alsa-devel] firewire-lib: an issue to generate packet with 'no data' in blocking mode

Clemens Ladisch clemens at ladisch.de
Fri Nov 22 12:47:46 CET 2013


Takashi Sakamoto wrote:
> I have a question about generate packet with 'no data' in blocking mode.
> I think there is out of specification in current firewire-lib.
>
> In my understanding of IEC 61883-6, there are two ways:
>
> 1. generate 'empty packet' defined in IEC 61883-1
>    - size of packet is 2 quadlets
>    - FDF = sfc
>    - packet includes just CIP headers
>
> 2. generate 'special non-empty packet' defined in IEC 61883-6
>    - size of packet is following to blocking mode
>    - FDF = 0xff ('NO-DATA' code)
>    - packet includes dummy data
>
> But current implementation is a strange combination of them.
>  - size of packet is 2 (way 1)
>  - FDF = 0xff (way 2)

It's an empty NO-DATA packet.  ;-)

I guess I just didn't notice that empty packets don't need to change
their FDF field.  This is a bug.

> If this is a qurk for some devices, I'll prepare patches to switch
> generating mode because BeBoB cannot sound with current firewire-lib. If
> this is a bug, then I want to discuss which is better for firewire-lib.

Empty packets should be fine for all devices.  (NO-DATA packets would
waste DMA bandwidth.)


Regards,
Clemens


More information about the Alsa-devel mailing list