Hi!
We are still on the hook for fixing this unfortunately to be able to pass certification, so I thought I would share our solution as it wasn't pleasant. We were encountering this conflict with the PS4 Movie Streamer provided by Epic in Unreal.
The solution we went with was to move the core bit of Wwise initialization into a separate module of the Wwise plugin that could occur during preloading before the PS4 Movie Streamer, and have the PS4 Movie Streamer reference the plugin and trigger initialization of Wwise. None of the game logic was included in this. Some of the configuration logic had to be moved to a separate config class in the preloading plugin.
There were additional challenges to this that required some... inelegance as the editor builds use dlls and Wwise is statically linked so there was an instance of Wwise for both the preloading module and the standard AkAudio module and changes in one weren't reflected in the other (this is a non-issue for monolithic builds). So in this configuration we had a cpp file in AkAudio that #included the one from PreLoading and did the initialization in AkAudio calling into the function and disabled it in the Preloading module. There were extra steps on top of this to ensure no collisions with definitions for monolithic builds.
I also had to change some of the logic in the AkLEngine.cpp for PS4 to register a callback after init in CAkLEngine::Init to explicitly call GetSceAudio3dPortId() to make the call because it seems that call is normally deferred to when actual playback is first requested.
Also, sceAudio3dInitialize uses SCE_AUDIO3D_ERROR_NOT_READY for a second initialization, not SCE_AUDIO_OUT_ERROR_ALREADY_INIT.
The Sony tech note for reference is:
https://p.siedev.net/technotes/view/382
Thank you,
Brent Scriver