Implement timing frames.

Timing information is gathered in EncodedImage,
starting at encoders. Then it's sent using RTP header extension. In the
end, it's gathered at the GenericDecoder. Actual reporting and tests
will be in the next CLs.

BUG=webrtc:7594

Review-Url: https://codereview.webrtc.org/2911193002
Cr-Commit-Position: refs/heads/master@{#18659}
This commit is contained in:
ilnik
2017-06-19 07:18:55 -07:00
committed by Commit Bot
parent 3b921f0856
commit 04f4d126f8
53 changed files with 844 additions and 16 deletions

View File

@ -39,7 +39,14 @@ namespace webrtc {
#define VCM_NO_FRAME_DECODED -11
#define VCM_NOT_IMPLEMENTED -20
enum { kDefaultStartBitrateKbps = 300 };
enum {
kDefaultStartBitrateKbps = 300,
// Timing frames settings. Timing frames are sent every
// |kDefaultTimingFramesDelayMs|, or if the frame is at least
// |kDefaultOutliserFrameSizePercent| in size of average frame.
kDefaultTimingFramesDelayMs = 200,
kDefaultOutlierFrameSizePercent = 250,
};
enum VCMVideoProtection {
kProtectionNone,