cta-wave / Media-Capability-APIs

Collects CTA WAVE's comment on W3C Media Capability APIs
1 stars 0 forks source link

AudioConfiguration.channels #6

Open haudiobe opened 4 years ago

haudiobe commented 4 years ago

https://w3c.github.io/media-capabilities/#audioconfiguration

The channels member represents the audio channels used by the audio track.

NOTE The channels needs to be defined as a double (2.1, 4.1, 5.1, ...), an unsigned short (number of channels) or as an enum value. The current definition is a placeholder.

Channels are well defined in CICP ISO/IEC 23091-3. It is encouraged to use this one as the signaling is much better suited to CMAF and manifest signaling.

rdoherty0 commented 4 years ago

This field is confusing -- how can there be one channelconfig for an entire device? Does it represent the maximum number of channels the device can play? Does it consider devices attached by HDMI for passthrough? Does it consider virtual renderers which can play immersive sound over headphones from 5.1 content?

Our recommendation is that this field is not useful in it's current form. If we did migrate to a CICP-type definition, it would either have to allow multiple channelConfig values (i.e. all the configs the device could play) or somehow represent the "maximum" channel configuration, which CICP is not designed to do correctly.

ihofmann-iis commented 4 years ago

For us the examples at https://w3c.github.io/media-capabilities/#examples indicate that the user will query whether a given MediaDecodingConfiguration is supported by invoking the MediaCapabilities.decodingInfo function. Since this can be done for multiple MediaDecodingConfigurations, I would not consider it "a value for an entire device". The device will give a positive promise for any valid channel configuration. In addition, the return value could change based on the currently attached HDMI devices.

Using the well defined CICP here is a good way forward. It would also be great ff the current type placeholder (double, short, ...) can be adjusted accordingly.

/Ingo

haudiobe commented 4 years ago

DPCTF Call 200/08/19: We should formulate the above concerns when communicating with W3C. @hfi and @rdoherty0 please formulate what you would like to see added.

pmaness commented 4 years ago

Since this is a binary response, then just use the CICP layouts enumerated in Table 3 of the CICP spec. if a query is needed to determine whether a given configuration can be played. As a recommended practice, a client probably wants to use the "best" version available. When the offering includes a multichannel option, or even more than one multichannel option, perhaps the query order should start with the "best" option, then work down to stereo. In the case of the CICP layout indices, in general, the higher numbers indicate more complex layouts, but not always. It might be useful to publish a priority order.