T
- the implementation specific telephony operation set class like for
example OperationSetBasicTelephonySipImpl.U
- the implementation specific provider class like for example
ProtocolProviderServiceSipImpl.V
- the MediaAwareCall implementation like
CallSipImpl or CallJabberImpl.W
- the MediaAwarePeerCall implementation like
CallPeerSipImpl or CallPeerJabberImpl.public abstract class AbstractOperationSetVideoTelephony<T extends OperationSetBasicTelephony<U>,U extends ProtocolProviderService,V extends MediaAwareCall<W,T,U>,W extends MediaAwareCallPeer<V,?,U>> extends java.lang.Object implements OperationSetVideoTelephony
Modifier and Type | Field and Description |
---|---|
protected T |
basicTelephony
The telephony-related functionality this extension builds upon.
|
protected U |
parentProvider
The SIP ProtocolProviderService implementation which created
this instance and for which telephony conferencing services are being
provided by this instance.
|
LOCAL_VIDEO_STREAMING
Constructor and Description |
---|
AbstractOperationSetVideoTelephony(T basicTelephony)
Initializes a new AbstractOperationSetVideoTelephony instance
which builds upon the telephony-related functionality of a specific
OperationSetBasicTelephony implementation.
|
Modifier and Type | Method and Description |
---|---|
void |
addPropertyChangeListener(Call call,
java.beans.PropertyChangeListener listener)
Adds a specific PropertyChangeListener to the list of
listeners which get notified when the properties (e.g.
|
void |
addVideoListener(CallPeer peer,
org.jitsi.util.event.VideoListener listener)
Delegates to the CallPeerMediaHandler of the specified
CallPeer because the video is provided by it.
|
Call |
createVideoCall(Contact callee,
org.jitsi.service.neomedia.QualityPreset qualityPreferences)
Create a new video call and invite the specified CallPeer to it with
initial video setting.
|
Call |
createVideoCall(java.lang.String uri,
org.jitsi.service.neomedia.QualityPreset qualityPreferences)
Create a new video call and invite the specified CallPeer to it with
initial video setting.
|
ConferenceMember |
getConferenceMember(CallPeer peer,
java.awt.Component visualComponent)
Returns the ConferenceMember corresponding to the given
visualComponent.
|
java.awt.Component |
getLocalVisualComponent(CallPeer peer)
Implements
OperationSetVideoTelephony#createLocalVisualComponent(CallPeer) . |
org.jitsi.service.neomedia.MediaUseCase |
getMediaUseCase()
Get the MediaUseCase of a video telephony operation set.
|
org.jitsi.service.neomedia.QualityControl |
getQualityControl(CallPeer peer)
Returns the quality control for video calls if any.
|
java.awt.Component |
getVisualComponent(CallPeer peer)
Deprecated.
|
java.util.List<java.awt.Component> |
getVisualComponents(CallPeer peer)
Gets the visual/video Components available in this telephony for
a specific CallPeer.
|
boolean |
isLocalVideoAllowed(Call call)
Determines whether the streaming of local video in a specific
Call is currently allowed.
|
boolean |
isLocalVideoStreaming(Call call)
Determines whether a specific Call is currently streaming the
local video (to a remote destination).
|
void |
removePropertyChangeListener(Call call,
java.beans.PropertyChangeListener listener)
Removes a specific PropertyChangeListener from the list of
listeners which get notified when the properties (e.g.
|
void |
removeVideoListener(CallPeer peer,
org.jitsi.util.event.VideoListener listener)
Delegates to the CallPeerMediaHandler of the specified
CallPeer because the video is provided by it.
|
void |
setLocalVideoAllowed(Call call,
boolean allowed)
Implements OperationSetVideoTelephony#setLocalVideoAllowed(Call,
boolean).
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
answerVideoCallPeer, createVideoCall, createVideoCall
protected final U extends ProtocolProviderService parentProvider
protected final T extends OperationSetBasicTelephony<U> basicTelephony
public AbstractOperationSetVideoTelephony(T basicTelephony)
basicTelephony
- the OperationSetBasicTelephony
the new extension should build uponpublic void addVideoListener(CallPeer peer, org.jitsi.util.event.VideoListener listener)
addVideoListener
in interface OperationSetVideoTelephony
peer
- the CallPeer that we will be registering
listener with.listener
- the VideoListener that we'd like to register.public java.awt.Component getLocalVisualComponent(CallPeer peer) throws OperationFailedException
OperationSetVideoTelephony#createLocalVisualComponent(CallPeer)
.getLocalVisualComponent
in interface OperationSetVideoTelephony
peer
- the CallPeer that we are sending our local video to.OperationFailedException
- if we fail extracting the local video.@Deprecated public java.awt.Component getVisualComponent(CallPeer peer)
getVisualComponent
in interface OperationSetVideoTelephony
peer
- the CallPeer whose video is to be retrievedpublic java.util.List<java.awt.Component> getVisualComponents(CallPeer peer)
getVisualComponents
in interface OperationSetVideoTelephony
peer
- the CallPeer whose videos are to be retrievedpublic ConferenceMember getConferenceMember(CallPeer peer, java.awt.Component visualComponent)
getConferenceMember
in interface OperationSetVideoTelephony
peer
- the parent CallPeervisualComponent
- the visual Component, which corresponding
ConferenceMember we're looking forpublic void removeVideoListener(CallPeer peer, org.jitsi.util.event.VideoListener listener)
removeVideoListener
in interface OperationSetVideoTelephony
peer
- the CallPeer that we'd like to unregister our
VideoListener from.listener
- the VideoListener that we'd like to unregister.public void setLocalVideoAllowed(Call call, boolean allowed) throws OperationFailedException
setLocalVideoAllowed
in interface OperationSetVideoTelephony
call
- the call where we'd like to allow sending local video.allowed
- true if local video transmission is allowed and
false otherwise.OperationFailedException
- if video initialization fails.public boolean isLocalVideoAllowed(Call call)
isLocalVideoAllowed
in interface OperationSetVideoTelephony
call
- the Call whose video transmission properties we are
interested in.public boolean isLocalVideoStreaming(Call call)
isLocalVideoStreaming
in interface OperationSetVideoTelephony
call
- the Call whose video transmission we are interested
in.public void addPropertyChangeListener(Call call, java.beans.PropertyChangeListener listener)
OperationSetVideoTelephony.LOCAL_VIDEO_STREAMING
) associated with a specific
Call change their values.addPropertyChangeListener
in interface OperationSetVideoTelephony
call
- the Call to start listening to the changes of
the property values oflistener
- the PropertyChangeListener to be notified
when the properties associated with the specified Call change
their valuespublic void removePropertyChangeListener(Call call, java.beans.PropertyChangeListener listener)
OperationSetVideoTelephony.LOCAL_VIDEO_STREAMING
) associated with a specific
Call change their values.removePropertyChangeListener
in interface OperationSetVideoTelephony
call
- the Call to stop listening to the changes of the
property values oflistener
- the PropertyChangeListener to no longer be
notified when the properties associated with the specified Call
change their valuespublic org.jitsi.service.neomedia.MediaUseCase getMediaUseCase()
public org.jitsi.service.neomedia.QualityControl getQualityControl(CallPeer peer)
getQualityControl
in interface OperationSetVideoTelephony
peer
- the peer which this control operates on.public Call createVideoCall(java.lang.String uri, org.jitsi.service.neomedia.QualityPreset qualityPreferences) throws OperationFailedException, java.text.ParseException
createVideoCall
in interface OperationSetVideoTelephony
uri
- the address of the callee that we should invite to a new
call.qualityPreferences
- the quality preset we will use establishing
the video call, and we will expect from the other side. When establishing
call we don't have any indications whether remote part supports quality
presets, so this setting can be ignored.OperationFailedException
- with the corresponding code if we fail
to create the video call.java.text.ParseException
- if callee is not a valid sip address
string.public Call createVideoCall(Contact callee, org.jitsi.service.neomedia.QualityPreset qualityPreferences) throws OperationFailedException
createVideoCall
in interface OperationSetVideoTelephony
callee
- the address of the callee that we should invite to a new
call.qualityPreferences
- the quality preset we will use establishing
the video call, and we will expect from the other side. When establishing
call we don't have any indications whether remote part supports quality
presets, so this setting can be ignored.OperationFailedException
- with the corresponding code if we fail
to create the video call.
Jitsi, the OpenSource Java VoIP and Instant Messaging client.
Distributable under Apache license.