public class DePacketizer extends AbstractCodec2
BUFFER_FLAG_FEC, BUFFER_FLAG_PLC, EMPTY_FORMATS, features, MAX_AUDIO_SEQUENCE_NUMBERS_TO_PLC, SEQUENCE_MAX, SEQUENCE_MIN
Constructor and Description |
---|
DePacketizer()
Initializes a new DePacketizer instance which is to depacketize
H.264 RTP packets into NAL units.
|
Modifier and Type | Method and Description |
---|---|
protected void |
doClose()
Close the Codec.
|
protected void |
doOpen()
Opens this Codec and acquires the resources that it needs to
operate.
|
protected int |
doProcess(javax.media.Buffer inBuffer,
javax.media.Buffer outBuffer)
Processes (depacketizes) a buffer.
|
protected javax.media.Format[] |
getMatchingOutputFormats(javax.media.Format inputFormat)
Gets the Formats which are supported by this Codec as
output when the input is in a specific Format.
|
static boolean |
isKeyFrame(byte[] buf,
int off,
int len)
Returns true if the buffer contains a H264 key frame at offset
offset.
|
boolean |
requestKeyFrame(boolean urgent)
Requests a key frame from the remote peer associated with this
DePacketizer using the logic of DePacketizer.
|
void |
setKeyFrameControl(KeyFrameControl keyFrameControl)
Sets the KeyFrameControl to be used by this
DePacketizer as a means of control over its key frame-related
logic.
|
calculateLostSeqNoCount, close, discardOutputBuffer, getName, getSupportedOutputFormats, incrementSeqNo, matches, open, process, setInputFormat, setOutputFormat, specialize, updateOutput, validateByteArraySize, validateShortArraySize
checkInputBuffer, dump, getInputFormat, getOutputFormat, getSupportedInputFormats, isEOM, propagateEOM
addControl, getControl, getControls, removeControl
public DePacketizer()
protected void doClose()
doClose
in class AbstractCodec2
protected void doOpen() throws javax.media.ResourceUnavailableException
PlugIn.open()
on this instance will result in
a call to doOpen only if AbstractCodec.opened
is
false. All required input and/or output formats are assumed to
have been set on this Codec before doOpen is called.doOpen
in class AbstractCodec2
javax.media.ResourceUnavailableException
- if any of the resources that this
Codec needs to operate cannot be acquiredprotected int doProcess(javax.media.Buffer inBuffer, javax.media.Buffer outBuffer)
doProcess
in class AbstractCodec2
inBuffer
- input bufferoutBuffer
- output bufferpublic static boolean isKeyFrame(byte[] buf, int off, int len)
buf
- the byte buffer to checkoff
- the offset in the byte buffer where the actuall data startslen
- the length of the data in the byte bufferprotected javax.media.Format[] getMatchingOutputFormats(javax.media.Format inputFormat)
getMatchingOutputFormats
in class AbstractCodec2
inputFormat
- the Format of the input for which the
supported output Formats are to be returnedpublic boolean requestKeyFrame(boolean urgent)
urgent
- true if the caller has determined that the need
for a key frame is urgent and should not obey all constraints with
respect to time between two subsequent requests for key framespublic void setKeyFrameControl(KeyFrameControl keyFrameControl)
keyFrameControl
- the KeyFrameControl to be used by this
DePacketizer as a means of control over its key frame-related
logic
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.