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

Side by Side Diff: media/base/video_frame_pool.cc

Issue 183113004: Make sure MediaStreamVideoSource support cropping. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 9 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 | Annotate | Revision Log
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "media/base/video_frame_pool.h" 5 #include "media/base/video_frame_pool.h"
6 6
7 #include <list> 7 #include <list>
8 8
9 #include "base/bind.h" 9 #include "base/bind.h"
10 #include "base/memory/ref_counted.h" 10 #include "base/memory/ref_counted.h"
(...skipping 57 matching lines...) Expand 10 before | Expand all | Expand 10 after
68 68
69 while (!frame && !frames_.empty()) { 69 while (!frame && !frames_.empty()) {
70 scoped_refptr<VideoFrame> pool_frame = frames_.front(); 70 scoped_refptr<VideoFrame> pool_frame = frames_.front();
71 frames_.pop_front(); 71 frames_.pop_front();
72 72
73 if (pool_frame->format() == format && 73 if (pool_frame->format() == format &&
74 pool_frame->coded_size() == coded_size && 74 pool_frame->coded_size() == coded_size &&
75 pool_frame->visible_rect() == visible_rect && 75 pool_frame->visible_rect() == visible_rect &&
76 pool_frame->natural_size() == natural_size) { 76 pool_frame->natural_size() == natural_size) {
77 frame = pool_frame; 77 frame = pool_frame;
78 frame->SetTimestamp(kNoTimestamp()); 78 frame->SetTimestamp(timestamp);
perkj_chrome 2014/02/27 14:15:39 Note - this change will be landed in a separate cl
79 break; 79 break;
80 } 80 }
81 } 81 }
82 82
83 if (!frame) { 83 if (!frame) {
84 frame = VideoFrame::CreateFrame( 84 frame = VideoFrame::CreateFrame(
85 format, coded_size, visible_rect, natural_size, kNoTimestamp()); 85 format, coded_size, visible_rect, natural_size, timestamp);
86 } 86 }
87 87
88 return VideoFrame::WrapVideoFrame( 88 return VideoFrame::WrapVideoFrame(
89 frame, base::Bind(&VideoFramePool::PoolImpl::FrameReleased, this, frame)); 89 frame, base::Bind(&VideoFramePool::PoolImpl::FrameReleased, this, frame));
90 } 90 }
91 91
92 void VideoFramePool::PoolImpl::Shutdown() { 92 void VideoFramePool::PoolImpl::Shutdown() {
93 base::AutoLock auto_lock(lock_); 93 base::AutoLock auto_lock(lock_);
94 is_shutdown_ = true; 94 is_shutdown_ = true;
95 frames_.clear(); 95 frames_.clear();
(...skipping 23 matching lines...) Expand all
119 base::TimeDelta timestamp) { 119 base::TimeDelta timestamp) {
120 return pool_->CreateFrame(format, coded_size, visible_rect, natural_size, 120 return pool_->CreateFrame(format, coded_size, visible_rect, natural_size,
121 timestamp); 121 timestamp);
122 } 122 }
123 123
124 size_t VideoFramePool::GetPoolSizeForTesting() const { 124 size_t VideoFramePool::GetPoolSizeForTesting() const {
125 return pool_->GetPoolSizeForTesting(); 125 return pool_->GetPoolSizeForTesting();
126 } 126 }
127 127
128 } // namespace media 128 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698