• Status Closed
  • Percent Complete
  • Task Type Patches
  • Category ID3 / meta data
  • Assigned To No-one
  • Operating System All players
  • Severity Low
  • Priority Very Low
  • Reported Version Release 3.7.1
  • Due in Version Undecided
  • Due Date Undecided
  • Votes
  • Private
Attached to Project: Rockbox
Opened by Buschel - 2011-02-24
Last edited by Buschel - 2011-02-24

FS#11964 - Rework replaygain metadata handling

This patch reworks the handling of the replaygain metadata. The goal is to save space in id3v2buf and to save some binsize. The svn implementation uses two independent representations for gain values: (1) an integer value which can directly be used by our dsp-code and (2) a string representation. The string representation is only used by WPS/screen for display purposes. To keep the string representation id3v2buf is used (9 bytes per gain).

Main idea of this patch is to fully remove the string representation and perform a snprintf() based on the integer representation when needing it for WPS/screen purposes.

In consequence the integer representation cannot be saved in a ready-to-use format for the dsp-code. When handing over the gain to the dsp-code convert_gain() must be called. Through dropping the string handling the replaygain related code became smaller (~300 bytes for a nano 2g).

As a bonus a svn bug is fixed that displayed wrong replaygains when parse_replaygain_int() was used to set the gains (used by mpc and ID3v2.4 tags).

Closed by  Buschel
2011-02-24 19:11
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

Submitted with r29388.

Do not display replaygain in info screen, if replaygain is 0 dB


Available keyboard shortcuts


Task Details

Task Editing