[pulseaudio-discuss] non clear audio pulse audio 6

Ahmed S. Darwish darwish.07 at gmail.com
Fri Mar 18 19:15:51 UTC 2016


[ Adding omitted pulseaudio-discuss back to CC ]

Hi Jerry,

On Fri, Mar 18, 2016 at 01:16:19PM -0400, Jerry Geis wrote:
> On Fri, Mar 18, 2016 at 12:52 PM, Ahmed S. Darwish <darwish.07 at gmail.com> wrote:
> > On Fri, Mar 18, 2016 at 06:33:02PM +0200, Ahmed S. Darwish wrote:
> > > On Fri, Mar 18, 2016 at 12:13:03PM -0400, Jerry Geis wrote:
> > > > (   0.023|   0.000) D: [pulseaudio] module-always-sink.c: Autoloading null-sink as no other sinks detected.
> > > ...
> > > > (   0.001|   0.000) D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
> > > > (   0.001|   0.000) D: [pulseaudio] memblock.c: Using shared memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472
> > > ...
> > > > (   5.031|   4.989) I: [pulseaudio] module-suspend-on-idle.c: Sink auto_null idle for too long, suspending ...
> > > > (   5.031|   0.000) D: [pulseaudio] sink.c: Suspend cause of sink auto_null is 0x0004, suspending
> > > > (   5.033|   0.001) D: [pulseaudio] core.c: Hmm, no streams around, trying to vacuum.
> > > ...
> > > > (  10.047|   5.013) I: [pulseaudio] module-device-restore.c: Synced.
> > > > (  23.563|  13.515) I: [pulseaudio] main.c: Got signal SIGINT.
> > > > (  23.563|   0.000) I: [pulseaudio] main.c: Exiting.
> > > > (  23.563|   0.000) I: [pulseaudio] main.c: Daemon shutdown initiated.
> > >
> > > Are you sure you've run Asterisk while capturing the log above? It
> > > is expected to see something like:
> > >
> > > I: [pulsecore/client.c:74 pa_client_new()] Created 1 "Native client
> > (UNIX socket client)"
> > > D: [pulsecore/protocol-native.c:2729 command_auth()] Protocol version:
> > remote 31, local 31
> > > I: [pulsecore/protocol-native.c:2762 command_auth()] Got credentials:
> > uid=1000 gid=1000 success=1
> > >
> > > But I did not see anything like that. The log instead shows an
> > > idle PulseAudio daemon with no connected clients.
> >
> > Also it seems this instace of Pulse did not detect any ALSA
> > sinks and is just using null-sink as a fallback default.
> >
> > So please post the log of the working PA setup instead. That is,
> > the one you hear sound nicely from but with Asterisk producing
> > sound cracks.
> >
>
> here is the file.
> 
> not sure what the issue was the first time. but this one has more.
>

Yup, that's the correct log file. I can see the ALSA sink, multiple
clients connecting to the daemon (including Asterisk), etc.

Let's see ..

> W: [pulseaudio] main.c: Running in system mode, but --disallow-exit not set!
> W: [pulseaudio] main.c: Running in system mode, but --disallow-module-loading not set!
> N: [pulseaudio] main.c: Running in system mode, forcibly disabling SHM mode!

You're using system mode, which disables shared memory, and thus
negatively affects latency (and in latency-demanding apps this
can indeed produce cracks)

...
> D: [pulseaudio] memblock.c: Using private memory pool with 1024 slots of size 64.0 KiB each, total size is 64.0 MiB, maximum usable slot size is 65472

Not a shared-memory pool, due to running in system mode..

...
> I: [pulseaudio] sink-input.c: Created input 0 "ALSA Playback" on auto_null with sample spec s16le 1ch 8000Hz and channel map mono
> I: [pulseaudio] sink-input.c:     media.name = "ALSA Playback"
> I: [pulseaudio] sink-input.c:     application.name = "ALSA plug-in [asterisk]"
> I: [pulseaudio] sink-input.c:     application.process.binary = "asterisk"
..
> D: [pulseaudio] protocol-native.c: Requested latency=40.00 ms, Received latency=40.00 ms

Here is Asterisk connecting..

> I: [alsa-sink-HDMI 0] alsa-sink.c: Scheduling delay of 1538.89 ms > 5.00 ms, you might want to investigate this to improve latency...
> I: [alsa-sink-HDMI 0] ratelimit.c: 74 events suppressed
> I: [alsa-sink-HDMI 0] alsa-sink.c: Underrun!
> I: [alsa-sink-HDMI 0] alsa-sink.c: Increasing wakeup watermark to 10.00 ms
> I: [pulseaudio] module-device-restore.c: Synced.
> D: [alsa-sink-HDMI 0] protocol-native.c: Requesting rewind due to end of underrun.
> D: [alsa-sink-HDMI 0] alsa-sink.c: Requested to rewind 256000 bytes.
> D: [alsa-sink-HDMI 0] alsa-sink.c: Limited to 4224 bytes.
> D: [alsa-sink-HDMI 0] alsa-sink.c: before: 1056
> D: [alsa-sink-HDMI 0] alsa-sink.c: after: 1056
> D: [alsa-sink-HDMI 0] alsa-sink.c: Rewound 4224 bytes.
> D: [alsa-sink-HDMI 0] sink.c: Processing rewind...
> D: [alsa-sink-HDMI 0] sink-input.c: Have to rewind 4224 bytes on render memblockq.
> D: [alsa-sink-HDMI 0] source.c: Processing rewind...
> D: [alsa-sink-HDMI 0] protocol-native.c: Implicit underrun of 'ALSA Playback'
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 2272 bytes ago (2816 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 2272 bytes ago (2816 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 2272 bytes ago (2784 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 2272 bytes ago (2752 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 2272 bytes ago (1440 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 2272 bytes ago (1408 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] sink.c: Found underrun 4832 bytes ago (256 bytes ahead in playback buffer)
> D: [alsa-sink-HDMI 0] protocol-native.c: Requesting rewind due to end of underrun.
...

and here are the buffer underruns that keeps arising (thus
producing audible cracks) until the PulseAudio daemon is shutdown.

>From all of the above, it seems like 1) enabling shared-memory by
running PA in user mode, and 2) enabling shared ringbuffer support
by passing "srbchannel=true" to module-native-protocol-unix, are
the logical next steps to try.

Good luck,

--
Darwish
http://darwish.chasingpointers.com


More information about the pulseaudio-discuss mailing list