> A limitation remains: when finish_p is PDF_TRUE the filter can assume
> that there is room in the output buffer to hold its EOD
> marker. Currently the minimum size is 1 since the EOD marker of the
> ASCII Hex encoder is '>'.
There is the missing logic. It is the filter which decides when to stop
producing output, no one else.
Then there is no issue: the "finalisation" only makes sense for
filters needed some kind of "external stimulous" that triggers the EOD
marker or something like that.
Ouch. Of course you are talking about the flate encoder. Ignore that
paragraph (I am really tired now).
I still suggests that we encapsulate the stream buffers.
Why? The management of the buffers _into_ the filter implementations
is not complex at all, and it allows you to copy data blocks in an
efficient way using memcpy.
This one remains :)