[pulseaudio-discuss] understanding PA cork/uncorking scenarios
himanshu.chug at gmail.com
Wed Aug 3 07:15:02 PDT 2011
The PA abort seen before is specific to our audio driver (identified kernel
memory alignment issue) and the same crash cannot not found on other
On Tue, Jul 5, 2011 at 8:30 PM, Himanshu Chug <himanshu.chug at gmail.com>wrote:
> fine, and here is backtrace for the abort I was getting sometimes for the
> same use case (music over phone)
> any clue how to avoid this first ?
> #0 0x407f42ec in raise () from /lib/libc.so.6
> #1 0x407f9b04 in abort () from /lib/libc.so.6
> #2 0x4011dc34 in signal_handler (sig=<value optimized out>, si=<value
> optimized out>, data=<value optimized out>) at pulsecore/memtrap.c:103
> #3 <signal handler called>
> #4 0x4005ccc4 in pa_mix (streams=0x422958ec, nstreams=2, data=0x41a938c0,
> length=<value optimized out>, spec=0x42297d5c, volume=0x40078608,
> mute=<value optimized out>)
> at pulsecore/sample-util.c:247
> #5 0x40078608 in pa_sink_render_into (s=0x33c28, target=0x42297cc4) at
> #6 0x40078b90 in pa_sink_render_into_full (s=0x33c28, target=0x42297d5c)
> at pulsecore/sink.c:1075
> #7 0x419ad08c in mmap_write (userdata=<value optimized out>) at
> #8 thread_func (userdata=<value optimized out>) at
> #9 0x4012ee1c in internal_thread_func (userdata=0x331d0) at
> #10 0x407ada90 in start_thread () from /lib/libpthread.so.0
> #11 0x408a0fb8 in clone () from /lib/libc.so.6
> gst logs when starting "music" stream from gst-launch:
> ERROR: from element /GstPlayBin2:playbin20/
> pa_stream_write() failed: Connection terminated
> Additional debug info:
> pulsesink.c(1587): gst_pulseringbuffer_commit ():
> Execution ended after 75439452 ns.
> Setting pipeline to PAUSED ...
> Setting pipeline to READY ...
> caps = NULL
> Assertion 'pa_atomic_load(&(b)->_ref) > 0' failed at
> pulsecore/memblock.c:590, function pa_memblock_unref(). Aborting.
> Best Regards,
> On Fri, Jul 1, 2011 at 1:40 PM, Colin Guthrie <gmane at colin.guthr.ie>wrote:
>> 'Twas brillig, and Jason Taylor at 01/07/11 03:44 did gyre and gimble:
>> > e.g. in module-x11-cork-request (which I very much think you should
>> > ignore completely and disable in any install as it just gets in the
>> > and results in very strange behaviour due to non-stateful tracking
>> > the current state... e.g. by default if a Skype call comes in when
>> > have e.g. Amarok paused, then Amarok will unpause for you when the
>> > starts and pause again then it ends...
>> > Would be nice if there was module-mpris2-cork-request instead... most of
>> > the desktop media players now support the MPRIS2 dbus interface (thanks
>> > ubuntu sound menu) http://www.mpris.org/2.1/spec/
>> > The spec specifies a PlaybackStatus() , CanPause, CanPlay, Play() and
>> > Pause()
>> > Since you don't have to actually pause phone roles just music/video this
>> > would do the trick I think..
>> This would certainly be much more preferable to the x11 cork request but
>> some issue would be problematic.
>> 1. We need to match up PA streams with mpris2 clients. I think this
>> should be solvable but I've not looked too deeply at mpris stuff to know
>> the finer details.
>> 2. Even with this module, the problem of a media player which uses the
>> PA_STREAM_START_CORKED flag would still be there I think. :(
>> Colin Guthrie
>> Day Job:
>> Tribalogic Limited [http://www.tribalogic.net/]
>> Open Source:
>> Mageia Contributor [http://www.mageia.org/]
>> PulseAudio Hacker [http://www.pulseaudio.org/]
>> Trac Hacker [http://trac.edgewall.org/]
>> pulseaudio-discuss mailing list
>> pulseaudio-discuss at lists.freedesktop.org
-------------- next part --------------
An HTML attachment was scrubbed...
More information about the pulseaudio-discuss