| Previous | Next |
| NS_E_NO_REPEAT_PREPROCESS | NS_E_DRM_PROFILE_NOT_SET |
NS_E_CANNOT_PAUSE_LIVEBROADCAST
Diagnostic meaning beyond the standard text
For NS_E_CANNOT_PAUSE_LIVEBROADCAST (0xC00D1B8E), the actionable event is Pause is requested for a session actively broadcasting live output. Keep the NS_E_CANNOT_PAUSE_LIVEBROADCAST 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_PAUSE_LIVEBROADCAST. 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 pause livebroadcast 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_PAUSE_LIVEBROADCAST. One concrete way to reach the condition is that a generic transport control maps a UI pause button to WMEncoder.Pause during live output. The NS_E_CANNOT_PAUSE_LIVEBROADCAST test should therefore preserve the object generation and numeric settings, not just a screenshot of the final dialog.
Trace fields with diagnostic value
| Field | What to preserve |
|---|---|
| Decisive values | RunState, broadcast sink state, output protocol and caller initiating Pause |
| 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 NS_E_CANNOT_PAUSE_LIVEBROADCAST |
| Lower-level evidence | the first COM, driver, file-system or codec HRESULT observed before the Encoder mapped the condition to NS_E_CANNOT_PAUSE_LIVEBROADCAST |
| Controlled comparison | a known-good session that changes only the setting named in the cannot pause livebroadcast boundary |
Decision matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports this result | The decisive evidence is RunState, broadcast sink state, output protocol and caller initiating Pause. It confirms Pause is requested for a session actively broadcasting live output in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the cannot pause livebroadcast 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 (Pause is requested for a session actively broadcasting live output), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: stop and restart the broadcast deliberately instead of pausing it. The original cannot pause livebroadcast call should then advance past the same checkpoint. |
The operational impact of NS_E_CANNOT_PAUSE_LIVEBROADCAST is limited to the encoder state-machine sequencing transition that owns Pause is requested for a session actively broadcasting live output. For NS_E_CANNOT_PAUSE_LIVEBROADCAST, 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 a generic transport control maps a UI pause button to WMEncoder.Pause during live output, keep the first failing call and its object identity so a later wrapper cannot replace the cannot pause livebroadcast evidence.
Decision path
- Record
0xC00D1B8E,NS_E_CANNOT_PAUSE_LIVEBROADCAST, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture RunState, broadcast sink state, output protocol and caller initiating Pause. - For
NS_E_CANNOT_PAUSE_LIVEBROADCAST, 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: stop and restart the broadcast deliberately instead of pausing it.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier cannot pause livebroadcast state.
Codes with similar symptoms but different owners
| Result | Why it is a different boundary |
|---|---|
NS_E_INVALIDCALL_WHILE_ENCODER_STOPPED | use of a runtime-only method after the encoder has stopped |
NS_E_SOURCEGROUP_NOTPREPARED | activation or start of a source group that has not completed PrepareToEncode |
NS_E_INVALIDCALL_WHILE_ARCHIVAL_RUNNING | attempt to alter archive configuration while the archive sink is active |
Safe recovery
Resolve the producing condition by ensuring that you stop and restart the broadcast deliberately instead of pausing it. Then rebuild only the portion of the Encoder graph affected by NS_E_CANNOT_PAUSE_LIVEBROADCAST 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_PAUSE_LIVEBROADCAST.
Source material for NS_E_CANNOT_PAUSE_LIVEBROADCAST
- 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.