(2015-11-22, 18:30)lharms Wrote: Yeah I saw that code too (CDVDInputStreamFile::Open). However, it does not even go down that path when I run it with a bluray or dvd ISO (breakpoint never hit). I have not tried it but I think that path is only for physical DVDs.
Sorry my comment was not clear. But my hack did work. But it also makes it *always* cache. Which is not the intent. My feeling is CFile:Open needs to change to make a better decision. Sort of like you did. Or at a minimum the udf25:Open should make that decision (that way you hit both the DVD and bluray case).
I was tempted to do what you are saying. But that seems too high up the call stack. It is making the upper API calls make the decision when it really should not be up to them at all?
The problem is if you put it too low level then you basically end up double caching things. The way you have would work for the individual files inside the ISO but not the whole ISO? That may be the right way. Just seems like an interface is wrong somehow. If it was the way you said it should be on the DVD stream as well? Maybe a good medium would be inside the udf25 open?
It would be 'better' if the system could decide 'oh you are a virtual file system dont cache individual files because I got it handled at the lower level if needed''. At least that is what I am thinking. Do not think it needs a re-write
Again, thanks for the feedback.
When I do a Bluray ISO, my second code quote hits for sure.
I could have sworn I was hitting on the my first code quote for a DVD ISO, now I don't see it.
DVDs play fine for me, it's the Bluray that glitches, so I've been focusing on that.
I know I have plenty of bandwidth, so I figured it was a latency issues that buffering could resolve.
Although the buffering is for sure working for Bluray, I still seem to still be having the same problem.
Note, I'm using 0 buffer size meaning it should continue to download the entire video until it reaches the end.
I noticed that it would buffer up the video much faster then stop for a really long time.
It seems to glitch when it starts buffering again.
I started watching the cache files and noticed that during this time, it was deleting the current buffer file and creating a new one.
My theory:
It seems Blurays are broken into much smaller files than DVDs and Kodi won't start buffering the next file until the player starts to play.
It seems that It's this time when the stream glitches.
I may be back to square one on this as it's really not a basic buffering issue, but the basic function of Blurays not letting us buffer the next file ahead of time.