Site icon EfmSoft

What does HRESULT 0x8004022C (VFW_E_SAMPLE_REJECTED_EOS) mean?

 
Previous Next
VFW_E_SAMPLE_REJECTED VFW_E_DUPLICATE_NAME

VFW_E_SAMPLE_REJECTED_EOS

Meaning

Windows documents VFW_E_SAMPLE_REJECTED_EOS as “This sample cannot be rendered because the end of the stream has been reached”. In practical terms, it is returned when a DirectShow component rejects a media sample because end-of-stream has already been reached for that stream segment.

Likely causes

  • Possible cause 1: upstream sends a late sample after EndOfStream.
  • Possible cause 2: asynchronous queues reorder EOS ahead of buffered samples.
  • Possible cause 3: a seek starts a new generation but an old sample arrives afterward.

Evidence to collect

  • Capture 1: EOS timestamp, sample timestamp and queue order.
  • Capture 2: stream-generation or segment identifier.
  • Capture 3: flush, seek and worker-thread completion events.

Correct handling and retry

  • Corrective action 1: drain queued samples before signaling EOS.
  • Corrective action 2: tag asynchronous work with stream generations.
  • Corrective action 3: discard stale samples after seek or flush.

Retry guidance. Do not retry the stale sample in the completed segment; deliver it only if it can be proven to belong to a new active segment.

Practical scenario

A worker thread emits EOS before another worker finishes its last frame; ordering the queue prevents it.

Difference from nearby HRESULTs

VFW_E_SAMPLE_REJECTED may be caused by sample content or state; this HRESULT specifically says EOS made the sample too late.

Official Microsoft references


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

Exit mobile version