| Previous | Next |
| NS_E_OUTPUT_PROTECTION_LEVEL_UNSUPPORTED | NS_E_UNCOMPRESSED_DIGITAL_VIDEO_PROTECTION_LEVEL_UNSUPPORTED |
NS_E_COMPRESSED_DIGITAL_VIDEO_PROTECTION_LEVEL_UNSUPPORTED
The exact DRM boundary
This HRESULT is specific: NS_E_COMPRESSED_DIGITAL_VIDEO_PROTECTION_LEVEL_UNSUPPORTED appears because compressed digital video leaves through a path below the required protection level. The subsystem producing this result is Windows Media DRM output protection, not the media decoder; it performs license-policy evaluation that compares the content owner’s required output protection level or scheme with the active audio/video output path.
Use the failing operation itself to record whether video remains compressed at the connector and its supported OPL.
What to log
The security decision represented by this result depends on license OPL fields, play or copy action, output connector type, compressed/uncompressed state, driver-reported protection capability and selected rendering path. Record the requested action, required OPL values, active connector, negotiated protection mechanism and whether the stream is compressed at that boundary from the same it attempt.
The scope stays narrow: compressed digital video leaves through a path below the required protection level. Other content or actions may still be valid.
Troubleshooting order
- Preserve this result and
0xC00D2905before cleanup, fallback or another media item changes the context. - Apply the narrow correction for it: use a connector/driver supporting the required compressed-video protection.
- Associate it with its current Windows Media DRM output protection object and the requested action.
- Run the direct check for it: record whether video remains compressed at the connector and its supported OPL.
- Compare the failure with a known-good case that changes only the property named by this condition: compressed digital video leaves through a path below the required protection level.
- Repeat the same action with the same content/device identity and verify that it is not replaced by another policy or trust failure.
Expected state change
It should be modeled as a failed precondition, not as an arbitrary media exception. Demonstrate the precondition by choosing to record whether video remains compressed at the connector and its supported OPL, and remove it by choosing to use a connector/driver supporting the required compressed-video protection. Keeping the result transition intact also shows whether a retry reused stale state or actually reevaluated the corrected input.
Scope and consequences
The established fact is that compressed digital video leaves through a path below the required protection level. That fact does not independently establish damaged media bytes, a missing decoder, a generally broken network, or invalid rights for every other action.
If the Player, encoder, setup program or device layer later emits a broader error, retain it as the first specific result. The object and operation attached to it are usually more diagnostic than a later cleanup or user-interface summary.
Fields for a reproducible report
| Field | Value |
|---|---|
| Owner | operation, API/callback, object or session identifier, and component/device version associated with it |
| Direct check | record whether video remains compressed at the connector and its supported OPL |
| Policy input | requested action plus the exact license, certificate, profile, output or registration property evaluated by it |
| Temporal state | trusted/system time, validity interval, request sequence and retry number when they influence it |
| Lower result | the earliest store, network, cryptographic, driver or provider status preceding the final it wrapper |
Related codes, different contracts
| Result | Why it points elsewhere |
|---|---|
NS_E_OUTPUT_PROTECTION_LEVEL_UNSUPPORTED | the active output path cannot meet the license’s overall minimum protection level |
NS_E_UNCOMPRESSED_DIGITAL_VIDEO_PROTECTION_LEVEL_UNSUPPORTED | the uncompressed video rendering path cannot enforce the license’s minimum protection |
NS_E_ANALOG_VIDEO_PROTECTION_LEVEL_UNSUPPORTED | the analog video output cannot apply the policy required by the license |
Change the rejected precondition
Recovery should change the failed precondition by choosing to use a connector/driver supporting the required compressed-video protection. Success means that the same requested action is accepted after that precise state change, not merely that another file or device happens to work.
- A broad reset is not the first step for it; Do not treat every output-protection result as a missing codec; the decoder can be present while the connector or driver cannot enforce the license policy.
- Do not alter trusted time, revocation enforcement, certificate validation or output policy merely to suppress it; that bypasses the decision instead of correcting its input.
- Retain one failing artifact and one corrected artifact so the resolution of it can be regression-tested.
Closure criterion
For the final it test, keep the content KID or file hash, requested action, user/account, device identity and output route unchanged wherever they apply.
Technical references
- Output protection levels — lists the security and state transitions used to interpret it.
- Working with output protection levels — defines the platform objects used when diagnosing it.
- WMDRM output-protection structures — documents the protocol or API boundary behind it.
- DRM actions and rights — provides the normative workflow relevant to it.
Looking for a different code? Search another status or error code.
