Maximum duration value is not set during resizing the buffering TSB
This post is intent to confirm the behavior of TimeShiftProperties.setMaximumDuration(long maxDuration).
- Select a service with minimum duration.
- Set maximum duration for the respective ServiceContext.
When setMaximumDuration is called, TimeShiftWindowClient.setDesiredDuration(duration) is invoked, but TimeShiftWindowClient.setMaximumDuration(duration) is left unused.
In TimeShiftWindow.updateForChangedDuration(), the condition for resizeBufferringTSB() method call is imposed based on 'buffering TSB size' and requested 'minimum duration'.
Though our intention is to intimate maximum duration value to RI platform, but the resize buffer method call condition is purely based only on minimum duration value in current logic.
This results, maximum duration is not set to native (IfsHandleImpl->maxSize) which in turn leads to consider the file as 'non circular' in IfsOpenImpl method in IfsImpl.c.
if ((bufferingTSB != null) && (bufferingTSB.bufferSize < m_constraints.minDuration))
There is no maximum duration check to restrict the TSB for not to hold more than requested maximum duration value, isn't it?
If we want to implement the condition check to resize buffering TSB for maximum duration value, what is the required condition to impose?