diff options
author | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
---|---|---|
committer | Lorry Tar Creator <lorry-tar-importer@lorry> | 2017-06-27 06:07:23 +0000 |
commit | 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c (patch) | |
tree | 46dcd36c86e7fbc6e5df36deb463b33e9967a6f7 /Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp | |
parent | 32761a6cee1d0dee366b885b7b9c777e67885688 (diff) | |
download | WebKitGtk-tarball-master.tar.gz |
webkitgtk-2.16.5HEADwebkitgtk-2.16.5master
Diffstat (limited to 'Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp')
-rw-r--r-- | Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp | 18 |
1 files changed, 9 insertions, 9 deletions
diff --git a/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp b/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp index 0e50258ac..77c7fbccf 100644 --- a/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp +++ b/Source/WebCore/Modules/webaudio/MediaElementAudioSourceNode.cpp @@ -40,13 +40,13 @@ const unsigned maxSampleRate = 192000; namespace WebCore { -PassRefPtr<MediaElementAudioSourceNode> MediaElementAudioSourceNode::create(AudioContext* context, HTMLMediaElement* mediaElement) +Ref<MediaElementAudioSourceNode> MediaElementAudioSourceNode::create(AudioContext& context, HTMLMediaElement& mediaElement) { - return adoptRef(new MediaElementAudioSourceNode(context, mediaElement)); + return adoptRef(*new MediaElementAudioSourceNode(context, mediaElement)); } -MediaElementAudioSourceNode::MediaElementAudioSourceNode(AudioContext* context, HTMLMediaElement* mediaElement) - : AudioNode(context, context->sampleRate()) +MediaElementAudioSourceNode::MediaElementAudioSourceNode(AudioContext& context, HTMLMediaElement& mediaElement) + : AudioNode(context, context.sampleRate()) , m_mediaElement(mediaElement) , m_sourceNumberOfChannels(0) , m_sourceSampleRate(0) @@ -61,7 +61,7 @@ MediaElementAudioSourceNode::MediaElementAudioSourceNode(AudioContext* context, MediaElementAudioSourceNode::~MediaElementAudioSourceNode() { - m_mediaElement->setAudioSourceNode(0); + m_mediaElement->setAudioSourceNode(nullptr); uninitialize(); } @@ -92,7 +92,7 @@ void MediaElementAudioSourceNode::setFormat(size_t numberOfChannels, float sourc { // The context must be locked when changing the number of output channels. - AudioContext::AutoLocker contextLocker(*context()); + AudioContext::AutoLocker contextLocker(context()); // Do any necesssary re-configuration to the output's number of channels. output(0)->setNumberOfChannels(numberOfChannels); @@ -104,7 +104,7 @@ void MediaElementAudioSourceNode::process(size_t numberOfFrames) { AudioBus* outputBus = output(0)->bus(); - if (!mediaElement() || !m_sourceNumberOfChannels || !m_sourceSampleRate) { + if (!m_sourceNumberOfChannels || !m_sourceSampleRate) { outputBus->zero(); return; } @@ -112,14 +112,14 @@ void MediaElementAudioSourceNode::process(size_t numberOfFrames) // Use a std::try_to_lock to avoid contention in the real-time audio thread. // If we fail to acquire the lock then the HTMLMediaElement must be in the middle of // reconfiguring its playback engine, so we output silence in this case. - std::unique_lock<std::mutex> lock(m_processMutex, std::try_to_lock); + std::unique_lock<Lock> lock(m_processMutex, std::try_to_lock); if (!lock.owns_lock()) { // We failed to acquire the lock. outputBus->zero(); return; } - if (AudioSourceProvider* provider = mediaElement()->audioSourceProvider()) { + if (AudioSourceProvider* provider = mediaElement().audioSourceProvider()) { if (m_multiChannelResampler.get()) { ASSERT(m_sourceSampleRate != sampleRate()); m_multiChannelResampler->process(provider, outputBus, numberOfFrames); |