Chromium Code Reviews
DescriptionRevert of VideoCapture: add support for GpuMemoryBuffer allocation and lifetime mgmt in VideoCaptureBufferPool (patchset #7 id:480001 of https://codereview.chromium.org/1064963002/)
Reason for revert:
The reason for reverting is: Speculatively revert to address Android Tests (dbg) content_unittests failure:
http://build.chromium.org/p/chromium.linux/builders/Android%20Tests%20%28dbg%29/builds/27395
content_unittests content_unittests
failures:
VideoCaptureBufferPoolTest.BufferPool/2
GpuMemoryBufferFactoryTests/GpuMemoryBufferFactoryTest.CreateAndDestroy/1
VideoCaptureBufferPoolTest.BufferPool/0
VideoCaptureBufferPoolTest.BufferPool/1
[ RUN ] VideoCaptureBufferPoolTest.BufferPool/0
[FATAL:browser_gpu_memory_buffer_manager.cc(56)] Check failed: !g_gpu_memory_buffer_manager.
#00 0x764081d3 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00fdf1d3
#01 0x75cf95c3 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x008d05c3
#02 0x75a3c697 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00613697
#03 0x75f8d1fb /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b641fb
#04 0x75f8d35b /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b6435b
#05 0x75f8d3e3 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b643e3
#06 0x75f8d5e3 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b645e3
#07 0x75f8c3c7 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b633c7
#08 0x75f49bb7 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b20bb7
#09 0x75f41c8b /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00b18c8b
#10 0x75736087 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x0030d087
#11 0x763de291 /data/app-lib/org.chromium.native_test-1/libcontent_unittests.so+0x00fb5291
#12 0x41503bcf /system/lib/libdvm.so+0x0001dbcf
#13 0x41534125 /system/lib/libdvm.so+0x0004e125
#14 0x4150cfe3 /system/lib/libdvm.so+0x00026fe3
#15 0x41513fa3 /system/lib/libdvm.so+0x0002dfa3
#16 0x4151163b /system/lib/libdvm.so+0x0002b63b
#17 0x41546863 /system/lib/libdvm.so+0x00060863
#18 0x4154e7c5 /system/lib/libdvm.so+0x000687c5
#19 0x4150cfe3 /system/lib/libdvm.so+0x00026fe3
#20 0x41513fa3 /system/lib/libdvm.so+0x0002dfa3
#21 0x4151163b /system/lib/libdvm.so+0x0002b63b
#22 0x4154657f /system/lib/libdvm.so+0x0006057f
#23 0x4152fd0d /system/lib/libdvm.so+0x00049d0d
#24 0x401a82b3 /system/lib/libandroid_runtime.so+0x0004d2b3
#25 0x401a8fd9 /system/lib/libandroid_runtime.so+0x0004dfd9
#26 0x4006b05d /system/bin/app_process+0x0000105d
#27 0x400a234b /system/lib/libc.so+0x0000e34b
This CL is the most suspect in the blame-list because it touches the VideoCaptureBufferPool.
Original issue's description:
> VideoCapture: add support for GpuMemoryBuffer allocation and lifetime mgmt in VideoCaptureBufferPool & relatives
>
> - This CL adds support for GpuMemoryBufferTracker in
> addition to the existing SharedMemTracker.
>
> - A GpuMemoryBufferTracker owns a GpuMemoryBuffer,
> which can only be accessed byte-wise between Map() and
> Unmap().
>
> - For that reason, instead of making a VCBP::Tracker
> directly accessible via |void* data| and |size|, a
> BufferHandle abstraction is introduced.
>
> - VideoCaptureDeviceClient then defines its own
> AutoReleaseBuffer in terms of this new BufferHandle.
> This BufferHandle is supposed to stay Map()ed and
> ready to use for the duration of its lifetime.
>
> Summing up:
> * VideoCaptureBufferPool has a pool of Trackers,
> * from the VCBP we can get a BufferHandle per |buffer_id|,
> * from a BufferHandle we can obtain data(), valid
> and Map()ed as long as the BufferHandle itself exists.
>
> - VideoCaptureDevice::ReserveOutputBuffer() changes to
> return a scoped_ptr<Buffer> ISO a scoped_refptr.
>
> - Added VideoCaptureDevice::OnIncomingCapturedBuffer()
> to pass directly a Buffer with the capture contents.
>
> - video_capture_texture_wrapper.{cc,h} is removed and
> its contents are merged into VideoCaptureDeviceClient.
>
> - FakeVideoCaptureDevice learns how to produce
> GpuMemoryBuffers. Also, PIXEL_FORMAT_GPUMEMORYBUFFER
> is added.
>
> Summing up, VCDClient accepts:
> * memory backed buffers (the usual)
> * texture-backed buffers
> * GMB-backed buffers (these are wrapped into a Texture
> VideoFrame indistinguishable from the previous case)
>
> - VideoCaptureTextureWrapper files are gone and
> its contents folded into VideoCaptureDeviceClient.
>
> - Unittests are updated, and so is FakeVideoCaptureDevice.
>
> BUG=440843
>
> Committed: https://crrev.com/abeb15fa955c570cd481accb04c2a677eb2865a9
> Cr-Commit-Position: refs/heads/master@{#326171}
TBR=miu@chromium.org,emircan@chromium.org,avi@chromium.org,dalecurtis@chromium.org,mcasas@chromium.org
NOPRESUBMIT=true
NOTREECHECKS=true
NOTRY=true
BUG=440843
Committed: https://crrev.com/df9c7fd3c4ba0f43fa27df0bbca0089e8cb94b01
Cr-Commit-Position: refs/heads/master@{#326250}
Patch Set 1 #
Created: 5 years, 8 months ago
(Patch set is too large to download)
Messages
Total messages: 1 (0 generated)
|