From 1bf1084f2b10c3b47fd1a588d85d21ed0eb41d0c Mon Sep 17 00:00:00 2001 From: Lorry Tar Creator Date: Tue, 27 Jun 2017 06:07:23 +0000 Subject: webkitgtk-2.16.5 --- .../Modules/webaudio/MediaStreamAudioSourceNode.h | 42 +++++++++++----------- 1 file changed, 20 insertions(+), 22 deletions(-) (limited to 'Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h') diff --git a/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h b/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h index 7ff95adfe..bcdcfc66f 100644 --- a/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h +++ b/Source/WebCore/Modules/webaudio/MediaStreamAudioSourceNode.h @@ -22,8 +22,7 @@ * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. */ -#ifndef MediaStreamAudioSourceNode_h -#define MediaStreamAudioSourceNode_h +#pragma once #if ENABLE(WEB_AUDIO) && ENABLE(MEDIA_STREAM) @@ -31,50 +30,49 @@ #include "AudioSourceProvider.h" #include "AudioSourceProviderClient.h" #include "MediaStream.h" -#include -#include +#include "MultiChannelResampler.h" +#include +#include namespace WebCore { class AudioContext; +class MultiChannelResampler; class MediaStreamAudioSourceNode : public AudioNode, public AudioSourceProviderClient { public: - static PassRefPtr create(AudioContext*, MediaStream*, MediaStreamTrack*, AudioSourceProvider*); + static Ref create(AudioContext&, MediaStream&, MediaStreamTrack&); virtual ~MediaStreamAudioSourceNode(); - MediaStream* mediaStream() { return m_mediaStream.get(); } + MediaStream* mediaStream() { return &m_mediaStream.get(); } // AudioNode - virtual void process(size_t framesToProcess); - virtual void reset(); + void process(size_t framesToProcess) override; + void reset() override { } // AudioSourceProviderClient - virtual void setFormat(size_t numberOfChannels, float sampleRate); - - AudioSourceProvider* audioSourceProvider() const { return m_audioSourceProvider; } + void setFormat(size_t numberOfChannels, float sampleRate) override; private: - MediaStreamAudioSourceNode(AudioContext*, MediaStream*, MediaStreamTrack*, AudioSourceProvider*); + MediaStreamAudioSourceNode(AudioContext&, MediaStream&, MediaStreamTrack&); - virtual double tailTime() const override { return 0; } - virtual double latencyTime() const override { return 0; } + double tailTime() const override { return 0; } + double latencyTime() const override { return 0; } // As an audio source, we will never propagate silence. - virtual bool propagatesSilence() const override { return false; } + bool propagatesSilence() const override { return false; } - RefPtr m_mediaStream; - RefPtr m_audioTrack; - AudioSourceProvider* m_audioSourceProvider; + Ref m_mediaStream; + Ref m_audioTrack; + std::unique_ptr m_multiChannelResampler; - std::mutex m_processMutex; + Lock m_processMutex; - unsigned m_sourceNumberOfChannels; + unsigned m_sourceNumberOfChannels { 0 }; + double m_sourceSampleRate { 0 }; }; } // namespace WebCore #endif // ENABLE(WEB_AUDIO) && ENABLE(MEDIA_STREAM) - -#endif // MediaStreamAudioSourceNode_h -- cgit v1.2.1