[pulseaudio-tickets] [PulseAudio] #507: Incompatible channel_map/relative_volume in stream restore?

PulseAudio trac-noreply at tango.0pointer.de
Fri Mar 20 06:00:27 PDT 2009


#507: Incompatible channel_map/relative_volume in stream restore?
------------------------------------+---------------------------------------
  Reporter:  elmarco                |       Owner:  lennart
      Type:  defect                 |      Status:  new    
  Priority:  normal                 |   Milestone:  0.9.15 
 Component:  module-volume-restore  |    Severity:  normal 
Resolution:                         |    Keywords:         
------------------------------------+---------------------------------------
Description changed by lennart:

Old description:

> When switching quickly between HSP and A2dp
>
> I: card.c: Changed profile of card 2 "bluez_card.00_1E_3A_9B_DC_B7" to
> hsp
> D: volume.c: Assertion 'pa_cvolume_compatible_with_channel_map(v, from)'
> failed at pulse/volume.c:394, function pa_cvolume_remap.
> E: volume.c: Assertion 'a' failed at pulse/volume.c:37, function
> pa_cvolume_equal(). Aborting.
>
> Program received signal SIGABRT, Aborted.
> 0x4e74d7f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> (gdb) bt
> #0  0x4e74d7f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
> #1  0x4e798640 in *__GI_raise (sig=<value optimized out>) at
> ../nptl/sysdeps/unix/sysv/linux/raise.c:64
> #2  0x4e79a008 in *__GI_abort () at abort.c:88
> #3  0xb7daa901 in pa_cvolume_equal (a=0x0, b=0xb280077e) at
> pulse/volume.c:37
> #4  0xb7e96a9b in entries_equal (a=0xb28006f8, b=0xbfffe99a) at modules
> /module-stream-restore.c:255
> #5  0xb7e9708a in subscribe_callback (c=0x8073e68, t=18, idx=1,
> userdata=0x8086cd8) at modules/module-stream-restore.c:332
> #6  0xb7dd842f in defer_cb (m=0x8072d24, de=0x8079e20,
> userdata=0x8073e68) at pulsecore/core-subscribe.c:175
> #7  0xb7d9550e in dispatch_defer (m=0x8072ce8) at pulse/mainloop.c:705
> #8  0xb7d960b9 in pa_mainloop_dispatch (m=0x8072ce8) at
> pulse/mainloop.c:887
> #9  0xb7d96295 in pa_mainloop_iterate (m=0x8072ce8, block=1,
> retval=0xbfffede0) at pulse/mainloop.c:926
> #10 0xb7d962ff in pa_mainloop_run (m=0x8072ce8, retval=0xbfffede0) at
> pulse/mainloop.c:941
> #11 0x08062509 in main (argc=2, argv=0xbfffeed4) at daemon/main.c:995
> (gdb) f 4
> #4  0xb7e96a9b in entries_equal (a=0xb28006f8, b=0xbfffe99a) at modules
> /module-stream-restore.c:255
> 255         if (a->relative_volume_valid != b->relative_volume_valid ||
> (gdb) f 4
> #4  0xb7e96a9b in entries_equal (a=0xb28006f8, b=0xbfffe99a) at modules
> /module-stream-restore.c:255
> 255         if (a->relative_volume_valid != b->relative_volume_valid ||
> (gdb) print *a
> $1 = {version = 1 '\001', muted_valid = false, relative_volume_valid =
> true, absolute_volume_valid = true, device_valid = false, muted = false,
> channel_map = {channels = 2 '\002', map = {PA_CHANNEL_POSITION_LEFT,
> PA_CHANNEL_POSITION_RIGHT, -1300234224, -1300233112, -1210353036, 137,
> -1210839205, -1073747576, -1210390674, PA_CHANNEL_POSITION_AUX8,
> 1317725951, 1317732744, 1317720209, 1317720029, -1209861392, -1073747544,
> -1210180278, -1208056024, -1209912751, -1073747528, -1210503734,
> -1300211056, -1210621292, -1073747544, -1210693171,
> PA_CHANNEL_POSITION_AUX8, -1300233112, -1300234240, -1210353036,
> PA_CHANNEL_POSITION_LEFT, -1210621292, -1073747464}}, relative_volume =
> {channels = 2 '\002', values = {65536, 65536, 0 <repeats 30 times>}},
> absolute_volume = {channels = 2 '\002', values = {65536, 65536, 0
> <repeats 30 times>}}, device = "bluez_sink.00_1E_3A_9B_DC_B7", '\0'
> <repeats 99 times>}
> (gdb) print *b
> $2 = {version = 1 '\001', muted_valid = false, relative_volume_valid =
> true, absolute_volume_valid = true, device_valid = false, muted = false,
> channel_map = {channels = 2 '\002', map = {PA_CHANNEL_POSITION_LEFT,
> PA_CHANNEL_POSITION_RIGHT, -1300234224, -1300233112, -1210353036, 137,
> -1210839205, -1073747576, -1210390674, PA_CHANNEL_POSITION_AUX8,
> 1317725951, 1317732744, 1317720209, 1317720029, -1209861392, -1073747544,
> -1210180278, -1208056024, -1209912751, -1073747528, -1210503734,
> -1300211056, -1210621292, -1073747544, -1210693171,
> PA_CHANNEL_POSITION_AUX8, -1300233112, -1300234240, -1210353036,
> PA_CHANNEL_POSITION_LEFT, -1210621292, -1073747464}}, relative_volume =
> {channels = 1 '\001', values = {65536, 0 <repeats 31 times>}},
> absolute_volume = {channels = 2 '\002', values = {65536, 65536, 0
> <repeats 30 times>}}, device = "bluez_sink.00_1E_3A_9B_DC_B7", '\0'
> <repeats 99 times>}
> (gdb) c
> Continuing.
>
> relative_volume has a channels = 1, but the channel_map is for 2
> channels. I will try to check later.

New description:

 When switching quickly between HSP and A2dp

 {{{
 I: card.c: Changed profile of card 2 "bluez_card.00_1E_3A_9B_DC_B7" to hsp
 D: volume.c: Assertion 'pa_cvolume_compatible_with_channel_map(v, from)'
 failed at pulse/volume.c:394, function pa_cvolume_remap.
 E: volume.c: Assertion 'a' failed at pulse/volume.c:37, function
 pa_cvolume_equal(). Aborting.

 Program received signal SIGABRT, Aborted.
 0x4e74d7f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
 (gdb) bt
 #0  0x4e74d7f2 in _dl_sysinfo_int80 () from /lib/ld-linux.so.2
 #1  0x4e798640 in *__GI_raise (sig=<value optimized out>) at
 ../nptl/sysdeps/unix/sysv/linux/raise.c:64
 #2  0x4e79a008 in *__GI_abort () at abort.c:88
 #3  0xb7daa901 in pa_cvolume_equal (a=0x0, b=0xb280077e) at
 pulse/volume.c:37
 #4  0xb7e96a9b in entries_equal (a=0xb28006f8, b=0xbfffe99a) at modules
 /module-stream-restore.c:255
 #5  0xb7e9708a in subscribe_callback (c=0x8073e68, t=18, idx=1,
 userdata=0x8086cd8) at modules/module-stream-restore.c:332
 #6  0xb7dd842f in defer_cb (m=0x8072d24, de=0x8079e20, userdata=0x8073e68)
 at pulsecore/core-subscribe.c:175
 #7  0xb7d9550e in dispatch_defer (m=0x8072ce8) at pulse/mainloop.c:705
 #8  0xb7d960b9 in pa_mainloop_dispatch (m=0x8072ce8) at
 pulse/mainloop.c:887
 #9  0xb7d96295 in pa_mainloop_iterate (m=0x8072ce8, block=1,
 retval=0xbfffede0) at pulse/mainloop.c:926
 #10 0xb7d962ff in pa_mainloop_run (m=0x8072ce8, retval=0xbfffede0) at
 pulse/mainloop.c:941
 #11 0x08062509 in main (argc=2, argv=0xbfffeed4) at daemon/main.c:995
 (gdb) f 4
 #4  0xb7e96a9b in entries_equal (a=0xb28006f8, b=0xbfffe99a) at modules
 /module-stream-restore.c:255
 255         if (a->relative_volume_valid != b->relative_volume_valid ||
 (gdb) f 4
 #4  0xb7e96a9b in entries_equal (a=0xb28006f8, b=0xbfffe99a) at modules
 /module-stream-restore.c:255
 255         if (a->relative_volume_valid != b->relative_volume_valid ||
 (gdb) print *a
 $1 = {version = 1 '\001', muted_valid = false, relative_volume_valid =
 true, absolute_volume_valid = true, device_valid = false, muted = false,
 channel_map = {channels = 2 '\002', map = {PA_CHANNEL_POSITION_LEFT,
 PA_CHANNEL_POSITION_RIGHT, -1300234224, -1300233112, -1210353036, 137,
 -1210839205, -1073747576, -1210390674, PA_CHANNEL_POSITION_AUX8,
 1317725951, 1317732744, 1317720209, 1317720029, -1209861392, -1073747544,
 -1210180278, -1208056024, -1209912751, -1073747528, -1210503734,
 -1300211056, -1210621292, -1073747544, -1210693171,
 PA_CHANNEL_POSITION_AUX8, -1300233112, -1300234240, -1210353036,
 PA_CHANNEL_POSITION_LEFT, -1210621292, -1073747464}}, relative_volume =
 {channels = 2 '\002', values = {65536, 65536, 0 <repeats 30 times>}},
 absolute_volume = {channels = 2 '\002', values = {65536, 65536, 0 <repeats
 30 times>}}, device = "bluez_sink.00_1E_3A_9B_DC_B7", '\0' <repeats 99
 times>}
 (gdb) print *b
 $2 = {version = 1 '\001', muted_valid = false, relative_volume_valid =
 true, absolute_volume_valid = true, device_valid = false, muted = false,
 channel_map = {channels = 2 '\002', map = {PA_CHANNEL_POSITION_LEFT,
 PA_CHANNEL_POSITION_RIGHT, -1300234224, -1300233112, -1210353036, 137,
 -1210839205, -1073747576, -1210390674, PA_CHANNEL_POSITION_AUX8,
 1317725951, 1317732744, 1317720209, 1317720029, -1209861392, -1073747544,
 -1210180278, -1208056024, -1209912751, -1073747528, -1210503734,
 -1300211056, -1210621292, -1073747544, -1210693171,
 PA_CHANNEL_POSITION_AUX8, -1300233112, -1300234240, -1210353036,
 PA_CHANNEL_POSITION_LEFT, -1210621292, -1073747464}}, relative_volume =
 {channels = 1 '\001', values = {65536, 0 <repeats 31 times>}},
 absolute_volume = {channels = 2 '\002', values = {65536, 65536, 0 <repeats
 30 times>}}, device = "bluez_sink.00_1E_3A_9B_DC_B7", '\0' <repeats 99
 times>}
 (gdb) c
 Continuing.
 }}}

 relative_volume has a channels = 1, but the channel_map is for 2 channels.
 I will try to check later.

--

-- 
Ticket URL: <http://pulseaudio.org/ticket/507#comment:2>
PulseAudio <http://pulseaudio.org/>
The PulseAudio Sound Server


More information about the pulseaudio-bugs mailing list