make the header info into a struct

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
stop carrying error from frame to frame: use absolute time for sleep

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
use a queue to keep the frames, and a thread to get them as quickly as possible

Signed-off-by: Tomas Neme <lacrymology@gmail.com>
I don't need special get_image and get_audio methods. The defaults do it

Signed-off-by: Tomas Neme <lacrymology@gmail.com>