The Player reads the Replay Gain value, and scales the audio data as appropriate.
Most users who only play pop music will find that the level has been reduced too far for them. An optional boost of 6dB-12dB should be included by default, otherwise users will think the player sucks! Knowledgeable users, or those playing classical music, will disable this. Some may even choose to decrease the level. For user friendliness, this part should be referred to as the "pre-amp".
The player should, by default, apply hard limiting (NOT CLIPPING) to any signal peaks that would go over full scale after the above two operations. This should be user defeatable, so that audiophile users can choose to decrease the overall level to avoid clipping, rather than limiting the signal.
In practice, the first two adjustments can be carried out in a single step, where each sample is multiplied by a fixed amount. The clipping prevention need only be carried out if, after the first two adjustments, the peak signal amplitude is above digital full scale.
You can find out more about each process by clicking on the headings above each section, or in the list below.
The above three steps are appropriate to software players operating on the digital signal in order to scale it. However, it is possible to send the digital signal to the DAC without level correction, and to place an attenuator in the analogue signal path. The attenuator can then be driven by the Replay Gain value. Thus maximum signal to noise ratio is maintained in the digital signal and DAC process.
This would make a nice hardware project!
No players (as yet) support the Replay Gain standard. If anyone can author a suitable Winamp plug-in, or simple player which includes the Replay Gain specifications set out above, it'll get this thing off the ground.