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