Using vector instead of malloc
Using blocking instead of callback.
Designing audio driver class