RenderHeads / UnityPlugin-AVProVideo

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

MKV with 360 audio freezes when setting the Playbackrate to other value #1170

Open dun82 opened 2 years ago

dun82 commented 2 years ago

I am using the playlist player to play the MKV files with Audio 360 supported using Media Foundation API. Every time the playlist.currentPlayer.Playbackrate is assigned by other value, say 2.0, the player freezes with the loading icon keeps running

playlist.Playbackrate = targetPlaybackrate (not working at all)

Any clues on the issue would be appreciated. Many thanks!

Development info:

Chris-RH commented 2 years ago

Can you please fill out all the details asked for in the template so we can try to reproduce this: Describe the issue A clear and concise description of what the issue is. Your Setup (please complete the following information): Unity version: AVPro Video version (number and edition (trial/core/ultra/enterprise)): Operating system version: Device model: Video specs (resolution, frame-rate, codec, file size): To Reproduce 1. 2. 3. Logs If applicable, add error logs to help explain your problem. Screenshots If applicable, add screenshots to help explain your problem. Videos If applicable, add a copy of your video or the URL. Scripts If applicable, add a copy of any custom scripts used. Please DO NOT LINK / ATTACH YOUR PROJECT FILES HERE Instead email the link to us unitysupport@renderheads.com

dun82 commented 2 years ago

Yes, please see below with more information.

Unity version: 2020.1 LTS AVPro Video version (number and edition (trial/core/ultra/enterprise)): Ultra Operating system version: Windows 10 Device model: Windows Standalone, i7, 16GB, GTX1070 Video specs (resolution, frame-rate, codec, file size): 5760x2800, 30 FPS, HEVC with audio Opus S32 10 Channels 48 kHz, 46Mb To Reproduce

  1. Open the sample scene Demo_360Stereo
  2. Create a playlist media player object and attach it to the "Apply to Mesh" component of the 360 image container
  3. Add playlist item through absolute path
  4. Add a script, attached to a simple button, to tell the playlist media player object the target playbackrate private PlaylistMediaPlayer pmp; pmp.CurrentPlayer.PlaybackRate = playSpeed;
  5. Run in editor and the screen will freeze with the loading icon goes round and round

I have the supp files emailed to unitysupport@renderheads.com for your reference.

Thank you so much for your help, hopefully this can be resolved.

Chris-RH commented 2 years ago

Hi @dun82, Thank you for your email. We've looked into this and have been able to replicate it. It looks to be the way our code handles the 360 audio. Unfortunately we don't have a fix for the problem at this time, but we will look into it at some point in the future.

dun82 commented 2 years ago

Thank you @Chris-RH ! Brilliant!