package org.ifsoft.rtp; import org.ifsoft.*; import java.util.ArrayList; import java.util.Iterator; public class RTCPGenericNACKPacket extends RTCPRTPPacket { private ArrayList __genericNACKs; private static Byte _feedbackMessageTypeByte = Byte.valueOf((byte)0); static { _feedbackMessageTypeByte = new Byte((byte)1); } public void addGenericNACK(FBGenericNACK genericNACK) { __genericNACKs.add(genericNACK); } protected void deserializeFCI() { ArrayList list = new ArrayList(); Integer num = Integer.valueOf(ArrayExtensions.getLength(super.getFCIPayload()).intValue() / 4); for(Integer i = Integer.valueOf(0); i.intValue() < num.intValue();) { FBGenericNACK.parseBytes(BitAssistant.subArray(super.getFCIPayload(), Integer.valueOf(i.intValue() * 4), Integer.valueOf(4))); Integer integer = i; Integer integer1 = i = Integer.valueOf(i.intValue() + 1); Integer _tmp = integer; } __genericNACKs = list; } public RTCPGenericNACKPacket() { super(_feedbackMessageTypeByte); __genericNACKs = new ArrayList(); } public FBGenericNACK[] getGenericNACKs() { return (FBGenericNACK[])__genericNACKs.toArray(new FBGenericNACK[0]); } public Boolean removeGenericNACK(FBGenericNACK genericNACK) { return Boolean.valueOf(__genericNACKs.remove(genericNACK)); } protected void serializeFCI() { ArrayList list = new ArrayList(); FBGenericNACK cnack; for(Iterator i$ = __genericNACKs.iterator(); i$.hasNext(); ArrayListExtensions.addRange(list, cnack.getBytes())) cnack = (FBGenericNACK)i$.next(); super.setFCIPayload((Byte[])list.toArray(new Byte[0])); } }