obsproject / obsproject/obs-studio

fails to reestablish audio after losing & regaining sound device permission (linux)

Open
#10,072 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
C
Stars
76.4k
Forks
10.2k
Avg merge
4d 23h
Merged PRs (30d)
12

Description

Operating System Info

Other

Other OS

Debian Bookworm

OBS Studio Version

Other

OBS Studio Version (Other)

29.0.2

OBS Studio Log URL

https://obsproject.com/logs/M6bCbSlbM3AMHSI5

OBS Studio Crash Log URL

No response

Expected Behavior

When using Control+Alt+F3 to to switch to another virtual console, OBS temporarily loses permission to the audio device from which it was recording. When returning to the desktop virtual console and given permission to the device again, OBS Studio should resume collecting audio from the device.

Current Behavior

OBS Studio fails to resume ingesting from the audio source.

Steps to Reproduce
  1. Install a reasonably recent version of PipeWire and PipeWire-Pulse.
  2. Remove all users from the "audio" group. (To make sure access control works correctly when switching virtual consoles in this test.)
  3. Start a program that produces audio through PipeWire.
  4. Select that audio source in OBS Studio.
  5. Note that OBS is receiving audio.
  6. Switch to a different virtual console using Control+Alt+F3 or similar.
  7. Wait a couple seconds.
  8. Switch back to the original virtual console.
  9. Note that OBS is no longer receiving audio.
Anything else we should know?

I don't know whether OBS Studio loses the audio stream directly in reaction to the device permission change, or in reaction to an audio source state change when PipeWire reacts to the permission change. (I suspect the latter.)

Audio ingestion can be restored by selecting a different source in OBS and then selecting the original source again, or by restarting OBS. Of course, these workarounds are less than ideal.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reproducing the permission change with PipeWire and PipeWire-Pulse using the listed virtual-console steps, then inspect the OBS log at https://obsproject.com/logs/M6bCbSlbM3AMHSI5. Compare the audio source state before and after permission is regained; done means audio resumes without switching sources or restarting OBS.

Written by the indexing model from the issue text.

Assessment

Tech stack
c, debian, linux
Domain
audio-video-rtc, desktop, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.