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

Issue 1600973002: Initialize VideoEncoder objects asynchronously. (Closed)

Created:
4 years, 11 months ago by pbos-webrtc
Modified:
4 years, 8 months ago
Reviewers:
stefan-webrtc, mflodman
CC:
webrtc-reviews_webrtc.org, interface-changes_webrtc.org, rwolff_gocast.it, video-team_agora.io, yujie_mao (webrtc), zhengzhonghou_agora.io, stefan-webrtc, tterriberry_mozilla.com, qiang.lu, niklas.enbom, andresp, peah-webrtc, the sun, pbos-webrtc, perkj_webrtc, mflodman
Base URL:
https://chromium.googlesource.com/external/webrtc.git@master
Target Ref:
refs/pending/heads/master
Project:
webrtc
Visibility:
Public.

Description

Initialize VideoEncoder objects asynchronously. Removes blocking from VideoSendStream constructor and ReconfigureVideoEncoder calls. Moves initialization onto the encoder thread and performed as soon as possible but without blocking the calling thread. BUG=webrtc:5410 R=stefan@webrtc.org

Patch Set 1 #

Total comments: 42

Patch Set 2 : comments + rebase #

Patch Set 3 : use rtc::Optional for replacement settings, fixes win compile issue #

Patch Set 4 : skip counting frames dropped before rendering #

Patch Set 5 : rename new_codec_settings #

Unified diffs Side-by-side diffs Delta from patch set Stats (+326 lines, -240 lines) Patch
M talk/media/webrtc/fakewebrtccall.h View 1 chunk +1 line, -1 line 0 comments Download
M talk/media/webrtc/fakewebrtccall.cc View 2 chunks +1 line, -2 lines 0 comments Download
M talk/media/webrtc/fakewebrtcvideoengine.h View 5 chunks +24 lines, -5 lines 0 comments Download
M talk/media/webrtc/webrtcvideoengine2.cc View 1 1 chunk +1 line, -9 lines 0 comments Download
M talk/media/webrtc/webrtcvideoengine2_unittest.cc View 1 6 chunks +15 lines, -4 lines 0 comments Download
M webrtc/call/call_perf_tests.cc View 1 1 chunk +1 line, -1 line 0 comments Download
M webrtc/modules/video_coding/video_sender.cc View 1 chunk +0 lines, -1 line 0 comments Download
M webrtc/video/payload_router.h View 2 chunks +1 line, -2 lines 0 comments Download
M webrtc/video/payload_router.cc View 1 chunk +2 lines, -6 lines 0 comments Download
M webrtc/video/payload_router_unittest.cc View 5 chunks +5 lines, -6 lines 0 comments Download
M webrtc/video/video_capture_input.h View 1 2 4 chunks +15 lines, -10 lines 0 comments Download
M webrtc/video/video_capture_input.cc View 1 2 3 4 7 chunks +56 lines, -14 lines 0 comments Download
M webrtc/video/video_capture_input_unittest.cc View 1 3 chunks +15 lines, -7 lines 0 comments Download
M webrtc/video/video_quality_test.cc View 1 2 3 9 chunks +34 lines, -6 lines 0 comments Download
M webrtc/video/video_send_stream.h View 3 chunks +3 lines, -7 lines 0 comments Download
M webrtc/video/video_send_stream.cc View 10 chunks +26 lines, -48 lines 0 comments Download
M webrtc/video/video_send_stream_tests.cc View 15 chunks +37 lines, -8 lines 0 comments Download
M webrtc/video/vie_channel.h View 2 chunks +9 lines, -4 lines 0 comments Download
M webrtc/video/vie_channel.cc View 1 5 chunks +66 lines, -55 lines 0 comments Download
M webrtc/video/vie_encoder.h View 2 chunks +2 lines, -10 lines 0 comments Download
M webrtc/video/vie_encoder.cc View 3 chunks +11 lines, -33 lines 0 comments Download
M webrtc/video_send_stream.h View 1 chunk +1 line, -1 line 0 comments Download

Messages

