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.

plugins: pdbox: remove HW_SAMPR_CAPS usage

Change-Id: I4e37213a38ac5d1260bc2fa208828abd55fc2647

authored by

mojyack and committed by
Solomon Peachy
6be23027 c5b171da

+24 -12
+21 -1
apps/plugins/pdbox/pdbox.c
··· 188 188 /* Set audio API. */ 189 189 sys_set_audio_api(API_ROCKBOX); 190 190 191 + /* Determine sample rate. */ 192 + #if defined(SIMULATOR) 193 + #define PREFERRED_SAMPR SAMPR_44 194 + #else 195 + #define PREFERRED_SAMPR SAMPR_22 196 + #endif 197 + int samplerate; 198 + { 199 + int i; 200 + const struct pcm_sink_caps* caps = rb->pcm_current_sink_caps(); 201 + for (i = 0; i < caps->num_samprs; i++) { 202 + if (caps->samprs[i] == PREFERRED_SAMPR) 203 + break; 204 + } 205 + if (i == caps->num_samprs) 206 + samplerate = SAMPR_44; 207 + else 208 + samplerate = caps->samprs[i]; 209 + } 210 + 191 211 /* Initialize audio subsystem. */ 192 212 sys_open_audio(0, /* No sound input yet */ 193 213 sys_soundindevlist, ··· 197 217 sys_soundoutdevlist, 198 218 -1, /* Use the default amount (2) of channels */ 199 219 sys_choutlist, 200 - PD_SAMPLERATE, /* Sample rate */ 220 + samplerate, /* Sample rate */ 201 221 DEFAULTADVANCE, /* Scheduler advance */ 202 222 1 /* Enable */); 203 223
+3 -11
apps/plugins/pdbox/pdbox.h
··· 40 40 #define calloc(elements, elem_size) tlsf_calloc(elements, elem_size) 41 41 42 42 /* Audio declarations. */ 43 - #ifdef SIMULATOR 44 - #define PD_SAMPLERATE 44100 45 - #elif (HW_SAMPR_CAPS & SAMPR_CAP_22) 46 - #define PD_SAMPLERATE 22050 47 - #elif (HW_SAMPR_CAPS & SAMPR_CAP_32) 48 - #define PD_SAMPLERATE 32000 49 - #elif (HW_SAMPR_CAPS & SAMPR_CAP_44) 50 - #define PD_SAMPLERATE 44100 51 - #else 52 - #error No sufficient sample rate available! 53 - #endif 43 + /* Maximum sample rate; used for buffer sizing. 44 + * Actual rate is determined at runtime from pcm sink capabilities. */ 45 + #define PD_SAMPLERATE 44100 54 46 #define PD_SAMPLES_PER_HZ ((PD_SAMPLERATE / HZ) + \ 55 47 (PD_SAMPLERATE % HZ > 0 ? 1 : 0)) 56 48 #define PD_OUT_CHANNELS 2