What does HRESULT 0xC00D10C6 (NS_E_GRAPH_NOAUDIOLANGUAGESELECTED) mean?

 
Previous Next
NS_E_GRAPH_NOAUDIOLANGUAGE NS_E_CORECD_NOTAMEDIACD

NS_E_GRAPH_NOAUDIOLANGUAGESELECTED

Diagnosing NS_E_GRAPH_NOAUDIOLANGUAGESELECTED in Player settings or the playback graph

NS_E_GRAPH_NOAUDIOLANGUAGESELECTED (0xC00D10C6) is returned when the graph supports audio-language selection but currently has no selected audio stream.

Separate Network-object configuration, graph capabilities, graphics presentation, stream selection and COM ownership before changing playback content. The actionable checkpoint is the graph supports audio-language selection but currently has no selected audio stream. Although this result may appear as “cannot play” or “cannot save,” it belongs to a specific object state that should be diagnosed directly.

Configuration or graph boundary

AllStat already supplies the standard user-facing description for this HRESULT; this custom block instead isolates the additional technical boundary. Earlier success in file lookup, network connection, parser creation or graph construction does not prove that the later the operation is valid.

Case-specific checkpoint: IAMStreamSelect flags, stream group IDs, disabled pins, graph state and selection call result. The controlled comparison for this HRESULT is: select one enumerated audio stream before starting playback and confirm that exactly one is enabled.

Closest distinction: NS_E_GRAPH_NOAUDIOLANGUAGE says the graph has no meaningful language choice at all.

State to capture before changing settings

CaptureWhy it matters for this HRESULT
Object or resourceIAMStreamSelect flags, stream group IDs, disabled pins, graph state and selection call result
State snapshotRecord the Player openState/playState or operation phase, object identity and exact timestamp when this result was returned.
First lower resultKeep the earliest Win32, Winsock, COM, parser, codec, DRM or device result that appears before this result.
Comparison recordUse one known-good case that follows the same API, protocol and component path while changing only the rejected precondition.

One-variable verification

  1. Capture the resource identity and IAMStreamSelect flags, stream group IDs, disabled pins, graph state and selection call result.
  2. verify that the caller uses the current Playlist, Media, Network, graph, device or DRM object generation.
  3. Run the narrow experiment: select one enumerated audio stream before starting playback and confirm that exactly one is enabled.
  4. Do not mix the result experiment with a codec pack, Player reset or broad registry cleanup.
  5. After this result, treat a new specific HRESULT as evidence that this boundary was cleared.

Reading the next state

Retest outcomeInterpretation
Same it on the same objectThe governing state or value is unchanged, or the caller is reusing an object created before the relevant change.
Fresh object succeedsLifetime, cached configuration or stale playlist/graph state contributed to it.
A later HRESULT appearsThe rejected condition — the graph supports audio-language selection but currently has no selected audio stream — was cleared for this HRESULT; diagnose the new code at its own layer.
Only one item or endpoint fails for this HRESULTThe evidence favors resource-specific data, rights, routing or device state rather than a global Player failure.

Actions that obscure the cause

  • changing subtitle settings.
  • Do not discard the first occurrence by repeatedly invoking Play, open, save or retry; later events can replace its original state.
  • do not publish credentials, private URLs, license material or complete protected-content headers; retain only redacted identifiers, lengths, hashes and protocol fields.

Technical references

The result fix is demonstrated by the same Player path succeeding with the same resource, not by another application opening it.


Looking for a different code? Search another status or error code.