return m_private->requiresAudioConsumer();
}
-class ConsumerWrapper : public AudioDestinationConsumer {
+class ConsumerWrapper FINAL : public AudioDestinationConsumer {
public:
- static PassRefPtr<ConsumerWrapper> create(WebAudioDestinationConsumer* consumer)
+ static ConsumerWrapper* create(WebAudioDestinationConsumer* consumer)
{
- return adoptRef(new ConsumerWrapper(consumer));
+ return new ConsumerWrapper(consumer);
}
virtual void setFormat(size_t numberOfChannels, float sampleRate) OVERRIDE;
ASSERT(isMainThread());
ASSERT(!m_private.isNull() && consumer);
- const Vector<RefPtr<AudioDestinationConsumer> >& consumers = m_private->audioConsumers();
- for (Vector<RefPtr<AudioDestinationConsumer> >::const_iterator it = consumers.begin(); it != consumers.end(); ++it) {
+ const HeapHashSet<Member<AudioDestinationConsumer> >& consumers = m_private->audioConsumers();
+ for (HeapHashSet<Member<AudioDestinationConsumer> >::const_iterator it = consumers.begin(); it != consumers.end(); ++it) {
ConsumerWrapper* wrapper = static_cast<ConsumerWrapper*>(it->get());
if (wrapper->consumer() == consumer) {
m_private->removeAudioConsumer(wrapper);