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.