Rockbox open source high quality audio player as a Music Player Daemon
mpris rockbox mpd libadwaita audio rust zig deno
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

fix FS#13060 - Seeking in long opus files leads to crash on Sansa Clip+

- increase decoder thread stack size just enough (2KiB) to
avoid stack overflows when seeking in opus files
- only do so on devices with at least 8MiB of RAM

Change-Id: I7e7182ae866338b4aad6ed7e32391ddd667121bd

authored by

Martin Nowak and committed by
Solomon Peachy
e1842519 a454b7f9

+3 -1
+3 -1
apps/codec_thread.c
··· 90 90 static unsigned int codec_thread_id; /* For modifying thread priority later */ 91 91 static struct event_queue codec_queue SHAREDBSS_ATTR; 92 92 static struct queue_sender_list codec_queue_sender_list SHAREDBSS_ATTR; 93 - static long codec_stack[(DEFAULT_STACK_SIZE + 0x2000)/sizeof(long)] IBSS_ATTR; 93 + /* Workaround stack overflow in opus codec on highmem devices (see FS#13060). */ 94 + #define WORKAROUND_FS13060 (MEMORYSIZE >= 8 ? 0x800 : 0) 95 + static long codec_stack[(DEFAULT_STACK_SIZE + 0x2000 + WORKAROUND_FS13060)/sizeof(long)] IBSS_ATTR; 94 96 static const char codec_thread_name[] = "codec"; 95 97 96 98 static void unload_codec(void);