OOM causes player to fall back from direct stream to transcoding #180

Closed
opened 2026-04-24 23:11:23 +02:00 by adam · 6 comments
Owner

Originally created by @jmt-gh on GitHub (Jun 6, 2022).

Steps to reproduce

  1. Get a large fsingle M4B file in to ABS (~1.3GB, though might vary depending on phone model)
  2. Open abs-app
  3. Start logcat
  4. Start streaming
  5. Notice it goes from direct -> transcode
  6. Notice in logcat that it fails to stream direct due to an OOM, and falls back to transcoding

Expected behaviour

It should handle the direct playback better, and support the larger file without the need to fallback to transcoding

Actual behaviour

It falls back to transcoding due to OOMing

Environment data

Audiobookshelf Version:

  • Android App?
  • iOS App?

Android Issue

Android version: Android 11

Device model: OnePlus 6

Stock or customized system: Stock

Originally created by @jmt-gh on GitHub (Jun 6, 2022). ### Steps to reproduce 1. Get a large fsingle M4B file in to ABS (~1.3GB, though might vary depending on phone model) 2. Open abs-app 3. Start logcat 4. Start streaming 5. Notice it goes from direct -> transcode 6. Notice in logcat that it fails to stream direct due to an OOM, and falls back to transcoding ### Expected behaviour It should handle the direct playback better, and support the larger file without the need to fallback to transcoding ### Actual behaviour It falls back to transcoding due to OOMing ### Environment data Audiobookshelf Version: - [x] Android App? - [ ] iOS App? #### Android Issue Android version: Android 11 Device model: OnePlus 6 Stock or customized system: Stock
adam added the bug label 2026-04-24 23:11:23 +02:00
adam closed this issue 2026-04-24 23:11:23 +02:00
Author
Owner

@jmt-gh commented on GitHub (Jun 6, 2022):

Relevant conversation in Discord: here

Logcat:

06-05 23:53:14.616 28723 28723 D PlayerService: Set CurrentPlaybackSession MediaPlayer exo-player
06-05 23:53:14.619 28723 28723 D PlayerService: Direct Playing Item
06-05 23:53:14.620 28723 28723 D PlayerService: Prepare complete for session 42parts | 1
06-05 23:53:14.624 28723 28723 D PlayerListener: onEvents com.google.android.exoplayer2.DeviceInfo@7ba6d | exo-player | 7
06-05 23:53:14.624 28723 28723 D PlayerListener: EVENT_POSITION_DISCONTINUITY
06-05 23:53:14.624 28723 28723 D PlayerListener: EVENT_PLAYBACK_STATE_CHANGED MediaPlayer = exo-player
06-05 23:53:14.624 28723 28723 D PlayerListener: STATE_BUFFERING : 1581
06-05 23:53:14.647 28723 28723 D PlayerListener: EVENT_MEDIA_METADATA_CHANGED exo-player
06-05 23:53:14.651 28723 28723 D PlayerListener: onEvents com.google.android.exoplayer2.DeviceInfo@7ba6d | exo-player | 1
06-05 23:53:14.651 28723 28723 D PlayerListener: EVENT_IS_LOADING_CHANGED : true
06-05 23:53:14.651 28723 28723 D PlayerListener: onEvents com.google.android.exoplayer2.DeviceInfo@7ba6d | exo-player | 1
06-05 23:53:14.653 28723 28723 D MediaDescriptionAdapter: ART android.resource://com.audiobookshelf.app/2131231153
06-05 23:53:14.656 28723 28723 D PlayerNotificationListener: Notification Posted 10 - Start Foreground | Notification(channel=audiobookshelf_channel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0xa color=0x00000000 category=transport actions=1 vis=PUBLIC)
06-05 23:53:14.668 28723 28723 D PlayerNotificationListener: Notification Posted 10 - Start Foreground | Notification(channel=audiobookshelf_channel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0xa color=0x00000000 category=transport actions=1 vis=PUBLIC)
06-05 23:53:15.094 28723 28741 I iobookshelf.ap: Background concurrent copying GC freed 625358(23MB) AllocSpace objects, 19(536KB) LOS objects, 18% free, 102MB/126MB, paused 67us total 189.262ms
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������	
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������
06-05 23:53:16.000 28723  5313 D MetadataUtil: Skipped unknown metadata entry: ������

