diff options
Diffstat (limited to 'Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp')
-rw-r--r-- | Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp | 46 |
1 files changed, 26 insertions, 20 deletions
diff --git a/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp b/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp index ffabd5ed2..4c274aee5 100644 --- a/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp +++ b/Source/WebCore/Modules/webaudio/MediaStreamAudioSource.cpp @@ -10,10 +10,10 @@ * notice, this list of conditions and the following disclaimer in the * documentation and/or other materials provided with the distribution. * - * THIS SOFTWARE IS PROVIDED BY APPLE COMPUTER, INC. ``AS IS'' AND ANY + * THIS SOFTWARE IS PROVIDED BY APPLE INC. ``AS IS'' AND ANY * EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR - * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE COMPUTER, INC. OR + * PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL APPLE INC. OR * CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, * EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, * PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR @@ -24,27 +24,27 @@ */ #include "config.h" +#include "MediaStreamAudioSource.h" #if ENABLE(MEDIA_STREAM) -#include "MediaStreamAudioSource.h" - +#include "AudioSourceProvider.h" #include "NotImplemented.h" #include "UUID.h" namespace WebCore { -RefPtr<MediaStreamAudioSource> MediaStreamAudioSource::create() +Ref<MediaStreamAudioSource> MediaStreamAudioSource::create() { - return adoptRef(new MediaStreamAudioSource()); + return adoptRef(*new MediaStreamAudioSource()); } MediaStreamAudioSource::MediaStreamAudioSource() - : MediaStreamSource(ASCIILiteral("WebAudio-") + createCanonicalUUIDString(), MediaStreamSource::Audio, "MediaStreamAudioDestinationNode") + : RealtimeMediaSource(ASCIILiteral("WebAudio-") + createCanonicalUUIDString(), RealtimeMediaSource::Audio, "MediaStreamAudioDestinationNode") { } -RefPtr<MediaStreamSourceCapabilities> MediaStreamAudioSource::capabilities() const +RefPtr<RealtimeMediaSourceCapabilities> MediaStreamAudioSource::capabilities() const { // FIXME: implement this. // https://bugs.webkit.org/show_bug.cgi?id=122430 @@ -52,24 +52,30 @@ RefPtr<MediaStreamSourceCapabilities> MediaStreamAudioSource::capabilities() con return nullptr; } -const MediaStreamSourceStates& MediaStreamAudioSource::states() +const RealtimeMediaSourceSettings& MediaStreamAudioSource::settings() const { // FIXME: implement this. // https://bugs.webkit.org/show_bug.cgi?id=122430 notImplemented(); - return m_currentStates; - + return m_currentSettings; +} + +AudioSourceProvider* MediaStreamAudioSource::audioSourceProvider() +{ + // FIXME: implement this. + notImplemented(); + return nullptr; } -void MediaStreamAudioSource::addAudioConsumer(PassRefPtr<AudioDestinationConsumer> consumer) +void MediaStreamAudioSource::addAudioConsumer(AudioDestinationConsumer* consumer) { - MutexLocker locker(m_audioConsumersLock); + LockHolder locker(m_audioConsumersLock); m_audioConsumers.append(consumer); } bool MediaStreamAudioSource::removeAudioConsumer(AudioDestinationConsumer* consumer) { - MutexLocker locker(m_audioConsumersLock); + LockHolder locker(m_audioConsumersLock); size_t pos = m_audioConsumers.find(consumer); if (pos != notFound) { m_audioConsumers.remove(pos); @@ -80,16 +86,16 @@ bool MediaStreamAudioSource::removeAudioConsumer(AudioDestinationConsumer* consu void MediaStreamAudioSource::setAudioFormat(size_t numberOfChannels, float sampleRate) { - MutexLocker locker(m_audioConsumersLock); - for (Vector<RefPtr<AudioDestinationConsumer>>::iterator it = m_audioConsumers.begin(); it != m_audioConsumers.end(); ++it) - (*it)->setFormat(numberOfChannels, sampleRate); + LockHolder locker(m_audioConsumersLock); + for (auto& consumer : m_audioConsumers) + consumer->setFormat(numberOfChannels, sampleRate); } void MediaStreamAudioSource::consumeAudio(AudioBus* bus, size_t numberOfFrames) { - MutexLocker locker(m_audioConsumersLock); - for (Vector<RefPtr<AudioDestinationConsumer>>::iterator it = m_audioConsumers.begin(); it != m_audioConsumers.end(); ++it) - (*it)->consumeAudio(bus, numberOfFrames); + LockHolder locker(m_audioConsumersLock); + for (auto& consumer : m_audioConsumers) + consumer->consumeAudio(bus, numberOfFrames); } } // namespace WebCore |