| Previous | Next |
| NS_E_NO_AUDIENCES | NS_E_INVALID_VBR_COMPAT |
NS_E_NO_AUDIO_COMPAT
The failing boundary in the Encoder object model
The useful reading of NS_E_NO_AUDIO_COMPAT (0xC00D1BB1) is not merely the standard message shown above. It locates older-player compatibility check requires an audio stream in the profile inside legacy player compatibility rules.
Windows Media Encoder profiles can be checked for compatibility with older Windows Media Player generations in a session that returns this result. VBR, multiple audiences, audio/video format variation, interlace and non-square pixels can move a profile beyond the version 7.1 compatibility envelope.
Evidence that separates this code from a wrapper error
The profile may be valid for Windows Media 9 or later and still be intentionally rejected when an older compatibility target is required in a session that returns this result. For example, a video-only profile is forced through the 7.1 compatibility validator. Preserve the result distinction before a UI layer converts the result into a broad start, capture or profile failure.
| Field | What to preserve |
|---|---|
| Decisive values | target compatibility, ContentType and audio stream count |
| Producing object | DetectCompatibility result, target player generation, audience count, VBR mode, codec and format per audience, frame size, interlace flag and non-square-pixel flag |
| Session correlation | the same source-group generation, audience index, object identity and callback sequence that produced this result |
| Lower-level evidence | the first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to this result |
| Controlled comparison | a known-good session that changes only the setting named in the no audio compat boundary |
Interpret the next measurement
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is target compatibility, ContentType and audio stream count. It confirms older-player compatibility check requires an audio stream in the profile in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the no audio compat rule, but a source, driver, COM activation or file operation returns a different HRESULT first. |
| Observation that points to a later failure | The Encoder passes this boundary (older-player compatibility check requires an audio stream in the profile), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: include an audio stream or stop targeting the legacy Player 7.1 constraint. The original no audio compat call should then advance past the same checkpoint. |
The operational impact of it is limited to the legacy player compatibility rules transition that owns older-player compatibility check requires an audio stream in the profile. In the representative case where a video-only profile is forced through the 7.1 compatibility validator, keep the first failing call and its object identity so a later wrapper cannot replace the no audio compat evidence.
Test the condition without rewriting the session
- Record
0xC00D1BB1, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture target compatibility, ContentType and audio stream count. - verify the legacy player compatibility rules precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: include an audio stream or stop targeting the legacy Player 7.1 constraint.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier no audio compat state.
Interpret neighboring results carefully
| Result | Why it is a different boundary |
|---|---|
NS_E_INVALID_VBR_COMPAT | VBR rate control conflicts with the selected Windows Media Player 7.1 compatibility target |
NS_E_MULTIPLE_AUDIO_FORMATS | audiences use different audio formats while legacy Player 7.1 compatibility is requested |
NS_E_MULTIPLE_VIDEO_SIZES | audiences use different frame sizes while Player 7.1 compatibility is requested |
Resolution and verification
The direct repair for this occurrence is to include an audio stream or stop targeting the legacy Player 7.1 constraint. Recreate the affected source group, profile or output object, repeat the same operation, and confirm that the first failing HRESULT no longer comes from the no audio compat checkpoint.
Do not describe a compatibility result as codec corruption; first decide whether support for the older player is a real requirement in a session that returns it.
References for the boundary
- Detecting profile compatibility.
- IWMEncProfile2.VBRMode.
- Selecting a video codec for an audience.
- Adding an audience to an encoder profile.
Looking for a different code? Search another status or error code.
