Search Unity

Audio Native Audio Plugin Support For ARM64

Discussion in 'Audio & Video' started by Nyarlathothep, Jan 16, 2019.

  1. Nyarlathothep

    Nyarlathothep

    Joined:
    Jun 13, 2013
    Posts:
    398
    As part of Dissonance Voice Chat we have a native audio plugin which does Acoustic Echo Cancellation using the Unity Native Audio Plugin SDK (https://bitbucket.org/Unity-Technologies/nativeaudioplugins/overview). We've recently had a couple of requests asking for these plugins to work on specific platforms which it appears the Audio SDK itself doesn't support.

    One platform is the Magic Leap, an ARM64 Android based device. The other platform is vanilla ARM64 Android, currently we ship ARM7 binaries (which can be loaded on a 64 bit ARM CPU) but it looks like that's no longer enough (see this blog post). As far as I understand it these platforms are the same in terms of CPU architecture.

    Trying to compile for these platforms causes errors in AudioPluginInterface.h because various types are no longer defined (SInt32, UInt32, UInt64, SInt64). I've patched this by adding in a couple more compiler branches to define these types for PLATFORM_LUMIN and PLATFORM_ANDROID (see this gist, lines 97-156), hopefully this support can be merged into the Audio SDK so I don't have to maintain my own branch for too long.

    @Tautvydas-Zilys I think you're the person to ask about this (apologies if I've got the wrong person).
     
    Last edited: Jan 16, 2019
    mtytel likes this.
  2. Tautvydas-Zilys

    Tautvydas-Zilys

    Unity Technologies

    Joined:
    Jul 25, 2013
    Posts:
    10,680
    I'm not the right person to ask, unfortunately (I was merely the person that fixed a bug report that said the plugin doesn't work on UWP). However, you can either open a pull request with your changes or submit a bug report about it.
     
    Nyarlathothep likes this.
  3. Nyarlathothep

    Nyarlathothep

    Joined:
    Jun 13, 2013
    Posts:
    398
    Thanks. I've opened a PR, I'm not very familiar with bitbucket so I didn't realise they were enabled for that repo.