#
5026e943 |
|
30-Mar-2018 |
John Grossman <johngro@google.com> |
[usb][audio] Update UsbAudioStream to use UsbAudioStreamInterface. Update the UsbAudioStream class the new UsbAudioStreamInterface. The stream class is in charge of publishing and implementing the fuchsia audio stream driver interface, while the stream interface class is concerned with exposing the controls needed to manipulate the USB audio specific aspects of things. In particuilar, it exposes the audio path as well as its gain controls, as well as configuration required by an alternate streaming interface's endpoint (specifically configuring the frame rate). Also update the new UsbDevice class to take all of the steps needed to create a stream interface and hand it off to the stream class. In particular, the device handles the process of... 1) Discovering the control interface. 2) Discovering all of the terminals and units contained in the control interface. 3) Traversing the terminal/unit graph to identify and build audio paths that we care about. 4) Discovering all of the audio streaming interfaces and building our their collections of alternate interface settings and supported formats. 5) Linking paths to streaming interfaces, and transfering control of streaming interfaces to the stream objects. Change-Id: I5170878d7647bee1e9489aff6d2702fd84f290a3
|