Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
Empirical testing has shown that stream IDs lie between their owning device's device ID and the next higher device ID. This commit uses this knowledge to filter out VPIO input tap streams (really they're loopbacks of some output stream) from devices because the VPIO tap streams have IDs between the VPIO device's ID and the next higher device ID. Regular aggregate devices are an exception as the tap streams appear to take the place of the real input streams (by judging at their channel count) and the real input streams get IDs that seem to belong to the VPIO device. To solve this we enumerate the aggregate's sub devices and return all their input streams, filtered per above. This should be enough for every stream property except StartingChannel (it needs to be in the context of the right device for obvious reasons) which we don't use.
- Loading branch information