| 
				
			 | 
			
			
				
				@@ -62,11 +62,12 @@ end 
			 | 
		
		
	
		
			
			| 
				62
			 | 
			
				62
			 | 
			
			
				
				 local SpeakerStats = {}; 
			 | 
		
		
	
		
			
			| 
				63
			 | 
			
				63
			 | 
			
			
				
				 SpeakerStats.__index = SpeakerStats; 
			 | 
		
		
	
		
			
			| 
				64
			 | 
			
				64
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				65
			 | 
			
				
			 | 
			
			
				
				-function new_SpeakerStats(nick) 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				65
			 | 
			
			
				
				+function new_SpeakerStats(nick, context_user) 
			 | 
		
		
	
		
			
			| 
				66
			 | 
			
				66
			 | 
			
			
				
				     return setmetatable({ 
			 | 
		
		
	
		
			
			| 
				67
			 | 
			
				67
			 | 
			
			
				
				         totalDominantSpeakerTime = 0; 
			 | 
		
		
	
		
			
			| 
				68
			 | 
			
				68
			 | 
			
			
				
				         _dominantSpeakerStart = 0; 
			 | 
		
		
	
		
			
			| 
				69
			 | 
			
				69
			 | 
			
			
				
				         nick = nick; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				70
			 | 
			
			
				
				+        context_user = context_user; 
			 | 
		
		
	
		
			
			| 
				70
			 | 
			
				71
			 | 
			
			
				
				         displayName = nil; 
			 | 
		
		
	
		
			
			| 
				71
			 | 
			
				72
			 | 
			
			
				
				     }, SpeakerStats); 
			 | 
		
		
	
		
			
			| 
				72
			 | 
			
				73
			 | 
			
			
				
				 end 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -106,6 +107,7 @@ end 
			 | 
		
		
	
		
			
			| 
				106
			 | 
			
				107
			 | 
			
			
				
				 function occupant_joined(event) 
			 | 
		
		
	
		
			
			| 
				107
			 | 
			
				108
			 | 
			
			
				
				     local room = event.room; 
			 | 
		
		
	
		
			
			| 
				108
			 | 
			
				109
			 | 
			
			
				
				     local occupant = event.occupant; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				110
			 | 
			
			
				
				+ 
			 | 
		
		
	
		
			
			| 
				109
			 | 
			
				111
			 | 
			
			
				
				     local nick = jid_resource(occupant.nick); 
			 | 
		
		
	
		
			
			| 
				110
			 | 
			
				112
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				111
			 | 
			
				113
			 | 
			
			
				
				     if room.speakerStats then 
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -150,7 +152,8 @@ function occupant_joined(event) 
			 | 
		
		
	
		
			
			| 
				150
			 | 
			
				152
			 | 
			
			
				
				             room:route_stanza(stanza); 
			 | 
		
		
	
		
			
			| 
				151
			 | 
			
				153
			 | 
			
			
				
				         end 
			 | 
		
		
	
		
			
			| 
				152
			 | 
			
				154
			 | 
			
			
				
				  
			 | 
		
		
	
		
			
			| 
				153
			 | 
			
				
			 | 
			
			
				
				-        room.speakerStats[occupant.jid] = new_SpeakerStats(nick); 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				155
			 | 
			
			
				
				+        local context_user = event.origin and event.origin.jitsi_meet_context_user or nil; 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				156
			 | 
			
			
				
				+        room.speakerStats[occupant.jid] = new_SpeakerStats(nick, context_user); 
			 | 
		
		
	
		
			
			| 
				154
			 | 
			
				157
			 | 
			
			
				
				     end 
			 | 
		
		
	
		
			
			| 
				155
			 | 
			
				158
			 | 
			
			
				
				 end 
			 | 
		
		
	
		
			
			| 
				156
			 | 
			
				159
			 | 
			
			
				
				  
			 | 
		
		
	
	
		
			
			| 
				
			 | 
			
			
				
				@@ -200,4 +203,4 @@ if prosody.hosts[muc_component_host] == nil then 
			 | 
		
		
	
		
			
			| 
				200
			 | 
			
				203
			 | 
			
			
				
				     prosody.events.add_handler("host-activated", process_host); 
			 | 
		
		
	
		
			
			| 
				201
			 | 
			
				204
			 | 
			
			
				
				 else 
			 | 
		
		
	
		
			
			| 
				202
			 | 
			
				205
			 | 
			
			
				
				     process_host(muc_component_host); 
			 | 
		
		
	
		
			
			| 
				203
			 | 
			
				
			 | 
			
			
				
				-end 
			 | 
		
		
	
		
			
			| 
				
			 | 
			
				206
			 | 
			
			
				
				+end 
			 |