[pulseaudio-discuss] understanding PA cork/uncorking scenarios
himanshu.chug at gmail.com
Tue Jul 5 08:00:04 PDT 2011
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>)
#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
#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.
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 of
> > 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