Add a flags field to video timing extension.
The rtp header extension for video timing shuold have an additional field for signaling metadata, such as what triggered the extension for this particular frame. This will allow separating frames select because of outlier sizes from regular frames, for more accurate stats. This implementation is backwards compatible in that it can read video timing extensions without the new flag field, but it always sends with it included. BUG=webrtc:7594 Review-Url: https://codereview.webrtc.org/3000753002 Cr-Commit-Position: refs/heads/master@{#19353}
This commit is contained in:
@ -20,7 +20,7 @@
|
||||
@synthesize timeStamp = _timeStamp;
|
||||
@synthesize captureTimeMs = _captureTimeMs;
|
||||
@synthesize ntpTimeMs = _ntpTimeMs;
|
||||
@synthesize isTimingFrame = _isTimingFrame;
|
||||
@synthesize flags = _flags;
|
||||
@synthesize encodeStartMs = _encodeStartMs;
|
||||
@synthesize encodeFinishMs = _encodeFinishMs;
|
||||
@synthesize frameType = _frameType;
|
||||
@ -40,7 +40,7 @@
|
||||
_timeStamp = encodedImage._timeStamp;
|
||||
_captureTimeMs = encodedImage.capture_time_ms_;
|
||||
_ntpTimeMs = encodedImage.ntp_time_ms_;
|
||||
_isTimingFrame = encodedImage.timing_.is_timing_frame;
|
||||
_flags = encodedImage.timing_.flags;
|
||||
_encodeStartMs = encodedImage.timing_.encode_start_ms;
|
||||
_encodeFinishMs = encodedImage.timing_.encode_finish_ms;
|
||||
_frameType = (RTCFrameType)encodedImage._frameType;
|
||||
@ -64,7 +64,7 @@
|
||||
encodedImage._timeStamp = _timeStamp;
|
||||
encodedImage.capture_time_ms_ = _captureTimeMs;
|
||||
encodedImage.ntp_time_ms_ = _ntpTimeMs;
|
||||
encodedImage.timing_.is_timing_frame = _isTimingFrame;
|
||||
encodedImage.timing_.flags = _flags;
|
||||
encodedImage.timing_.encode_start_ms = _encodeStartMs;
|
||||
encodedImage.timing_.encode_finish_ms = _encodeFinishMs;
|
||||
encodedImage._frameType = webrtc::FrameType(_frameType);
|
||||
|
||||
@ -657,7 +657,7 @@ CFStringRef ExtractProfile(const cricket::VideoCodec &codec) {
|
||||
frame.rotation = rotation;
|
||||
frame.contentType = (_mode == RTCVideoCodecModeScreensharing) ? RTCVideoContentTypeScreenshare :
|
||||
RTCVideoContentTypeUnspecified;
|
||||
frame.isTimingFrame = NO;
|
||||
frame.flags = webrtc::TimingFrameFlags::kInvalid;
|
||||
|
||||
int qp;
|
||||
_h264BitstreamParser.ParseBitstream(buffer->data(), buffer->size());
|
||||
|
||||
Reference in New Issue
Block a user