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

Issue 905023005: Pepper: PPB_VideoEncoder implementation (Closed)

Created:
5 years, 10 months ago by llandwerlin-old
Modified:
5 years, 10 months ago
CC:
chromium-reviews, mkwst+moarreviews-renderer_chromium.org, darin-cc_chromium.org, mlamouri+watch-content_chromium.org, piman+watch_chromium.org
Base URL:
https://chromium.googlesource.com/chromium/src.git@master
Target Ref:
refs/pending/heads/master
Project:
chromium
Visibility:
Public.

Description

Pepper: PPB_VideoEncoder implementation BUG=455409 TEST=run ./ppapi_unittests --gtest_filter=VideoEncoderResourceTest Committed: https://crrev.com/c3f15126607423812eaefe48ecdcb0ffd39c5e05 Cr-Commit-Position: refs/heads/master@{#317938}

Patch Set 1 #

Total comments: 57

Patch Set 2 : Update after bbudge's review #

Total comments: 94

Patch Set 3 : Update after bbudge's review of the renderer #

Patch Set 4 : Update after bbudge's review of the proxy #

Total comments: 36

Patch Set 5 : Deal with Encode() callbacks in the proxy #

Total comments: 89

Patch Set 6 : Split initialization and bitstream buffers messages #

Patch Set 7 : Split error notification from error state #

Total comments: 4

Patch Set 8 : Send bitstream buffers in their own ppapi ipc message #

Total comments: 44

Patch Set 9 : Update after bbudge's review #

Total comments: 31

Patch Set 10 : Update after bbudge's review #

Total comments: 7

Patch Set 11 : Final nits #

Total comments: 7

Patch Set 12 : tsepez's nits #

Patch Set 13 : Fix build issues #

Patch Set 14 : Fix unit tests with dchecks enabled #

Patch Set 15 : Fix remaining win compile errors #

Patch Set 16 : Fix unittest on Windows #

Patch Set 17 : Fix issue with gpu process communication not yet established when requesting supported codecs #

Patch Set 18 : Fix size_t->uint32_t conversion on Windows #

Patch Set 19 : Fix size_t->uint32_t conversion on Windows #

Total comments: 7

Patch Set 20 : Do not create more than one gpu channel #

Patch Set 21 : Fix size_t to uint32_t conversion on Windows #

Patch Set 22 : fix unittest on win_chromium_x64_rel_ng #

Unified diffs Side-by-side diffs Delta from patch set Stats (+2491 lines, -16 lines) Patch
M chrome/test/ppapi/ppapi_browsertest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -0 lines 0 comments Download
M content/common/gpu/gpu_process_launch_causes.h View 1 1 chunk +1 line, -0 lines 0 comments Download
M content/content_renderer.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +2 lines, -0 lines 0 comments Download
M content/renderer/pepper/content_renderer_pepper_host_factory.cc View 1 2 3 4 5 6 7 8 9 10 11 12 2 chunks +4 lines, -0 lines 0 comments Download
A content/renderer/pepper/pepper_video_encoder_host.h View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +158 lines, -0 lines 0 comments Download
A content/renderer/pepper/pepper_video_encoder_host.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 1 chunk +652 lines, -0 lines 0 comments Download
M content/test/ppapi/ppapi_browsertest.cc View 1 2 3 4 5 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/ppapi_sources.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +2 lines, -0 lines 0 comments Download
M ppapi/ppapi_tests.gypi View 1 2 3 4 5 6 7 8 9 10 11 12 1 chunk +1 line, -0 lines 0 comments Download
M ppapi/proxy/ppapi_messages.h View 1 2 3 4 5 6 7 8 9 10 11 12 3 chunks +49 lines, -0 lines 0 comments Download
M ppapi/proxy/video_encoder_resource.h View 1 2 3 4 5 6 7 8 3 chunks +100 lines, -1 line 0 comments Download
M ppapi/proxy/video_encoder_resource.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 3 chunks +363 lines, -15 lines 0 comments Download
A ppapi/proxy/video_encoder_resource_unittest.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 1 chunk +1085 lines, -0 lines 0 comments Download
A ppapi/tests/test_video_encoder.h View 1 chunk +29 lines, -0 lines 0 comments Download
A ppapi/tests/test_video_encoder.cc View 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 1 chunk +41 lines, -0 lines 0 comments Download

Messages

