OLD | NEW |
1 /* | 1 /* |
2 * Copyright (C) 2012 Google Inc. All rights reserved. | 2 * Copyright (C) 2012 Google Inc. All rights reserved. |
3 * | 3 * |
4 * Redistribution and use in source and binary forms, with or without | 4 * Redistribution and use in source and binary forms, with or without |
5 * modification, are permitted provided that the following conditions | 5 * modification, are permitted provided that the following conditions |
6 * are met: | 6 * are met: |
7 * | 7 * |
8 * 1. Redistributions of source code must retain the above copyright | 8 * 1. Redistributions of source code must retain the above copyright |
9 * notice, this list of conditions and the following disclaimer. | 9 * notice, this list of conditions and the following disclaimer. |
10 * 2. Redistributions in binary form must reproduce the above copyright | 10 * 2. Redistributions in binary form must reproduce the above copyright |
(...skipping 72 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
83 for (size_t i = 0; i < observers.size(); ++i) | 83 for (size_t i = 0; i < observers.size(); ++i) |
84 observers[i] = nullptr; | 84 observers[i] = nullptr; |
85 } | 85 } |
86 } | 86 } |
87 | 87 |
88 void MediaStreamSource::AddObserver(MediaStreamSource::Observer* observer) { | 88 void MediaStreamSource::AddObserver(MediaStreamSource::Observer* observer) { |
89 observers_.insert(observer); | 89 observers_.insert(observer); |
90 } | 90 } |
91 | 91 |
92 void MediaStreamSource::AddAudioConsumer(AudioDestinationConsumer* consumer) { | 92 void MediaStreamSource::AddAudioConsumer(AudioDestinationConsumer* consumer) { |
93 ASSERT(requires_consumer_); | 93 DCHECK(requires_consumer_); |
94 MutexLocker locker(audio_consumers_lock_); | 94 MutexLocker locker(audio_consumers_lock_); |
95 audio_consumers_.insert(consumer); | 95 audio_consumers_.insert(consumer); |
96 } | 96 } |
97 | 97 |
98 bool MediaStreamSource::RemoveAudioConsumer( | 98 bool MediaStreamSource::RemoveAudioConsumer( |
99 AudioDestinationConsumer* consumer) { | 99 AudioDestinationConsumer* consumer) { |
100 ASSERT(requires_consumer_); | 100 DCHECK(requires_consumer_); |
101 MutexLocker locker(audio_consumers_lock_); | 101 MutexLocker locker(audio_consumers_lock_); |
102 auto it = audio_consumers_.find(consumer); | 102 auto it = audio_consumers_.find(consumer); |
103 if (it == audio_consumers_.end()) | 103 if (it == audio_consumers_.end()) |
104 return false; | 104 return false; |
105 audio_consumers_.erase(it); | 105 audio_consumers_.erase(it); |
106 return true; | 106 return true; |
107 } | 107 } |
108 | 108 |
109 void MediaStreamSource::GetSettings(WebMediaStreamTrack::Settings& settings) { | 109 void MediaStreamSource::GetSettings(WebMediaStreamTrack::Settings& settings) { |
110 settings.device_id = Id(); | 110 settings.device_id = Id(); |
111 } | 111 } |
112 | 112 |
113 void MediaStreamSource::SetAudioFormat(size_t number_of_channels, | 113 void MediaStreamSource::SetAudioFormat(size_t number_of_channels, |
114 float sample_rate) { | 114 float sample_rate) { |
115 ASSERT(requires_consumer_); | 115 DCHECK(requires_consumer_); |
116 MutexLocker locker(audio_consumers_lock_); | 116 MutexLocker locker(audio_consumers_lock_); |
117 for (AudioDestinationConsumer* consumer : audio_consumers_) | 117 for (AudioDestinationConsumer* consumer : audio_consumers_) |
118 consumer->SetFormat(number_of_channels, sample_rate); | 118 consumer->SetFormat(number_of_channels, sample_rate); |
119 } | 119 } |
120 | 120 |
121 void MediaStreamSource::ConsumeAudio(AudioBus* bus, size_t number_of_frames) { | 121 void MediaStreamSource::ConsumeAudio(AudioBus* bus, size_t number_of_frames) { |
122 ASSERT(requires_consumer_); | 122 DCHECK(requires_consumer_); |
123 MutexLocker locker(audio_consumers_lock_); | 123 MutexLocker locker(audio_consumers_lock_); |
124 for (AudioDestinationConsumer* consumer : audio_consumers_) | 124 for (AudioDestinationConsumer* consumer : audio_consumers_) |
125 consumer->ConsumeAudio(bus, number_of_frames); | 125 consumer->ConsumeAudio(bus, number_of_frames); |
126 } | 126 } |
127 | 127 |
128 DEFINE_TRACE(MediaStreamSource) { | 128 DEFINE_TRACE(MediaStreamSource) { |
129 visitor->Trace(observers_); | 129 visitor->Trace(observers_); |
130 } | 130 } |
131 | 131 |
132 } // namespace blink | 132 } // namespace blink |
OLD | NEW |