[Android] Errors when app comes to foreground after long period of time in background

Using FMOD v2.03.07.

The app works fine with normal usage, even when sending the app to the background and back to the foreground many times, everything works.

The issue is that if the app is sent to the background, and accessed many hours later (approximately 7 hours), any previously playing audio tracks are no longer audible, and new audio does not play at all. The CPU usage also spikes, causing stuttering animations in the app, perhaps due to the following data spamming the logs continuously, until the app is shut down/restarted:

2025-04-20 10:41:02.708 31034-31091 yapp.myapp.demo         com.myapp.demo                D  PlayerBase::~PlayerBase()
2025-04-20 10:41:02.708 31034-31091 AudioStreamTrack        com.myapp.demo                D  open(), request notificationFrames = 0, frameCount = 0
2025-04-20 10:41:02.708 31034-31091 AudioTrack              com.myapp.demo                W  createTrack_l(0): AUDIO_OUTPUT_FLAG_FAST denied by client, not shared buffer and transfer = TRANSFER_SYNC
2025-04-20 10:41:02.722 31034-31091 AudioStreamTrack        com.myapp.demo                D  open() flags changed from 0x00000104 to 0x00000100
2025-04-20 10:41:02.722 31034-31091 AudioStreamTrack        com.myapp.demo                D  open() perfMode changed from 12 to 10
2025-04-20 10:41:02.722 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#616) from 0 to 2
2025-04-20 10:41:02.726 31034-31091 AAudio                  com.myapp.demo                I  AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#616 ----------------
2025-04-20 10:41:02.737 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_close(s#616) called ---------------
2025-04-20 10:41:02.737 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#616) from 2 to 11
2025-04-20 10:41:02.738 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#616) from 11 to 12
2025-04-20 10:41:02.738 31034-31091 AAudioStream            com.myapp.demo                D  ~AudioStream(s#616) mPlayerBase strongCount = 2
2025-04-20 10:41:02.738 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_close(s#616) returned 0 ---------
2025-04-20 10:41:02.751 31034-31091 fmod                    com.myapp.demo                I  FMOD::supportsLowLatency                 : Low latency = true, Pro Audio = true, Bluetooth On = false, Acceptable Block Size = true (96)
2025-04-20 10:41:02.752 31034-31091 fmod                    com.myapp.demo                I  FMOD::supportsSpatial                    : Supports Spatial = false, Spatial available = false, Spatial enabled = false
2025-04-20 10:41:02.752 31034-31091 AAudio                  com.myapp.demo                I  AAudioStreamBuilder_openStream() called ----------------------------------------
2025-04-20 10:41:02.753 31034-31091 AudioStreamBuilder      com.myapp.demo                I  rate   =      0, channels  = 0, channelMask = 0, format   = 0, sharing = SH, dir = OUTPUT
2025-04-20 10:41:02.753 31034-31091 AudioStreamBuilder      com.myapp.demo                I  device =      0, sessionId = -1, perfMode = 12, callback: ON with frames = 0
2025-04-20 10:41:02.753 31034-31091 AudioStreamBuilder      com.myapp.demo                I  usage  =     14, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0
2025-04-20 10:41:02.753 31034-31091 AudioStreamBuilder      com.myapp.demo                I  privacy sensitive = false, opPackageName = (null), attributionTag = (null)
2025-04-20 10:41:02.753 31034-31091 yapp.myapp.demo         com.myapp.demo                D  PlayerBase::PlayerBase()
2025-04-20 10:41:02.757 31034-31091 AudioStrea...nal_Client com.myapp.demo                D  configureDataInformation() original HW burst = 96, minMicros = 2000 => SW burst = 96
2025-04-20 10:41:02.757 31034-31091 IsochronousClockModel   com.myapp.demo                D  setFramesPerBurst() - mFramesPerBurst = 96 - mBurstPeriodNanos = 2000000
2025-04-20 10:41:02.757 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#617) from 0 to 2
2025-04-20 10:41:02.757 31034-31091 AAudioFlowGraph         com.myapp.demo                I  configure() source format = 0x00000005, channels = 2, sink format = 0x00000005, channels = 2, useMonoBlend = 0, audioBalance = 0.000000, isExclusive 0
2025-04-20 10:41:02.761 31034-31091 AAudio                  com.myapp.demo                I  AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#617 ----------------
2025-04-20 10:41:02.771 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_close(s#617) called ---------------
2025-04-20 10:41:02.771 31034-31091 AudioStrea...nal_Client com.myapp.demo                D  release_l(): mServiceStreamHandle = 0x000001C7
2025-04-20 10:41:02.771 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#617) from 2 to 11
2025-04-20 10:41:02.772 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#617) from 11 to 11
2025-04-20 10:41:02.772 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#617) from 11 to 12
2025-04-20 10:41:02.772 31034-31091 AudioStrea...nal_Client com.myapp.demo                D  ~AudioStreamInternal() 0xb40000711a3d92b0 called
2025-04-20 10:41:02.772 31034-31091 AAudioStream            com.myapp.demo                D  ~AudioStream(s#617) mPlayerBase strongCount = 2
2025-04-20 10:41:02.772 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_close(s#617) returned 0 ---------
2025-04-20 10:41:02.783 31034-31091 AAudio                  com.myapp.demo                I  AAudioStreamBuilder_openStream() called ----------------------------------------
2025-04-20 10:41:02.783 31034-31091 AudioStreamBuilder      com.myapp.demo                I  rate   =      0, channels  = 0, channelMask = 0, format   = 0, sharing = SH, dir = OUTPUT
2025-04-20 10:41:02.783 31034-31091 AudioStreamBuilder      com.myapp.demo                I  device =      0, sessionId = -1, perfMode = 12, callback: ON with frames = 0
2025-04-20 10:41:02.783 31034-31091 AudioStreamBuilder      com.myapp.demo                I  usage  =     14, contentType = 0, inputPreset = 0, allowedCapturePolicy = 0
2025-04-20 10:41:02.783 31034-31091 AudioStreamBuilder      com.myapp.demo                I  privacy sensitive = false, opPackageName = (null), attributionTag = (null)
2025-04-20 10:41:02.784 31034-31091 yapp.myapp.demo         com.myapp.demo                D  PlayerBase::PlayerBase()
2025-04-20 10:41:02.787 31034-31091 AudioStrea...nal_Client com.myapp.demo                D  configureDataInformation() original HW burst = 96, minMicros = 2000 => SW burst = 96
2025-04-20 10:41:02.787 31034-31091 IsochronousClockModel   com.myapp.demo                D  setFramesPerBurst() - mFramesPerBurst = 96 - mBurstPeriodNanos = 2000000
2025-04-20 10:41:02.787 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#618) from 0 to 2
2025-04-20 10:41:02.787 31034-31091 AAudioFlowGraph         com.myapp.demo                I  configure() source format = 0x00000005, channels = 2, sink format = 0x00000005, channels = 2, useMonoBlend = 0, audioBalance = 0.000000, isExclusive 0
2025-04-20 10:41:02.791 31034-31091 AAudio                  com.myapp.demo                I  AAudioStreamBuilder_openStream() returns 0 = AAUDIO_OK for s#618 ----------------
2025-04-20 10:41:02.791 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_requestStart(s#618) called --------------
2025-04-20 10:41:02.791 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#618) from 2 to 3
2025-04-20 10:41:02.799 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_requestStart(s#618) returned 0 ---------
2025-04-20 10:41:02.801 31034-4988  AudioStrea...lay_Client com.myapp.demo                D  callbackLoop() entering >>>>>>>>>>>>>>>
2025-04-20 10:41:02.801 31034-4988  AudioStrea...nal_Client com.myapp.demo                D  onEventFromServer - got AAUDIO_SERVICE_EVENT_STARTED
2025-04-20 10:41:02.801 31034-4988  AAudioStream            com.myapp.demo                D  setState(s#618) from 3 to 4
2025-04-20 10:41:03.799 31034-4988  AudioStrea...nal_Client com.myapp.demo                W  processData(): entered at 55476505578376 nanos, currently 55477503583059
2025-04-20 10:41:03.799 31034-4988  AudioStrea...nal_Client com.myapp.demo                W  processData(): TIMEOUT after 1000000000 nanos
2025-04-20 10:41:03.799 31034-4988  AudioStrea...nal_Client com.myapp.demo                W  processData(): wakeTime = 55477505779830, deadline = 55477505578376 nanos
2025-04-20 10:41:03.799 31034-4988  AudioStrea...nal_Client com.myapp.demo                W  processData(): past deadline by 201 micros
2025-04-20 10:41:03.799 31034-4988  IsochronousClockModel   com.myapp.demo                D  mMarkerFramePosition = 0
2025-04-20 10:41:03.799 31034-4988  IsochronousClockModel   com.myapp.demo                D  mMarkerNanoTime      = 55476503317126
2025-04-20 10:41:03.799 31034-4988  IsochronousClockModel   com.myapp.demo                D  mSampleRate          =  48000
2025-04-20 10:41:03.799 31034-4988  IsochronousClockModel   com.myapp.demo                D  mFramesPerBurst      =     96
2025-04-20 10:41:03.799 31034-4988  IsochronousClockModel   com.myapp.demo                D  mMaxMeasuredLatenessNanos =      0
2025-04-20 10:41:03.799 31034-4988  IsochronousClockModel   com.myapp.demo                D  mState               =      1
2025-04-20 10:41:03.799 31034-4988  AudioEndpoint           com.myapp.demo                D  data readCounter  = 0
2025-04-20 10:41:03.799 31034-4988  AudioEndpoint           com.myapp.demo                D  data writeCounter = 0
2025-04-20 10:41:03.799 31034-4988  AudioStrea...lay_Client com.myapp.demo                D  callbackLoop() exiting, result = -885, isActive() = 1 <<<<<<<<<<<<<<
2025-04-20 10:41:03.811 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_requestStop(s#618) called
2025-04-20 10:41:03.812 31034-31091 AAudioStream            com.myapp.demo                D  joinThread_l() pthread_join succeeded
2025-04-20 10:41:03.812 31034-31091 IsochronousClockModel   com.myapp.demo                D  stop(nanos = 55477516527019) max lateness = 0 micros, DSP stalled 0 times
2025-04-20 10:41:03.812 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#618) from 4 to 9
2025-04-20 10:41:03.824 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_close(s#618) called ---------------
2025-04-20 10:41:03.824 31034-31091 AudioStrea...nal_Client com.myapp.demo                D  release_l(): mServiceStreamHandle = 0x000001C8
2025-04-20 10:41:03.825 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#618) from 9 to 11
2025-04-20 10:41:03.826 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#618) from 11 to 11
2025-04-20 10:41:03.826 31034-31091 AAudioStream            com.myapp.demo                D  setState(s#618) from 11 to 12
2025-04-20 10:41:03.826 31034-31091 AudioStrea...nal_Client com.myapp.demo                D  ~AudioStreamInternal() 0xb40000711a3d92b0 called
2025-04-20 10:41:03.826 31034-31091 AAudioStream            com.myapp.demo                D  ~AudioStream(s#618) mPlayerBase strongCount = 2
2025-04-20 10:41:03.826 31034-31091 AAudio                  com.myapp.demo                D  AAudioStream_close(s#618) returned 0 ---------
2025-04-20 10:41:03.838 31034-31091 AAudio                  com.myapp.demo                I  AAudioStreamBuilder_openStream() called ----------------------------------------

Has anyone come across this issue before? Is there anything that needs to be done to prevent this from happening?