I added an additional "print m.videoPlayer.completedStreamInfo" in my error logging and the issue, which had persisted for several days, stopped happening entirely. I remove it and it starts happening again. Excellent developer experience.
Your logging "fix" is unreal! I wonder if that works in a production channel. It is very difficult to get any useful diagnostics for video failures. For example, one issue was our segment requests were returning HTTP 403 errors, but Roku surfaces it as that useless -3 error code. Only by sniffing packets with Wireshark and Charles are we able to figure out what is broken. Without external tools it would be impossible to figure out what was wrong. Good luck.