[Bug 100136] Losing playback audio after migration

bugzilla-daemon at freedesktop.org bugzilla-daemon at freedesktop.org
Thu Apr 13 16:24:48 UTC 2017


https://bugs.freedesktop.org/show_bug.cgi?id=100136

Christophe Fergeau <teuf at gnome.org> changed:

           What    |Removed                     |Added
----------------------------------------------------------------------------
                 CC|                            |teuf at gnome.org

--- Comment #7 from Christophe Fergeau <teuf at gnome.org> ---
Here are some call traces with a recent 0.13 snapshot, and then with 0.12

     0 qemu-system-x86(16634):->spice_server_playback_set_volume
sin=0x55a2eba807d8 nchannels=0x2 volume=0x55a2ef2f9ce0
    26 qemu-system-x86(16634): ->snd_channel_set_volume channel=0x55a2ee6ec980
nchannels=0x2 volume=0x55a2ef2f9ce0
   408 qemu-system-x86(16634): <-0x55a2ea0eb9d4
   414 qemu-system-x86(16634):<-0x55a2ea0eb9d4
     0 qemu-system-x86(16634):->spice_server_playback_set_mute
sin=0x55a2eba807d8 mute=0x0
     6 qemu-system-x86(16634): ->snd_channel_set_mute channel=0x55a2ee6ec980
mute=0x0
    22 qemu-system-x86(16634): <-0x55a2ea0eb9e0
    26 qemu-system-x86(16634):<-0x55a2ea0eb9e0
     0 qemu-system-x86(16634):->spice_server_record_set_volume
sin=0x55a2ee6ea078 nchannels=0x2 volume=0x55a2ef2f9ce0
     6 qemu-system-x86(16634): ->snd_channel_set_volume channel=0x55a2ee6eca50
nchannels=0x2 volume=0x55a2ef2f9ce0
    26 qemu-system-x86(16634): <-0x55a2ea0eb7d1
    30 qemu-system-x86(16634):<-0x55a2ea0eb7d1
     0 qemu-system-x86(16634):->spice_server_record_set_mute sin=0x55a2ee6ea078
mute=0x0
     4 qemu-system-x86(16634): ->snd_channel_set_mute channel=0x55a2ee6eca50
mute=0x0
    19 qemu-system-x86(16634):  ->snd_send client=0x55a2ed2981b0
    35 qemu-system-x86(16634):   ->record_channel_send_item rcc=0x55a2ed2981b0
item=0x55a2ed2989a0
    40 qemu-system-x86(16634):    ->record_channel_client_get_type
    44 qemu-system-x86(16634):    <-record_channel_send_item
return=0x55a2eb9cf3b0
    47 qemu-system-x86(16634):    ->snd_channel_client_get_type
    51 qemu-system-x86(16634):    <-record_channel_send_item
return=0x55a2eb9ced20
    56 qemu-system-x86(16634):    ->snd_send_mute.constprop.5
client=0x55a2ed2981b0 msg=0x68 cap=0x1
    60 qemu-system-x86(16634):     ->snd_channel_get_type
    64 qemu-system-x86(16634):     <-snd_send_mute.constprop.5
return=0x55a2eb9cea10
   117 qemu-system-x86(16634):    <-record_channel_send_item return=0x1
   121 qemu-system-x86(16634):    ->snd_send client=0x55a2ed2981b0
   126 qemu-system-x86(16634):    <-record_channel_send_item
   128 qemu-system-x86(16634):   <-red_channel_client_push
   133 qemu-system-x86(16634):   ->snd_persistent_pipe_item_free
item=0x55a2ed2989a0
   138 qemu-system-x86(16634):   <-red_channel_client_push
   143 qemu-system-x86(16634):  <-0x55a2ea0eb7dd
   147 qemu-system-x86(16634): <-0x55a2ea0eb7dd
   151 qemu-system-x86(16634):<-0x55a2ea0eb7dd



     0 qemu-system-x86(18427):->spice_server_playback_set_volume
sin=0x559a318727d8 nchannels=0x2 volume=0x559a3407bce0
    60 qemu-system-x86(18427): ->snd_playback_send_volume
playback_channel=0x559a343da000
    69 qemu-system-x86(18427):  ->snd_send_volume.isra.2 channel=0x559a343da000
msg=0x69 st=? st=?
   320 qemu-system-x86(18427):   ->snd_begin_send_message
