Make EventController refresh timer period configurable via settings
Created by: gtakis1
Is your feature request related to a problem? Please describe.
Our organization has a use case where we may have emsg boxes occurring at rates at or near the video frame rate, and we need to be able to present emsg data with as close to frame-accuracy as possible. The EventController has a timer which is hardcoded to fire every 100ms (REFRESH_DELAY in src/streaming/controllers/EventController.js), to trigger emsg events that are pending up to the current video playback time. The problem is that for video at frame rates such as 30 or 60fps, this can cause multiple events queued up during the 100ms period to be triggered in small bursts, whereas we need this to occur as close to each video frame presentation time as possible.
Describe the solution you'd like
Since decreasing the EventController refresh timer interval puts increased load on CPU resources, we believe decreasing the hardcoded 100ms value would not be desirable for all implementations, so instead we would like the ability to optionally change this EventController timer refresh interval via player configuration settings. For instance, for 30fps video, we would like the client to be able to set the timer to fire every 1/30 sec (33ms).
Describe alternatives you've considered None
Additional context None