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

Side by Side Diff: content/browser/renderer_host/media/video_capture_device_client.cc

Issue 1106563002: FakeVideoCaptureDevice: add support for capturing into Dma-Bufs using VGEM in CrOs (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Created 5 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
1 // Copyright 2015 The Chromium Authors. All rights reserved. 1 // Copyright 2015 The Chromium Authors. All rights reserved.
2 // Use of this source code is governed by a BSD-style license that can be 2 // Use of this source code is governed by a BSD-style license that can be
3 // found in the LICENSE file. 3 // found in the LICENSE file.
4 4
5 #include "content/browser/renderer_host/media/video_capture_device_client.h" 5 #include "content/browser/renderer_host/media/video_capture_device_client.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/strings/stringprintf.h" 8 #include "base/strings/stringprintf.h"
9 #include "base/trace_event/trace_event.h" 9 #include "base/trace_event/trace_event.h"
10 #include "content/browser/compositor/image_transport_factory.h" 10 #include "content/browser/compositor/image_transport_factory.h"
(...skipping 102 matching lines...) Expand 10 before | Expand all | Expand 10 after
113 pool_(pool), 113 pool_(pool),
114 buffer_handle_(pool_->GetBufferHandle(buffer_id).Pass()) { 114 buffer_handle_(pool_->GetBufferHandle(buffer_id).Pass()) {
115 DCHECK(pool_.get()); 115 DCHECK(pool_.get());
116 } 116 }
117 int id() const override { return id_; } 117 int id() const override { return id_; }
118 size_t size() const override { return buffer_handle_->size(); } 118 size_t size() const override { return buffer_handle_->size(); }
119 void* data() override { return buffer_handle_->data(); } 119 void* data() override { return buffer_handle_->data(); }
120 ClientBuffer AsClientBuffer() override { 120 ClientBuffer AsClientBuffer() override {
121 return buffer_handle_->AsClientBuffer(); 121 return buffer_handle_->AsClientBuffer();
122 } 122 }
123 base::PlatformFile AsPlatformFile() override {
124 return buffer_handle_->AsPlatformFile();
125 }
123 126
124 private: 127 private:
125 ~AutoReleaseBuffer() override { pool_->RelinquishProducerReservation(id_); } 128 ~AutoReleaseBuffer() override { pool_->RelinquishProducerReservation(id_); }
126 129
127 const int id_; 130 const int id_;
128 const scoped_refptr<VideoCaptureBufferPool> pool_; 131 const scoped_refptr<VideoCaptureBufferPool> pool_;
129 const scoped_ptr<VideoCaptureBufferPool::BufferHandle> buffer_handle_; 132 const scoped_ptr<VideoCaptureBufferPool::BufferHandle> buffer_handle_;
130 }; 133 };
131 134
132 // Internal ref-counted class wrapping an incoming GpuMemoryBuffer into a 135 // Internal ref-counted class wrapping an incoming GpuMemoryBuffer into a
(...skipping 531 matching lines...) Expand 10 before | Expand all | Expand 10 after
664 void VideoCaptureDeviceClient::TextureWrapHelper::OnError( 667 void VideoCaptureDeviceClient::TextureWrapHelper::OnError(
665 const std::string& message) { 668 const std::string& message) {
666 DCHECK(capture_task_runner_->BelongsToCurrentThread()); 669 DCHECK(capture_task_runner_->BelongsToCurrentThread());
667 DLOG(ERROR) << message; 670 DLOG(ERROR) << message;
668 BrowserThread::PostTask( 671 BrowserThread::PostTask(
669 BrowserThread::IO, FROM_HERE, 672 BrowserThread::IO, FROM_HERE,
670 base::Bind(&VideoCaptureController::DoErrorOnIOThread, controller_)); 673 base::Bind(&VideoCaptureController::DoErrorOnIOThread, controller_));
671 } 674 }
672 675
673 } // namespace content 676 } // namespace content
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698