06-05 23:53:16.001 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.001 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.028 28723  5313 I iobookshelf.ap: Alloc young concurrent copying GC freed 848(102KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 236MB/236MB, paused 123us total 27.119ms
06-05 23:53:16.028 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.201 28723  5313 I iobookshelf.ap: Clamp target GC heap from 260MB to 256MB
06-05 23:53:16.201 28723  5313 I iobookshelf.ap: Alloc concurrent copying GC freed 625(47KB) AllocSpace objects, 0(0B) LOS objects, 7% free, 236MB/256MB, paused 577us total 172.113ms
06-05 23:53:16.201 28723  5313 I iobookshelf.ap: Forcing collection of SoftReferences for 26MB allocation
06-05 23:53:16.201 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.435 28723  5313 I iobookshelf.ap: Clamp target GC heap from 258MB to 256MB
06-05 23:53:16.435 28723  5313 I iobookshelf.ap: Alloc concurrent copying GC freed 76426(2596KB) AllocSpace objects, 2(44KB) LOS objects, 8% free, 234MB/256MB, paused 57us total 234.070ms
06-05 23:53:16.435 28723 28741 I iobookshelf.ap: WaitForGcToComplete blocked Background on ProfileSaver for 434.042ms
06-05 23:53:16.435 28723 28741 I 101     : #434
06-05 23:53:16.435 28723  5313 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 28028372 byte allocation with 23031760 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456" (VmSize 33487260 kB)
06-05 23:53:16.435 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.435 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.445 28723  5313 I iobookshelf.ap: Alloc young concurrent copying GC freed 189(47KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 234MB/256MB, paused 62us total 9.983ms
06-05 23:53:16.446 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.600 28723  5313 I iobookshelf.ap: Clamp target GC heap from 258MB to 256MB
06-05 23:53:16.600 28723  5313 I iobookshelf.ap: Alloc concurrent copying GC freed 82(32KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 234MB/256MB, paused 70us total 154.287ms
06-05 23:53:16.600 28723  5313 I iobookshelf.ap: Forcing collection of SoftReferences for 26MB allocation
06-05 23:53:16.600 28723  5313 I iobookshelf.ap: Starting a blocking GC Alloc
06-05 23:53:16.836 28723  5313 I iobookshelf.ap: Clamp target GC heap from 258MB to 256MB
06-05 23:53:16.836 28723  5313 I iobookshelf.ap: Alloc concurrent copying GC freed 58(32KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 234MB/256MB, paused 53us total 236.334ms
06-05 23:53:16.837 28723  5313 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456" (VmSize 33498524 kB)
06-05 23:53:16.837 28723  5313 E LoadTask: OutOfMemory error loading stream
06-05 23:53:16.837 28723  5313 E LoadTask:   java.lang.OutOfMemoryError: Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:473)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042)
06-05 23:53:16.837 28723  5313 E LoadTask:       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
06-05 23:53:16.837 28723  5313 E LoadTask:       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
06-05 23:53:16.837 28723  5313 E LoadTask:       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
06-05 23:53:16.837 28723  5313 E LoadTask:       at java.lang.Thread.run(Thread.java:923)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal: Playback error
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:   com.google.android.exoplayer2.ExoPlaybackException: Source error
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:640)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:102)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:233)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:67)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:   Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected OutOfMemoryError: Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:441)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at java.lang.Thread.run(Thread.java:923)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:   Caused by: java.lang.OutOfMemoryError: Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:473)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
06-05 23:53:16.849 28723  5269 E ExoPlayerImplInternal:       ... 3 more
06-05 23:53:16.850 28723 28723 E PlayerListener: onPlayerError Source error
06-05 23:53:16.850 28723 28723 D PlayerService: Fallback to transcode PlayItemRequestPayload(mediaPlayer=exo-player, forceDirectPlay=false, forceTranscode=true, deviceInfo=DeviceInfo(manufacturer=OnePlus, model=ONEPLUS A6003, brand=OnePlus, sdkVersion=30, clientVersion=0.9.47-beta)).mediaPlayer
@jmt-gh commented on GitHub (Jun 6, 2022): Relevant conversation in Discord: [here](https://discord.com/channels/942908292873723984/954760207131615264/983268508332867606) **Logcat**: ``` 06-05 23:53:14.616 28723 28723 D PlayerService: Set CurrentPlaybackSession MediaPlayer exo-player 06-05 23:53:14.619 28723 28723 D PlayerService: Direct Playing Item 06-05 23:53:14.620 28723 28723 D PlayerService: Prepare complete for session 42parts | 1 06-05 23:53:14.624 28723 28723 D PlayerListener: onEvents com.google.android.exoplayer2.DeviceInfo@7ba6d | exo-player | 7 06-05 23:53:14.624 28723 28723 D PlayerListener: EVENT_POSITION_DISCONTINUITY 06-05 23:53:14.624 28723 28723 D PlayerListener: EVENT_PLAYBACK_STATE_CHANGED MediaPlayer = exo-player 06-05 23:53:14.624 28723 28723 D PlayerListener: STATE_BUFFERING : 1581 06-05 23:53:14.647 28723 28723 D PlayerListener: EVENT_MEDIA_METADATA_CHANGED exo-player 06-05 23:53:14.651 28723 28723 D PlayerListener: onEvents com.google.android.exoplayer2.DeviceInfo@7ba6d | exo-player | 1 06-05 23:53:14.651 28723 28723 D PlayerListener: EVENT_IS_LOADING_CHANGED : true 06-05 23:53:14.651 28723 28723 D PlayerListener: onEvents com.google.android.exoplayer2.DeviceInfo@7ba6d | exo-player | 1 06-05 23:53:14.653 28723 28723 D MediaDescriptionAdapter: ART android.resource://com.audiobookshelf.app/2131231153 06-05 23:53:14.656 28723 28723 D PlayerNotificationListener: Notification Posted 10 - Start Foreground | Notification(channel=audiobookshelf_channel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0xa color=0x00000000 category=transport actions=1 vis=PUBLIC) 06-05 23:53:14.668 28723 28723 D PlayerNotificationListener: Notification Posted 10 - Start Foreground | Notification(channel=audiobookshelf_channel shortcut=null contentView=null vibrate=null sound=null defaults=0x0 flags=0xa color=0x00000000 category=transport actions=1 vis=PUBLIC) 06-05 23:53:15.094 28723 28741 I iobookshelf.ap: Background concurrent copying GC freed 625358(23MB) AllocSpace objects, 19(536KB) LOS objects, 18% free, 102MB/126MB, paused 67us total 189.262ms 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.000 28723 5313 D MetadataUtil: Skipped unknown metadata entry: ������ 06-05 23:53:16.001 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.001 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.028 28723 5313 I iobookshelf.ap: Alloc young concurrent copying GC freed 848(102KB) AllocSpace objects, 0(0B) LOS objects, 0% free, 236MB/236MB, paused 123us total 27.119ms 06-05 23:53:16.028 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.201 28723 5313 I iobookshelf.ap: Clamp target GC heap from 260MB to 256MB 06-05 23:53:16.201 28723 5313 I iobookshelf.ap: Alloc concurrent copying GC freed 625(47KB) AllocSpace objects, 0(0B) LOS objects, 7% free, 236MB/256MB, paused 577us total 172.113ms 06-05 23:53:16.201 28723 5313 I iobookshelf.ap: Forcing collection of SoftReferences for 26MB allocation 06-05 23:53:16.201 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.435 28723 5313 I iobookshelf.ap: Clamp target GC heap from 258MB to 256MB 06-05 23:53:16.435 28723 5313 I iobookshelf.ap: Alloc concurrent copying GC freed 76426(2596KB) AllocSpace objects, 2(44KB) LOS objects, 8% free, 234MB/256MB, paused 57us total 234.070ms 06-05 23:53:16.435 28723 28741 I iobookshelf.ap: WaitForGcToComplete blocked Background on ProfileSaver for 434.042ms 06-05 23:53:16.435 28723 28741 I 101 : #434 06-05 23:53:16.435 28723 5313 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 28028372 byte allocation with 23031760 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456" (VmSize 33487260 kB) 06-05 23:53:16.435 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.435 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.445 28723 5313 I iobookshelf.ap: Alloc young concurrent copying GC freed 189(47KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 234MB/256MB, paused 62us total 9.983ms 06-05 23:53:16.446 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.600 28723 5313 I iobookshelf.ap: Clamp target GC heap from 258MB to 256MB 06-05 23:53:16.600 28723 5313 I iobookshelf.ap: Alloc concurrent copying GC freed 82(32KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 234MB/256MB, paused 70us total 154.287ms 06-05 23:53:16.600 28723 5313 I iobookshelf.ap: Forcing collection of SoftReferences for 26MB allocation 06-05 23:53:16.600 28723 5313 I iobookshelf.ap: Starting a blocking GC Alloc 06-05 23:53:16.836 28723 5313 I iobookshelf.ap: Clamp target GC heap from 258MB to 256MB 06-05 23:53:16.836 28723 5313 I iobookshelf.ap: Alloc concurrent copying GC freed 58(32KB) AllocSpace objects, 0(0B) LOS objects, 8% free, 234MB/256MB, paused 53us total 236.334ms 06-05 23:53:16.837 28723 5313 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456" (VmSize 33498524 kB) 06-05 23:53:16.837 28723 5313 E LoadTask: OutOfMemory error loading stream 06-05 23:53:16.837 28723 5313 E LoadTask: java.lang.OutOfMemoryError: Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:473) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042) 06-05 23:53:16.837 28723 5313 E LoadTask: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412) 06-05 23:53:16.837 28723 5313 E LoadTask: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 06-05 23:53:16.837 28723 5313 E LoadTask: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 06-05 23:53:16.837 28723 5313 E LoadTask: at java.lang.Thread.run(Thread.java:923) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: Playback error 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: com.google.android.exoplayer2.ExoPlaybackException: Source error 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:640) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:233) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected OutOfMemoryError: Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:441) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at java.lang.Thread.run(Thread.java:923) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: Caused by: java.lang.OutOfMemoryError: Failed to allocate a 28028376 byte allocation with 23031744 free bytes and 21MB until OOM, target footprint 268435456, growth limit 268435456 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:473) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412) 06-05 23:53:16.849 28723 5269 E ExoPlayerImplInternal: ... 3 more 06-05 23:53:16.850 28723 28723 E PlayerListener: onPlayerError Source error 06-05 23:53:16.850 28723 28723 D PlayerService: Fallback to transcode PlayItemRequestPayload(mediaPlayer=exo-player, forceDirectPlay=false, forceTranscode=true, deviceInfo=DeviceInfo(manufacturer=OnePlus, model=ONEPLUS A6003, brand=OnePlus, sdkVersion=30, clientVersion=0.9.47-beta)).mediaPlayer ```
Author
Owner

@advplyr commented on GitHub (Jul 5, 2022):

Are you able to test this again? This PR https://github.com/advplyr/audiobookshelf/pull/791 may fix this

@advplyr commented on GitHub (Jul 5, 2022): Are you able to test this again? This PR https://github.com/advplyr/audiobookshelf/pull/791 may fix this
Author
Owner

@jmt-gh commented on GitHub (Jul 6, 2022):

Looks like it's still happening with HEAD at f27982d

@jmt-gh commented on GitHub (Jul 6, 2022): Looks like it's still happening with HEAD at f27982d
Author
Owner

@advplyr commented on GitHub (Jul 17, 2022):

Does your device have a small amount of storage space?

@advplyr commented on GitHub (Jul 17, 2022): Does your device have a small amount of storage space?
Author
Owner

@maltejur commented on GitHub (Mar 27, 2023):

I have the same issue happening with a particular audiobook.

Log
03-27 18:43:37.028 27000 27170 I iobookshelf.ap: Clamp target GC heap from 206MB to 192MB
03-27 18:43:37.028 27000 27170 I iobookshelf.ap: Alloc concurrent copying GC freed 54644(1902KB) AllocSpace objects, 3(152KB) LOS objects, 4% free, 182MB/192MB, paused 759us total 78.038ms
03-27 18:43:37.029 27000 27016 I iobookshelf.ap: WaitForGcToComplete blocked Background on HeapTrim for 176.182ms
03-27 18:43:37.029 27000 27170 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 33322704 byte allocation with 9799456 free bytes and 9569KB until OOM, target footprint 201326592, growth limit 201326592" (VmSize 31614788 kB)
03-27 18:43:37.029 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc
03-27 18:43:37.029 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc
03-27 18:43:37.042 27000 27170 I iobookshelf.ap: Alloc young concurrent copying GC freed 383(105KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 182MB/192MB, paused 81us total 12.588ms
03-27 18:43:37.042 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc
03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Clamp target GC heap from 206MB to 192MB
03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Alloc concurrent copying GC freed 33(63KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 182MB/192MB, paused 56us total 49.740ms
03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Forcing collection of SoftReferences for 31MB allocation
03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc
03-27 18:43:37.156 27000 27170 I iobookshelf.ap: Clamp target GC heap from 206MB to 192MB
03-27 18:43:37.156 27000 27170 I iobookshelf.ap: Alloc concurrent copying GC freed 113(20KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 182MB/192MB, paused 63us total 63.338ms
03-27 18:43:37.156 27000 27170 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592" (VmSize 31614788 kB)
03-27 18:43:37.158 27000 27170 E LoadTask: OutOfMemory error loading stream
03-27 18:43:37.158 27000 27170 E LoadTask:   java.lang.OutOfMemoryError: Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:688)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042)
03-27 18:43:37.158 27000 27170 E LoadTask:       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
03-27 18:43:37.158 27000 27170 E LoadTask:       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
03-27 18:43:37.158 27000 27170 E LoadTask:       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
03-27 18:43:37.158 27000 27170 E LoadTask:       at java.lang.Thread.run(Thread.java:923)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: Playback error
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:   com.google.android.exoplayer2.ExoPlaybackException: Source error
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:640)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at android.os.Handler.dispatchMessage(Handler.java:102)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at android.os.Looper.loop(Looper.java:223)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at android.os.HandlerThread.run(HandlerThread.java:67)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:   Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected OutOfMemoryError: Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:441)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at java.lang.Thread.run(Thread.java:923)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:   Caused by: java.lang.OutOfMemoryError: Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:688)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412)
03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal:       ... 3 more
mediainfo of the audiobook
General
Complete name                            : Jenseits der Zeit Die Trisolaris-Trilogie 3 [3837144763].m4b
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (iso2/mp41/M4A /M4B )
File size                                : 1.43 GiB
Duration                                 : 26 h 51 min
Overall bit rate mode                    : Variable
Overall bit rate                         : 127 kb/s
Album                                    : Jenseits der Zeit: Die Trisolaris-Trilogie 3
Album/Performer                          : Cixin Liu
Track name                               : Jenseits der Zeit: Die Trisolaris-Trilogie 3
Track_More                               : Ein halbes Jahrhundert nach der Entscheidungsschlacht hält der Waffenstillstand mit den Trisolariern immer noch an. Die Hochtechnologie der Außerirdischen hat der Erde zu neuem Wohlstand verholfen, auch die Trisolarier haben dazugelernt und eine friedliche Koexistenz scheint möglich. Als mit Cheng Xin eine Raumfahrtingenieurin des 21. Jahrhunderts aus dem Kälteschlaf erwacht, bringt sie das Wissen um ein längst vergangenes Geheimprogramm mit in die neue Zeit. Wird die junge Frau den Frieden mit Trisolaris ins Wanken bringen? / Packend und temporeich gelesen von Mark Bremer.
Performer                                : Cixin Liu
Genre                                    : Science Fiction & Fantasy, Science Fiction
Recorded date                            : 2019
Encoded date                             : UTC 2020-05-28 14:03:01
Tagged date                              : UTC 2020-05-28 14:03:01
Writing library                          : Apple QuickTime
Copyright                                : ©2006 Cixin Liu. Übersetzung von Karin Betz;℗2019 Random House Audio
Cover                                    : Yes
Comment                                  : Ein halbes Jahrhundert nach der Entscheidungsschlacht hält der Waffenstillstand mit den Trisolariern immer noch an. Die Hochtechnologie...
prID                                     : BK_RHDE_003726JP
pub                                      : Random House Audio, Deutschland
nrt                                      : Mark Bremer
CDEK                                     : 3837144763
CDET                                     : ADBL
VERS                                     : 5304471
AACR                                     : CR!GW3BCW90XN5410V8BM19KYHY1CCJ
@sti                                     : Jenseits der Zeit: Die Trisolaris-Trilogie 3
rldt                                     : 05-Apr-2019
TCOM                                     : Mark Bremer

