[iOS] Audio spectrum component causes GPU failure on certain devices, including iPhone 12
Unity version
Unity 6000.0.58f2
Unity editor platform
Windows
AVPro Video edition
Core
AVPro Video version
3.3.3
Device hardware
Iphone 12
Which iOS version are you using?
18.6.2
Texture format
BGRA
Audio output
System Direct
Any other Media Player component configuration required to reproduce the issue.
No just the Demo_MediaPlayer scene
Which output component(s) are you using?
Playlist MediaPlayer
Any other component configuration required to reproduce the issue.
No just the Demo_MediaPlayer scene
The issue
We use test flight to test our app on iOS. We expect the video player in Demo_MediaPlayer to work on iPhone 12. But instead we get black screen. No play or audio.
The game works on older version ipad. So is not all iphones, but it seems to be consistant with newer phones. Right now our testing iphone is a version 12.
Media information
AVProVideoSamples/RenderHeads-1080p30-H264.mp4
Log output
Can you retest using a new project, AVPro Video version 3.3.4 and the mediaplayer demo scene please.
We still get the same results. I created a new SRP project and uploaded it to test flight. Used the same device and we get this glitch. I don't get glitches ever on ipad pro 11 inch 4th generation on ipadOS version 18.6.2.
But iphone 12 on the version I mentioned does not work still.
We tested the free UIToolkit video player and that works on iphone 12. Just fine, kind of crazy a free asset works and a paid one is broken
This is certainly an interesting one.
- It plays with Unity's video player, but not AVPro - out of interest, have you tested playing the exact same video?
- It plays using AVPro Video on an ipad using the same iOS version
- It plays using AVPro Video on an iphone 13 pro (what we are using)
- Have you got any other iphones for testing?
- Are you able to provide us with your error logs please?
Hi, I have the exact same problem. Here is the case:
- Fresh Unity 2022.3.62 Build-In 3D project.
- AVPro Core Plugin Version 3.3.4
- Only Scene is Demo_MediaPlayer
- Xcode 26.1.1
- iOS 26.1
- iPhone 11
When deploying the build via Xcode the App starts, Video starts playing but without Video, only Audio. The layout of the UI is broken and its flickering. But the buttons (Start/Stop, forward, backward) are still working. Xcode throws the following Errors:
-> applicationDidBecomeActive()
[PhysX] Initialized MultithreadedTaskDispatcher with 6 workers.
UnloadTime: 3.153209 ms
Setting Application.targetFrameRate to: 60
RenderHeads.Media.AVProVideo.Demos.MediaPlayerUI:Awake()
🔹 AVPro Video version 3.3.4-core build 2512021108 on iPhone 11 running iOS 26.1
🔹 AVPro Video iOS version 3.3.4-core build 2512021108 built with Apple LLVM 16.0.0 (clang-1600.0.26.3)
[AVProVideo] Initialising AVPro Video v3.3.4 (native plugin v3.3.4-core build 2512021108) on Apple A13 GPU/Metal (MT True) on IPhonePlayer
RenderHeads.Media.AVProVideo.MediaPlayer:Initialise()
RenderHeads.Media.AVProVideo.MediaPlayer:Start()
[AVProVideo] Opening https://wdradaptiv-vh.akamaihd.net/i/medp/ondemand/weltweit/fsk0/339/3396117/,3396117_64928419,3396117_64928420,3396117_64928421,3396117_64928418,3396117_64928417,.mp4.csmil/master.m3u8 (offset 0) with API
RenderHeads.Media.AVProVideo.MediaPlayer:InternalOpenMedia()
RenderHeads.Media.AVProVideo.MediaPlayer:Start()
<<<< FigApplicationStateMonitor >>>> signalled err=-19431 at <>:474
<<<< FigApplicationStateMonitor >>>> signalled err=-19431 at <>:474
prepare(playerItems: forVisualPlaybackOf:) - no video tracks present
IOGPUMetalError: Caused GPU Address Fault Error (0000000b:kIOGPUCommandBufferCallbackErrorPageFault)
Execution of the command buffer was aborted due to an error during execution. Caused GPU Address Fault Error (0000000b:kIOGPUCommandBufferCallbackErrorPageFault)
IOGPUMetalError: Caused GPU Address Fault Error (0000000b:kIOGPUCommandBufferCallbackErrorPageFault)
Execution of the command buffer was aborted due to an error during execution. Caused GPU Address Fault Error (0000000b:kIOGPUCommandBufferCallbackErrorPageFault)
IOGPUMetalError: Ignored (for causing prior/excessive GPU errors) (00000004:kIOGPUCommandBufferCallbackErrorSubmissionsIgnored)
Execution of the command buffer was aborted due to an error during execution. Ignored (for causing prior/excessive GPU errors) (00000004:kIOGPUCommandBufferCallbackErrorSubmissionsIgnored)
We had other testers with that same problem. We had someone with iPhone SE (2nd generations) iOS 18.6.2 and iPhone 12 pro iOS 18.6.2 have problems with it. We don't have a bigger sample because we are wanting to have a better product before beta testers come in.
And videos not playing killed the progress. So we moved to using the free video player for now
Our game relies heavily on the features of your fantastic asset, so I hope you can help me with this problem.
I've been able to reproduce this on an iPhone 12 running iOS 26.1. Not sure how it is that other devices are immune but it looks like the audio spectrum visualiser is the culprit.
Follow these instructions to disable it:
Disable the game object in the Demo_MediaPlayer scene as shown here:
and comment out line 809 of MediaPlayerUI.cs so it looks like this:
// UpdateAudioSpectrum();
Hi Morris,
thank you for the quick hotfix! Work's fine now.
I've disabled the spectrum analyser component on iOS for the foreseeable future, this will be in the next release (version 3.3.5).
AVPro Video version 3.3.5 has been released. Please let us know if it has not fixed this issue.