-
- All Implemented Interfaces:
-
org.jitsi.utils.dsi.ActiveSpeakerDetector
public class DominantSpeakerIdentification<T> extends AbstractActiveSpeakerDetector<T>
Implements ActiveSpeakerDetector with inspiration from the paper "Dominant Speaker Identification for Multipoint Videoconferencing" by Ilana Volfin and Israel Cohen.
-
-
Constructor Summary
Constructors Constructor Description DominantSpeakerIdentification()Initializes a new DominantSpeakerIdentification instance.
-
Method Summary
Modifier and Type Method Description synchronized voiddecisionMakerExited(DominantSpeakerIdentification.DecisionMaker decisionMaker)Notifies this DominantSpeakerIdentification instance that a specific DecisionMaker has permanently stopped executing (in its background/daemon Thread). JSONObjectdoGetJSON()Retrieves a JSON representation of this instance for the purposes of the REST API of Videobridge. TgetDominantSpeaker()Gets the identifier of the dominant speaker. voidlevelChanged(T id, int level){@inheritDoc} longrunInDecisionMaker(DominantSpeakerIdentification.DecisionMaker decisionMaker)Runs in the background/daemon Thread of a specific DecisionMaker and makes the decision whether there has been a speaker switch event. -
Methods inherited from class org.jitsi.utils.dsi.AbstractActiveSpeakerDetector
addActiveSpeakerChangedListener, removeActiveSpeakerChangedListener -
Methods inherited from class org.jitsi.utils.dsi.ActiveSpeakerDetector
removeActiveSpeakerChangedListener -
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
-
Method Detail
-
decisionMakerExited
synchronized void decisionMakerExited(DominantSpeakerIdentification.DecisionMaker decisionMaker)
Notifies this DominantSpeakerIdentification instance that a specific DecisionMaker has permanently stopped executing (in its background/daemon Thread). If the specified decisionMaker is the one utilized by this DominantSpeakerIdentification instance, the latter will update its state to reflect that the former has exited.
- Parameters:
decisionMaker- the DecisionMaker which has exited
-
doGetJSON
JSONObject doGetJSON()
Retrieves a JSON representation of this instance for the purposes of the REST API of Videobridge.
By the way, the method name reflects the fact that the method handles an HTTP GET request.
-
getDominantSpeaker
T getDominantSpeaker()
Gets the identifier of the dominant speaker.
-
levelChanged
void levelChanged(T id, int level)
{@inheritDoc}
-
runInDecisionMaker
long runInDecisionMaker(DominantSpeakerIdentification.DecisionMaker decisionMaker)
Runs in the background/daemon Thread of a specific DecisionMaker and makes the decision whether there has been a speaker switch event.
- Parameters:
decisionMaker- the DecisionMaker invoking the method
-
-
-
-