mirror of
https://github.com/hajimehoshi/ebiten.git
synced 2024-12-24 18:58:54 +01:00
audio/mp3: Refactoring: layer member usage
This commit is contained in:
parent
b8a965b471
commit
0e4c949471
@ -35,7 +35,7 @@ func readMainL3() error {
|
||||
|
||||
/* Calculate header audio data size */
|
||||
framesize := (144*
|
||||
g_mpeg1_bitrates[theMPEG1FrameHeader.layer-1][theMPEG1FrameHeader.bitrate_index])/
|
||||
g_mpeg1_bitrates[theMPEG1FrameHeader.layer][theMPEG1FrameHeader.bitrate_index])/
|
||||
g_sampling_frequency[theMPEG1FrameHeader.sampling_frequency] +
|
||||
int(theMPEG1FrameHeader.padding_bit)
|
||||
|
||||
|
@ -52,9 +52,8 @@ func readFrame() error {
|
||||
return err
|
||||
}
|
||||
}
|
||||
|
||||
if theMPEG1FrameHeader.layer != 3 {
|
||||
return fmt.Errorf("mp3: Only layer 3(!= %d) is supported!", theMPEG1FrameHeader.layer)
|
||||
if theMPEG1FrameHeader.layer != mpeg1Layer3 {
|
||||
return fmt.Errorf("mp3: only layer3 (want %d; got %d) is supported!", mpeg1Layer3, theMPEG1FrameHeader.layer)
|
||||
}
|
||||
// Get side info
|
||||
if err := readAudioL3(); err != nil {
|
||||
@ -140,26 +139,25 @@ func readHeader() error {
|
||||
theMPEG1FrameHeader.emphasis = int((header & 0x00000003) >> 0)
|
||||
/* Check for invalid values and impossible combinations */
|
||||
if theMPEG1FrameHeader.id != 3 {
|
||||
return fmt.Errorf("mp3: ID must be 3\nHeader word is 0x%08x at file pos %d",
|
||||
return fmt.Errorf("mp3: ID must be 3. Header word is 0x%08x at file pos %d",
|
||||
header, getFilepos())
|
||||
}
|
||||
if theMPEG1FrameHeader.bitrate_index == 0 {
|
||||
return fmt.Errorf("mp3: Free bitrate format NIY!\nHeader word is 0x%08x at file pos %d",
|
||||
return fmt.Errorf("mp3: Free bitrate format NIY! Header word is 0x%08x at file pos %d",
|
||||
header, getFilepos())
|
||||
}
|
||||
if theMPEG1FrameHeader.bitrate_index == 15 {
|
||||
return fmt.Errorf("mp3: bitrate_index = 15 is invalid!\nHeader word is 0x%08x at file pos %d",
|
||||
return fmt.Errorf("mp3: bitrate_index = 15 is invalid! Header word is 0x%08x at file pos %d",
|
||||
header, getFilepos())
|
||||
}
|
||||
if theMPEG1FrameHeader.sampling_frequency == 3 {
|
||||
return fmt.Errorf("mp3: sampling_frequency = 3 is invalid! Header word is 0x%08x at file pos %d",
|
||||
header, getFilepos())
|
||||
}
|
||||
if theMPEG1FrameHeader.layer == 0 {
|
||||
return fmt.Errorf("mp3: layer = 0 is invalid! Header word is 0x%08x at file pos %d",
|
||||
header, getFilepos())
|
||||
if theMPEG1FrameHeader.layer == mpeg1LayerReserved {
|
||||
return fmt.Errorf("mp3: layer = %d is invalid! Header word is 0x%08x at file pos %d",
|
||||
mpeg1LayerReserved, header, getFilepos())
|
||||
}
|
||||
theMPEG1FrameHeader.layer = 4 - theMPEG1FrameHeader.layer
|
||||
return nil
|
||||
}
|
||||
|
||||
|
@ -21,16 +21,16 @@ import (
|
||||
"io"
|
||||
)
|
||||
|
||||
var g_mpeg1_bitrates = [3][15]int{
|
||||
{ /* Layer 1 */
|
||||
var g_mpeg1_bitrates = map[mpeg1Layer][15]int{
|
||||
mpeg1Layer1: {
|
||||
0, 32000, 64000, 96000, 128000, 160000, 192000, 224000,
|
||||
256000, 288000, 320000, 352000, 384000, 416000, 448000,
|
||||
},
|
||||
{ /* Layer 2 */
|
||||
mpeg1Layer2: {
|
||||
0, 32000, 48000, 56000, 64000, 80000, 96000, 112000,
|
||||
128000, 160000, 192000, 224000, 256000, 320000, 384000,
|
||||
},
|
||||
{ /* Layer 3 */
|
||||
mpeg1Layer3: {
|
||||
0, 32000, 40000, 48000, 56000, 64000, 80000, 96000,
|
||||
112000, 128000, 160000, 192000, 224000, 256000, 320000,
|
||||
},
|
||||
@ -45,7 +45,7 @@ func readAudioL3() error {
|
||||
}
|
||||
/* Calculate header audio data size */
|
||||
framesize := (144*
|
||||
g_mpeg1_bitrates[theMPEG1FrameHeader.layer-1][theMPEG1FrameHeader.bitrate_index])/
|
||||
g_mpeg1_bitrates[theMPEG1FrameHeader.layer][theMPEG1FrameHeader.bitrate_index])/
|
||||
g_sampling_frequency[theMPEG1FrameHeader.sampling_frequency] +
|
||||
int(theMPEG1FrameHeader.padding_bit)
|
||||
if framesize > 2000 {
|
||||
|
Loading…
Reference in New Issue
Block a user