I finally got a few cycles to integrate my buffering code into the Xine CC decoder.
(Click on the screenshot to enlarge)
Looks like it's generally working, although there's a bug in the quicksort somewhere because it occasionally crashes. Also, I think occasionally one of the characters is rendered out of order, which could just be that I need to tune the size of the buffer pools.
I need to get EIA-608 scrolling text to work since many broadcasts require it, but this is still a milestone...