This extends the IoControl interface we already have in IFile to handle both the SEEK_POSSIBLE and the SEEK_BUFFERED features. They where always abit funky to have in the seek function.
The SEEK_BUFFERED change ended up abit large. I have not changed how dvdplayer does things internally, it's mapped to the new API instead so that should probably be changed.
The point here is that using an IoControl system will make it easier for filesystem plugins to support abit more advanced stuff instead of us extending the IFile interface all the time.
There is probably some more stuff in IFile that could/should be moved to the IoControl interface. With that said, there is nothing wrong with having porcelain in CFile to make it's usage easier. But on the low level side it seems like a better approach.
changed: added indirection for native io controls to give us the abil…
…ity to use the API for other things
changed: move retrieval of cache status to iocontrol instead of seek
This also changes it to a structure, so we can extend it with info on if it's full or not. (needed if we want progressive startup with limited cache size)
changed: move the SEEK_POSSIBLE API to IoControl instead of being par…
…t of Seek.
pvr: optimize PersistGroupMembers for speed, by avoiding unneeded dat…