GVR Video Player Texture: video does not always render

I am creating an Android video player app using a GVR Video Player Texture to play my video. During the initial stages of development, the video was working fine. As I added more complexities to it, the video would fail to render visually.

Namely, I incorporated calls and callbacks to/from a Java library using the JNI interface and UnityPlayer.UnitySendMessage(). The calls/callbacks are being executed normally and work fine. However, the Quad on which the GVR Video Player Texture is attached to briefly displays the “Loading” placeholder image and the flashes to black once the video starts. I am monitoring progress through the video and I can see that it is playing and moving through the video. I can also Play(), Pause(), and set CurrentPosition and CurrentVolume properly. The only issue is that the video graphics don’t render.

The main error message that I get is “W/gvrvideo:: External Texture not set!” at each frame update. Some other issues that I think might be related is that the Unity Engine times out while attempting to pause the app during onPause(). My application’s onApplicationPause() functions are also not called. Even when I disable the onApplicationPause() function on my script, the player struggles to execute pausing the app successfully.

I wasn’t able to resolve the OnApplicationPause() and other pausing issues but I was able to solve my issues with the video. Essentially the video would not set properly if another function was called during it’s initialization. As a result, I delayed all callbacks and other function calling (that I had control over) until the video finished rendering and my video now renders correctly every single time. It seemed to get into a weird state when interrupted and was not able to resume the initialization properly or reset itself.