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

Issue 2199133004: PacketBuffer is now ref counted. (Closed)

Created:
4 years, 4 months ago by philipel
Modified:
4 years, 4 months ago
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, zhengzhonghou_agora.io, video-team_agora.io, stefan-webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

PacketBuffer is now ref counted. Since all FrameObjects have a reference to its PacketBuffer and since the PacketBuffer can be thrown away at any moment the PacketBuffer has to be ref counted in order to avoid FrameObjects dereferencing a potentially destroyed object. BUG=webrtc:5514 R=danilchap@webrtc.org, mflodman@webrtc.org, stefan@webrtc.org Committed: https://chromium.googlesource.com/external/webrtc/+/17deeb47edf9d63cdb827c2295762c956bbe31e5

Patch Set 1 #

Total comments: 4

Patch Set 2 : PacketBuffer/RtpFrameReferenceFinder can now be stopped. #

Total comments: 2

Patch Set 3 : Moved RtpFrameReferenceFinder out of PacketBuffer. #

Total comments: 28

Patch Set 4 : PacketBufferFake -> FakePacketBuffer + removed old comments. #

Total comments: 21

Patch Set 5 : Feedback fixes. #

Total comments: 2

Patch Set 6 : Nit fix #

Total comments: 2

Patch Set 7 : Nit fixes + rebase #

Patch Set 8 : #include <utility> for std::move #

Unified diffs Side-by-side diffs Delta from patch set Stats (+1415 lines, -1421 lines) Patch
M webrtc/modules/BUILD.gn View 1 2 1 chunk +1 line, -0 lines 0 comments Download
M webrtc/modules/modules.gyp View 1 2 3 4 5 6 9 chunks +31 lines, -30 lines 0 comments Download
M webrtc/modules/video_coding/frame_object.h View 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/packet_buffer.h View 1 2 3 4 5 4 chunks +34 lines, -14 lines 0 comments Download
M webrtc/modules/video_coding/packet_buffer.cc View 1 2 3 4 5 6 7 6 chunks +29 lines, -9 lines 0 comments Download
M webrtc/modules/video_coding/rtp_frame_reference_finder.h View 1 2 1 chunk +9 lines, -1 line 0 comments Download
A webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc View 1 2 3 4 1 chunk +1195 lines, -0 lines 0 comments Download
M webrtc/modules/video_coding/video_packet_buffer_unittest.cc View 1 2 3 4 10 chunks +115 lines, -1366 lines 0 comments Download

Messages