channel=0x559a343da000
   331 qemu-system-x86(18427):    ->snd_send_data channel=0x559a343da000
   393 qemu-system-x86(18427):     ->snd_playback_on_message_done
channel=0x559a343da000
   400 qemu-system-x86(18427):     <-snd_send_data
   403 qemu-system-x86(18427):    <-snd_send_volume.isra.2 return=0x1
   406 qemu-system-x86(18427):   <-snd_send_volume.isra.2 return=0x1
   408 qemu-system-x86(18427):  <-0x559a2e3a99d4 return=0x1
   422 qemu-system-x86(18427): <-0x559a2e3a99d4 return=0x1
   426 qemu-system-x86(18427):<-0x559a2e3a99d4
     0 qemu-system-x86(18427):->spice_server_playback_set_mute
sin=0x559a318727d8 mute=0x0
    34 qemu-system-x86(18427): ->snd_playback_send_mute
playback_channel=0x559a343da000
    42 qemu-system-x86(18427):  ->snd_begin_send_message channel=0x559a343da000
    48 qemu-system-x86(18427):   ->snd_send_data channel=0x559a343da000
    80 qemu-system-x86(18427):    ->snd_playback_on_message_done
channel=0x559a343da000
    85 qemu-system-x86(18427):    <-snd_send_data
    88 qemu-system-x86(18427):   <-snd_playback_send_mute return=0x1
    90 qemu-system-x86(18427):  <-snd_playback_send_mute return=0x1
    93 qemu-system-x86(18427): <-0x559a2e3a99e0 return=0x1
    97 qemu-system-x86(18427):<-0x559a2e3a99e0
     0 qemu-system-x86(18427):->spice_server_record_set_volume
sin=0x559a3311c078 nchannels=0x2 volume=0x559a3407bce0
    22 qemu-system-x86(18427): ->snd_record_send_volume
record_channel=0x559a32ac4000
    30 qemu-system-x86(18427):  ->snd_send_volume.isra.2 channel=0x559a32ac4000
msg=0x67 st=? st=?
    38 qemu-system-x86(18427):   ->snd_begin_send_message
channel=0x559a32ac4000
    44 qemu-system-x86(18427):    ->snd_send_data channel=0x559a32ac4000
    75 qemu-system-x86(18427):     ->snd_record_on_message_done
channel=0x559a32ac4000
    80 qemu-system-x86(18427):     <-snd_send_data
    82 qemu-system-x86(18427):    <-snd_send_volume.isra.2 return=0x1
    84 qemu-system-x86(18427):   <-snd_send_volume.isra.2 return=0x1
    87 qemu-system-x86(18427):  <-0x559a2e3a97d1 return=0x1
    91 qemu-system-x86(18427): <-0x559a2e3a97d1 return=0x1
    94 qemu-system-x86(18427):<-0x559a2e3a97d1
     0 qemu-system-x86(18427):->spice_server_record_set_mute sin=0x559a3311c078
mute=0x0
    18 qemu-system-x86(18427): ->snd_record_send_mute
record_channel=0x559a32ac4000
    25 qemu-system-x86(18427):  ->snd_begin_send_message channel=0x559a32ac4000
    31 qemu-system-x86(18427):   ->snd_send_data channel=0x559a32ac4000
    57 qemu-system-x86(18427):    ->snd_record_on_message_done
channel=0x559a32ac4000
    62 qemu-system-x86(18427):    <-snd_send_data
    64 qemu-system-x86(18427):   <-snd_record_send_mute return=0x1
    66 qemu-system-x86(18427):  <-snd_record_send_mute return=0x1
    69 qemu-system-x86(18427): <-0x559a2e3a97dd return=0x1
    73 qemu-system-x86(18427):<-0x559a2e3a97dd


For the playback channel, the volume is never actually sent on the wire (no
calls to playback_channel_send_item).

This is because when snd_channel_set_volume() is called, channel->connection is
NULL for the playback channel, and thus we return early.
channel->connection is set by on_new_playback_channel_client() which is not
called during migration, so that's expected.

In 0.12.8, this was unconditionally set in snd_set_playback_peer()

I did not have time yet to check whether setting it would fix that bug, but it
's likely.

-- 
You are receiving this mail because:
You are the assignee for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.freedesktop.org/archives/spice-bugs/attachments/20170413/9c520f77/attachment.html>


More information about the spice-bugs mailing list