Supplied buffer may be shared between few Preview filter instances, hence implementers shall NOT consume (move position) of the buffer. Caller enforces this reseting buffer position between calls to previewers.
XXX if this approach turns out to impose a great burden on filter implementations, FilterByteChannel may be modified to keep record of how far each filter had read it's buffer.