| 283 | } |
| 284 | |
| 285 | Voice::SpeakerPtr Voice::speaker(SpeakerId speakerId) { |
| 286 | if (m_speakerId == speakerId) |
| 287 | return m_clientSpeaker; |
| 288 | else { |
| 289 | if (SpeakerPtr const* ptr = m_speakers.ptr(speakerId)) |
| 290 | return *ptr; |
| 291 | else |
| 292 | return m_speakers.emplace(speakerId, make_shared<Speaker>(speakerId)).first->second; |
| 293 | } |
| 294 | } |
| 295 | |
| 296 | HashMap<Voice::SpeakerId, Voice::SpeakerPtr>& Voice::speakers() { |
| 297 | return m_speakers; |
no test coverage detected