private byte GetVBRFrameOffset(FrameData Frame) { if (Frame.VersionID == MpegVersion.Version1) { if (Frame.ModeID != MpegChannel.Mono) { return 0x24; } return 0x15; } if (Frame.ModeID != MpegChannel.Mono) { return 0x15; } return 13; }
private ushort GetSampleRate(FrameData Frame) { return MpegAudio.MPEG_SAMPLE_RATE[(int) Frame.VersionID][(int) Frame.SampleRateID]; }
private byte GetPadding(FrameData Frame) { if (Frame.PaddingBit) { if (Frame.LayerID == MpegLayer.LayerI) { return 4; } return 1; } return 0; }
private ushort GetFrameLength(FrameData frame) { ushort num2 = this.GetCoefficient(frame); ushort num3 = this.GetBitRate(frame); ushort num4 = this.GetSampleRate(frame); ushort num5 = this.GetPadding(frame); return (ushort) ((((num2 * num3) * 0x3e8) / num4) + num5); }
private byte GetCoefficient(FrameData Frame) { if (Frame.VersionID == MpegVersion.Version1) { if (Frame.LayerID == MpegLayer.LayerI) { return 0x30; } return 0x90; } if (Frame.LayerID == MpegLayer.LayerI) { return 0x18; } if (Frame.LayerID == MpegLayer.LayerII) { return 0x90; } return 0x48; }
private ushort GetBitRate(FrameData Frame) { return MpegAudio.BitrateTable[(int) Frame.VersionID][((int) Frame.LayerID) - 1][Frame.BitRateID - 1]; }