[pulseaudio-discuss] 'Failed to find a working profile' for firewire sound devices
Takashi Sakamoto
o-takashi at sakamocchi.jp
Wed Jan 22 02:49:02 PST 2014
Raymond,
> How accurate are the hwptr playback/capture position ?
>
> e,g, USB audio send in URB packet
>
> the position is only updated in one ms
There is a chance to update the position every 2 msec. But it differ
depending on sampling rate, size of period and streaming mode.
> Pulseaudio use snd_pcm_rewind the application ptr and rewrite the data
>
> do the firewire driver allow application to cancel some submitted
> packets and resend ?
No. Once the packets are queued, the drivers can't cancel to transfer them.
This is the same as existed firewire drivers for iSight, Griffin and
LaCie. Not newly for my drivers.
> Do you mean firewire driver 's pcm_pointer callback does not report
> playback/capture positon in realtime ?
Within the 2 msec, I mean it.
> there is alway one packet 's uncertainty
>
> are the any minimum size of the packet ?
>
> e.g. usb audio send in urb
There is uncertainty. But not one packet.
Every 2 msec, the drivers queue some packets for transferring. So
uncertainty is the number of the packets.
Currently this number is fixed by 16. See 'INTERRUPT_INTERVAL' macro in
'amdtp.c'.
(In IEE1394, 8000 packets are transferred per sec. So 16 packets equal 2
msec.)
> you can add rule to force pulseaudio ignore all firewire cards similar
> to thinkpad_acpi
Yes. It's one of solutions for this issue.
> if the devices have hardware mixer , there is no point to use software
> mixing
No. the devices can handle one PCM stream with some channels. Then
several applications cannot handle the same PCM device. There is still a
need to use software mixing.
Thanks
Takashi Sakamoto
o-takashi at sakamocchi.jp
More information about the pulseaudio-discuss
mailing list