From 60450c40a068dc1975b3a6cb00fe3ceb6a4218b0 Mon Sep 17 00:00:00 2001 From: pabloFuente Date: Thu, 2 Aug 2018 14:12:41 +0200 Subject: [PATCH] openvidu-server: publish with filter throws exception if no permission --- .../kurento/core/KurentoSessionManager.java | 17 ++++++++++++++--- 1 file changed, 14 insertions(+), 3 deletions(-) diff --git a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java index e8265d58..89b17108 100644 --- a/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java +++ b/openvidu-server/src/main/java/io/openvidu/server/kurento/core/KurentoSessionManager.java @@ -241,9 +241,20 @@ public class KurentoSessionManager extends SessionManager { */ KurentoTokenOptions kurentoTokenOptions = participant.getToken().getKurentoTokenOptions(); - if (kurentoOptions.getFilter() != null && kurentoTokenOptions != null - && kurentoTokenOptions.isFilterAllowed(kurentoOptions.getFilter().getType())) { - this.applyFilterInPublisher(kParticipant, kurentoOptions.getFilter()); + if (kurentoOptions.getFilter() != null && kurentoTokenOptions != null) { + if (kurentoTokenOptions.isFilterAllowed(kurentoOptions.getFilter().getType())) { + this.applyFilterInPublisher(kParticipant, kurentoOptions.getFilter()); + } else { + OpenViduException e = new OpenViduException(Code.FILTER_NOT_APPLIED_ERROR_CODE, + "Error applying filter for publishing user " + participant.getParticipantPublicId() + + ". The token has no permissions to apply filter " + + kurentoOptions.getFilter().getType()); + log.error("PARTICIPANT {}: Error applying filter. The token has no permissions to apply filter {}", + participant.getParticipantPublicId(), kurentoOptions.getFilter().getType(), e); + sessionEventsHandler.onPublishMedia(participant, null, session.getSessionId(), mediaOptions, sdpAnswer, + participants, transactionId, e); + throw e; + } } sdpAnswer = kParticipant.publishToRoom(sdpType, kurentoOptions.sdpOffer, kurentoOptions.doLoopback,