diff options
-rw-r--r-- | audio/audio_hw.c | 9 | ||||
-rw-r--r-- | kernel | bin | 4145400 -> 4148084 bytes |
2 files changed, 8 insertions, 1 deletions
diff --git a/audio/audio_hw.c b/audio/audio_hw.c index 8ae519c..f2fda76 100644 --- a/audio/audio_hw.c +++ b/audio/audio_hw.c @@ -127,7 +127,7 @@ /* #define to use mmap no-irq mode for playback, #undef for non-mmap irq mode */ #undef PLAYBACK_MMAP // was #define /* short period (aka low latency) in milliseconds */ -#define SHORT_PERIOD_MS 4 // was 22 +#define SHORT_PERIOD_MS 3 // was 22 /* deep buffer short period (screen on) in milliseconds */ #define DEEP_BUFFER_SHORT_PERIOD_MS 22 /* deep buffer long period (screen off) in milliseconds */ @@ -180,6 +180,11 @@ */ #ifdef PLAYBACK_MMAP #define PLAYBACK_SHORT_PERIOD_COUNT 4 +/* If sample rate converter is required, then use triple-buffering to + * help mask the variance in cycle times. Otherwise use double-buffering. + */ +#elif DEFAULT_OUT_SAMPLING_RATE != MM_FULL_POWER_SAMPLING_RATE +#define PLAYBACK_SHORT_PERIOD_COUNT 3 #else #define PLAYBACK_SHORT_PERIOD_COUNT 2 #endif @@ -297,6 +302,7 @@ enum tty_modes { TTY_MODE_FULL }; +/* deep buffer */ struct pcm_config pcm_config_mm = { .channels = 2, .rate = MM_FULL_POWER_SAMPLING_RATE, @@ -307,6 +313,7 @@ struct pcm_config pcm_config_mm = { .avail_min = DEEP_BUFFER_LONG_PERIOD_SIZE, }; +/* low latency */ struct pcm_config pcm_config_tones = { .channels = 2, .rate = MM_FULL_POWER_SAMPLING_RATE, Binary files differ |