A thorny device selection issue

Hi,

we have encountered a Real Fun Issue in our management of input / output 
devices.

There are certain devices on certain platforms where there is an 
inextricable linkage between an input and an output device - when one 
selects the input device, the output device is selected too - and what's 
more, the entire platform switches to use that device as its input and 
output devices.

This will, of course, confuse the hell out of apps that think that they 
can manipulate the devices independently.

So the question becomes: Should we expose this state of affairs to 
Javascript?

If no: No problem for us. Maybe for the users.

If yes: How?

One possibility is to extend getMediaDevices yet again - we already have 
a groupId; we could add to it a "bound" field (a boolean, default 
false), to indicate that this group is tightly bound together:

{
    deviceId: xxx
    kind: audioinput
    label: BluetoothHeadsetMicrophone
    groupId: 37
    bound: true
}
{
    deviceId: yyyy
    kind: audiooutput
    label: BluetoothHeadsetSpeaker
    groupid: 37
    bound: true
}

Applications that know to look for it will then "know" that these will 
be bound together.

Doesn't seem particularly elegant. It might get the job done.

Thoughts?

Received on Wednesday, 11 December 2013 16:17:32 UTC