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

Issue 2776813002: Bug Fix: WebRTC Receiver Timestamp Jump Detection (Closed)

Created:
3 years, 9 months ago by qiangchen
Modified:
3 years, 8 months ago
CC:
webrtc-reviews_webrtc.org, henrika_webrtc, zhengzhonghou_agora.io, tterriberry_mozilla.com, fengyue_agora.io, peah-webrtc, mflodman
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Bug Fix: WebRTC Receiver Timestamp Jump Detection RTCVideoEncoder does not propagate RTP timestamps properly for encoded video frames, and as such whenever switching between simulcast layers there's a large timestamp gap that causes the incoming stream to freeze (timestamps look like they're either too far ahead or too far behind the previous frame). Ideally RTCVideoEncoder would propagate these timestamps, but even so, when there's a large timestamp gap it would seem reasonable that the receiver resets quickly and consider this to be a new stream. This CL detects the large jump for timestamps, if that happens, we reset the time extrapolator, which is the class for convertion from RTP timestamp to clock time. BUG=chromium:705679 Review-Url: https://codereview.webrtc.org/2776813002 Cr-Commit-Position: refs/heads/master@{#17770} Committed: https://chromium.googlesource.com/external/webrtc/+/067121ab3f97f949a1480502e8a57f11b63a7b35

Patch Set 1 : Style #

Total comments: 3

Patch Set 2 : Timestamp Jump #

Unified diffs Side-by-side diffs Delta from patch set Stats (+9 lines, -8 lines) Patch
M webrtc/system_wrappers/source/timestamp_extrapolator.cc View 1 2 chunks +9 lines, -8 lines 0 comments Download

Messages

Total messages: 27 (15 generated)
qiangchen
Can you apply this patch and see whether the problem resolves?
3 years, 9 months ago (2017-03-24 23:27:20 UTC) #3
qiangchen
Can you take a look?
3 years, 8 months ago (2017-03-28 23:36:03 UTC) #7
pbos-webrtc
stefan@/nisse@ can either you or someone else take a look at this one? I think ...
3 years, 8 months ago (2017-03-29 16:19:44 UTC) #9
pbos-webrtc
On 2017/03/29 16:19:44, pbos-webrtc wrote: > stefan@/nisse@ can either you or someone else take a ...
3 years, 8 months ago (2017-03-29 16:20:46 UTC) #10
nisse-webrtc
I'm not really familiar with this code. But I think it generally makes sense to ...
3 years, 8 months ago (2017-03-30 06:37:07 UTC) #11
stefan-webrtc
Have you looked at this code which also tries to handle something similar? https://cs.chromium.org/chromium/src/third_party/webrtc/modules/video_coding/receiver.cc?rcl=8f121b8bcf473670bf3a60040ef9f491c3e7e76f&l=164 https://codereview.webrtc.org/2776813002/diff/40001/webrtc/system_wrappers/source/timestamp_extrapolator.cc ...
3 years, 8 months ago (2017-03-30 06:55:14 UTC) #12
stefan-webrtc
3 years, 8 months ago (2017-03-30 06:55:45 UTC) #15
qiangchen
Re stefan: Yes, I've noticed the timestamp check in VCMReceiver::FrameForDecoding, however, that function is not ...
3 years, 8 months ago (2017-03-30 17:47:38 UTC) #16
qiangchen
just add a patch utilizing DelayChange function.
3 years, 8 months ago (2017-04-04 18:19:40 UTC) #17
stefan-webrtc
lgtm
3 years, 8 months ago (2017-04-05 07:27:51 UTC) #18
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/2776813002/60001
3 years, 8 months ago (2017-04-19 16:55:27 UTC) #24
commit-bot: I haz the power
3 years, 8 months ago (2017-04-19 16:57:42 UTC) #27
Message was sent while issue was closed.
Committed patchset #2 (id:60001) as
https://chromium.googlesource.com/external/webrtc/+/067121ab3f97f949a1480502e...

Powered by Google App Engine
This is Rietveld 408576698