summaryrefslogtreecommitdiffstats
path: root/xbmc/utils/test/TestBitstreamStats.cpp
diff options
context:
space:
mode:
authormanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
committermanuel <manuel@mausz.at>2020-10-19 00:52:24 +0200
commitbe933ef2241d79558f91796cc5b3a161f72ebf9c (patch)
treefe3ab2f130e20c99001f2d7a81d610c78c96a3f4 /xbmc/utils/test/TestBitstreamStats.cpp
parent5f8335c1e49ce108ef3481863833c98efa00411b (diff)
downloadkodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.gz
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.tar.bz2
kodi-pvr-build-be933ef2241d79558f91796cc5b3a161f72ebf9c.zip
sync with upstream
Diffstat (limited to 'xbmc/utils/test/TestBitstreamStats.cpp')
-rw-r--r--xbmc/utils/test/TestBitstreamStats.cpp58
1 files changed, 58 insertions, 0 deletions
diff --git a/xbmc/utils/test/TestBitstreamStats.cpp b/xbmc/utils/test/TestBitstreamStats.cpp
new file mode 100644
index 0000000..69e4c88
--- /dev/null
+++ b/xbmc/utils/test/TestBitstreamStats.cpp
@@ -0,0 +1,58 @@
1/*
2 * Copyright (C) 2005-2018 Team Kodi
3 * This file is part of Kodi - https://kodi.tv
4 *
5 * SPDX-License-Identifier: GPL-2.0-or-later
6 * See LICENSES/README.md for more information.
7 */
8
9#include "threads/Thread.h"
10#include "utils/BitstreamStats.h"
11
12#include <gtest/gtest.h>
13
14#define BITS (256 * 8)
15#define BYTES (256)
16
17class CTestBitstreamStatsThread : public CThread
18{
19public:
20 CTestBitstreamStatsThread() :
21 CThread("TestBitstreamStats"){}
22
23};
24
25TEST(TestBitstreamStats, General)
26{
27 int i;
28 BitstreamStats a;
29 CTestBitstreamStatsThread t;
30
31 i = 0;
32 a.Start();
33 EXPECT_EQ(0.0, a.GetBitrate());
34 EXPECT_EQ(0.0, a.GetMaxBitrate());
35 EXPECT_EQ(-1.0, a.GetMinBitrate());
36 while (i <= BITS)
37 {
38 a.AddSampleBits(1);
39 i++;
40 t.Sleep(1);
41 }
42 a.CalculateBitrate();
43 EXPECT_GT(a.GetBitrate(), 0.0);
44 EXPECT_GT(a.GetMaxBitrate(), 0.0);
45 EXPECT_GT(a.GetMinBitrate(), 0.0);
46
47 i = 0;
48 while (i <= BYTES)
49 {
50 a.AddSampleBytes(1);
51 t.Sleep(2);
52 i++;
53 }
54 a.CalculateBitrate();
55 EXPECT_GT(a.GetBitrate(), 0.0);
56 EXPECT_GT(a.GetMaxBitrate(), 0.0);
57 EXPECT_LE(a.GetMinBitrate(), a.GetMaxBitrate());
58}