public class NotificationRoomManager
extends java.lang.Object
Constructor and Description |
---|
NotificationRoomManager(NotificationRoomHandler notificationRoomHandler,
KurentoClientProvider kcProvider)
Provides an instance of the room manager by setting an event handler.
|
NotificationRoomManager(UserNotificationService notificationService,
KurentoClientProvider kcProvider)
Provides an instance of the room manager by setting an user notification service that will be
used by the default event handler to send responses and notifications back to the clients.
|
Modifier and Type | Method and Description |
---|---|
void |
addMediaElement(java.lang.String participantId,
MediaElement element) |
void |
addMediaElement(java.lang.String participantId,
MediaElement element,
MediaType type) |
void |
close() |
void |
closeRoom(java.lang.String roomName) |
void |
createRoom(KurentoClientSessionInfo kcSessionInfo) |
void |
evictParticipant(java.lang.String participantId)
Application-originated request to remove a participant from the room.
|
java.lang.String |
generatePublishOffer(java.lang.String participantId) |
java.util.Set<UserParticipant> |
getParticipants(java.lang.String roomName) |
java.util.Set<UserParticipant> |
getPeerPublishers(java.lang.String participantId) |
java.util.Set<UserParticipant> |
getPeerSubscribers(java.lang.String participantId) |
MediaPipeline |
getPipeline(java.lang.String participantId) |
java.util.Set<UserParticipant> |
getPublishers(java.lang.String roomName) |
RoomManager |
getRoomManager() |
java.util.Set<java.lang.String> |
getRooms() |
java.util.Set<UserParticipant> |
getSubscribers(java.lang.String roomName) |
void |
joinRoom(java.lang.String userName,
java.lang.String roomName,
boolean dataChannels,
boolean webParticipant,
ParticipantRequest request)
Calls
RoomManager.joinRoom(String userName, String roomName, boolean dataChannels, * boolean webParticipant, KurentoClientSessionInfo kcSessionInfo, String participantId)
with a DefaultKurentoClientSessionInfo bean as implementation of the
KurentoClientSessionInfo . |
void |
leaveRoom(ParticipantRequest request) |
void |
mutePublishedMedia(MutedMediaType muteType,
java.lang.String participantId) |
void |
muteSubscribedMedia(java.lang.String remoteName,
MutedMediaType muteType,
java.lang.String participantId) |
void |
onIceCandidate(java.lang.String endpointName,
java.lang.String candidate,
int sdpMLineIndex,
java.lang.String sdpMid,
ParticipantRequest request) |
void |
publishMedia(ParticipantRequest request,
boolean isOffer,
java.lang.String sdp,
MediaElement loopbackAlternativeSrc,
MediaType loopbackConnectionType,
boolean doLoopback,
MediaElement... mediaElements) |
void |
publishMedia(ParticipantRequest request,
java.lang.String sdpOffer,
boolean doLoopback,
MediaElement... mediaElements) |
void |
removeMediaElement(java.lang.String participantId,
MediaElement element) |
void |
sendMessage(java.lang.String message,
java.lang.String userName,
java.lang.String roomName,
ParticipantRequest request)
Used by clients to send written messages to all other participants in the room.
Side effects: The room event handler should acknowledge the client's request by sending an empty message. |
void |
subscribe(java.lang.String remoteName,
java.lang.String sdpOffer,
ParticipantRequest request) |
void |
unmutePublishedMedia(java.lang.String participantId) |
void |
unmuteSubscribedMedia(java.lang.String remoteName,
java.lang.String participantId) |
void |
unpublishMedia(ParticipantRequest request) |
void |
unsubscribe(java.lang.String remoteName,
ParticipantRequest request) |
void |
updateFilter(java.lang.String roomId,
java.lang.String filterId) |
public NotificationRoomManager(UserNotificationService notificationService, KurentoClientProvider kcProvider)
notificationService
- encapsulates the communication layer, used to instantiate
DefaultNotificationRoomHandler
kcProvider
- enables the manager to obtain Kurento Client instancespublic NotificationRoomManager(NotificationRoomHandler notificationRoomHandler, KurentoClientProvider kcProvider)
notificationRoomHandler
- the room event handler implementationkcProvider
- enables the manager to obtain Kurento Client instancespublic void joinRoom(java.lang.String userName, java.lang.String roomName, boolean dataChannels, boolean webParticipant, ParticipantRequest request)
RoomManager.joinRoom(String userName, String roomName, boolean dataChannels, * boolean webParticipant, KurentoClientSessionInfo kcSessionInfo, String participantId)
with a DefaultKurentoClientSessionInfo
bean as implementation of the
KurentoClientSessionInfo
.request
- instance of ParticipantRequest
POJO containing the participant's id
and a
request id (optional identifier of the request at the communications level,
included
when responding back to the client)RoomManager.joinRoom(String, String, boolean, boolean, KurentoClientSessionInfo, String)
public void leaveRoom(ParticipantRequest request)
request
- instance of ParticipantRequest
POJORoomManager.leaveRoom(String)
public void publishMedia(ParticipantRequest request, boolean isOffer, java.lang.String sdp, MediaElement loopbackAlternativeSrc, MediaType loopbackConnectionType, boolean doLoopback, MediaElement... mediaElements)
request
- instance of ParticipantRequest
POJORoomManager.publishMedia(String, boolean, String, MediaElement, MediaType, boolean, *
MediaElement...)
public void publishMedia(ParticipantRequest request, java.lang.String sdpOffer, boolean doLoopback, MediaElement... mediaElements)
request
- instance of ParticipantRequest
POJORoomManager.publishMedia(String, String, boolean, MediaElement...)
public void unpublishMedia(ParticipantRequest request)
request
- instance of ParticipantRequest
POJORoomManager.unpublishMedia(String)
public void subscribe(java.lang.String remoteName, java.lang.String sdpOffer, ParticipantRequest request)
request
- instance of ParticipantRequest
POJORoomManager.subscribe(String, String, String)
public void unsubscribe(java.lang.String remoteName, ParticipantRequest request)
request
- instance of ParticipantRequest
POJORoomManager.unsubscribe(String, String)
public void onIceCandidate(java.lang.String endpointName, java.lang.String candidate, int sdpMLineIndex, java.lang.String sdpMid, ParticipantRequest request)
public void sendMessage(java.lang.String message, java.lang.String userName, java.lang.String roomName, ParticipantRequest request)
message
- message contentsuserName
- name or identifier of the user in the roomroomName
- room's namerequest
- instance of ParticipantRequest
POJO@PreDestroy public void close()
RoomManager.close()
public java.util.Set<java.lang.String> getRooms()
RoomManager.getRooms()
public java.util.Set<UserParticipant> getParticipants(java.lang.String roomName) throws RoomException
RoomException
RoomManager.getParticipants(String)
public java.util.Set<UserParticipant> getPublishers(java.lang.String roomName) throws RoomException
RoomException
RoomManager.getPublishers(String)
public java.util.Set<UserParticipant> getSubscribers(java.lang.String roomName) throws RoomException
RoomException
RoomManager.getSubscribers(String)
public java.util.Set<UserParticipant> getPeerPublishers(java.lang.String participantId) throws RoomException
RoomException
RoomManager.getPeerPublishers(String)
public java.util.Set<UserParticipant> getPeerSubscribers(java.lang.String participantId) throws RoomException
RoomException
RoomManager.getPeerSubscribers(String)
public void createRoom(KurentoClientSessionInfo kcSessionInfo) throws RoomException
RoomException
RoomManager.createRoom(KurentoClientSessionInfo)
public MediaPipeline getPipeline(java.lang.String participantId) throws RoomException
RoomException
RoomManager.getPipeline(String)
public void evictParticipant(java.lang.String participantId) throws RoomException
RoomException
RoomManager.leaveRoom(String)
public void closeRoom(java.lang.String roomName) throws RoomException
RoomException
RoomManager.closeRoom(String)
public java.lang.String generatePublishOffer(java.lang.String participantId) throws RoomException
RoomException
RoomManager.generatePublishOffer(String)
public void addMediaElement(java.lang.String participantId, MediaElement element) throws RoomException
RoomException
RoomManager.addMediaElement(String, MediaElement)
public void addMediaElement(java.lang.String participantId, MediaElement element, MediaType type) throws RoomException
RoomException
RoomManager.addMediaElement(String, MediaElement, MediaType)
public void removeMediaElement(java.lang.String participantId, MediaElement element) throws RoomException
RoomException
RoomManager.removeMediaElement(String, MediaElement)
public void mutePublishedMedia(MutedMediaType muteType, java.lang.String participantId) throws RoomException
RoomException
RoomManager.mutePublishedMedia(MutedMediaType, String)
public void unmutePublishedMedia(java.lang.String participantId) throws RoomException
RoomException
RoomManager.unmutePublishedMedia(String)
public void muteSubscribedMedia(java.lang.String remoteName, MutedMediaType muteType, java.lang.String participantId) throws RoomException
RoomException
RoomManager.muteSubscribedMedia(String, MutedMediaType, String)
public void unmuteSubscribedMedia(java.lang.String remoteName, java.lang.String participantId) throws RoomException
RoomException
RoomManager.unmuteSubscribedMedia(String, String)
public RoomManager getRoomManager()
public void updateFilter(java.lang.String roomId, java.lang.String filterId)