[pulseaudio-discuss] Problems with splitting surround sound signal and sending over network (RTP crash backtrace)

Christian Glodt chris at mind.lu
Fri Jun 10 16:20:53 UTC 2016


Although the tunnel-sink now works in principle, I have problems getting
the audio synchronized between the HDMI output and the tunnel sink.

I thought I'd try RTP anyway, since there are reports saying that it works
well for synchronized distributed audio.

Here's a full backtrace of the crashing thread, again from version
1:8.0.0-0ubuntu3.

Sorry for not putting it into Bugzilla, but I don't really feel like
creating an account just for this one backtrace.

Thanks for the help and best regards,

Christian

(gdb) bt full
#0  0x00007ffff6311418 in __GI_raise (sig=sig at entry=6) at
../sysdeps/unix/sysv/linux/raise.c:54
        resultvar = 0
        pid = 35355
        selftid = 35359
#1  0x00007ffff631301a in __GI_abort () at abort.c:89
        save_stage = 2
        act = {__sigaction_handler = {sa_handler = 0x2c00000011,
sa_sigaction = 0x2c00000011}, sa_mask = {__val = {176093659154, 0, 0,
              140737111419872, 140737114283993, 6785184, 6798368, 0,
140737324591616, 140737111422464, 140737018593368, 0, 140737018596576,
              0, 140737200119808, 140737111419728}}, sa_flags = -141746104,
sa_restorer = 0x50c}
        sigs = {__val = {32, 0 <repeats 15 times>}}
#2  0x00007ffff78d2051 in pa_memblockq_push (bq=0x73f460,
uchunk=0x7fffe9886c20) at pulsecore/memblockq.c:289
        q = 0x3f
        n = 0x7fffe9886b30
        chunk = {memblock = 0x575ae614, index = 540414, length = 3955821}
        old = 0
        __func__ = "pa_memblockq_push"
        __PRETTY_FUNCTION__ = "pa_memblockq_push"
#3  0x00007fffcb9ed235 in rtpoll_work_cb (i=0x7fffe4000b20) at
modules/rtp/module-rtp-recv.c:271
        chunk = {memblock = 0x7fffeed1e000, index = 12, length = 1280}
        k = 0
        j = 4294967296
        delta = 0
        now = {tv_sec = 3955821, tv_usec = 947295}
        s = 0x6f7fc0
        p = 0x66f0b8
        __func__ = "rtpoll_work_cb"
        __PRETTY_FUNCTION__ = "rtpoll_work_cb"
#4  0x00007ffff7b5c000 in pa_rtpoll_run (p=0x7c8240) at
pulsecore/rtpoll.c:696
        k = 0
        defer_event = 0x0
        time_event = 0x0
        i = 0x7fffe4000b20
        r = 0
        timeout = {tv_sec = 70528, tv_usec = 0}
        next_time_event = 0x0
        next_time_event_elapse = {tv_sec = 3955821946850, tv_usec =
4754025810059539968}
        timer_enabled = false
        __func__ = "pa_rtpoll_run"
        __PRETTY_FUNCTION__ = "pa_rtpoll_run"
#5  0x00007fffe98be040 in thread_func (userdata=0x666bb0) at
modules/alsa/alsa-sink.c:1799
        ret = 1
        rtpoll_sleep = 0
        real_sleep = 0
        u = 0x666bb0
        revents = 0
        __func__ = "thread_func"
        __PRETTY_FUNCTION__ = "thread_func"
#6  0x00007ffff78f43fe in internal_thread_func (userdata=0x7c33e0) at
pulsecore/thread-posix.c:81
        t = 0x7c33e0
        __func__ = "internal_thread_func"
        __PRETTY_FUNCTION__ = "internal_thread_func"
#7  0x00007ffff6dc16fa in start_thread (arg=0x7fffe9887700) at
pthread_create.c:333
        __res = <optimized out>
        pd = 0x7fffe9887700
        now = <optimized out>
        unwind_buf = {cancel_jmp_buf = {{jmp_buf = {140737111422720,
-6710472414859945635, 0, 140737488343983, 140737111423424, 0,
                6710451357242300765, 6710488085811763549}, mask_was_saved =
0}}, priv = {pad = {0x0, 0x0, 0x0, 0x0}, data = {prev = 0x0,
              cleanup = 0x0, canceltype = 0}}}
        not_first_call = <optimized out>
        pagesize_m1 = <optimized out>
        sp = <optimized out>
        freesize = <optimized out>
        __PRETTY_FUNCTION__ = "start_thread"
#8  0x00007ffff63e2b5d in clone () at
../sysdeps/unix/sysv/linux/x86_64/clone.S:109


On Tue, Jun 7, 2016 at 7:49 AM, Christian Glodt <chris at mind.lu> wrote:

> On 06/06/2016 05:59 PM, Tanu Kaskinen wrote:
>
>> On Mon, 2016-06-06 at 11:20 +0200, Christian Glodt wrote:
>>
>>> Hi,
>>>
>>> I'm trying to do the following with a 7.1 surround sound signal:
>>> - play the front-center channel on the left and right channels of a HDMI
>>> output
>>> - stream the 6 {front,side,rear}-{left,right} channels to another system
>>> - (I'm ignoring the lfe channel for now)
>>>
>>> The hardware setup is this:
>>> - A Micro-PC running Kodi connected to a TV (which will also act as
>>> center speaker).
>>> - A server system hooked up to audio outputs and amplifiers that drive 6
>>> ceiling-mounted speakers.
>>>
>>> I will call the Micro-PC "Client", and the Server "Server" in the
>>> following description.
>>>
>>> Please note that the server system plays audio fine on the speakers
>>> using MPD. I'm also not too concerned with the exact channel mappings at
>>> the moment.
>>>
>>> I'm running Ubuntu 16.04 on both systems (Pulseaudio package version
>>> 1:8.0-0ubuntu3).
>>>
>>> I've tried several different approaches to achieve the streaming of the
>>> 6 channels from the client to the server system. None of them work so
>>> far, in fact I mostly get failed assertions.
>>>
>>> I'd be very glad if someone could point me in the right direction.
>>>
>> The tunnel crashes can be fixed by applying these two patches:
>>
>>
>> https://lists.freedesktop.org/archives/pulseaudio-discuss/2015-January/022881.html
>>
>> https://lists.freedesktop.org/archives/pulseaudio-discuss/2015-January/022882.html
>>
>
> Thanks a lot, these patches fix the tunnel-sink problem for me! I applied
> them to Ubuntu's 1:8.0-ubuntu3 package. In order to get it to compile, I
> had to add the "pa_rtpoll_quit()" function back again. It works now, using
> a tunnel-sink-new and a combine-sink (1st approach described in my initial
> email).
>
> I hope these patches get applied upstream - without them Pulseaudio is
> broken for a great many use cases.
>
>
>> The rtp crash is something else. If you know how to get backtraces with
>> gdb, a bug report in bugzilla with a backtrace would be helpful.
>>
>
> Unfortunately I've already spent far too much time on this problem, so I
> won't be able to delve any deeper into the RTP crash, as I'm not planning
> to use RTP now. It does seem easy enough to replicate for anyone interested.
>
> Thanks a lot and best regards,
>
> Christian Glodt
>
>
>
>> --
>> Tanu
>> _______________________________________________
>> pulseaudio-discuss mailing list
>> pulseaudio-discuss at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/pulseaudio-discuss
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/pulseaudio-discuss/attachments/20160610/087fa07f/attachment.html>


More information about the pulseaudio-discuss mailing list