What does HRESULT 0x8004022B (VFW_E_SAMPLE_REJECTED) mean?

 
Previous Next
VFW_E_TYPE_NOT_ACCEPTED VFW_E_SAMPLE_REJECTED_EOS

VFW_E_SAMPLE_REJECTED

Meaning

Windows documents VFW_E_SAMPLE_REJECTED as “This sample cannot be rendered”. In practical terms, it is returned when a DirectShow downstream component rejects a media sample and cannot render or process it.

Likely causes

  • Possible cause 1: sample flags or media type conflict with current decoder state.
  • Possible cause 2: timestamp, buffer length or format-specific payload is invalid.
  • Possible cause 3: renderer is flushing or otherwise cannot accept the sample.

Evidence to collect

  • Capture 1: sample actual length, buffer capacity and flags.
  • Capture 2: timestamps, attached media type and discontinuity markers.
  • Capture 3: downstream filter state and first component returning the HRESULT.

Correct handling and retry

  • Corrective action 1: validate sample metadata and payload at the producer boundary.
  • Corrective action 2: respect flush and state transitions.
  • Corrective action 3: send required discontinuity or format-change information explicitly.

Retry guidance. Retry only when rejection was caused by transient state and the sample still belongs to the current stream generation.

Difference from nearby HRESULTs

VFW_E_SAMPLE_REJECTED_EOS specifically attributes rejection to end-of-stream, while VFW_E_SAMPLE_REJECTED has another sample or state cause. Keep these outcomes separate when deciding how to recover.

Practical scenario

A decoder delivers a sample with an attached format change but omits the discontinuity marker expected by the renderer; correcting sample metadata removes it.

Official Microsoft references


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