You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
@@ -116,21 +115,19 @@ It is up to the content provider to choose the resolution limit to use when this
116
115
117
116
### Supported audio endpoint codecs
118
117
119
-
Some audio encoding features require the audio endpoint to support the feature natively. The *audio-endpoint-codec* extension is useful for applications and streaming services, allowing them to figure out dynamically whether they should send stereo audio or 5.1 (because the device supports 5.1), and therefore control used bandwidth while maximizing audio quality.
120
-
121
-
The `audio-endpoint-codec` query differs from the `codecs` query because it determines whether the audio endpoint device connected to the PC supports the specified format. So, for example, if a PC has the software decoder for the AC3 codec, the `codecs=ac-3` query will succeed. If the PC is using basic headphones as the audio endpoint, the `audio-endpoint-codec=ac-3` query will fail. But if the PC is connected to an audio/video receiver that can decode AC3 format, the `audio-endpoint-codec=ac-3` query will pass.
118
+
Some audio playback scenarios require the audio endpoint to support the a given audio codec or feature natively. The *audio-endpoint-codec* extension is useful for applications and streaming services, allowing them to figure out dynamically whether they should send stereo audio or 5.1 (because the device supports 5.1), and therefore control used bandwidth while maximizing audio quality. It also exposes information on whether the audio endpoint is connected to a device that can decode the audio format in hardware instead of relying on the software decoder on the system.
122
119
123
120
Support for *audio-endpoint-codec* was introduced in Windows 10, build 1803.
124
121
125
-
The following is an example content type string using *audio-endpoint-codec*.
122
+
The following is an example content type string using *audio-endpoint-codec* checking for the audio endpoint hardware support for the Dolby Digital decoder.
Note that if the endpoint supports more or the same number of channels as specified, the check will succeed. So, if the system is configured for 5.1 audio, then checks for "PCM2.0" and "PCM5.1" will pass, but a check for "PCM7.1" will fail.
130
+
Note that if the endpoint supports more or the same number of channels as specified, the check will succeed. So, if the system is configured for 5.1 audio, then checks for "PCM2.0" and "PCM5.1" will pass, but a check for "PCM7.1" will return a failure.
134
131
135
132
136
133
| Codec string | Description | Remarks |
@@ -145,6 +142,9 @@ Note that if the endpoint supports more or the same number of channels as specif
145
142
| PCM7.1 | Uncompressed 7.1 channel audio ||
146
143
| AC3 | Dolby Digital ||
147
144
145
+
> [!NOTE]
146
+
> The `codecs=ac-3` query and the `audio-endpoint-codec=DD` query check for different capabilities despite both referencing the Dolby Digital codec. The `codecs` query checks whether a software decoder is present on the system that can decode the format, while the `audio-endpoint-codec` query checks whether the connected audio endpoint device natively supports the format. The result of one query does not affect the other — a system can have a software decoder without a capable endpoint or a capable endpoint without a software decoder.
147
+
148
148
### Audio capability query examples
149
149
150
150
Windows supports enhanced MIME CanPlayType queries that allow a client to discover the audio capabilities of a device. You can query the CanPlayType/IsTypeSupported API for audio capabilities to find out what codecs are available on the machine, the number of speakers the system is configured for, and the capabilities of the connected audio endpoint device.
@@ -153,13 +153,10 @@ Windows supports enhanced MIME CanPlayType queries that allow a client to discov
153
153
154
154
Use the `codecs` parameter to determine whether the system has a software decoder that can decode the specified audio format into PCM and play it through the connected speaker or headphone configuration.
155
155
156
-
`"audio/mp4; codecs=\"ac-3\""`
156
+
`"video/mp4; codecs=\"ac-3\""`
157
157
158
158
This query checks whether there is a software decoder that can decode AC-3 (Dolby Digital) audio.
159
159
160
-
> [!NOTE]
161
-
> The `codecs=ac-3` query and the `audio-endpoint-codec=DD` query check for different capabilities despite both referencing the Dolby Digital codec. The `codecs` query checks whether a software decoder is present on the system that can decode the format, while the `audio-endpoint-codec` query checks whether the connected audio endpoint device natively supports the format. The result of one query does not affect the other — a system can have a software decoder without a capable endpoint, or a capable endpoint without a software decoder.
162
-
163
160
**Querying for audio endpoint device capabilities**
164
161
165
162
Use the `audio-endpoint-codec` feature to determine the capabilities of the audio endpoint device, such as whether the system is connected to an audio/video receiver (AVR) that can decode a specific audio format.
@@ -180,16 +177,16 @@ This query checks whether the system is configured for 5.1 speakers and can play
180
177
181
178
When systems with Dolby Atmos or headphones that support Virtual Surround Sound (VSS) are considered, the number of possible hardware and software combinations can be very large. The following table shows the query results for `audio-endpoint-codec` and `codecs` across representative device configurations.
0 commit comments