Skip to content

Changes in mechanism for synchronizing buffer/requests

Created by: epiclabsDASH

This PR removes the synchronization process (buffers & requests) before scheduling next requests, which was causing issues when timing information in the mpd was not well aligned with timestamps in video/audio chunks. This takes advantage of the new buffering/requests model in which all requests are for consecutive segments and there is no possibility of having request/buffer gaps. With this new approach is enough with synchronizing just when a buffer is removed.

I also modified some of the parameters of the pruning process to reduce memory consumption:

  • Pruning process is very lightweight so there is no reason to make it just once per 30 seconds. I have decreased its default value so it runs every 10 seconds with the goal of reducing memory consumption.
  • I have also decreased the default value of BUFFER_TO_KEEP parameter from 30 seconds to 20 seconds.

Merge request reports