mirror of
https://github.com/mozilla/gecko-dev.git
synced 2024-11-07 04:05:49 +00:00
21fef81a58
Here is what this patch does: * Got rid of the JSBindingFinalized stuff * Made all nodes wrappercached * Started to hold a self reference while the AudioBufferSourceNode is playing back * Converted the input references to weak references * Got rid of all of the SetProduceOwnOutput and UpdateOutputEnded logic The nodes are now collected by the cycle collector which calls into DisconnectFromGraph which drops the references to other nodes and destroys the media stream. Note that most of the cycles that are now inherent in the ownership model are between nodes and their AudioParams (that is, the cycles not created by content.)
38 lines
823 B
C++
38 lines
823 B
C++
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
|
|
/* vim:set ts=2 sw=2 sts=2 et cindent: */
|
|
/* This Source Code Form is subject to the terms of the Mozilla Public
|
|
* License, v. 2.0. If a copy of the MPL was not distributed with this
|
|
* file, You can obtain one at http://mozilla.org/MPL/2.0/. */
|
|
|
|
#ifndef AudioDestinationNode_h_
|
|
#define AudioDestinationNode_h_
|
|
|
|
#include "AudioNode.h"
|
|
|
|
namespace mozilla {
|
|
namespace dom {
|
|
|
|
class AudioContext;
|
|
|
|
class AudioDestinationNode : public AudioNode
|
|
{
|
|
public:
|
|
AudioDestinationNode(AudioContext* aContext, MediaStreamGraph* aGraph);
|
|
|
|
NS_DECL_ISUPPORTS_INHERITED
|
|
|
|
virtual JSObject* WrapObject(JSContext* aCx, JSObject* aScope) MOZ_OVERRIDE;
|
|
|
|
virtual uint32_t NumberOfOutputs() const MOZ_FINAL MOZ_OVERRIDE
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
};
|
|
|
|
}
|
|
}
|
|
|
|
#endif
|
|
|