1dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu/*
2dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * Copyright 2012 Sebastian Annies, Hamburg
3dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu *
4dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * Licensed under the Apache License, Version 2.0 (the License);
5dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * you may not use this file except in compliance with the License.
6dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * You may obtain a copy of the License at
7dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu *
8dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu *     http://www.apache.org/licenses/LICENSE-2.0
9dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu *
10dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * Unless required by applicable law or agreed to in writing, software
11dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * distributed under the License is distributed on an AS IS BASIS,
12dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * See the License for the specific language governing permissions and
14dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu * limitations under the License.
15dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu */
16dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupackage com.coremedia.iso;
17dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu
18dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhuimport java.nio.ByteBuffer;
19dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu
20dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhupublic final class IsoTypeReaderVariable {
21dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu
22dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu    public static long read(ByteBuffer bb, int bytes) {
23dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu        switch (bytes) {
24dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu            case 1:
25dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu                return IsoTypeReader.readUInt8(bb);
26dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu            case 2:
27dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu                return IsoTypeReader.readUInt16(bb);
28dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu            case 3:
29dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu                return IsoTypeReader.readUInt24(bb);
30dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu            case 4:
31dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu                return IsoTypeReader.readUInt32(bb);
32dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu            case 8:
33dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu                return IsoTypeReader.readUInt64(bb);
34dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu            default:
35dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu                throw new RuntimeException("I don't know how to read " + bytes + " bytes");
36dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu        }
37dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu
38dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu    }
39dd9eb897ee7c7b507cbdcf80263bb4b5de6966bfTeng-Hui Zhu}
40