It appears there is a sort of a limitation (read: “a bug”) in Media Foundation MPEG-4 File Source implementation when it comes to reading long fragmented MP4 files.
When respective media source is used to read a file (for which, by the way, it does not offer seeking), the source issues a
MF_SOURCE_READERF_ENDOFSTREAM before reaching actual end of file.
When some software sees a full hour of video in the file…
… Media Foundation primitive, after reading frame
00:58:35.1833333, issues “oh gimme a break” event and reports end of stream.