What does HRESULT 0xC00D1B60 (NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP) mean?

 
Previous Next
NS_E_MISMATCHED_MEDIACONTENT NS_E_AUDIODEVICE_BUSY

NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP

Diagnostic meaning beyond the standard text

For NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP (0xC00D1B60), the actionable event is removal of the source group currently active in the running encoder graph. Keep the NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP producing boundary attached to the original Encoder callback or COM call.

Why the session can reach this point

WMEncoder exposes configuration, preparation, running, paused, stopped and archival states in a session that returns NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP. 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 at the cannot delete active sourcegroup checkpoint.

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 NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP. One concrete way to reach the condition is that cleanup code removes all source groups while one is still supplying a broadcast. The NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP test should therefore preserve the object generation and numeric settings, not just a screenshot of the final dialog.

Trace fields with diagnostic value

FieldWhat to preserve
Decisive valuesactive source-group identity, RunState and the caller that attempted collection removal
Producing objectcurrent 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 correlationthe same source-group generation, audience index, object identity and callback sequence that produced NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP
Lower-level evidencethe first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP
Controlled comparisona known-good session that changes only the setting named in the cannot delete active sourcegroup boundary

Decision matrix

ObservationHow to interpret it
Observation that supports this resultThe decisive evidence is active source-group identity, RunState and the caller that attempted collection removal. It confirms removal of the source group currently active in the running encoder graph in the same object generation.
Observation that points to an earlier failureThe recorded values satisfy the cannot delete active sourcegroup 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 (removal of the source group currently active in the running encoder graph), but a codec, archive or broadcast sink then fails in a subsequent stage.
Verification after correctionApply this isolated change: activate another prepared group or stop the encoder before removing the active group. The original cannot delete active sourcegroup call should then advance past the same checkpoint.

The operational impact of NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP is limited to the encoder state-machine sequencing transition that owns removal of the source group currently active in the running encoder graph. For NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP, it does not, by itself, prove that every input is corrupt, every codec is missing or the complete Windows Media installation is unusable. In the representative case where cleanup code removes all source groups while one is still supplying a broadcast, keep the first failing call and its object identity so a later wrapper cannot replace the cannot delete active sourcegroup evidence.

Decision path

  1. Record 0xC00D1B60, NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP, the Encoder version and the exact API call or property access that returned it.
  2. Export the current .wme or .prx configuration, then capture active source-group identity, RunState and the caller that attempted collection removal.
  3. For NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP, verify the encoder state-machine sequencing precondition without changing the source, profile and output sink at the same time.
  4. Run one controlled comparison in which only this condition changes: activate another prepared group or stop the encoder before removing the active group.
  5. After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier cannot delete active sourcegroup state.

Codes with similar symptoms but different owners

ResultWhy it is a different boundary
NS_E_INVALIDCALL_WHILE_ENCODER_RUNNINGattempt to change a topology-affecting property after WMEncoder.Start
NS_E_NO_ACTIVE_SOURCEGROUPan operation that requires SourceGroupCollection.Active when no group is selected
NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNINGattempt to alter archive configuration while the archive sink is active

Safe recovery

Resolve the producing condition by ensuring that you activate another prepared group or stop the encoder before removing the active group. Then rebuild only the portion of the Encoder graph affected by NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP and verify the original call.

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 NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP.

Source material for NS_E_CANNOT_DELETE_ACTIVE_SOURCEGROUP


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