I also wonder whether I really need the distinction between sources and sinks. Why? Because filters.
I’m beginning to doubt that my current approach of transporting data from a source to a sink by using threads for each source will ever work. It appeared to be way too simple, too!
Just when you think “yay, parsing MP3 frame headers is the shit,” somebody comes along and starts hitting you with a book called “MP3 Info Tag.” In the head. Repeatedly.