You can try this nightly build release:
https://forums.plex.tv/t/android-new-video-demuxer-for-improved-playback/764448
For me, it works better than the more recent regular releases…
However, what I need to do, is briefly start a video with another framerate. Just let it play for a second, enough for the frame rate output to change. (My TV indicates a new frame rate input.) Stop that video, and go back to the one that I want to watch; and it works!
The Shield is set to a frame rate of 59.xxx something. When I turn it on from sleep and want to view some 25 fps material, it always works. It starts, and the TV indicates the frame rate switch.
But if I turn it on from sleep and directly select something with 23.976 fps, I get the infinite buffering. The TV does not indicate a frame rate switch. So I have to start some 25 fps video, and then go back to the 23.976 video which then works.
Someone suggested disabling the automatic frame rate switching to avoid the buffering. I tried it briefly, but could not keep that setting; playing a video with the wrong frame rate looks horrible on my TV. Very bad stuttering on panning scenes. Maybe other TVs handle that better? Give it a try!
Also, check out the other threads on this issue:
https://forums.plex.tv/t/infinite-buffering-when-opening-files-on-nvidia-shield-player-and-other-issues/730666
https://forums.plex.tv/t/playback-not-starting-spinner/773272