0XC00D1B98

NS_E_MISSING_AUDIENCE (0XC00D1B98) fix — audience missing output stream

Windows Errors Intermediate 👁 0 views 📅 May 26, 2026

A quick fix for the NS_E_MISSING_AUDIENCE error. This happens in Windows Media Encoder or Expression Encoder when an output stream's audience element is missing or malformed.

You're getting NS_E_MISSING_AUDIENCE and it's stopping your encoding dead

I've been there. You're trying to encode a video with Windows Media Encoder 9 Series or Expression Encoder, and suddenly you hit NS_E_MISSING_AUDIENCE (0XC00D1B98). It's especially nasty when you've built a custom profile file and things just break. The error text is vague: "An audience is missing from the output stream configuration." But the fix is almost always in the XML of your profile.

The quick fix: add the missing audience node

Open your custom profile file (usually a .prx, .wmprofile, or .xml file) in a text editor like Notepad++ or VS Code. Look for the <stream> element inside your <output> block. Here's what a working one looks like:

<output>
  <stream>
    <majorType>{7364696D-0000-0010-8000-00AA00389B71}</majorType>
    <minorType>{F72A76C1-EB1A-4F0E-93B1-6C2B8A4B4C4E}</minorType>
    <audience>
      <audienceName>My Audience</audienceName>
      <encodingBitrate>1000000</encodingBitrate>
      <encodingBufferWindow>1000</encodingBufferWindow>
    </audience>
  </stream>
</output>

If your <stream> is missing the <audience> element entirely, or if <audienceName>, <encodingBitrate>, or <encodingBufferWindow> are missing, that's your culprit. The encoder requires at least one audience per stream.

Add the audience node exactly as shown above. Make sure the bitrate is appropriate for your target — 1000000 bps is 1 Mbps. Adjust as needed, but keep it above 64000 bps for audio or 128000 bps for video to avoid errors.

Why this works

Windows Media Encoder and Expression Encoder read profile files as XML schemas. The <audience> node defines the target playback device or bandwidth. Without it, the encoder doesn't know how to package the stream. The GUIDs in <majorType> and <minorType> identify the media type (video or audio), but the audience tells it the bitrate, buffer window, and keyframe spacing. Missing that single node causes the 0XC00D1B98 error every time.

This error is common when you copy a profile from a different encoder version — earlier WME versions sometimes omitted the audience node for certain stream types, but newer ones (like WME 9 or Expression Encoder 4) enforce it strictly.

Less common variations of the same issue

If the above doesn't fix it, check these:

  • Multiple streams, one audience missing: If your profile has multiple output streams (e.g., one video, one audio), each must have its own audience node. I've seen cases where the audio stream was missing it while video had it fine.
  • Empty audience name: The <audienceName> tag must contain text. Even a space can break it. Use something like "Default" or "Broadband".
  • Corrupted GUIDs: If you copied the profile from a different system, the <majorType> or <minorType> GUIDs might be wrong. For video, the major type is {7364696D-0000-0010-8000-00AA00389B71} (WMMEDIATYPE_Video). For audio, it's {73647561-0000-0010-8000-00AA00389B71}. A mismatch here can trigger NS_E_MISSING_AUDIENCE too.
  • Profile file encoding: Save your profile as UTF-8 without BOM. A BOM (byte order mark) can confuse the encoder's XML parser, leading to silent failures that manifest as this error. Notepad++ lets you set encoding under the Encoding menu.

One more thing: if you're using command-line tools like wmcacd.dll or SDK apps, the same logic applies. The profile object must have at least one audience per stream.

How to prevent this error from coming back

Once you've fixed it, here's how to avoid it:

  • Always test a new profile on a short clip first. I use a 10-second test file to catch errors like this before running a full 2-hour encode.
  • Keep a reference profile handy. Export a working profile from Expression Encoder (File → Export Profile) and compare your custom one against it. The XML schema doesn't change much across versions.
  • Validate your XML before using it. Use an online XML validator or an editor with schema validation. The Windows Media Format SDK ships with a schema file (wmsdk.xsd) that you can reference.
  • Avoid hand-editing profiles in Notepad. Use the profile editor in Expression Encoder or the WME Profile Editor if you can. It auto-generates the correct XML, including audience nodes.

That's it. You should be encoding again in a few minutes. If the error persists, post your profile XML (with sensitive info redacted) in a comment, and I'll look it over. Sometimes it's a tiny typo that's easy to miss.

Was this solution helpful?