Skip to content

Commit 1c151f7

Browse files
committed
Updates per PR review
1 parent 625e818 commit 1c151f7

File tree

1 file changed

+44
-11
lines changed

1 file changed

+44
-11
lines changed

uwp/audio-video-camera/supported-play-type-strings.md

Lines changed: 44 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -25,7 +25,9 @@ The content type string format described in this article are used by the followi
2525
**WinRT APIs**
2626

2727
- [ProtectionCapabilities.IsTypeSupported](/uwp/api/windows.media.protection.protectioncapabilities.istypesupported)
28-
- [:Windows.UI.Xaml.Controls.MediaElement.CanPlayType(System.String)](/uwp/api/windows.ui.xaml.controls.mediaelement.canplaytype)
28+
- [Windows.UI.Xaml.Controls.MediaElement.CanPlayType(System.String)](/uwp/api/windows.ui.xaml.controls.mediaelement.canplaytype)
29+
30+
https://learn.microsoft.com/en-us/uwp/api/windows.media.protection.protectioncapabilityresult?view=winrt-26100
2931

3032
**Microsoft Media Foundation APIs**
3133

@@ -36,6 +38,8 @@ The content type string format described in this article are used by the followi
3638
- [IMFMediaEngine::CanPlayType](/windows/win32/api/mfmediaengine/nf-mfmediaengine-imfmediaengine-canplaytype)
3739
- [IMFMediaEngineExtension::CanPlayType](/windows/win32/api/mfmediaengine/nf-mfmediaengine-imfmediaengineextension-canplaytype)
3840

41+
Many of these APIs return enumeration values that express the result as "NotSupported", "Maybe", or "Probably". For WinRT APIs there are the[ProtectionCapabilityResult](/uwp/api/windows.media.protection.protectioncapabilityresult) and [MediaCanPlayResponse](/uwp/api/windows.ui.xaml.media.mediacanplayresponse) enumerations. For Media Foundation there is the [MF_MEDIA_ENGINE_CANPLAY](/windows/win32/api/mfmediaengine/ne-mfmediaengine-mf_media_engine_canplay) enumeration. Some Media Foundation APIs simply return a boolean value indicating a binary supported or unsupported result.
42+
3943

4044
## Media type and subtype
4145

@@ -46,15 +50,21 @@ Windows APIs only support content type strings with the media type `"video"` and
4650
|-------|-------------|----------------|--------------------|
4751
| "video/mp4" | Video media type and MPEG-4 subtype/container. | |
4852

49-
## Video codec
53+
54+
55+
## Video codecs
5056

5157
| Value | Description | Remarks |
5258
|-------|-------------|----------------|--------------------|
5359
| "avc1" | H.264 | |
5460
| "hvc1" | HEVC | |
5561
| "hev1" | HEVC | |
56-
| "vp9" | VP9 | Support introduced in Windows 10, version 1709 |
57-
| "vp09" | VP9 | Support introduced in Windows 10, version 1709 |
62+
| "vp9" | VP9 | |
63+
| "vp09" | VP9 | |
64+
| "avc3" | H.264 | |
65+
| "av1" | AOMedia Video 1 | |
66+
| "av01" | AOMedia Video 1 | |
67+
5868

5969
## Features
6070

@@ -93,21 +103,44 @@ The intersection algorithm is:
93103

94104
It is up to the content provider to choose the resolution limit to use when this policy is on. A 1080p limit is recommended, but 720p may be used. Note that the input for this policy comes from the Video Settings user interface page added in Windows 10, version 1709.
95105

106+
## Audio codecs
107+
108+
| Value | Description | Remarks |
109+
|-------|-------------|---------|
110+
| "mp4a" | MPEG-4 Audio | |
111+
| "ac-3" | Dolby Digital | |
112+
| "ec-3" | Dolby Digital Plus | |
113+
| "ac-4" | Dolby AC-4 | |
114+
| "flac" | FLAC | |
115+
| "mp3" | MP3 | |
116+
96117
### Supported audio endpoint codecs
97118

98-
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. Support for *audio-endpoint-codec* was introduced in TBD Windows version.
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.
122+
123+
Support for *audio-endpoint-codec* was introduced in Windows 10, build 1803.
99124

100125
The following is an example content type string using *audio-endpoint-codec*.
101126

102127
`'video/mp4; codecs="avc1,mp4a"; features="audio-endpoint-codec=DD"'`
103128

129+
The following is an example content type string for uncompressed PCM audio.
130+
131+
`'video/mp4; features="audio-endpoint-codec=PCM2.0"'`
132+
133+
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.
134+
135+
104136
| Codec string | Description | Remarks |
105137
|--------------|-------------|---------|
106138
| DD | Dolby Digital | |
107-
| DD+JOC | Colby Digital + Joint Object Coding | |
108-
| DTS | Digital Theater Sound | |
109-
| DTSHD | Digital Theater Sound HD | |
110-
| PCM2.0 | Pulse Code Modulation 2.0 channel | |
111-
| PCM5.1 | Pulse Code Modulation 5.1 channel | |
112-
| PCM7.1 | Pulse Code Modulation 7.1 channel | |
139+
| DD+ | Dolby Digital Plus | |
140+
| DD+JOC | Dolby Digital + JOC compressed spatial audio | |
141+
| DTS | DTS compressed audio | |
142+
| DTSHD | DTS-HD compressed audio | |
143+
| PCM2.0 | Uncompressed 2-channel audio | |
144+
| PCM5.1 | Uncompressed 5.1 channel audio | |
145+
| PCM7.1 | Uncompressed 7.1 channel audio | |
113146

0 commit comments

Comments
 (0)