/*
* @(#)RTPHeader.java 1.11 02/08/21
*
* Copyright (c) 1996-2002 Sun Microsystems, Inc. All rights reserved.
*/
package javax.media.rtp;
/**
* This class describes the RTP header of the RTP packet coming in
* from the network. This class defines fields as defined in the RTP
* Header of the RTP Internet draft
*/
public class RTPHeader implements java.io.Serializable {
public static final int VALUE_NOT_SET = -1;
/**
* true if there is an extension header present after the main 12
* byte RTP header.
*/
private boolean extensionPresent;
/**
* If the extensionPresent bit was set, this is reserved for the
* type of extension present or a identification number for the
* extension. In the RTP extension header, this is a 2 byte id to be
* defined by the extension profile.
*/
private int extensionType;
/*
* A byte array actually describing the extension. The length of
* this array will give the length of the extenstion data present.
*/
private byte extension[];
public RTPHeader(){
extensionPresent = false;
extensionType = VALUE_NOT_SET;
extension = null;
}
public RTPHeader(int marker){
extensionPresent = false;
extensionType = VALUE_NOT_SET;
extension = null;
}
/**
* Constructor for RTPHeader
*/
public RTPHeader(boolean extensionPresent,
int extensionType,
byte[] extension){
this.extensionPresent = extensionPresent;
this.extensionType = extensionType;
this.extension = extension;
}
/**
* Returns true if there is an extension header present after the main 12
* byte RTP header.
*/
public boolean isExtensionPresent(){
return extensionPresent;
}
/**
* If the extensionPresent bit was set, this is reserved for the
* type of extension present or a identification number for the
* extension. In the RTP extension header, this is a 2 byte id to be
* defined by the extension profile.This method returns this extension type
*/
public int getExtensionType(){
return extensionType;
}
/*
* Returns a byte array actually describing the extension. The length of
* this array will give the length of the extenstion data present.
*/
public byte[] getExtension(){
return extension;
}
public void setExtensionPresent(boolean p){
extensionPresent = p;
}
/**
* If the extensionPresent bit was set, this is reserved for the
* type of extension present or a identification number for the
* extension. In the RTP extension header, this is a 2 byte id to be
* defined by the extension profile.This method returns this extension type
*/
public void setExtensionType(int t){
extensionType = t;
}
/*
* Returns a byte array actually describing the extension. The length of
* this array will give the length of the extenstion data present.
*/
public void setExtension(byte[] e){
extension = e;
}
}
|