Emit no audio from DCPs if none is mapped
[dcpomatic.git] / src / lib / timer.h
index bd4e652f811cfe04d254e252f680973e5c2ed2c7..be3706607811d4c7c668430bf652162d7d434562 100644 (file)
@@ -1,5 +1,5 @@
 /*
-    Copyright (C) 2012-2019 Carl Hetherington <cth@carlh.net>
+    Copyright (C) 2012-2021 Carl Hetherington <cth@carlh.net>
 
     This file is part of DCP-o-matic.
 
 
 */
 
+
 /** @file src/timer.h
  *  @brief Some timing classes for debugging and profiling.
  */
 
+
 #ifndef DCPOMATIC_TIMER_H
 #define DCPOMATIC_TIMER_H
 
+
 #include <sys/time.h>
 #include <boost/optional.hpp>
 #include <string>
 #include <map>
 
+
 /** @class PeriodTimer
  *  @brief A class to allow timing of a period within the caller.
  *
@@ -49,6 +53,7 @@ private:
        struct timeval _start;
 };
 
+
 /** @class StateTimer
  *  @brief A class to allow measurement of the amount of time a program
  *  spends in one of a set of states.
@@ -61,9 +66,13 @@ class StateTimer
 {
 public:
        explicit StateTimer (std::string n);
+       /** @param n Name to use when giving output.
+        *  @param s Initial state.
+        */
        StateTimer (std::string n, std::string s);
        ~StateTimer ();
 
+       /** @param s New state that the caller is in */
        void set (std::string s);
        void unset ();
 
@@ -74,13 +83,8 @@ public:
        class Counts
        {
        public:
-               Counts ()
-                       : total_time (0)
-                       , number (0)
-               {}
-
-               double total_time;
-               int number;
+               double total_time = 0;
+               int number = 0;
        };
 
        std::map<std::string, Counts> counts () const {
@@ -95,9 +99,10 @@ private:
        /** current state */
        boost::optional<std::string> _state;
        /** time that _state was entered */
-       double _time;
+       double _time = 0;
        /** total time and number of entries for each state */
        std::map<std::string, Counts> _counts;
 };
 
+
 #endif