Coverage Report

Created: 2018-09-25 14:53

/src/mozilla-central/media/webrtc/signaling/src/common/EncodingConstraints.h
Line
Count
Source (jump to first uncovered line)
1
/* -*- Mode: C++; tab-width: 8; indent-tabs-mode: nil; c-basic-offset: 2 -*- */
2
/* vim: set ts=2 et sw=2 tw=80: */
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 file,
5
 * You can obtain one at http://mozilla.org/MPL/2.0/. */
6
7
#ifndef _ENCODING_CONSTRAINTS_H_
8
#define _ENCODING_CONSTRAINTS_H_
9
10
#include <algorithm>
11
12
namespace mozilla
13
{
14
class EncodingConstraints
15
{
16
public:
17
  EncodingConstraints() :
18
    maxWidth(0),
19
    maxHeight(0),
20
    maxFps(0),
21
    maxFs(0),
22
    maxBr(0),
23
    maxPps(0),
24
    maxMbps(0),
25
    maxCpb(0),
26
    maxDpb(0),
27
    scaleDownBy(1.0)
28
3.21k
  {}
29
30
  bool operator==(const EncodingConstraints& constraints) const
31
0
  {
32
0
    return
33
0
      maxWidth == constraints.maxWidth &&
34
0
      maxHeight == constraints.maxHeight &&
35
0
      maxFps == constraints.maxFps &&
36
0
      maxFs == constraints.maxFs &&
37
0
      maxBr == constraints.maxBr &&
38
0
      maxPps == constraints.maxPps &&
39
0
      maxMbps == constraints.maxMbps &&
40
0
      maxCpb == constraints.maxCpb &&
41
0
      maxDpb == constraints.maxDpb &&
42
0
      scaleDownBy == constraints.scaleDownBy;
43
0
  }
44
45
  /**
46
   * This returns true if the constraints affecting resolution are equal.
47
   */
48
  bool ResolutionEquals(const EncodingConstraints& constraints) const
49
0
  {
50
0
    return
51
0
      maxWidth == constraints.maxWidth &&
52
0
      maxHeight == constraints.maxHeight &&
53
0
      maxFs == constraints.maxFs &&
54
0
      scaleDownBy == constraints.scaleDownBy;
55
0
  }
56
57
  uint32_t maxWidth;
58
  uint32_t maxHeight;
59
  uint32_t maxFps;
60
  uint32_t maxFs;
61
  uint32_t maxBr;
62
  uint32_t maxPps;
63
  uint32_t maxMbps; // macroblocks per second
64
  uint32_t maxCpb; // coded picture buffer size
65
  uint32_t maxDpb; // decoded picture buffer size
66
  double scaleDownBy; // To preserve resolution
67
};
68
} // namespace mozilla
69
70
#endif // _ENCODING_CONSTRAINTS_H_