mumble-voip/mumble

Iterate through positional audio program names only once

Open

#5,712 opened on Jun 1, 2022

View on GitHub
 (4 comments) (2 reactions) (0 assignees)C++ (1,062 forks)batch import
clientfeature-requestgood first issue

Repository metrics

Stars
 (5,642 stars)
PR merge metrics
 (Avg merge 6d) (7 merged PRs in 30d)

Description

Context

Right now Mumble iterates through every program name of every PID for every positional audio plugin. This is quite wasted CPU time if either the PID count is high or plugin count is high, as the time complexity is in $\mathcal{O}(PIDNum \cdot pluginNum )$.

Example: https://github.com/mumble-voip/mumble/blob/dd5df45313a937359285327f556557159bab758e/plugins/gtav/gtav.cpp#L81

Description

A better solution would be if each plugin tells Mumble what program name it is looking for, so that only Mumble has to iterate over the PID-list once.

Mumble component

Client

OS-specific?

No

Additional information

This issue originated from https://github.com/mumble-voip/mumble/pull/5704#issuecomment-1141938952

Contributor guide