diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as index d8e73c7d77..423ebfc68a 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/GraphicsWrapper.as @@ -252,6 +252,7 @@ package org.bigbluebutton.modules.videoconf.views LOGGER.debug("[GraphicsWrapper:addVideoForHelper] streamName {0}", [streamName]); var graphic:UserGraphicHolder = new UserGraphicHolder(); graphic.userId = userId; + graphic.streamName = streamName; graphic.addEventListener(FlexEvent.CREATION_COMPLETE, function(event:FlexEvent):void { graphic.loadVideo(_options, connection, streamName); onChildAdd(event); @@ -375,7 +376,7 @@ package org.bigbluebutton.modules.videoconf.views for (var i:int = 0; i < numChildren; ++i) { var item:UserGraphicHolder = getChildAt(i) as UserGraphicHolder; - if (item.user && item.user.userID == userId && item.visibleComponent is UserVideo && item.video.streamName == streamName) { + if (item.userId == userId && item.streamName == streamName) { camIndex = item.video.camIndex; removeChildHelper(item); break; diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml index dd7a250d0d..d2fadcd009 100755 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserGraphicHolder.mxml @@ -62,6 +62,8 @@ with BigBlueButton; if not, see . private var _dispatcher:Dispatcher = new Dispatcher(); private var _images:Images = new Images(); private var _user:BBBUser = null; + private var _streamName:String = ""; + private var _userId:String = ""; private var _hideMuteBtnTimer:Timer; @@ -75,6 +77,19 @@ with BigBlueButton; if not, see . public function set userId(value:String):void { _user = UsersUtil.getUser(value); + _userId = value; + } + + public function set streamName(value:String):void { + _streamName = value; + } + + public function get streamName():String { + return _streamName; + } + + public function get userId():String { + return _userId; } public function loadAvatar(options:VideoConfOptions):void { diff --git a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserVideo.as b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserVideo.as index ab8e7fe6a2..316a7034a7 100644 --- a/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserVideo.as +++ b/bigbluebutton-client/src/org/bigbluebutton/modules/videoconf/views/UserVideo.as @@ -79,14 +79,16 @@ package org.bigbluebutton.modules.videoconf.views } private function startPublishing():void { - _streamName = newStreamName(); - _shuttingDown = false; + if(!_shuttingDown){ + _streamName = newStreamName(); + _shuttingDown = false; - var e:StartBroadcastEvent = new StartBroadcastEvent(); - e.stream = _streamName; - e.camera = _video.getCamera(); - e.videoProfile = _videoProfile; - _dispatcher.dispatchEvent(e); + var e:StartBroadcastEvent = new StartBroadcastEvent(); + e.stream = _streamName; + e.camera = _video.getCamera(); + e.videoProfile = _videoProfile; + _dispatcher.dispatchEvent(e); + } } public function shutdown():void {