[pulseaudio-discuss] 'Failed to find a working profile' for firewire sound devices
superquad.vortex2 at gmail.com
Tue Jan 21 00:49:04 PST 2014
2014/1/21 Takashi Sakamoto <o-takashi at sakamocchi.jp>
> Hi Raymond,
> > How accurate are the hwptr playback/capture position ?
> It's enough accurate.
e,g, USB audio send in URB packet
the position is only updated in one ms
> ...But the position don't show the position in DMA buffer for 'actual
> hardware'. Let me describe later.
> > SNDRV_PCM_INFO_BATCH mean hwptr only update in period boundary
> This flag is appropriate.
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 ?
> snd_pcm_period_elapsed() is called when 'hwptr' cross boundary of period.
> See: in 'amdtp.c'
> ->tasklet_hi_schedule() - pcm_period_tasklet()
Do you mean firewire driver 's pcm_pointer callback does not report
playback/capture positon in realtime ?
there is alway one packet 's uncertainty
> In brief:
> [PCM playback] The drivers generate IEC 61883-1/6 packets from PCM samples
> in 'struct snd_pcm_runtime.dma_area'. And the drivers write these packets
> on DMA buffer for OHCI 1394 host controller.
> [PCM capture] The drivers handle IEC 61883-1/6 packets on DMA buffer for
> OHCI 1394 host controller. And the drivers pick up PCM samples, write the
> samples on 'struct snd_pcm_runtime.dma_area'.
> The functionality to packetize is on 'snd-firewire-lib'. Please see
> 'amdtp.c' in detail.
are the any minimum size of the packet ?
e.g. usb audio send in urb
> > The best choice should be jackd instead of pulseaudio
> > If the hardware must use 10 or more channels and used
> > for studio production
> Yes. I think so. But let me describe two points.
> Current PulseAudio re-tries to detect the profile when the system probe
> the devices. This corresponds snd_pcm_open() and snd_pcm_close(). So the
> drivers handle many open()/close() as long as the devices are connected.
> This is a waste because the drivers generate a few transactions between
> hardware when open().
you can add rule to force pulseaudio ignore all firewire cards similar to
> And many of the devices which the drivers support have 4 or 6 in/out ports
> and better for daily use. But PulseAudio don't handle such devices.
if the devices have hardware mixer , there is no point to use software
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the pulseaudio-discuss