RenderHeads / UnityPlugin-AVProVideo

AVPro Video is a multi-platform Unity plugin for advanced video playback
https://www.renderheads.com/products/avpro-video/
232 stars 28 forks source link

iOS with VoiceOver activated does not display videos #1259

Closed rtrn1337 closed 1 year ago

rtrn1337 commented 2 years ago

When Voice Over is activated, no videos are displayed. They are played but not displayed visually. If a player is set to loop, the first pass is not shown. Only when the second loop starts the videos become visible. public bool HasValidTexture() returns false cause _mediaPlayer.TextureProducer and _mediaPlayer.TextureProducer.GetTexture() seems to be null in DisplayUGUI.cs.

To Reproduce

  1. Create empty Unity URP Project with version 2021.3.2f1
  2. Import AVPro Core 2.5.7 Package
  3. Open the Demo Scene "Demo_MediaPlayer"
  4. Set Media Player to the media file (downloaded to StreamingAsset folder)
  5. Create more than one VideoPlayer at the same Canvas
  6. Build the project to an iOS device
  7. Before starting the App activate VoiceOver in the iOS settings
  8. Run the build via Xcode

Additional Info It seems to be a problem with the AppleMediaPlayer.cs. The FirstFrameReady event is triggered immediately without Voice Over. But if Voice Over is activated, the event is only called after the first loop.

Chris-RH commented 2 years ago

Thank you for reporting this. Our iOS dev is on leave at the moment, but will look into this when he gets back.

MorrisRH commented 1 year ago

We've reproduced this issue and a fix will make it into the next release.

MorrisRH commented 1 year ago

Hey @rtrn1337, AVPro Video version 2.6.7 has just been released which includes a fix for this issue.