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

Issue 2745583006: Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper (Closed)

Created:
3 years, 9 months ago by ilnik
Modified:
3 years, 9 months ago
Reviewers:
tommi, stefan-webrtc
CC:
webrtc-reviews_webrtc.org, tterriberry_mozilla.com, kjellander_webrtc, sprang_webrtc
Target Ref:
refs/heads/master
Project:
webrtc
Visibility:
Public.

Description

Reland of rewrite frame generator capturer to use TaskQueue instead of EventTimeWrapper. Fix CallPerfTest.ReceivesCpuOveruseAndUnderuse to not fail on Android with new FrameGeneratorCapturer. BUG=webrtc:7301 Review-Url: https://codereview.webrtc.org/2745583006 Cr-Commit-Position: refs/heads/master@{#17168} Committed: https://chromium.googlesource.com/external/webrtc/+/b00742508ae9320ce86ad2963c18443a83976999

Patch Set 1 : Already reviewed at issue 2740723002 #

Patch Set 2 : Make overuse in CallPerfTest more reliable #

Total comments: 2
Unified diffs Side-by-side diffs Delta from patch set Stats (+48 lines, -23 lines) Patch
M webrtc/call/call_perf_tests.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M webrtc/test/frame_generator_capturer.h View 1 4 chunks +6 lines, -5 lines 0 comments Download
M webrtc/test/frame_generator_capturer.cc View 1 7 chunks +41 lines, -17 lines 2 comments Download

Messages

Total messages: 28 (13 generated)
ilnik
Created Reland of write frame generator capturer to use TaskQueue instead of EventTimeWrapper
3 years, 9 months ago (2017-03-10 12:06:36 UTC) #1
ilnik
On 2017/03/10 12:06:36, ilnik wrote: > Created Reland of write frame generator capturer to use ...
3 years, 9 months ago (2017-03-10 12:08:49 UTC) #3
ilnik
Stefan, please take a look at CallPerfTest. Rewritten FrameGeneratorCapturer seems to be less accurate on ...
3 years, 9 months ago (2017-03-10 14:17:31 UTC) #7
stefan-webrtc
On 2017/03/10 14:17:31, ilnik wrote: > Stefan, please take a look at CallPerfTest. > Rewritten ...
3 years, 9 months ago (2017-03-10 14:23:32 UTC) #8
ilnik
On 2017/03/10 14:23:32, stefan-webrtc wrote: > On 2017/03/10 14:17:31, ilnik wrote: > > Stefan, please ...
3 years, 9 months ago (2017-03-10 15:00:02 UTC) #9
stefan-webrtc
lgtm
3 years, 9 months ago (2017-03-10 15:10:10 UTC) #12
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/2745583006/70001
3 years, 9 months ago (2017-03-10 15:18:37 UTC) #15
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/2745583006/70001
3 years, 9 months ago (2017-03-10 15:41:27 UTC) #18
commit-bot: I haz the power
Committed patchset #2 (id:70001) as https://chromium.googlesource.com/external/webrtc/+/b00742508ae9320ce86ad2963c18443a83976999
3 years, 9 months ago (2017-03-10 15:43:37 UTC) #21
tommi
I filed issue: https://bugs.chromium.org/p/webrtc/issues/detail?id=7325 https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generator_capturer.cc File webrtc/test/frame_generator_capturer.cc (right): https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generator_capturer.cc#newcode48 webrtc/test/frame_generator_capturer.cc:48: webrtc::test::FrameGeneratorCapturer* const frame_generator_capturer_; There's a ...
3 years, 9 months ago (2017-03-10 17:30:01 UTC) #23
ilnik
https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generator_capturer.cc File webrtc/test/frame_generator_capturer.cc (right): https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generator_capturer.cc#newcode48 webrtc/test/frame_generator_capturer.cc:48: webrtc::test::FrameGeneratorCapturer* const frame_generator_capturer_; On 2017/03/10 17:30:01, tommi (webrtc) wrote: ...
3 years, 9 months ago (2017-03-10 17:44:06 UTC) #24
ilnik
A revert of this CL (patchset #2 id:70001) has been created in https://codereview.webrtc.org/2743993002/ by ilnik@webrtc.org. ...
3 years, 9 months ago (2017-03-10 17:49:31 UTC) #25
tommi
On 2017/03/10 17:44:06, ilnik wrote: > https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generator_capturer.cc > File webrtc/test/frame_generator_capturer.cc (right): > > https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generator_capturer.cc#newcode48 > ...
3 years, 9 months ago (2017-03-10 18:00:40 UTC) #26
ilnik
On 2017/03/10 18:00:40, tommi (webrtc) wrote: > On 2017/03/10 17:44:06, ilnik wrote: > > > ...
3 years, 9 months ago (2017-03-10 18:06:09 UTC) #27
tommi
3 years, 9 months ago (2017-03-10 18:21:57 UTC) #28
Message was sent while issue was closed.
On 2017/03/10 18:06:09, ilnik wrote:
> On 2017/03/10 18:00:40, tommi (webrtc) wrote:
> > On 2017/03/10 17:44:06, ilnik wrote:
> > >
> >
>
https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generat...
> > > File webrtc/test/frame_generator_capturer.cc (right):
> > > 
> > >
> >
>
https://codereview.webrtc.org/2745583006/diff/70001/webrtc/test/frame_generat...
> > > webrtc/test/frame_generator_capturer.cc:48:
> > > webrtc::test::FrameGeneratorCapturer* const frame_generator_capturer_;
> > > On 2017/03/10 17:30:01, tommi (webrtc) wrote:
> > > > There's a race related to using this pointer since the task queue can
live
> > > > longer than the FrameGeneratorCapturer instance and the InsertFrameTask
> can
> > > > therefore outlive the object pointed to here.
> > > 
> > > But the task queue in question is the member of the frame generator. How
can
> > it
> > > outlive it?
> > 
> > ah - could it be that the criticalsection is deleted before the taskqueue?
> 
> That sounds like the only plausible explanation. Also sending_ variable is
used
> inside the task queue thread.
> Could you give advice on how to deal with it? I need to somehow check that
> taskQueue stopped working completely inside the destructor of the frame
> generator? Will that be enough?

I'd make the task queue the last member variable in the class and add a comment
that explains that it needs to be destructed before all other member variables
to ensure that pending tasks that might have a pointer back to |this|, are
deleted before destruction continues.

Powered by Google App Engine
This is Rietveld 408576698