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

Unified Diff: content/browser/renderer_host/media/video_capture_buffer_pool.h

Issue 1154153003: Relanding 1143663007: VideoFrame: Separate Pixel Format from Storage Type. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Added NV12 support in CrOS Created 5 years, 7 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 side-by-side diff with in-line comments
Download patch
Index: content/browser/renderer_host/media/video_capture_buffer_pool.h
diff --git a/content/browser/renderer_host/media/video_capture_buffer_pool.h b/content/browser/renderer_host/media/video_capture_buffer_pool.h
index 4351dd7deb426cd99881aa1a543a809470b0d314..e8bdf66ec4f24cab708efc4b30dd2e95034df271 100644
--- a/content/browser/renderer_host/media/video_capture_buffer_pool.h
+++ b/content/browser/renderer_host/media/video_capture_buffer_pool.h
@@ -102,7 +102,8 @@ class CONTENT_EXPORT VideoCaptureBufferPool
private:
class GpuMemoryBufferTracker;
class SharedMemTracker;
- // Generic class to keep track of the state of a given mappable resource.
+ // Generic class to keep track of the state of a given mappable resource. Each
+ // Tracker carries indication of pixel format and storage type.
class Tracker {
public:
static scoped_ptr<Tracker> CreateTracker(bool use_gmb);
@@ -110,6 +111,7 @@ class CONTENT_EXPORT VideoCaptureBufferPool
Tracker()
: pixel_count_(0), held_by_producer_(false), consumer_hold_count_(0) {}
virtual bool Init(media::VideoFrame::Format format,
+ media::VideoFrame::StorageType storage_type,
const gfx::Size& dimensions) = 0;
virtual ~Tracker();
@@ -119,6 +121,12 @@ class CONTENT_EXPORT VideoCaptureBufferPool
void set_pixel_format(media::VideoFrame::Format format) {
pixel_format_ = format;
}
+ media::VideoFrame::StorageType storage_type() const {
+ return storage_type_;
+ }
+ void set_storage_type(media::VideoFrame::StorageType storage_type) {
+ storage_type_ = storage_type;
+ }
bool held_by_producer() const { return held_by_producer_; }
void set_held_by_producer(bool value) { held_by_producer_ = value; }
int consumer_hold_count() const { return consumer_hold_count_; }
@@ -136,6 +144,7 @@ class CONTENT_EXPORT VideoCaptureBufferPool
private:
size_t pixel_count_;
media::VideoFrame::Format pixel_format_;
+ media::VideoFrame::StorageType storage_type_;
// Indicates whether this Tracker is currently referenced by the producer.
bool held_by_producer_;
// Number of consumer processes which hold this Tracker.

Powered by Google App Engine
This is Rietveld 408576698