Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(1301)

Issue 3000753002: Add a flags field to video timing extension. (Closed)

Created:
3 years, 4 months ago by sprang_webrtc
Modified:
3 years, 4 months ago
CC:
webrtc-reviews_webrtc.org, video-team_agora.io, danilchap, yujie_mao (webrtc), zhuangzesen_agora.io, zhengzhonghou_agora.io, stefan-webrtc, tterriberry_mozilla.com, kwiberg-webrtc, the sun, mflodman
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

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} Committed: https://chromium.googlesource.com/external/webrtc/+/cf5d485e147f7d7b3081692f101e496ce9e1d257

Patch Set 1 #

Total comments: 22

Patch Set 2 : Addressed comments #

Total comments: 14

Patch Set 3 : Addressed comments #

Total comments: 2

Patch Set 4 : switch #

Patch Set 5 : Rebase #

Patch Set 6 : objc #

Patch Set 7 : avoid potential use of uninitialzied memory #

Patch Set 8 : more objc #

Patch Set 9 : even more objc #

Patch Set 10 : android fix #

Total comments: 2

Patch Set 11 : RTCVideoEncoderH264 use kInvalid instead of 0 as flags #

Patch Set 12 : Rebase #

Patch Set 13 : Rebase, again #

Patch Set 14 : . #

Patch Set 15 : Final rebase try #

Unified diffs Side-by-side diffs Delta from patch set Stats (+211 lines, -83 lines) Patch
M webrtc/api/video/video_timing.h View 1 2 5 chunks +32 lines, -7 lines 0 comments Download
M webrtc/api/video/video_timing.cc View 1 2 2 chunks +25 lines, -7 lines 0 comments Download
M webrtc/common_video/include/video_frame.h View 1 2 3 4 1 chunk +1 line, -1 line 0 comments Download
M webrtc/common_video/video_frame.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_header_extensions.h View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc View 1 2 3 4 5 6 2 chunks +46 lines, -25 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_packet_to_send.h View 1 1 chunk +4 lines, -4 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_packet_unittest.cc View 1 2 3 chunks +67 lines, -2 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_receiver_video.cc View 2 chunks +1 line, -2 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender_unittest.cc View 4 chunks +4 lines, -3 lines 0 comments Download
M webrtc/modules/rtp_rtcp/source/rtp_sender_video.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/codecs/h264/h264_encoder_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/codecs/vp8/vp8_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/codecs/vp9/vp9_impl.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/encoded_frame.cc View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/frame_buffer.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M webrtc/modules/video_coding/frame_object.cc View 3 chunks +4 lines, -4 lines 0 comments Download
M webrtc/modules/video_coding/generic_decoder.cc View 2 chunks +2 lines, -1 line 0 comments Download
M webrtc/modules/video_coding/generic_encoder.cc View 3 chunks +7 lines, -4 lines 0 comments Download
M webrtc/modules/video_coding/generic_encoder_unittest.cc View 1 2 3 4 1 chunk +2 lines, -1 line 0 comments Download
M webrtc/sdk/android/src/jni/androidmediaencoder_jni.cc View 1 2 3 4 5 6 7 8 9 1 chunk +1 line, -1 line 0 comments Download
M webrtc/sdk/objc/Framework/Classes/PeerConnection/RTCEncodedImage.mm View 1 2 3 4 5 3 chunks +3 lines, -3 lines 0 comments Download
M webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm View 1 2 3 4 5 6 7 8 9 10 1 chunk +1 line, -1 line 0 comments Download
M webrtc/sdk/objc/Framework/Headers/WebRTC/RTCVideoCodec.h View 1 2 3 4 5 6 7 1 chunk +1 line, -1 line 0 comments Download
M webrtc/video/payload_router.cc View 2 chunks +2 lines, -4 lines 0 comments Download
M webrtc/video/rtp_video_stream_receiver.cc View 1 2 3 4 1 chunk +0 lines, -1 line 0 comments Download

Messages

