• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category User Interface
  • Assigned To No-one
  • Operating System Another
  • Severity Low
  • Priority Very Low
  • Reported Version Daily build (which?)
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by funman - 2010-08-31
Last edited by funman - 2010-09-01

FS#11587 - Voice for SWCODEC and low memory

Voice doesn’t work on Clipv1/c200v2 & cie, the voice file is too big to fit entirely in RAM

Trying to use a voice file will give a panic on startup.

This patch reuses the code set up for the Ondios (which load the entire file in RAM but progressively), and will only load 64 (the size of the clips queue) clips maximum, (+ the “SILENCE” clip).

It reserves 64 * the_size_of_the_biggest_clip bytes, which is ~300kB for the default voice on Clipv1 (450kB audiobuffer left after that).

It works correctly at startup but later fails (easily seen when spelling a directory for example)

Closed by  funman
2010-09-01 00:10
Reason for closing:  Accepted
Additional comments about closing:   Warning: Undefined array key "typography" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 371 Warning: Undefined array key "camelcase" in /home/rockbox/flyspray/plugins/dokuwiki/inc/parserutils.php on line 407


Now works correctly.

Bump the age of each buffered clip when we are loading a new entry, and reset the age for the clip to 0 each time it is used.

When we load a new entry we unload the oldest entry. It works in O(n) because finding the oldest entry is done in the same loop than bumping the ages of loaded clips.

I will commit it sometime soon.


Available keyboard shortcuts


Task Details

Task Editing