// Not thread-safe to set concurrently with playing.
// Will be called back from the player thread.
using done_callback_func = std::function<void()>;
// Not thread-safe to set concurrently with playing.
// Will be called back from the player thread.
using done_callback_func = std::function<void()>;