summaryrefslogtreecommitdiff
path: root/songdbj/de/jarnbjo/vorbis/Mode.java
diff options
context:
space:
mode:
Diffstat (limited to 'songdbj/de/jarnbjo/vorbis/Mode.java')
-rw-r--r--songdbj/de/jarnbjo/vorbis/Mode.java75
1 files changed, 75 insertions, 0 deletions
diff --git a/songdbj/de/jarnbjo/vorbis/Mode.java b/songdbj/de/jarnbjo/vorbis/Mode.java
new file mode 100644
index 0000000000..ab88944a25
--- /dev/null
+++ b/songdbj/de/jarnbjo/vorbis/Mode.java
@@ -0,0 +1,75 @@
1/*
2 * $ProjectName$
3 * $ProjectRevision$
4 * -----------------------------------------------------------
5 * $Id$
6 * -----------------------------------------------------------
7 *
8 * $Author$
9 *
10 * Description:
11 *
12 * Copyright 2002-2003 Tor-Einar Jarnbjo
13 * -----------------------------------------------------------
14 *
15 * Change History
16 * -----------------------------------------------------------
17 * $Log$
18 * Revision 1.1 2005/07/11 15:42:36 hcl
19 * Songdb java version, source. only 1.5 compatible
20 *
21 * Revision 1.1.1.1 2004/04/04 22:09:12 shred
22 * First Import
23 *
24 * Revision 1.2 2003/03/16 01:11:12 jarnbjo
25 * no message
26 *
27 *
28 */
29
30package de.jarnbjo.vorbis;
31
32import java.io.*;
33
34import de.jarnbjo.util.io.*;
35
36class Mode {
37
38 private boolean blockFlag;
39 private int windowType, transformType, mapping;
40
41 protected Mode(BitInputStream source, SetupHeader header) throws VorbisFormatException, IOException {
42 blockFlag=source.getBit();
43 windowType=source.getInt(16);
44 transformType=source.getInt(16);
45 mapping=source.getInt(8);
46
47 if(windowType!=0) {
48 throw new VorbisFormatException("Window type = "+windowType+", != 0");
49 }
50
51 if(transformType!=0) {
52 throw new VorbisFormatException("Transform type = "+transformType+", != 0");
53 }
54
55 if(mapping>header.getMappings().length) {
56 throw new VorbisFormatException("Mode mapping number is higher than total number of mappings.");
57 }
58 }
59
60 protected boolean getBlockFlag() {
61 return blockFlag;
62 }
63
64 protected int getWindowType() {
65 return windowType;
66 }
67
68 protected int getTransformType() {
69 return transformType;
70 }
71
72 protected int getMapping() {
73 return mapping;
74 }
75} \ No newline at end of file