MediaStreamAudioDestinationHandler::MediaStreamAudioDestinationHandler(AudioNode& node, size_t numberOfChannels) : AudioBasicInspectorHandler(NodeTypeMediaStreamAudioDestination, node, node.context()->sampleRate(), numberOfChannels) , m_mixBus(AudioBus::create(numberOfChannels, ProcessingSizeInFrames)) { m_source = MediaStreamSource::create("WebAudio-" + createCanonicalUUIDString(), MediaStreamSource::TypeAudio, "MediaStreamAudioDestinationNode", false, true, MediaStreamSource::ReadyStateLive, true); MediaStreamSourceVector audioSources; audioSources.append(m_source); MediaStreamSourceVector videoSources; m_stream = MediaStream::create(node.context()->executionContext(), MediaStreamDescriptor::create(audioSources, videoSources)); MediaStreamCenter::instance().didCreateMediaStreamAndTracks(m_stream->descriptor()); m_source->setAudioFormat(numberOfChannels, node.context()->sampleRate()); initialize(); }
MediaStreamAudioSourceHandler::MediaStreamAudioSourceHandler(AudioNode& node, MediaStream& mediaStream, MediaStreamTrack* audioTrack, PassOwnPtr<AudioSourceProvider> audioSourceProvider) : AudioHandler(NodeTypeMediaStreamAudioSource, node, node.context()->sampleRate()) , m_mediaStream(mediaStream) , m_audioTrack(audioTrack) , m_audioSourceProvider(audioSourceProvider) , m_sourceNumberOfChannels(0) { // Default to stereo. This could change depending on the format of the // MediaStream's audio track. addOutput(2); initialize(); }
MediaElementAudioSourceHandler::MediaElementAudioSourceHandler(AudioNode& node, HTMLMediaElement& mediaElement) : AudioHandler(NodeTypeMediaElementAudioSource, node, node.context()->sampleRate()) , m_mediaElement(mediaElement) , m_sourceNumberOfChannels(0) , m_sourceSampleRate(0) , m_passesCurrentSrcCORSAccessCheck(passesCurrentSrcCORSAccessCheck(mediaElement.currentSrc())) , m_maybePrintCORSMessage(!m_passesCurrentSrcCORSAccessCheck) , m_currentSrcString(mediaElement.currentSrc().string()) { ASSERT(isMainThread()); // Default to stereo. This could change depending on what the media element // .src is set to. addOutput(2); initialize(); }