Noticed this today too: hardware device controlling media playback, forward and back functions appear to be ignoring the “Hardware controls” settings in AntennaPod.
Related reports:
Replicated while watching the log:
- pressing hardware next button (Garmin device)
- app configured to fast-forward
- one episode playing, no next episode in queue
- Result: playback ends, because no next episode. Expected: skip forward 30 sec.
08-16 13:16:33.763 24363 24363 D AudioPlayerFragment: currentPosition 00:00:18
08-16 13:16:33.768 24363 24363 D EpisodeItemViewHolder: currentPosition 00:00:18
08-16 13:16:33.773 24363 31863 I AppWidgetManager: updateAppWidget() appWidgetIds = [91]
08-16 13:16:34.133 24363 31864 D DBReader: getNextInQueue() called with: itemId = [17847]
08-16 13:16:34.134 24363 30507 D DBWriter: Adding item to playback history
08-16 13:16:34.139 24363 2591 I CCodec : [c2.sec.mp3.decoder] state->set(FLUSHING)
08-16 13:16:34.139 24363 2591 I CCodec : [c2.sec.mp3.decoder] state->set(FLUSHED)
08-16 13:16:34.139 24363 2591 D CCodecBuffers: [c2.sec.mp3.decoder#671:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 0
08-16 13:16:34.139 24363 2591 D CCodecBuffers: [c2.sec.mp3.decoder#671:1D-Output.Impl[N]] Client returned a buffer it does not own according to our record: 1
08-16 13:16:34.139 24363 24457 D MediaCodec: keep callback message for reclaim
08-16 13:16:34.140 24363 2591 I CCodec : [c2.sec.mp3.decoder] state->set(RESUMING)
08-16 13:16:34.140 24363 2591 I CCodecConfig: query failed after returning 7 values (BAD_INDEX)
08-16 13:16:34.140 24363 2591 I CCodecBufferChannel: [c2.sec.mp3.decoder#671] 4 initial input buffers available
08-16 13:16:34.141 24363 2591 W Codec2Client: query -- param skipped: index = 1342179345.
08-16 13:16:34.141 24363 2591 W Codec2Client: query -- param skipped: index = 2415921170.
08-16 13:16:34.141 24363 24363 D ExternalPlayerFragment: Loading media info
08-16 13:16:34.141 24363 24363 D QueueFragment: loadItems()
08-16 13:16:34.141 24363 2591 I CCodec : [c2.sec.mp3.decoder] state->set(RUNNING)
08-16 13:16:34.142 24363 24363 D ItemDescriptionFragment: load()
08-16 13:16:34.145 24363 15443 D DBReader: Extracting Feedlist
08-16 13:16:34.146 24363 15447 D DBReader: Extracting Feedlist
08-16 13:16:34.147 24363 15445 D DBReader: getQueue() called
08-16 13:16:34.147 24363 15445 D DBReader: Extracting Feedlist
08-16 13:16:34.148 24363 31863 I AppWidgetManager: updateAppWidget() appWidgetIds = [91]
08-16 13:16:34.149 24363 15487 D DBReader: Extracting Feedlist
08-16 13:16:34.149 24363 15487 D DBReader: loadDescriptionOfFeedItem() called with: item = [FeedItem [id=17847, title=...., feedId=6, pubDate=Fri Aug 14 04:00:00 MDT 2026]]
08-16 13:16:34.149 24363 24363 D ExternalPlayerFragment: Loading media info
08-16 13:16:34.149 24363 24363 D QueueFragment: loadItems()
08-16 13:16:34.149 24363 24363 D ItemDescriptionFragment: load()
08-16 13:16:34.150 24363 15442 D DBReader: Extracting Feedlist
08-16 13:16:34.151 24363 24363 D MainActivity: onEvent(de.danoeh.antennapod.event.MessageEvent@6bb422e)
08-16 13:16:34.154 24363 15487 D Timeline: Recognized 0 timecodes
08-16 13:16:34.154 24363 2591 I CCodec : [c2.sec.mp3.decoder] state->set(RELEASING)
