package org.farng.mp3.id3;
/**
* <h3>4.11. Relative volume adjustment (2)</h3>
* <p/>
* <p> This is a more subjective frame than the previous ones. It allows the<br> user to say
* how much he wants to increase/decrease the volume on each<br> channel when the file is played. The
* purpose is to be able to align<br>
* <p/>
* all files to a reference volume, so that you don't have to change the<br> volume
* constantly. This frame may also be used to balance adjust the<br> audio. The volume adjustment is
* encoded as a fixed point decibel<br> value, 16 bit signed integer representing (adjustment*512),
* giving<br> +/- 64 dB with a precision of 0.001953125 dB. E.g. +2 dB is stored as<br>
* <p/>
* $04 00 and -2 dB is $FC 00. There may be more than one "RVA2" frame<br> in each
* tag, but only one with the same identification string.</p>
* <p/>
* <p> <Header for 'Relative volume adjustment (2)', ID: "RVA2"><br>
*
* <p/>
* Identification <text string> $00</p>
* <p/>
* <p> The 'identification' string is used to identify the situation and/or<br> device where
* this adjustment should apply. The following is then<br> repeated for every channel</p>
* <p/>
* <p> Type of channel $xx<br>
* Volume adjustment $xx xx<br>
* Bits representing peak $xx<br>
* <p/>
* Peak volume $xx (xx
* ...)<br> </p>
* <p/>
* <p> Type of channel: $00 Other<br>
* <p/>
* $01 Master volume<br>
* $02 Front right<br>
* $03 Front left<br>
* <p/>
*
* $04 Back right<br>
* $05 Back left<br>
* $06 Front centre<br>
* <p/>
*
* $07 Back centre<br>
* $08 Subwoofer</p>
* <p/>
* <p> Bits representing peak can be any number between 0 and 255. 0 means<br>
* <p/>
* that there is no peak volume field. The peak volume field is always<br> padded to whole
* bytes, setting the most significant bits to zero.<br> </p>
*
* @author Eric Farng
* @version $Revision: 1637 $
*/
public class FrameBodyRVA2 extends AbstractID3v2FrameBody {
/**
* Creates a new FrameBodyRVA2 object.
*/
public FrameBodyRVA2() {
super();
}
/**
* Creates a new FrameBodyRVA2 object.
*/
public FrameBodyRVA2(final FrameBodyRVA2 body) {
super(body);
}
protected void setupObjectList() {
throw new UnsupportedOperationException("This frame has not been implemented.");
}
public String getIdentifier() {
throw new UnsupportedOperationException("This frame has not been implemented.");
}
}