net.java.sip.communicator.impl.neomedia.codec.video.h264
Class DePacketizer
java.lang.Object
net.sf.fmj.media.AbstractControls
net.sf.fmj.media.AbstractPlugIn
net.sf.fmj.media.AbstractCodec
net.java.sip.communicator.impl.neomedia.codec.AbstractCodecExt
net.java.sip.communicator.impl.neomedia.codec.video.h264.DePacketizer
- All Implemented Interfaces:
- javax.media.Codec, javax.media.Controls, javax.media.PlugIn
public class DePacketizer
- extends AbstractCodecExt
Implements Codec to represent a depacketizer of H.264 RTP packets
into NAL units.
- Author:
- Lyubomir Marinov, Damian Minkov
| Fields inherited from class net.sf.fmj.media.AbstractCodec |
inputFormat, inputFormats, opened, outputFormat |
| Fields inherited from interface javax.media.PlugIn |
BUFFER_PROCESSED_FAILED, BUFFER_PROCESSED_OK, INPUT_BUFFER_NOT_CONSUMED, OUTPUT_BUFFER_NOT_FILLED, PLUGIN_TERMINATED |
|
Constructor Summary |
DePacketizer()
Initializes a new DePacketizer instance which is to depacketize
H.264 RTP packets into NAL units. |
|
Method Summary |
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. |
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. |
| Methods inherited from class net.java.sip.communicator.impl.neomedia.codec.AbstractCodecExt |
close, discardOutputBuffer, getMatchingOutputFormats, getName, getSupportedOutputFormats, matches, open, process, setInputFormat, setOutputFormat, updateOutput, validateByteArraySize, validateShortArraySize |
| Methods inherited from class net.sf.fmj.media.AbstractCodec |
checkInputBuffer, dump, getInputFormat, getOutputFormat, getSupportedInputFormats, isEOM, propagateEOM |
| Methods inherited from class net.sf.fmj.media.AbstractPlugIn |
reset |
| Methods inherited from class net.sf.fmj.media.AbstractControls |
addControl, getControl, getControls, removeControl |
| Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Methods inherited from interface javax.media.PlugIn |
reset |
| Methods inherited from interface javax.media.Controls |
getControl, getControls |
DePacketizer
public DePacketizer()
- Initializes a new DePacketizer instance which is to depacketize
H.264 RTP packets into NAL units.
doClose
protected void doClose()
- Close the Codec.
- Specified by:
doClose in class AbstractCodecExt
doOpen
protected void doOpen()
throws javax.media.ResourceUnavailableException
- Opens this Codec and acquires the resources that it needs to
operate. A call to
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.
- Specified by:
doOpen in class AbstractCodecExt
- Throws:
javax.media.ResourceUnavailableException - if any of the resources that this
Codec needs to operate cannot be acquired- See Also:
AbstractCodecExt.doOpen()
doProcess
protected int doProcess(javax.media.Buffer inBuffer,
javax.media.Buffer outBuffer)
- Processes (depacketizes) a buffer.
- Specified by:
doProcess in class AbstractCodecExt
- Parameters:
inBuffer - input bufferoutBuffer - output buffer
- Returns:
- BUFFER_PROCESSED_OK if buffer has been successfully
processed
requestKeyFrame
public boolean requestKeyFrame(boolean urgent)
- Requests a key frame from the remote peer associated with this
DePacketizer using the logic of DePacketizer.
- Parameters:
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 frames
- Returns:
- true if a key frame was indeed requested in response to
the call; otherwise, false
setKeyFrameControl
public void setKeyFrameControl(KeyFrameControl keyFrameControl)
- Sets the KeyFrameControl to be used by this
DePacketizer as a means of control over its key frame-related
logic.
- Parameters:
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 LGPL license.