You are not logged in.

#1 2021-01-13 16:08:54

Rudism
Member
Registered: 2016-01-10
Posts: 2

Surface headphones freeze video/audio playback when removed from head

I've got a pair of Surface Headphones 2 which have started exhibiting strange behavior recently. I'm not sure what has caused it, and can't find any event logs anywhere that seem to correlate (I have monitored logs from both bluetooth and pulseaudio when this happens and they produce no output, I'm not sure where else to look).

The headphones have a feature where they detect if they are removed from your head via some internal sensor and attempt to pause playback, and then attempt to resume playback when it detects that they're back on your head. Until recently, this hasn't caused problems in Linux. I paired them following the wiki using bluetoothctl, and when I removed them from my head and put them back on Linux would not react in any way (playback continued through the headset the whole time).

Something recently has changed, though. Now when I remove the headset from my head, Linux reacts by freezing up whatever audio or video source was playing--Youtube or Twitch videos will freeze and behave as though they can't load anymore, for example. VLC continues video playback, but audio disappears and does not come back. Placing the headset back on my head does not resume the video or audio and Youtube or Twitch video playback remains glitchy and laggy (either infinite spinner or only giving one frame every few seconds). Whatever bluetooth signal the headset removal detection is sending to the computer is different from the normal play/pause control on the headset, because manually activating that one from the headset while I'm wearing it does not cause the same problem (Linux just ignores that and does nothing).

I have tried disabling module-suspend-on-idle in case the problem was related to this replay problem mentioned in the wiki, but it did not make any difference.

These are bluetooth related things I have with their versions:

local/blueman 2.1.4-1
local/bluez 5.55-1
local/bluez-libs 5.55-1
local/bluez-utils 5.55-1
local/hidapi 0.10.1-1
local/libldac 2.0.2.3-1
local/pulseaudio-bluetooth 14.1-1
local/sbc 1.5-1

I'd like to configure things to just ignore whatever signal from the headset is causing this like before, but I have no idea what else to try or what other logs I can look at to figure out what's even causing it. I've tried removing and repairing, factory resetting the headset itself, but nothing has solved the problem so far.

Any help or pointers to troubleshoot this would be greatly appreciated!

EDIT - Maybe this is not a problem with whatever signal the headset sends to play/resume, but because it flips to some kind of low power state when it detects it's been removed and pulseaudio is choking when the audio sync it's pumping sound into stops accepting it. Still no idea how to resolve or even begin to troubleshoot it though.

Last edited by Rudism (2021-01-13 20:08:19)

Offline

Board footer

Powered by FluxBB