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
    • 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