Total messages: 47 (25 generated)
sprang_webrtc
3 years, 4 months ago (2017-08-11 11:07:55 UTC) #2
danilchap
https://codereview.webrtc.org/3000753002/diff/1/webrtc/api/video/video_timing.h File webrtc/api/video/video_timing.h (right): https://codereview.webrtc.org/3000753002/diff/1/webrtc/api/video/video_timing.h#newcode36 webrtc/api/video/video_timing.h:36: static constexpr uint8_t kEncodeStartDeltaIdx = 0; may be rename ...
3 years, 4 months ago (2017-08-11 12:22:36 UTC) #3
sprang_webrtc
https://codereview.webrtc.org/3000753002/diff/1/webrtc/api/video/video_timing.h File webrtc/api/video/video_timing.h (right): https://codereview.webrtc.org/3000753002/diff/1/webrtc/api/video/video_timing.h#newcode36 webrtc/api/video/video_timing.h:36: static constexpr uint8_t kEncodeStartDeltaIdx = 0; On 2017/08/11 12:22:35, ...
3 years, 4 months ago (2017-08-11 13:19:06 UTC) #4
danilchap
spotted few more typos https://codereview.webrtc.org/3000753002/diff/20001/webrtc/api/video/video_timing.cc File webrtc/api/video/video_timing.cc (right): https://codereview.webrtc.org/3000753002/diff/20001/webrtc/api/video/video_timing.cc#newcode43 webrtc/api/video/video_timing.cc:43: return flags & TimingFrameFlags::kTriggeredBySize; are ...
3 years, 4 months ago (2017-08-11 13:51:17 UTC) #5
sprang_webrtc
https://codereview.webrtc.org/3000753002/diff/20001/webrtc/api/video/video_timing.cc File webrtc/api/video/video_timing.cc (right): https://codereview.webrtc.org/3000753002/diff/20001/webrtc/api/video/video_timing.cc#newcode43 webrtc/api/video/video_timing.cc:43: return flags & TimingFrameFlags::kTriggeredBySize; On 2017/08/11 13:51:16, danilchap wrote: ...
3 years, 4 months ago (2017-08-11 15:06:34 UTC) #6
danilchap
lgtm https://codereview.webrtc.org/3000753002/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc File webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc (right): https://codereview.webrtc.org/3000753002/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc#newcode279 webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc:279: if (data.size() == (kValueSizeBytes - 1)) { rather ...
3 years, 4 months ago (2017-08-11 15:18:47 UTC) #7
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/3000753002/60001
3 years, 4 months ago (2017-08-11 15:44:12 UTC) #10
sprang_webrtc
https://codereview.webrtc.org/3000753002/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc File webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc (right): https://codereview.webrtc.org/3000753002/diff/40001/webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc#newcode279 webrtc/modules/rtp_rtcp/source/rtp_header_extensions.cc:279: if (data.size() == (kValueSizeBytes - 1)) { On 2017/08/11 ...
3 years, 4 months ago (2017-08-11 15:44:32 UTC) #11
commit-bot: I haz the power
Try jobs failed on following builders: ios64_sim_ios10_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_sim_ios10_dbg/builds/6633) linux_rel on master.tryserver.webrtc (JOB_FAILED, ...
3 years, 4 months ago (2017-08-11 15:46:24 UTC) #13
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/3000753002/80001
3 years, 4 months ago (2017-08-11 15:50:43 UTC) #16
commit-bot: I haz the power
Try jobs failed on following builders: presubmit on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/presubmit/builds/20060)
3 years, 4 months ago (2017-08-11 15:56:34 UTC) #18
sprang_webrtc
+kthelgason as owner for objc +stefan as owner for common_video and api/video
3 years, 4 months ago (2017-08-14 11:21:54 UTC) #26
kthelgason
https://codereview.webrtc.org/3000753002/diff/180001/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm File webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm (right): https://codereview.webrtc.org/3000753002/diff/180001/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm#newcode660 webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:660: frame.flags = 0; why is this not webrtc::TimingFrameFlags::kInvalid like ...
3 years, 4 months ago (2017-08-14 11:32:36 UTC) #27
sprang_webrtc
https://codereview.webrtc.org/3000753002/diff/180001/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm File webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm (right): https://codereview.webrtc.org/3000753002/diff/180001/webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm#newcode660 webrtc/sdk/objc/Framework/Classes/VideoToolbox/RTCVideoEncoderH264.mm:660: frame.flags = 0; On 2017/08/14 11:32:36, kthelgason wrote: > ...
3 years, 4 months ago (2017-08-14 11:56:44 UTC) #30
stefan-webrtc
lgtm
3 years, 4 months ago (2017-08-14 12:08:07 UTC) #31
kthelgason
lgtm for objc
3 years, 4 months ago (2017-08-14 12:18:03 UTC) #32
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/3000753002/200001
3 years, 4 months ago (2017-08-14 12:20:00 UTC) #35
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/3000753002/220001
3 years, 4 months ago (2017-08-14 12:33:07 UTC) #38
commit-bot: I haz the power
Try jobs failed on following builders: ios_api_framework on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios_api_framework/builds/10261)
3 years, 4 months ago (2017-08-14 13:25:15 UTC) #40
commit-bot: I haz the power
CQ is trying da patch. Follow status at: https://chromium-cq-status.appspot.com/v2/patch-status/codereview.webrtc.org/3000753002/280001
3 years, 4 months ago (2017-08-15 11:54:40 UTC) #43
commit-bot: I haz the power
Committed patchset #15 (id:280001) as https://chromium.googlesource.com/external/webrtc/+/cf5d485e147f7d7b3081692f101e496ce9e1d257
3 years, 4 months ago (2017-08-15 12:33:36 UTC) #46
emircan1
3 years, 4 months ago (2017-08-15 19:31:04 UTC) #47
Message was sent while issue was closed.
A revert of this CL (patchset #15 id:280001) has been created in
https://codereview.webrtc.org/2995953002/ by emircan@google.com.

The reason for reverting is: Speculative revet for breaking remoting_unittests
in fyi bots.
https://build.chromium.org/p/chromium.webrtc.fyi/waterfall?builder=Win7%20Tester.

Powered by Google App Engine
This is Rietveld 408576698