Fix not found onMetaData method in UserVideo, and view webcam wehn promoting to moderator if webcamsOnlyForModerator is on.

This commit is contained in:
Ghazi Triki 2018-04-26 19:50:18 +01:00
parent 9c82f1486b
commit f6bb4d6471
3 changed files with 10 additions and 6 deletions

View File

@ -99,7 +99,7 @@ with BigBlueButton; if not, see <http://www.gnu.org/licenses/>.
<EventHandlers type="{UserStatusChangedEvent.USER_STATUS_CHANGED}"> <EventHandlers type="{UserStatusChangedEvent.USER_STATUS_CHANGED}">
<ObjectBuilder generator="{VideoEventMapDelegate}" cache="global" constructorArguments="{scope.dispatcher}"/> <ObjectBuilder generator="{VideoEventMapDelegate}" cache="global" constructorArguments="{scope.dispatcher}"/>
<MethodInvoker generator="{VideoEventMapDelegate}" method="webcamsOnlyForModeratorChanged"/> <MethodInvoker generator="{VideoEventMapDelegate}" method="userRoleChanged"/>
</EventHandlers> </EventHandlers>
<EventHandlers type="{StreamStoppedEvent.STREAM_STOPPED}"> <EventHandlers type="{StreamStoppedEvent.STREAM_STOPPED}">

View File

@ -114,14 +114,18 @@ package org.bigbluebutton.modules.videoconf.maps
_graphics.addStaticComponent(component); _graphics.addStaticComponent(component);
} }
public function webcamsOnlyForModeratorChanged():void { public function userRoleChanged():void {
if (!UsersUtil.amIModerator()) { webcamsOnlyForModeratorChanged(UsersUtil.amIModerator())
}
public function webcamsOnlyForModeratorChanged(promotedToModerator : Boolean = false):void {
if (!UsersUtil.amIModerator() || promotedToModerator) {
var webcamsOnlyForModerator:Boolean = LiveMeeting.inst().meeting.webcamsOnlyForModerator; var webcamsOnlyForModerator:Boolean = LiveMeeting.inst().meeting.webcamsOnlyForModerator;
for (var i:int = 0; i < UsersUtil.getUsers().length; i++) { for (var i:int = 0; i < UsersUtil.getUsers().length; i++) {
var user : User2x = User2x(UsersUtil.getUsers()[i]); var user : User2x = User2x(UsersUtil.getUsers()[i]);
if (user.role != Role.MODERATOR) { if (user.role != Role.MODERATOR) {
var streamNames:Array = LiveMeeting.inst().webcams.getStreamIdsForUser(user.intId); var streamNames:Array = LiveMeeting.inst().webcams.getStreamIdsForUser(user.intId);
if (webcamsOnlyForModerator && !UsersUtil.isMe(user.intId)) { if (webcamsOnlyForModerator && !UsersUtil.isMe(user.intId) && !promotedToModerator) {
for (var j:int = 0; j < streamNames.length; j++) { for (var j:int = 0; j < streamNames.length; j++) {
_dispatcher.dispatchEvent(new StreamStoppedEvent(user.intId, streamNames[j])); _dispatcher.dispatchEvent(new StreamStoppedEvent(user.intId, streamNames[j]));
} }

View File

@ -231,8 +231,8 @@ package org.bigbluebutton.modules.videoconf.views
LOGGER.debug(e.text); LOGGER.debug(e.text);
} }
private function onMetaData(info:Object):void { public function onMetaData(info:Object):void {
LOGGER.debug("width={0} height={1}", [info.width, info.height]); LOGGER.debug("onMetaData :: " + JSON.stringify(info));
} }
override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void { override protected function updateDisplayList(unscaledWidth:Number, unscaledHeight:Number):void {