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