process
Drive input through the graph (single-input graphs only), emitting each processed frame owned by the collector as it comes out, before the graph is asked for the next one. Closes every input frame once consumed.
The collector ends it the way it ends any flow: take, first or cancelling its coroutine. Cancellation is checked before each frame is emitted, so a collector that never suspends still stops a filter that never stops producing, such as tpad=stop=-1 once its input has ended; the frame the check stops is closed, never stranded.
One shot: the graph takes input to its end and is closed when the flow ends, because a graph that has seen its end of stream cannot take more. A second call, or a feedInput after it, fails with IllegalStateException naming the graph as spent. Build a new graph for another stream.
See also
for the ownership rule every emitted frame is subject to