What does HRESULT 0xC00D1B5D (NS_E_TOO_MANY_VIDEO) mean?

 
Previous Next
NS_E_TOO_MANY_AUDIO NS_E_NOMATCHING_ELEMENT

NS_E_TOO_MANY_VIDEO

How to interpret the code in a real encoding session

0xC00D1B5D is named NS_E_TOO_MANY_VIDEO. Its practical scope is enforcement of the source-group limit for video inputs, which belongs to source groups, streams and plug-ins rather than to every part of Windows Media playback or Windows itself.

Mechanism and point of failure

The Encoder object model groups audio, video and script inputs in an IWMEncSourceGroup, associates one profile with that group, and asks a source plug-in to expose a media format that can feed the selected output streams in a session that returns this result.

Successful creation of the COM objects does not prove that the source group is complete; profile assignment, source discovery and format negotiation are later checkpoints in a session that returns this result. A typical reproduction is: two capture devices are added to one source group as if it were a general mixer. This makes the first result from the Encoder more valuable than a later generic message.

Reproduction matrix

FieldWhat to preserve
Decisive valuesvideo source count, render-site indexes and whether a second source was intended as a separate source group
Producing objectsource-group collection index and name, active/prepared state, stream type, input scheme and stream name, source plug-in CLSID, negotiated media type and assigned profile
Session correlationthe same source-group generation, audience index, object identity and callback sequence that produced this result
Lower-level evidencethe first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to this result
Controlled comparisona known-good session that changes only the setting named in the too many video boundary

Evidence matrix

ObservationHow to interpret it
Observation that supports itThe decisive evidence is video source count, render-site indexes and whether a second source was intended as a separate source group. It confirms enforcement of the source-group limit for video inputs in the same object generation.
Observation that points to an earlier failureThe recorded values satisfy the too many video rule, but a source, driver, COM activation or file operation returns a different HRESULT first.
Observation that points to a later failureThe Encoder passes this boundary (enforcement of the source-group limit for video inputs), but a codec, archive or broadcast sink then fails in a subsequent stage.
Verification after correctionApply this isolated change: move independent video inputs to separate source groups or composite them before encoding. The original too many video call should then advance past the same checkpoint.

The operational impact of it is limited to the source groups, streams and plug-ins transition that owns enforcement of the source-group limit for video inputs. In the representative case where two capture devices are added to one source group as if it were a general mixer, keep the first failing call and its object identity so a later wrapper cannot replace the too many video evidence.

Minimal experiment

  1. Record 0xC00D1B5D, it, the Encoder version and the exact API call or property access that returned it.
  2. Export the current .wme or .prx configuration, then capture video source count, render-site indexes and whether a second source was intended as a separate source group.
  3. verify the source groups, streams and plug-ins precondition without changing the source, profile and output sink at the same time.
  4. Run one controlled comparison in which only this condition changes: move independent video inputs to separate source groups or composite them before encoding.
  5. After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier too many video state.

Do not collapse these results together

ResultWhy it is a different boundary
NS_E_TOO_MANY_AUDIOenforcement of the source-group limit for audio inputs
NS_E_NOMATCHING_ELEMENTlookup of an Encoder object in a collection by index, name or expected media role
NS_E_UNSUPPORTED_SOURCETYPEdispatch from the configured source type to an Encoder source plug-in

What to change—and what to leave alone

Change the smallest responsible precondition: move independent video inputs to separate source groups or composite them before encoding. While retesting it, keep all unrelated source, audience and output values fixed until the same call is repeated.

Do not delete and recreate every source group before exporting the.wme configuration and recording the active group; otherwise the failing object relation is lost in a session that returns it.

Authoritative documentation


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