| Previous | Next |
| NS_E_INCORRECTCLIPSETTINGS | NS_E_NOTARCHIVING |
NS_E_NOSTATSAVAILABLE
How to interpret the code in a real encoding session
0xC00D1B7D is named NS_E_NOSTATSAVAILABLE. Its practical scope is request for a statistics producer that has not generated a current sample, which belongs to encoder statistics availability rather than to every part of Windows Media playback or Windows itself.
Mechanism and point of failure
Statistics objects are populated by active encoding, archival and indexing work in a session that returns this result. A valid statistics interface can therefore have no meaningful sample before the related subsystem starts or after it has already been torn down at the nostatsavailable checkpoint.
No statistics does not by itself mean that capture or encoding failed; it can indicate that the producer has not started or has no current sample in a session that returns this result. A typical reproduction is: IndexerStats is queried before an archive has stopped and entered background indexing. This makes the first result from the Encoder more valuable than a later generic message.
Reproduction matrix
| Field | What to preserve |
|---|---|
| Decisive values | requested statistics interface, encoder and archive state, sample timestamp and indexing queue state |
| Producing object | encoder RunState, active source group, archive/indexer state, statistics object requested, sample timestamp, callback ordering and previous state transition |
| 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 nostatsavailable boundary |
Evidence matrix
| Observation | How to interpret it |
|---|---|
| Observation that supports it | The decisive evidence is requested statistics interface, encoder and archive state, sample timestamp and indexing queue state. It confirms request for a statistics producer that has not generated a current sample in the same object generation. |
| Observation that points to an earlier failure | The recorded values satisfy the nostatsavailable 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 (request for a statistics producer that has not generated a current sample), but a codec, archive or broadcast sink then fails in a subsequent stage. |
| Verification after correction | Apply this isolated change: wait for the relevant producer to start or query statistics appropriate to the current state. The original nostatsavailable call should then advance past the same checkpoint. |
The operational impact of it is limited to the encoder statistics availability transition that owns request for a statistics producer that has not generated a current sample. In the representative case where IndexerStats is queried before an archive has stopped and entered background indexing, keep the first failing call and its object identity so a later wrapper cannot replace the nostatsavailable evidence.
Minimal experiment
- Record
0xC00D1B7D, it, the Encoder version and the exact API call or property access that returned it. - Export the current
.wmeor.prxconfiguration, then capture requested statistics interface, encoder and archive state, sample timestamp and indexing queue state. - verify the encoder statistics availability precondition without changing the source, profile and output sink at the same time.
- Run one controlled comparison in which only this condition changes: wait for the relevant producer to start or query statistics appropriate to the current state.
- After the change, recreate the affected Encoder object rather than assuming the existing graph discarded its earlier nostatsavailable state.
Do not collapse these results together
| Result | Why it is a different boundary |
|---|
What to change—and what to leave alone
Change the smallest responsible precondition: wait for the relevant producer to start or query statistics appropriate to the current state. While retesting it, keep all unrelated source, audience and output values fixed until the same call is repeated.
Do not use a missing early statistics sample as the sole reason to restart the session; correlate it with encoder and archive state in a session that returns it.
Authoritative documentation
- IWMEncStatistics.IndexerStats.
- WMEncoder.Start.
- WMEncoder.File and archive output.
- Preparing a source group for encoding.
Looking for a different code? Search another status or error code.