Total messages: 52 (24 generated)
philipel
4 years, 4 months ago (2016-08-02 13:13:08 UTC) #2
danilchap
https://codereview.webrtc.org/2199133004/diff/1/webrtc/modules/video_coding/packet_buffer.cc File webrtc/modules/video_coding/packet_buffer.cc (right): https://codereview.webrtc.org/2199133004/diff/1/webrtc/modules/video_coding/packet_buffer.cc#newcode181 webrtc/modules/video_coding/packet_buffer.cc:181: reference_finder_.ManageFrame(std::move(frame)); this look like a circular dependency: { auto ...
4 years, 4 months ago (2016-08-02 14:04:46 UTC) #3
philipel
Hmm.. to fix the circular dependency problem I added a Stop function to PacketBuffer/RtpFrameReferenceFinder which ...
4 years, 4 months ago (2016-08-02 14:39:59 UTC) #4
danilchap
Thinking about similar solution: split PacketBuffer into two parts. One is 'static' (and keep RtpFrameRefernceFinder) ...
4 years, 4 months ago (2016-08-02 15:29:34 UTC) #5
philipel
4 years, 4 months ago (2016-08-04 11:51:36 UTC) #6
stefan-webrtc
lgtm, but please get an lg from danil too. https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc File webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc (right): https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc#newcode27 webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc:27: ...
4 years, 4 months ago (2016-08-04 14:32:30 UTC) #8
philipel
https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc File webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc (right): https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc#newcode27 webrtc/modules/video_coding/rtp_frame_reference_finder_unittest.cc:27: class PacketBufferFake : public PacketBuffer { On 2016/08/04 14:32:30, ...
4 years, 4 months ago (2016-08-04 14:45:02 UTC) #11
danilchap
not a full review yet, just some nits https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.cc File webrtc/modules/video_coding/packet_buffer.cc (left): https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.cc#oldcode72 webrtc/modules/video_coding/packet_buffer.cc:72: // ...
4 years, 4 months ago (2016-08-04 16:03:10 UTC) #14
danilchap
More proper review, concentrating on the CL's topic (looks good) and changes (see comments) instead ...
4 years, 4 months ago (2016-08-05 12:50:51 UTC) #15
philipel
https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.cc File webrtc/modules/video_coding/packet_buffer.cc (left): https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.cc#oldcode72 webrtc/modules/video_coding/packet_buffer.cc:72: // If this is a padding or FEC packet, ...
4 years, 4 months ago (2016-08-08 13:34:58 UTC) #16
danilchap
The change lgtm % nits https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.cc File webrtc/modules/video_coding/packet_buffer.cc (right): https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.cc#newcode16 webrtc/modules/video_coding/packet_buffer.cc:16: #include "webrtc/base/checks.h" #include "webrtc/base/atomicops.h" ...
4 years, 4 months ago (2016-08-08 14:49:31 UTC) #17
philipel
Good tip about //clang-format off/on :) https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.h File webrtc/modules/video_coding/packet_buffer.h (right): https://codereview.webrtc.org/2199133004/diff/40001/webrtc/modules/video_coding/packet_buffer.h#newcode55 webrtc/modules/video_coding/packet_buffer.h:55: virtual ~PacketBuffer(); On ...
4 years, 4 months ago (2016-08-08 15:02:44 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/2199133004/100001
4 years, 4 months ago (2016-08-08 15:02:56 UTC) #21
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/7248)
4 years, 4 months ago (2016-08-08 15:09:37 UTC) #23
philipel
Magnus, a lgtm for webrtc/modules/BUILD.gn please :)
4 years, 4 months ago (2016-08-08 15:18:25 UTC) #25
mflodman
One nit / kind of unrelated comment for the gyp file, but LGTM for BUID.gn. ...
4 years, 4 months ago (2016-08-09 12:25:06 UTC) #26
philipel
https://codereview.webrtc.org/2199133004/diff/100001/webrtc/modules/modules.gyp File webrtc/modules/modules.gyp (right): https://codereview.webrtc.org/2199133004/diff/100001/webrtc/modules/modules.gyp#newcode379 webrtc/modules/modules.gyp:379: 'video_coding/video_packet_buffer_unittest.cc', On 2016/08/09 12:25:05, mflodman wrote: > video_coding/video_packet_buffer_unittest.cc is ...
4 years, 4 months ago (2016-08-09 13:06:33 UTC) #27
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/2199133004/120001
4 years, 4 months ago (2016-08-09 13:06:52 UTC) #30
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/7286)
4 years, 4 months ago (2016-08-09 13:42:01 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/2199133004/140001
4 years, 4 months ago (2016-08-09 14:19:40 UTC) #35
commit-bot: I haz the power
Try jobs failed on following builders: win_baremetal on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_baremetal/builds/13153)
4 years, 4 months ago (2016-08-09 14:23:27 UTC) #37
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/2199133004/140001
4 years, 4 months ago (2016-08-10 09:36:08 UTC) #39
commit-bot: I haz the power
Try jobs failed on following builders: android_gn_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/android_gn_dbg/builds/13067)
4 years, 4 months ago (2016-08-10 09:39:38 UTC) #41
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/2199133004/140001
4 years, 4 months ago (2016-08-10 16:42:35 UTC) #43
commit-bot: I haz the power
Try jobs failed on following builders: ios64_gn_dbg on master.tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/ios64_gn_dbg/builds/1715) ios64_gn_rel on master.tryserver.webrtc (JOB_FAILED, ...
4 years, 4 months ago (2016-08-10 16:44:25 UTC) #45
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/2199133004/140001
4 years, 4 months ago (2016-08-11 10:50:30 UTC) #47
commit-bot: I haz the power
Try jobs failed on following builders: android_arm64_rel on master.tryserver.webrtc (JOB_TIMED_OUT, no build URL)
4 years, 4 months ago (2016-08-11 12:51:09 UTC) #49
philipel
4 years, 4 months ago (2016-08-11 13:09:49 UTC) #52
Message was sent while issue was closed.
Committed patchset #8 (id:140001) manually as
17deeb47edf9d63cdb827c2295762c956bbe31e5 (presubmit successful).

Powered by Google App Engine
This is Rietveld 408576698