Total messages: 23 (6 generated)
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1600973002/1 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1600973002/1
4 years, 11 months ago (2016-01-18 20:04:07 UTC) #2
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_rel on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_rel/builds/12165)
4 years, 11 months ago (2016-01-18 20:12:38 UTC) #5
stefan-webrtc
You seem to have some compile issues still. Could you update the description with the ...
4 years, 11 months ago (2016-01-19 10:24:46 UTC) #6
stefan-webrtc
+mflodman as it would be good to get another set of eyes on this. https://codereview.webrtc.org/1600973002/diff/1/talk/media/webrtc/fakewebrtcvideoengine.h ...
4 years, 11 months ago (2016-01-19 12:02:10 UTC) #7
pbos-webrtc
comments + rebase
4 years, 11 months ago (2016-01-19 15:27:30 UTC) #8
pbos-webrtc
https://codereview.webrtc.org/1600973002/diff/1/talk/media/webrtc/fakewebrtcvideoengine.h File talk/media/webrtc/fakewebrtcvideoengine.h (right): https://codereview.webrtc.org/1600973002/diff/1/talk/media/webrtc/fakewebrtcvideoengine.h#newcode208 talk/media/webrtc/fakewebrtcvideoengine.h:208: rtc::CritScope lock(&crit_); On 2016/01/19 12:02:09, stefan-webrtc (holmer) wrote: > ...
4 years, 11 months ago (2016-01-19 15:27:58 UTC) #9
pbos-webrtc
use rtc::Optional for replacement settings, fixes win compile issue
4 years, 11 months ago (2016-01-19 15:38:28 UTC) #10
pbos-webrtc
PTAL
4 years, 11 months ago (2016-01-19 15:46:57 UTC) #11
commit-bot: I haz the power
Dry run: CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/1600973002/40001 View timeline at https://chromium-cq-status.appspot.com/patch-timeline/1600973002/40001
4 years, 11 months ago (2016-01-19 15:47:06 UTC) #13
commit-bot: I haz the power
Dry run: Try jobs failed on following builders: win_baremetal on tryserver.webrtc (JOB_FAILED, http://build.chromium.org/p/tryserver.webrtc/builders/win_baremetal/builds/8481)
4 years, 11 months ago (2016-01-19 19:29:47 UTC) #15
stefan-webrtc
https://codereview.webrtc.org/1600973002/diff/1/talk/media/webrtc/webrtcvideoengine2_unittest.cc File talk/media/webrtc/webrtcvideoengine2_unittest.cc (right): https://codereview.webrtc.org/1600973002/diff/1/talk/media/webrtc/webrtcvideoengine2_unittest.cc#newcode388 talk/media/webrtc/webrtcvideoengine2_unittest.cc:388: ASSERT_TRUE(encoder_factory.WaitForCreatedVideoEncoder()); On 2016/01/19 15:27:58, pbos-webrtc wrote: > On 2016/01/19 ...
4 years, 11 months ago (2016-01-20 12:22:48 UTC) #16
pbos-webrtc
skip counting frames dropped before rendering
4 years, 11 months ago (2016-01-20 18:56:55 UTC) #17
pbos-webrtc
WDYT w/ removing the encoder thread to VideoSendStream? https://codereview.webrtc.org/1600973002/diff/1/webrtc/video/video_capture_input.cc File webrtc/video/video_capture_input.cc (right): https://codereview.webrtc.org/1600973002/diff/1/webrtc/video/video_capture_input.cc#newcode169 webrtc/video/video_capture_input.cc:169: if ...
4 years, 11 months ago (2016-01-20 19:04:45 UTC) #18
pbos-webrtc
rename new_codec_settings
4 years, 11 months ago (2016-01-20 19:05:22 UTC) #19
pbos-webrtc
ping :)
4 years, 10 months ago (2016-01-26 17:31:28 UTC) #20
stefan-webrtc
https://codereview.webrtc.org/1600973002/diff/1/webrtc/video/video_capture_input.cc File webrtc/video/video_capture_input.cc (right): https://codereview.webrtc.org/1600973002/diff/1/webrtc/video/video_capture_input.cc#newcode177 webrtc/video/video_capture_input.cc:177: // TODO(pbos): Mock VideoSendStream. On 2016/01/20 19:04:45, pbos-webrtc wrote: ...
4 years, 10 months ago (2016-01-27 09:06:43 UTC) #21
mflodman
4 years, 10 months ago (2016-01-27 09:38:41 UTC) #23
Sorry for the late reply, but I have a few high level comments for this.

- I'd prefer to break out this in smaller CLs, like the list to vector change
doesn't really have to be in this CL and ads a bit of noise.

- Can the new logic in VideoCaptureInput instead be done in ViEEncoder? IMHO It
would be nice to avoid VideoSendStream, VideoSendStream::Config and ViEEncoder
pointers in VideoCaptureInput. This CL spreads out the logic a bit in code we're
trying to refactor, code that already today is no the easiest code to follow.

Powered by Google App Engine
This is Rietveld 408576698