| Previous | Next |
| NS_E_MULTIPLE_AUDIO_CODECS | NS_E_AUDIO_BITRATE_STEPDOWN |
NS_E_MULTIPLE_AUDIO_FORMATS
Where the Encoder produces this result
0xC00D1BB8 (NS_E_MULTIPLE_AUDIO_FORMATS) identifies audiences use different audio formats while legacy Player 7.1 compatibility is requested. The important diagnostic boundary is the Encoder object that validates this state; a later “cannot start encoding” dialog can hide that more precise origin.
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.
What has already succeeded
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. In a representative multiple audio formats case, audiences vary sample rate to optimize bitrate but compatibility is fixed at 7.1. The result observation should be tested at the producing object instead of being treated as a general codec or operating-system failure.
State snapshot to capture
| Field | What to preserve |
|---|---|
| Decisive values | audio format index, channels, sample rate and bitrate per audience |
| 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 multiple audio formats boundary |
How to read the next observation
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is audio format index, channels, sample rate and bitrate per audience. It confirms audiences use different audio formats while legacy Player 7.1 compatibility is requested in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the multiple audio formats 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 (audiences use different audio formats while legacy Player 7.1 compatibility is requested), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: use one common audio format or stop targeting the legacy player. The original multiple audio formats call should then advance past the same checkpoint. |
The operational impact of it is limited to the legacy player compatibility rules transition that owns audiences use different audio formats while legacy Player 7.1 compatibility is requested. In the representative case where audiences vary sample rate to optimize bitrate but compatibility is fixed at 7.1, keep the first failing call and its object identity so a later wrapper cannot replace the multiple audio formats evidence.
A controlled diagnostic sequence
- Record
0xC00D1BB8, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture audio format index, channels, sample rate and bitrate per audience. - 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: use one common audio format or stop targeting the legacy player.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier multiple audio formats state.
Nearby HRESULTs that mean something else
| 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_VIDEO_SIZES | audiences use different frame sizes while Player 7.1 compatibility is requested |
NS_E_NO_AUDIO_COMPAT | older-player compatibility check requires an audio stream in the profile |
Corrective action at the right layer
The focused correction is to use one common audio format or stop targeting the legacy player. A retry is useful only after the recorded multiple audio formats precondition changes.
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.
Technical references
- 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.