Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(358)

Side by Side Diff: Source/modules/webaudio/AudioContext.h

Issue 520433002: Output silence if the MediaElementAudioSourceNode has a different origin (Closed) Base URL: svn://svn.chromium.org/blink/trunk
Patch Set: Use correct names for the test files. Created 6 years, 3 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 /* 1 /*
2 * Copyright (C) 2010, Google Inc. All rights reserved. 2 * Copyright (C) 2010, 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 * 1. Redistributions of source code must retain the above copyright 7 * 1. Redistributions of source code must retain the above copyright
8 * notice, this list of conditions and the following disclaimer. 8 * notice, this list of conditions and the following disclaimer.
9 * 2. Redistributions in binary form must reproduce the above copyright 9 * 2. Redistributions in binary form must reproduce the above copyright
10 * notice, this list of conditions and the following disclaimer in the 10 * notice, this list of conditions and the following disclaimer in the
(...skipping 49 matching lines...) Expand 10 before | Expand all | Expand 10 after
60 class ExceptionState; 60 class ExceptionState;
61 class GainNode; 61 class GainNode;
62 class HTMLMediaElement; 62 class HTMLMediaElement;
63 class MediaElementAudioSourceNode; 63 class MediaElementAudioSourceNode;
64 class MediaStreamAudioDestinationNode; 64 class MediaStreamAudioDestinationNode;
65 class MediaStreamAudioSourceNode; 65 class MediaStreamAudioSourceNode;
66 class OscillatorNode; 66 class OscillatorNode;
67 class PannerNode; 67 class PannerNode;
68 class PeriodicWave; 68 class PeriodicWave;
69 class ScriptProcessorNode; 69 class ScriptProcessorNode;
70 class SecurityOrigin;
70 class WaveShaperNode; 71 class WaveShaperNode;
71 72
72 // AudioContext is the cornerstone of the web audio API and all AudioNodes are c reated from it. 73 // AudioContext is the cornerstone of the web audio API and all AudioNodes are c reated from it.
73 // For thread safety between the audio thread and the main thread, it has a rend ering graph locking mechanism. 74 // For thread safety between the audio thread and the main thread, it has a rend ering graph locking mechanism.
74 75
75 class AudioContext : public RefCountedGarbageCollectedWillBeGarbageCollectedFina lized<AudioContext>, public ActiveDOMObject, public EventTargetWithInlineData { 76 class AudioContext : public RefCountedGarbageCollectedWillBeGarbageCollectedFina lized<AudioContext>, public ActiveDOMObject, public EventTargetWithInlineData {
76 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<A udioContext>); 77 DEFINE_EVENT_TARGET_REFCOUNTING_WILL_BE_REMOVED(RefCountedGarbageCollected<A udioContext>);
77 DEFINE_WRAPPERTYPEINFO(); 78 DEFINE_WRAPPERTYPEINFO();
78 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(AudioContext); 79 WILL_BE_USING_GARBAGE_COLLECTED_MIXIN(AudioContext);
79 public: 80 public:
(...skipping 148 matching lines...) Expand 10 before | Expand all | Expand 10 after
228 virtual const AtomicString& interfaceName() const OVERRIDE FINAL; 229 virtual const AtomicString& interfaceName() const OVERRIDE FINAL;
229 virtual ExecutionContext* executionContext() const OVERRIDE FINAL; 230 virtual ExecutionContext* executionContext() const OVERRIDE FINAL;
230 231
231 DEFINE_ATTRIBUTE_EVENT_LISTENER(complete); 232 DEFINE_ATTRIBUTE_EVENT_LISTENER(complete);
232 233
233 void startRendering(); 234 void startRendering();
234 void fireCompletionEvent(); 235 void fireCompletionEvent();
235 236
236 static unsigned s_hardwareContextCount; 237 static unsigned s_hardwareContextCount;
237 238
239 // Get the security origin for this audio context.
240 PassRefPtr<SecurityOrigin> securityOrigin() const;
241
238 protected: 242 protected:
239 explicit AudioContext(Document*); 243 explicit AudioContext(Document*);
240 AudioContext(Document*, unsigned numberOfChannels, size_t numberOfFrames, fl oat sampleRate); 244 AudioContext(Document*, unsigned numberOfChannels, size_t numberOfFrames, fl oat sampleRate);
241 245
242 static bool isSampleRateRangeGood(float sampleRate); 246 static bool isSampleRateRangeGood(float sampleRate);
243 247
244 private: 248 private:
245 void initialize(); 249 void initialize();
246 void uninitialize(); 250 void uninitialize();
247 251
(...skipping 106 matching lines...) Expand 10 before | Expand all | Expand 10 after
354 HashSet<AudioNode*> m_deferredCountModeChange; 358 HashSet<AudioNode*> m_deferredCountModeChange;
355 359
356 // This is considering 32 is large enough for multiple channels audio. 360 // This is considering 32 is large enough for multiple channels audio.
357 // It is somewhat arbitrary and could be increased if necessary. 361 // It is somewhat arbitrary and could be increased if necessary.
358 enum { MaxNumberOfChannels = 32 }; 362 enum { MaxNumberOfChannels = 32 };
359 }; 363 };
360 364
361 } // namespace blink 365 } // namespace blink
362 366
363 #endif // AudioContext_h 367 #endif // AudioContext_h
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698