This field is currently used only to decide if remote audio tracks should be rendered to the associated output device.
If the values are valid (e.g., sample_rate > 0 and so on) rendering to associated sink is allowed. However, the parameters that are actually used are obtained from the output device to be used.
Possible alternatives are to use the matched_output_device ID, and/or propagate the value of the renderToAssociatedSink constrainable property.
The |input| filed should be base::Optional instead of using UnvailableDeviceParams() to signal absence of parameters.
This |matched_output| field should be removed. It is currently used only to decide if remote audio tracks should be rendered to the associated output device. If the values are valid (e.g., sample_rate > 0 and so on) rendering to associated sink is allowed. However, the parameters that are actually used are obtained from the output device to be used.
Possible alternatives are to use the |matched_output_device_id| field, and/or propagate the value of the renderToAssociatedSink constrainable property.
Cc: olka@chromium.org Summary: Update AudioParameter fields from content::MediaStreamDevice (was: Remove |matched_output| field from content::MediaStreamDevice)
guidou@: I am somewhat familiar with this part of the code. If you have not begun working on this, can I take up this task? I myself was looking to cut down few fields from MediaStreamDevice as much as possible, to simplify typemapping for this Struct.
guidou@: The |input| field, being a AudioParameter has to be valid for it to be sent over IPC/mojo. So, making it base::Optional instead of using UnvailableDeviceParams() be appropriate? How do we ensure that |input| is valid?
Comment 1 by guidou@chromium.org
, Dec 8 2017Owner: guidou@chromium.org
Status: Assigned (was: Untriaged)