Replace Phonon with libvlc directly

As above: `std::function` please