Total messages: 59 (12 generated)
llandwerlin-old
wfh@ bbudge@ jam@: Please review this to implement the PPB_VideoEncoder API, Thanks.
5 years, 10 months ago (2015-02-09 15:00:54 UTC) #2
llandwerlin-old
I forgot to mention it, but this depends on https://codereview.chromium.org/877353002/
5 years, 10 months ago (2015-02-09 15:26:43 UTC) #3
bbudge
Partial review. Mostly of VideoEncoderResource. https://codereview.chromium.org/905023005/diff/1/content/common/gpu/gpu_process_launch_causes.h File content/common/gpu/gpu_process_launch_causes.h (right): https://codereview.chromium.org/905023005/diff/1/content/common/gpu/gpu_process_launch_causes.h#newcode20 content/common/gpu/gpu_process_launch_causes.h:20: CAUSE_FOR_GPU_LAUNCH_PEPPERVIDEOENCODERACCELERATOR_INITIALIZE, Are you sure ...
5 years, 10 months ago (2015-02-10 01:31:09 UTC) #4
llandwerlin-old
PTAL, Thanks. https://codereview.chromium.org/905023005/diff/1/content/common/gpu/gpu_process_launch_causes.h File content/common/gpu/gpu_process_launch_causes.h (right): https://codereview.chromium.org/905023005/diff/1/content/common/gpu/gpu_process_launch_causes.h#newcode20 content/common/gpu/gpu_process_launch_causes.h:20: CAUSE_FOR_GPU_LAUNCH_PEPPERVIDEOENCODERACCELERATOR_INITIALIZE, On 2015/02/10 01:31:07, bbudge wrote: > ...
5 years, 10 months ago (2015-02-10 14:28:14 UTC) #5
jam
On 2015/02/09 15:00:54, llandwerlin wrote: > wfh@ bbudge@ jam@: Please review this to implement the ...
5 years, 10 months ago (2015-02-10 17:23:39 UTC) #6
llandwerlin-old
On 2015/02/10 17:23:39, jam wrote: > On 2015/02/09 15:00:54, llandwerlin wrote: > > wfh@ bbudge@ ...
5 years, 10 months ago (2015-02-10 17:26:08 UTC) #7
jam
On 2015/02/10 17:26:08, llandwerlin wrote: > On 2015/02/10 17:23:39, jam wrote: > > On 2015/02/09 ...
5 years, 10 months ago (2015-02-10 20:30:43 UTC) #8
bbudge
https://codereview.chromium.org/905023005/diff/1/ppapi/proxy/video_encoder_resource.cc File ppapi/proxy/video_encoder_resource.cc (right): https://codereview.chromium.org/905023005/diff/1/ppapi/proxy/video_encoder_resource.cc#newcode293 ppapi/proxy/video_encoder_resource.cc:293: bitstream_buffers_map_.clear(); On 2015/02/10 14:28:13, llandwerlin wrote: > On 2015/02/10 ...
5 years, 10 months ago (2015-02-10 22:47:39 UTC) #9
llandwerlin-old
Hopefully, I haven't left anything unanswered. There is still one issue : SyncCall on Close(). ...
5 years, 10 months ago (2015-02-11 18:42:25 UTC) #11
bbudge
https://codereview.chromium.org/905023005/diff/20001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/20001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode189 content/renderer/pepper/pepper_video_encoder_host.cc:189: encoder_last_error_(PP_ERROR_FAILED), On 2015/02/11 18:42:23, llandwerlin wrote: > On 2015/02/10 ...
5 years, 10 months ago (2015-02-11 23:27:46 UTC) #12
bbudge
https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode441 content/renderer/pepper/pepper_video_encoder_host.cc:441: DCHECK(RenderThreadImpl::current()); On 2015/02/11 23:27:45, bbudge wrote: > Rereading the ...
5 years, 10 months ago (2015-02-12 02:25:36 UTC) #13
llandwerlin-old
PTAL, Thanks. https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode26 content/renderer/pepper/pepper_video_encoder_host.cc:26: using ppapi::proxy::SerializedHandle; On 2015/02/11 23:27:45, bbudge wrote: ...
5 years, 10 months ago (2015-02-12 15:59:41 UTC) #14
bbudge
Question answered, I'll review this today. https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode441 content/renderer/pepper/pepper_video_encoder_host.cc:441: DCHECK(RenderThreadImpl::current()); On 2015/02/12 ...
5 years, 10 months ago (2015-02-12 18:18:11 UTC) #15
llandwerlin-old
On 2015/02/12 18:18:11, bbudge wrote: > Question answered, I'll review this today. > > https://codereview.chromium.org/905023005/diff/60001/content/renderer/pepper/pepper_video_encoder_host.cc ...
5 years, 10 months ago (2015-02-12 21:38:47 UTC) #16
bbudge
This is looking good. Mostly minor issues. I want to unblock you, so I still ...
5 years, 10 months ago (2015-02-12 22:22:10 UTC) #17
bbudge
Make sure to run unit tests in DEBUG mode to catch leaked resources etc. https://codereview.chromium.org/905023005/diff/80001/ppapi/proxy/video_encoder_resource_unittest.cc ...
5 years, 10 months ago (2015-02-13 01:45:55 UTC) #18
bbudge
On 2015/02/13 01:45:55, bbudge wrote: > Make sure to run unit tests in DEBUG mode ...
5 years, 10 months ago (2015-02-13 01:47:06 UTC) #19
llandwerlin-old
PTAL, Thanks. Ended up changing more stuff than I wanted to. Splitting initialize and bitstream ...
5 years, 10 months ago (2015-02-13 20:12:26 UTC) #20
bbudge
https://codereview.chromium.org/905023005/diff/80001/ppapi/tests/test_video_encoder.h File ppapi/tests/test_video_encoder.h (right): https://codereview.chromium.org/905023005/diff/80001/ppapi/tests/test_video_encoder.h#newcode29 ppapi/tests/test_video_encoder.h:29: #endif // PPAPI_TESTS_TEST_VIDEO_ENCODER_H_ On 2015/02/13 20:12:26, llandwerlin wrote: > ...
5 years, 10 months ago (2015-02-17 18:38:04 UTC) #21
llandwerlin-old
PTAL Your suggestion of have an initialize message with the number/sizes of frames and another ...
5 years, 10 months ago (2015-02-18 13:01:44 UTC) #22
bbudge
https://codereview.chromium.org/905023005/diff/140001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/140001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode177 content/renderer/pepper/pepper_video_encoder_host.cc:177: // No default case, to catch unhandled PP_HardwareAcceleration values. ...
5 years, 10 months ago (2015-02-18 22:53:01 UTC) #23
llandwerlin-old
https://codereview.chromium.org/905023005/diff/140001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/140001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode177 content/renderer/pepper/pepper_video_encoder_host.cc:177: // No default case, to catch unhandled PP_HardwareAcceleration values. ...
5 years, 10 months ago (2015-02-19 15:55:46 UTC) #24
bbudge
Really close now. https://codereview.chromium.org/905023005/diff/140001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/140001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode408 content/renderer/pepper/pepper_video_encoder_host.cc:408: } On 2015/02/19 15:55:45, llandwerlin wrote: ...
5 years, 10 months ago (2015-02-19 20:30:55 UTC) #25
llandwerlin-old
Thanks for your time on the review. https://codereview.chromium.org/905023005/diff/140001/ppapi/proxy/video_encoder_resource.cc File ppapi/proxy/video_encoder_resource.cc (right): https://codereview.chromium.org/905023005/diff/140001/ppapi/proxy/video_encoder_resource.cc#newcode302 ppapi/proxy/video_encoder_resource.cc:302: TryWriteVideoFrame(); On ...
5 years, 10 months ago (2015-02-20 12:19:17 UTC) #26
bbudge
A few minor things, otherwise LGTM https://codereview.chromium.org/905023005/diff/160001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/160001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode517 content/renderer/pepper/pepper_video_encoder_host.cc:517: return; On 2015/02/20 ...
5 years, 10 months ago (2015-02-20 15:56:14 UTC) #27
llandwerlin-old
https://codereview.chromium.org/905023005/diff/160001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/160001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode517 content/renderer/pepper/pepper_video_encoder_host.cc:517: return; On 2015/02/20 15:56:13, bbudge wrote: > On 2015/02/20 ...
5 years, 10 months ago (2015-02-20 16:10:52 UTC) #28
llandwerlin-old
@wfh: Could review the ppapi_messages.h file? Thanks
5 years, 10 months ago (2015-02-20 16:28:04 UTC) #30
bbudge
+tsepez for IPC review
5 years, 10 months ago (2015-02-20 16:35:52 UTC) #32
Tom Sepez
Messages themselves are OK, but one question and some nits. Thanks. https://codereview.chromium.org/905023005/diff/200001/content/renderer/pepper/pepper_video_encoder_host.h File content/renderer/pepper/pepper_video_encoder_host.h (right): ...
5 years, 10 months ago (2015-02-20 17:48:03 UTC) #33
Will Harris
On 2015/02/20 16:28:04, llandwerlin wrote: > @wfh: Could review the ppapi_messages.h file? Thanks Yup, was ...
5 years, 10 months ago (2015-02-20 17:53:30 UTC) #34
bbudge
Whoops @wfh, I didn't realize you were already on for IPC review. https://codereview.chromium.org/905023005/diff/200001/ppapi/proxy/video_encoder_resource.cc File ppapi/proxy/video_encoder_resource.cc ...
5 years, 10 months ago (2015-02-20 18:06:49 UTC) #35
llandwerlin-old
https://codereview.chromium.org/905023005/diff/200001/content/renderer/pepper/pepper_video_encoder_host.h File content/renderer/pepper/pepper_video_encoder_host.h (right): https://codereview.chromium.org/905023005/diff/200001/content/renderer/pepper/pepper_video_encoder_host.h#newcode43 content/renderer/pepper/pepper_video_encoder_host.h:43: ShmBuffer(int32_t id, scoped_ptr<base::SharedMemory> shm); On 2015/02/20 17:48:02, Tom Sepez ...
5 years, 10 months ago (2015-02-20 18:23:09 UTC) #36
llandwerlin-old
tsepez@: Are you reviewing the CL more in depth?
5 years, 10 months ago (2015-02-21 00:58:10 UTC) #37
Tom Sepez
On 2015/02/21 00:58:10, llandwerlin wrote: > tsepez@: Are you reviewing the CL more in depth? ...
5 years, 10 months ago (2015-02-21 17:02:53 UTC) #38
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/905023005/220001
5 years, 10 months ago (2015-02-21 21:27:31 UTC) #40
commit-bot: I haz the power
Try jobs failed on following builders: ios_dbg_simulator on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_dbg_simulator/builds/61282)
5 years, 10 months ago (2015-02-21 21:30:19 UTC) #42
llandwerlin-old
Fix unittest on Windows
5 years, 10 months ago (2015-02-23 16:16:12 UTC) #44
llandwerlin-old
bbudge@, I think this last upload should be mostly green (apart from the ios_dbg_simulator). If ...
5 years, 10 months ago (2015-02-23 19:02:50 UTC) #45
bbudge
+piman for GpuChannelHost / CommandBufferProxyImpl creation and lifetime in: content/renderer/pepper/video_encoder_host.cc Antoine, feel free to reroute. ...
5 years, 10 months ago (2015-02-23 23:41:31 UTC) #47
llandwerlin-old
https://codereview.chromium.org/905023005/diff/360001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/360001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode476 content/renderer/pepper/pepper_video_encoder_host.cc:476: bool PepperVideoEncoderHost::EnsureGpuChannel() { On 2015/02/23 23:41:31, bbudge wrote: > ...
5 years, 10 months ago (2015-02-23 23:49:12 UTC) #48
piman
https://codereview.chromium.org/905023005/diff/360001/content/renderer/pepper/pepper_video_encoder_host.cc File content/renderer/pepper/pepper_video_encoder_host.cc (right): https://codereview.chromium.org/905023005/diff/360001/content/renderer/pepper/pepper_video_encoder_host.cc#newcode451 content/renderer/pepper/pepper_video_encoder_host.cc:451: for (media::VideoEncodeAccelerator::SupportedProfile profile : profiles) nit: need {} by ...
5 years, 10 months ago (2015-02-24 01:26:17 UTC) #49
bbudge
https://codereview.chromium.org/905023005/diff/360001/ppapi/proxy/video_encoder_resource.cc File ppapi/proxy/video_encoder_resource.cc (right): https://codereview.chromium.org/905023005/diff/360001/ppapi/proxy/video_encoder_resource.cc#newcode254 ppapi/proxy/video_encoder_resource.cc:254: base::checked_cast<uint32_t>(sizeof(PP_VideoProfileDescription))); On 2015/02/23 23:49:12, llandwerlin wrote: > On 2015/02/23 ...
5 years, 10 months ago (2015-02-24 01:55:27 UTC) #50
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/905023005/420001
5 years, 10 months ago (2015-02-24 23:13:25 UTC) #53
commit-bot: I haz the power
Try jobs failed on following builders: ios_rel_device_ng on tryserver.chromium.mac (JOB_FAILED, http://build.chromium.org/p/tryserver.chromium.mac/builders/ios_rel_device_ng/builds/14258)
5 years, 10 months ago (2015-02-24 23:30:50 UTC) #55
commit-bot: I haz the power
CQ is trying da patch. Follow status at https://chromium-cq-status.appspot.com/patch-status/905023005/420001
5 years, 10 months ago (2015-02-25 00:11:03 UTC) #57
commit-bot: I haz the power
Committed patchset #22 (id:420001)
5 years, 10 months ago (2015-02-25 01:21:22 UTC) #58
commit-bot: I haz the power
5 years, 10 months ago (2015-02-25 01:21:52 UTC) #59
Message was sent while issue was closed.
Patchset 22 (id:??) landed as
https://crrev.com/c3f15126607423812eaefe48ecdcb0ffd39c5e05
Cr-Commit-Position: refs/heads/master@{#317938}

Powered by Google App Engine
This is Rietveld 408576698