ML Player texture access render buffer error

After about 2 minutes of using a Magic Leap Media Player with non 3D videos, I experience a crash. It happens when I switch to a different video, the plane on which the video plays goes black, and my console fills with ""AccessRenderBufferTexture() failed for rendering"" error. Then if I press the button to proceed to the next video the entire application crashes.

Unity Editor version: 2022.3.21f1
ML2 OS version: 1.2.0
MLSDK version: 1.6.0
Host OS: Windows11

UPDATE: I've also tried MLSDK 1.6.1 and 1.8 and it's the same result. And when I don't spawn MLPlayer prefabs, the app does not crash anymore.

Hi @downsideupface could you please provide more details on how you are switching out the video?

The ML Player component sits on a plane, in a prefab. Once spawned, it stays in the scene, and I only tell it to switch to a different video by giving it a file path to said video.
The videos are in Streaming Assets, of course.
When the button is pressed to switch to the next or previous video, in my script which has a reference of the ML Player, the ChangeVideo function is executed.

private MLMediaPlayerBehavior player;
void Awake(){
player = GetComponentInChildren();
player.OnPrepared += Player_OnPrepared;
}
private void ChangeVideo(string parameters) {
string streamingAssetName = parameters;
player.Reset();
player.source = streamingAssetName;
player.PrepareMLMediaPlayer();
}
private void Player_OnPrepared() {
player.Play();
}
void OnDestroy() {
// unsubscribe to events
player.OnPrepared -= Player_OnPrepared;
player.Pause();
player.source = "";
}

Thank you for providing this additional information. I will reach out to our developers and see what we can uncover and report back to you as soon as possible.

Thanks,

El

1 Like