| Previous | Next |
| NS_E_NO_VALID_SOURCE_PLUGIN | NS_E_NO_SCRIPT_STREAM |
NS_E_NO_ACTIVE_SOURCEGROUP
How to interpret the code in a real encoding session
0xC00D1B72 is named NS_E_NO_ACTIVE_SOURCEGROUP. Its practical scope is an operation that requires SourceGroupCollection.Active when no group is selected, which belongs to encoder state-machine sequencing rather than to every part of Windows Media playback or Windows itself.
Mechanism and point of failure
WMEncoder exposes configuration, preparation, running, paused, stopped and archival states in a session that returns this result. Properties that alter graph topology are normally set before Start, while statistics and some control operations are meaningful only after a session reaches the matching state.
The same method can be valid in one encoder state and rejected in another without any file, codec or network defect in a session that returns this result. A typical reproduction is: the last active group is deleted during configuration cleanup. This makes the first result from the Encoder more valuable than a later generic message.
Reproduction matrix
| Field | What to preserve |
|---|---|
| Decisive values | source-group count, Active value, prepared flags and the most recent group-removal or activation call |
| Producing object | current encoder RunState, active source group, PrepareToEncode calls, Start/Pause/Stop order, archive state, thread and callback that issued the operation, and the first state-transition HRESULT |
| 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 active sourcegroup boundary |
Evidence matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is source-group count, Active value, prepared flags and the most recent group-removal or activation call. It confirms an operation that requires SourceGroupCollection.Active when no group is selected in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the no active sourcegroup 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 (an operation that requires SourceGroupCollection.Active when no group is selected), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: select and prepare an existing source group before starting or switching. The original no active sourcegroup call should then advance past the same checkpoint. |
The operational impact of it is limited to the encoder state-machine sequencing transition that owns an operation that requires SourceGroupCollection.Active when no group is selected. In the representative case where the last active group is deleted during configuration cleanup, keep the first failing call and its object identity so a later wrapper cannot replace the no active sourcegroup evidence.
Minimal experiment
- Record
0xC00D1B72, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture source-group count, Active value, prepared flags and the most recent group-removal or activation call. - verify the encoder state-machine sequencing precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: select and prepare an existing source group before starting or switching.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier no active sourcegroup state.
Do not collapse these results together
| Result | Why it is a different boundary |
|---|---|
NS_E_INVALIDCALL_WHILE_ENCODER_RUNNING | attempt to change a topology-affecting property after WMEncoder.Start |
NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNING | attempt to alter archive configuration while the archive sink is active |
NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP | removal of the source group currently active in the running encoder graph |
What to change—and what to leave alone
Change the smallest responsible precondition: select and prepare an existing source group before starting or switching. While retesting it, keep all unrelated source, audience and output values fixed until the same call is repeated.
Do not hide the ordering problem behind unconditional retries; log the transition sequence and make the operation occur at the documented lifecycle point in a session that returns it.
Authoritative documentation
- WMEncoder.Start.
- Preparing a source group for encoding.
- WMEncoder.Flush.
- Saving a Windows Media Encoder configuration.
Looking for a different code? Search another status or error code.