Expose name of devices along with UID for macOS #488
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Description
As it is currently implemented, the only way to identify a device plugged into a Darwin system is by
UID
even though many other forms of identification exist for each device, as explained in this Identifying a Device section of the AVFoundation documentation. This change exposes thelocalizedName
and adds it asName
to theavfoundation.Device
type struct. Additionally, the name is added to thedriver.Info
type struct so that it is included when registering a device.Reasoning
While the
UID
that is currently registered for each device is helpful, it is not human readable, unlikelocalizedName
. For example, when discovering the devices on a MacBook, the built in webcam'sUID
is a string of numbers, letters, and dashes, but it'slocalizedName
is "FaceTime HD Camera". Exposing this name would be helpful for any human interactive use cases, but UID will also remain available for any other use cases in which it is better suited.