audio/video decoding on separate thread with a queue