Commit b7ba9c1
authored
fix(pw): show all input devices, not just the default source (#3387)
routeDirectionForMediaClass() returns SPA_DIRECTION_INPUT (== 0) for
Audio/Source, which collides with the 0 value used as the "no direction"
sentinel. The availability logic guarded on `wantDir != 0`, so for every
input device activeRoute was forced to null while hasDirRoutes stayed
true, leaving node.available = false. The audio panel's availableDevices()
then kept only the current default source and hid all other microphones.
Guard on the media class being a device node instead, matching the
isDeviceNode check already used during route parsing. This also repairs
recomputeEffectiveMute() for inputs, which carried the same guard.
Outputs were never affected because SPA_DIRECTION_OUTPUT == 1.
Co-authored-by: TheBinaryLoop <13447164+TheBinaryLoop@users.noreply.github.com>1 parent ab16afc commit b7ba9c1
1 file changed
Lines changed: 9 additions & 4 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1607 | 1607 | | |
1608 | 1608 | | |
1609 | 1609 | | |
1610 | | - | |
| 1610 | + | |
| 1611 | + | |
| 1612 | + | |
| 1613 | + | |
1611 | 1614 | | |
1612 | 1615 | | |
1613 | 1616 | | |
1614 | 1617 | | |
1615 | | - | |
| 1618 | + | |
1616 | 1619 | | |
1617 | 1620 | | |
1618 | 1621 | | |
| |||
1677 | 1680 | | |
1678 | 1681 | | |
1679 | 1682 | | |
1680 | | - | |
| 1683 | + | |
| 1684 | + | |
| 1685 | + | |
1681 | 1686 | | |
1682 | | - | |
| 1687 | + | |
1683 | 1688 | | |
1684 | 1689 | | |
1685 | 1690 | | |
| |||
0 commit comments