| Previous | Next |
| VFW_E_NO_TIME_FORMAT | VFW_E_BUFFER_UNDERFLOW |
VFW_E_READ_ONLY
Meaning
Windows documents VFW_E_READ_ONLY as “The connection cannot be made because the stream is read only and the filter alters the data”. Here, DirectShow refuses a connection because the upstream stream is read-only while the downstream filter would modify sample data in place.
Relevant contract
Start with the filter graph, device or persisted configuration that first returned the result.
Evidence worth preserving
- Evidence 1: pin interfaces and transport type.
- Evidence 2: allocator properties and sample read-only flags.
- Evidence 3: which filter intends to modify the buffer.
Conditions that can produce it
- Cause 1: the downstream transform declares writable-buffer requirements.
- Cause 2: a source exposes immutable shared memory.
- Cause 3: allocator negotiation fails to provide copy-on-write samples.
Retry and recovery
Retry rule: Retry after changing the transport or filter chain so writable storage is available.
Correction strategy
- Action 1: insert a copying transform or choose a non-mutating filter.
- Action 2: negotiate an allocator that provides writable samples.
- Action 3: declare in-place modification requirements accurately.
Example incident
A parser exposes read-only mapped-file samples to an in-place watermark filter; inserting a copy transform resolves it.
How it differs from nearby results
VFW_E_NO_TRANSPORT means pins share no transport mechanism, while it means transport exists but its mutability contract conflicts with the filter.
Official Microsoft references
Looking for a different code? Search another status or error code.