oggmux has two pads A and B
A receives buffer 1
B receives buffer 2
_collected is called
buffer 1 is popped from A
buffer 2 is popped from B
need more buffers to process, so exit
A receives buffer 3
B receives EOS
_collected is called
buffer 3 is popped from A, A is now ready for processing
we try to pop from B, NULL is returned so we mark it as EOS'd and reduce active_pads, B is ready for processing
we process A, using up buffer 1
active pads was reduced, and peek returns NULL for A (no waiting buffers, since we pulled it) and B (eos'd)
we trigger a flush even though A isn't EOS'd