Audio
ID : 1
Format : AAC LC
Format/Info : Advanced Audio Codec Low Complexity
Codec ID : mp4a-40-2
Duration : 26 h 51 min
Bit rate mode : Variable
Bit rate : 126 kb/s
Maximum bit rate : 133 kb/s
Channel(s) : 2 channels
Channel layout : L R
Sampling rate : 44.1 kHz
Frame rate : 43.066 FPS (1024 SPF)
Compression mode : Lossy
Stream size : 1.41 GiB (99%)
Language : English
Encoded date : UTC 2020-05-28 14:03:01
Tagged date : UTC 2020-05-28 14:03:01
Menus : 2

Menu
ID : 2
Format : Timed Text
Codec ID : text
Duration : 26 h 51 min
Language : English
Encoded date : UTC 2020-05-28 14:03:01
Tagged date : UTC 2020-05-28 14:03:01
Menu For : 1
Source duration : 96719064
Source frame count : 555
Source stream size : 13767
Frame count : 555
Stream size : 13767
mdhd_Duration : 96719104
00:00:00.000 : Kapitel 1
00:00:19.456 : Kapitel 2
...

I can send the m4b privately if you want.

@maltejur commented on GitHub (Mar 27, 2023): I have the same issue happening with a particular audiobook. <details> <summary>Log</summary> <pre> 03-27 18:43:37.028 27000 27170 I iobookshelf.ap: Clamp target GC heap from 206MB to 192MB 03-27 18:43:37.028 27000 27170 I iobookshelf.ap: Alloc concurrent copying GC freed 54644(1902KB) AllocSpace objects, 3(152KB) LOS objects, 4% free, 182MB/192MB, paused 759us total 78.038ms 03-27 18:43:37.029 27000 27016 I iobookshelf.ap: WaitForGcToComplete blocked Background on HeapTrim for 176.182ms 03-27 18:43:37.029 27000 27170 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 33322704 byte allocation with 9799456 free bytes and 9569KB until OOM, target footprint 201326592, growth limit 201326592" (VmSize 31614788 kB) 03-27 18:43:37.029 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc 03-27 18:43:37.029 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc 03-27 18:43:37.042 27000 27170 I iobookshelf.ap: Alloc young concurrent copying GC freed 383(105KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 182MB/192MB, paused 81us total 12.588ms 03-27 18:43:37.042 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc 03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Clamp target GC heap from 206MB to 192MB 03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Alloc concurrent copying GC freed 33(63KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 182MB/192MB, paused 56us total 49.740ms 03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Forcing collection of SoftReferences for 31MB allocation 03-27 18:43:37.092 27000 27170 I iobookshelf.ap: Starting a blocking GC Alloc 03-27 18:43:37.156 27000 27170 I iobookshelf.ap: Clamp target GC heap from 206MB to 192MB 03-27 18:43:37.156 27000 27170 I iobookshelf.ap: Alloc concurrent copying GC freed 113(20KB) AllocSpace objects, 0(0B) LOS objects, 4% free, 182MB/192MB, paused 63us total 63.338ms 03-27 18:43:37.156 27000 27170 W iobookshelf.ap: Throwing OutOfMemoryError "Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592" (VmSize 31614788 kB) 03-27 18:43:37.158 27000 27170 E LoadTask: OutOfMemory error loading stream 03-27 18:43:37.158 27000 27170 E LoadTask: java.lang.OutOfMemoryError: Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:688) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042) 03-27 18:43:37.158 27000 27170 E LoadTask: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412) 03-27 18:43:37.158 27000 27170 E LoadTask: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 03-27 18:43:37.158 27000 27170 E LoadTask: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 03-27 18:43:37.158 27000 27170 E LoadTask: at java.lang.Thread.run(Thread.java:923) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: Playback error 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: com.google.android.exoplayer2.ExoPlaybackException: Source error 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleIoException(ExoPlayerImplInternal.java:640) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.ExoPlayerImplInternal.handleMessage(ExoPlayerImplInternal.java:616) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at android.os.Handler.dispatchMessage(Handler.java:102) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at android.os.Looper.loop(Looper.java:223) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at android.os.HandlerThread.run(HandlerThread.java:67) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: Caused by: com.google.android.exoplayer2.upstream.Loader$UnexpectedLoaderException: Unexpected OutOfMemoryError: Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:441) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1167) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:641) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at java.lang.Thread.run(Thread.java:923) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: Caused by: java.lang.OutOfMemoryError: Failed to allocate a 33322704 byte allocation with 9813192 free bytes and 9583KB until OOM, target footprint 201326592, growth limit 201326592 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseStbl(AtomParsers.java:688) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.AtomParsers.parseTraks(AtomParsers.java:148) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processMoovAtom(Mp4Extractor.java:494) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.processAtomEnded(Mp4Extractor.java:453) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.readAtomPayload(Mp4Extractor.java:435) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.extractor.mp4.Mp4Extractor.read(Mp4Extractor.java:253) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.source.BundledExtractorsAdapter.read(BundledExtractorsAdapter.java:127) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.source.ProgressiveMediaPeriod$ExtractingLoadable.load(ProgressiveMediaPeriod.java:1042) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: at com.google.android.exoplayer2.upstream.Loader$LoadTask.run(Loader.java:412) 03-27 18:43:37.167 27000 27121 E ExoPlayerImplInternal: ... 3 more </pre> </details> <details> <summary>mediainfo of the audiobook</summary> <pre> General Complete name : Jenseits der Zeit Die Trisolaris-Trilogie 3 [3837144763].m4b Format : MPEG-4 Format profile : Base Media Codec ID : isom (iso2/mp41/M4A /M4B ) File size : 1.43 GiB Duration : 26 h 51 min Overall bit rate mode : Variable Overall bit rate : 127 kb/s Album : Jenseits der Zeit: Die Trisolaris-Trilogie 3 Album/Performer : Cixin Liu Track name : Jenseits der Zeit: Die Trisolaris-Trilogie 3 Track_More : Ein halbes Jahrhundert nach der Entscheidungsschlacht hält der Waffenstillstand mit den Trisolariern immer noch an. Die Hochtechnologie der Außerirdischen hat der Erde zu neuem Wohlstand verholfen, auch die Trisolarier haben dazugelernt und eine friedliche Koexistenz scheint möglich. Als mit Cheng Xin eine Raumfahrtingenieurin des 21. Jahrhunderts aus dem Kälteschlaf erwacht, bringt sie das Wissen um ein längst vergangenes Geheimprogramm mit in die neue Zeit. Wird die junge Frau den Frieden mit Trisolaris ins Wanken bringen? / Packend und temporeich gelesen von Mark Bremer. Performer : Cixin Liu Genre : Science Fiction & Fantasy, Science Fiction Recorded date : 2019 Encoded date : UTC 2020-05-28 14:03:01 Tagged date : UTC 2020-05-28 14:03:01 Writing library : Apple QuickTime Copyright : ©2006 Cixin Liu. Übersetzung von Karin Betz;℗2019 Random House Audio Cover : Yes Comment : Ein halbes Jahrhundert nach der Entscheidungsschlacht hält der Waffenstillstand mit den Trisolariern immer noch an. Die Hochtechnologie... prID : BK_RHDE_003726JP pub : Random House Audio, Deutschland nrt : Mark Bremer CDEK : 3837144763 CDET : ADBL VERS : 5304471 AACR : CR!GW3BCW90XN5410V8BM19KYHY1CCJ @sti : Jenseits der Zeit: Die Trisolaris-Trilogie 3 rldt : 05-Apr-2019 TCOM : Mark Bremer Audio ID : 1 Format : AAC LC Format/Info : Advanced Audio Codec Low Complexity Codec ID : mp4a-40-2 Duration : 26 h 51 min Bit rate mode : Variable Bit rate : 126 kb/s Maximum bit rate : 133 kb/s Channel(s) : 2 channels Channel layout : L R Sampling rate : 44.1 kHz Frame rate : 43.066 FPS (1024 SPF) Compression mode : Lossy Stream size : 1.41 GiB (99%) Language : English Encoded date : UTC 2020-05-28 14:03:01 Tagged date : UTC 2020-05-28 14:03:01 Menus : 2 Menu ID : 2 Format : Timed Text Codec ID : text Duration : 26 h 51 min Language : English Encoded date : UTC 2020-05-28 14:03:01 Tagged date : UTC 2020-05-28 14:03:01 Menu For : 1 Source duration : 96719064 Source frame count : 555 Source stream size : 13767 Frame count : 555 Stream size : 13767 mdhd_Duration : 96719104 00:00:00.000 : Kapitel 1 00:00:19.456 : Kapitel 2 ... </pre> </details> I can send the m4b privately if you want.
Author
Owner

@advplyr commented on GitHub (May 23, 2023):

Fixed in v0.9.64-beta

@advplyr commented on GitHub (May 23, 2023): Fixed in [v0.9.64-beta](https://github.com/advplyr/audiobookshelf-app/releases/tag/v0.9.64-beta)
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/audiobookshelf-app#180