Bug
1744350 consistently provide device sets by return value instead of side-effects r=jib
for clearer indication of data flow.
https://google.github.io/styleguide/cppguide.html#Inputs_and_Outputs
SelectSettings() is modified to reject instead of resolve its promise on
failure to provide more intuitive execution paths.
These changes also allow the removal of a lambda function that existed solely
to convert between the calling conventions, and better align with a subsequent
change to use different types to distinguish raw and window-specific media
device info objects.
Differential Revision: https://phabricator.services.mozilla.com/
D132883