Coverage Report

Created: 2018-09-25 14:53

/work/obj-fuzz/dist/include/mozilla/dom/ChannelSplitterNode.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 2; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim:set ts=2 sw=2 sts=2 et cindent: */
3
/* This Source Code Form is subject to the terms of the Mozilla Public
4
 * License, v. 2.0. If a copy of the MPL was not distributed with this
5
 * file, You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef ChannelSplitterNode_h_
8
#define ChannelSplitterNode_h_
9
10
#include "AudioNode.h"
11
12
namespace mozilla {
13
namespace dom {
14
15
class AudioContext;
16
struct ChannelSplitterOptions;
17
18
class ChannelSplitterNode final : public AudioNode
19
{
20
public:
21
  static already_AddRefed<ChannelSplitterNode>
22
  Create(AudioContext& aAudioContext, const ChannelSplitterOptions& aOptions,
23
         ErrorResult& aRv);
24
25
  NS_INLINE_DECL_REFCOUNTING_INHERITED(ChannelSplitterNode, AudioNode)
26
27
  static already_AddRefed<ChannelSplitterNode>
28
  Constructor(const GlobalObject& aGlobal, AudioContext& aAudioContext,
29
              const ChannelSplitterOptions& aOptions, ErrorResult& aRv)
30
0
  {
31
0
    return Create(aAudioContext, aOptions, aRv);
32
0
  }
33
34
  void SetChannelCount(uint32_t aChannelCount, ErrorResult& aRv) override
35
0
  {
36
0
    aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
37
0
  }
38
  void SetChannelCountModeValue(ChannelCountMode aMode, ErrorResult& aRv) override
39
0
  {
40
0
    aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
41
0
  }
42
  void SetChannelInterpretationValue(ChannelInterpretation aMode, ErrorResult& aRv) override
43
0
  {
44
0
    aRv.Throw(NS_ERROR_DOM_INVALID_STATE_ERR);
45
0
  }
46
47
  JSObject* WrapObject(JSContext* aCx, JS::Handle<JSObject*> aGivenProto) override;
48
49
0
  uint16_t NumberOfOutputs() const override { return mOutputCount; }
50
51
  const char* NodeType() const override
52
0
  {
53
0
    return "ChannelSplitterNode";
54
0
  }
55
56
  size_t SizeOfIncludingThis(MallocSizeOf aMallocSizeOf) const override
57
0
  {
58
0
    return aMallocSizeOf(this) + SizeOfExcludingThis(aMallocSizeOf);
59
0
  }
60
61
private:
62
  ChannelSplitterNode(AudioContext* aContext,
63
                      uint16_t aOutputCount);
64
  ~ChannelSplitterNode() = default;
65
66
  const uint16_t mOutputCount;
67
};
68
69
} // namespace dom
70
} // namespace mozilla
71
72
#endif