time_keeper.h 461 Bytes
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#pragma once

#include <stdlib.h>
#include <chrono>

namespace ffmpeg {

/**
 * Class keeps the track of the decoded timestamps (us) for media streams.
 */

class TimeKeeper {
 public:
  TimeKeeper() = default;

  // adjust provided @timestamp to the corrected value
  // return advised sleep time before next frame processing in (us)
  long adjust(long& decoderTimestamp);

 private:
  long startTime_{0};
  long streamTimestamp_{0};
};

} // namespace ffmpeg