Jitsi: the OpenSource Java VoIP and Instant Messaging client.

net.java.sip.communicator.service.neomedia.control
Interface KeyFrameControl

All Known Implementing Classes:
KeyFrameControlAdapter

public interface KeyFrameControl

Represents a control over the key frame-related logic of a VideoMediaStream.

Author:
Lyubomir Marinov

Nested Class Summary
static interface KeyFrameControl.KeyFrameRequestee
          Represents a way for the remote peer of a VideoMediaStream to request a key frame from its local peer.
static interface KeyFrameControl.KeyFrameRequester
          Represents a way for a VideoMediaStream to request a key frame from its remote peer.
 
Method Summary
 void addKeyFrameRequestee(int index, KeyFrameControl.KeyFrameRequestee keyFrameRequestee)
          Adds a KeyFrameRequestee to be made available through this KeyFrameControl.
 void addKeyFrameRequester(int index, KeyFrameControl.KeyFrameRequester keyFrameRequester)
          Adds a KeyFrameRequester to be made available through this KeyFrameControl.
 List<KeyFrameControl.KeyFrameRequestee> getKeyFrameRequestees()
          Gets the KeyFrameRequestees made available through this KeyFrameControl.
 List<KeyFrameControl.KeyFrameRequester> getKeyFrameRequesters()
          Gets the KeyFrameRequesters made available through this KeyFrameControl.
 boolean keyFrameRequest()
          Notifies this KeyFrameControl that the remote peer of the associated VideoMediaStream has requested a key frame from the local peer.
 boolean removeKeyFrameRequestee(KeyFrameControl.KeyFrameRequestee keyFrameRequestee)
          Removes a KeyFrameRequestee to no longer be made available through this KeyFrameControl.
 boolean removeKeyFrameRequester(KeyFrameControl.KeyFrameRequester keyFrameRequester)
          Removes a KeyFrameRequester to no longer be made available through this KeyFrameControl.
 boolean requestKeyFrame(boolean urgent)
          Requests a key frame from the remote peer of the associated VideoMediaStream.
 

Method Detail

addKeyFrameRequestee

void addKeyFrameRequestee(int index,
                          KeyFrameControl.KeyFrameRequestee keyFrameRequestee)
Adds a KeyFrameRequestee to be made available through this KeyFrameControl.

Parameters:
index - the zero-based index at which keyFrameRequestee is to be added to the list of KeyFrameRequestees made available or -1 to have this KeyFrameControl choose at which index it is to be added in accord with its internal logic through this KeyFrameControl
keyFrameRequestee - the KeyFrameRequestee to be added to this KeyFrameControl so that it is made available through it

addKeyFrameRequester

void addKeyFrameRequester(int index,
                          KeyFrameControl.KeyFrameRequester keyFrameRequester)
Adds a KeyFrameRequester to be made available through this KeyFrameControl.

Parameters:
index - the zero-based index at which keyFrameRequester is to be added to the list of KeyFrameRequesters made available or -1 to have this KeyFrameControl choose at which index it is to be added in accord with its internal logic through this KeyFrameControl
keyFrameRequester - the KeyFrameRequester to be added to this KeyFrameControl so that it is made available through it

getKeyFrameRequestees

List<KeyFrameControl.KeyFrameRequestee> getKeyFrameRequestees()
Gets the KeyFrameRequestees made available through this KeyFrameControl.

Returns:
an unmodifiable list of KeyFrameRequestees made available through this KeyFrameControl

getKeyFrameRequesters

List<KeyFrameControl.KeyFrameRequester> getKeyFrameRequesters()
Gets the KeyFrameRequesters made available through this KeyFrameControl.

Returns:
an unmodifiable list of KeyFrameRequesters made available through this KeyFrameControl

keyFrameRequest

boolean keyFrameRequest()
Notifies this KeyFrameControl that the remote peer of the associated VideoMediaStream has requested a key frame from the local peer.

Returns:
true if the local peer has honored the request from the remote peer for a key frame; otherwise, false

removeKeyFrameRequestee

boolean removeKeyFrameRequestee(KeyFrameControl.KeyFrameRequestee keyFrameRequestee)
Removes a KeyFrameRequestee to no longer be made available through this KeyFrameControl.

Parameters:
keyFrameRequestee - the KeyFrameRequestee to be removed from this KeyFrameControl so that it is no longer made available through it
Returns:
true if keyFrameRequestee was found in this KeyFrameControl; otherwise, false

removeKeyFrameRequester

boolean removeKeyFrameRequester(KeyFrameControl.KeyFrameRequester keyFrameRequester)
Removes a KeyFrameRequester to no longer be made available through this KeyFrameControl.

Parameters:
keyFrameRequester - the KeyFrameRequester to be removed from this KeyFrameControl so that it is no longer made available through it
Returns:
true if keyFrameRequester was found in this KeyFrameControl; otherwise, false

requestKeyFrame

boolean requestKeyFrame(boolean urgent)
Requests a key frame from the remote peer of the associated VideoMediaStream.

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 from the remote peer of the associated VideoMediaStream in response to the call; otherwise, false

Jitsi: the OpenSource Java VoIP and Instant Messaging client.

Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under LGPL license.