[X] I am able to reproduce the bug with the latest debug version (Android, Linux, Windows)
[X] I've checked that there is no open or closed issue about this bug.
[X] This issue contains only one bug.
[X] The title of this issue accurately describes the bug.
Steps to reproduce
log in
Download a playlist with168 songs, set default download location to sd card.
after about 60 songs downloaded I see a lot of out of memory error notifications
Expected behavior
no error
Actual behavior
I see a lot of out of memory error notifications and downloads fails one by one
Screenshots / recordings
No response
Logs
java.lang.OutOfMemoryError: Failed to allocate a 4051656 byte allocation with 341968 free bytes and 333KB until OOM, target footprint 201326592, growth limit 201326592
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:87)
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:71)
at java.nio.ByteBuffer.allocate(ByteBuffer.java:380)
at org.jaudiotagger.utils.ShiftData.shiftDataByOffsetToMakeSpace(ShiftData.java:59)
at org.jaudiotagger.audio.mp4.Mp4TagWriter.writeNoExistingUdtaAtom(Mp4TagWriter.java:854)
at org.jaudiotagger.audio.mp4.Mp4TagWriter.write(Mp4TagWriter.java:539)
at org.jaudiotagger.audio.mp4.Mp4FileWriter.writeTag(Mp4FileWriter.java:37)
at org.jaudiotagger.audio.generic.AudioFileWriter2.write(AudioFileWriter2.java:73)
at org.jaudiotagger.audio.AudioFileIO.writeFile(AudioFileIO.java:484)
at org.jaudiotagger.audio.AudioFileIO.write(AudioFileIO.java:207)
at org.jaudiotagger.audio.AudioFile.commit(AudioFile.java:114)
at com.toasterofbread.spmp.platform.download.JAudioTaggerMetadataProcessor$addMetadataToLocalSong$2.invokeSuspend(LocalSongMetadataProcessor.kt:115)
at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33)
at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:104)
at kotlinx.coroutines.internal.LimitedDispatcher$Worker.run(LimitedDispatcher.kt:111)
at kotlinx.coroutines.scheduling.TaskImpl.run(Tasks.kt:99)
at kotlinx.coroutines.scheduling.CoroutineScheduler.runSafely(CoroutineScheduler.kt:584)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.executeTask(CoroutineScheduler.kt:811)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.runWorker(CoroutineScheduler.kt:715)
at kotlinx.coroutines.scheduling.CoroutineScheduler$Worker.run(CoroutineScheduler.kt:702)
Checklist
Steps to reproduce
Expected behavior
no error
Actual behavior
I see a lot of out of memory error notifications and downloads fails one by one
Screenshots / recordings
No response
Logs
SpMp version
0.4.1
SpMp platform
Android
OS version
Android 14
Additional information
No response