src/media/audio/audio_core/audio_object.cc
void AudioObject::ForEachDestLink(const LinkFunction& dest_task) {
  TRACE_DURATION("audio", "AudioObject::ForEachDestLink");
  std::lock_guard<std::mutex> links_lock(links_lock_);

  // Callers (generally AudioRenderers) should never be linked to sources.
  FX_DCHECK(source_links_.is_empty());

  for (auto& link : dest_links_) {
    dest_task(link);
  }
}
// Call the provided function for each dest link (passing the link as a param). This distributes
// calls such as SetGain to every AudioRenderer output path.
Call the provided function for each dest link (passing the link as a param). This distributes
calls such as SetGain to every AudioRenderer output path.
Call the provided function for each dest link ( passing the link as a param ) . This distributes calls such as SetGain to every AudioRenderer output path .
void AudioObject::ForEachDestLink(const LinkFunction& dest_task) {
  TRACE_DURATION("audio", "AudioObject::ForEachDestLink");
  std::lock_guard<std::mutex> links_lock(links_lock_);
  FX_DCHECK(source_links_.is_empty());
  for (auto& link : dest_links_) {
    dest_task(link);
  }
}
void AudioObject :: ForEachDestLink ( const LinkFunction & dest_task ) { TRACE_DURATION ( " " , " " ) ; std :: lock_guard < std :: mutex > links_lock ( links_lock_ ) ; FX_DCHECK ( source_links_ . is_empty ( ) ) ; for ( auto & link : dest_links_ ) { dest_task ( link ) ; } }
Call the provided function for each dest link (passing the link as a param).
Call the provided function for each dest link ( passing the link as a param ) .
// Callers (generally AudioRenderers) should never be linked to sources.