obsproject / obsproject/obs-studio

error attempting to open more then 16 video devices

Open
#5,422 9 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

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

Description

Operating System Info

Ubuntu 20.10

Other OS

No response

OBS Studio Version

Git

OBS Studio Version (Other)

39aedc6c2ffdca9a89940117ee6dfcbfd0d955c4 (Sun Jun 6 11:01:40 2021 +0200)

OBS Studio Log URL

https://gist.github.com/jclab-joseph/442d197f0adbb27cac0a523a304e2f34

The red text is the logging I added. The device number continues to increment. (the leak seems to be happening)

OBS Studio Crash Log URL

No response

Expected Behavior

Regardless of the number of video devices, and even if an error occurs, it should be ignored and work fine.

Current Behavior

If there is a video device that is un-normal camera device (can't get parameters normally?),
If click the device list on the v4l2 settings page, or click an un-normal device,
After that, v4l2 no longer works.

There are currently 9 v4l2 devices, some may not get the parameters properly. (Not sure.)

Steps to Reproduce
  1. Create a V4L2 input.
  2. Enter V4L2 settings.
  3. (It is still normal.)
  4. Select an un-normal device.
  5. After that, v4l2 no longer works.
Anything else we should know?

A device expressed as an un-normal device is a v4l2-m2m codec device.

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 failure in the V4L2 settings flow described in the issue, using the provided OBS Studio log and the listed Ubuntu environment. Inspect how V4L2 devices are enumerated and how selecting a v4l2-m2m codec device affects subsequent device access. Done means invalid or unsupported devices no longer break V4L2 operation or cause the device number to keep increasing.

Written by the indexing model from the issue text.

Assessment

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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.