add: onEmptyQueue event
add: onFrame event