So an issue that I really dislike about PS3MediaServer's current implementation is that if you are playing a file that needs to be remuxed, you have a lousy ffwd and rwd experience.
Would the following implementation make sense?
- Add an option for ReMux caching (default could be off)
If turned on, when a file that is a simple remux is played (say an MKV that can be remuxed to M2TS) - it starts playing just like today (on the fly remux), however because the new option has been enabled, a second thread gets spawned to remux the entire file (in the background - lower priority than the on the fly remux). When the entire file has been remuxed, the media server switches over to reading out of the remuxed file instead of continuing to remux on the fly. At this point the user would have full ffwd and rwd available.
Use case: I watch a movie that is being remuxed on the fly, after 5 minutes or whatever the movie has been completely remuxed by the second thread. Now after a half hour of watching I see something that I want to rewind, so I hit rewind and like magic it does what I expect and desire (it rewinds).
When the user starts to play a new file, the cache gets cleaned up.