Chromium Code Reviews| OLD | NEW |
|---|---|
| 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 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.h" | 5 #include "media/base/video_frame.h" |
| 6 | 6 |
| 7 #include <algorithm> | 7 #include <algorithm> |
| 8 | 8 |
| 9 #include "base/bind.h" | 9 #include "base/bind.h" |
| 10 #include "base/callback_helpers.h" | 10 #include "base/callback_helpers.h" |
| (...skipping 163 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 174 frame->strides_[kUPlane] = u_stride; | 174 frame->strides_[kUPlane] = u_stride; |
| 175 frame->strides_[kVPlane] = v_stride; | 175 frame->strides_[kVPlane] = v_stride; |
| 176 frame->data_[kYPlane] = y_data; | 176 frame->data_[kYPlane] = y_data; |
| 177 frame->data_[kUPlane] = u_data; | 177 frame->data_[kUPlane] = u_data; |
| 178 frame->data_[kVPlane] = v_data; | 178 frame->data_[kVPlane] = v_data; |
| 179 frame->no_longer_needed_cb_ = no_longer_needed_cb; | 179 frame->no_longer_needed_cb_ = no_longer_needed_cb; |
| 180 return frame; | 180 return frame; |
| 181 } | 181 } |
| 182 | 182 |
| 183 // static | 183 // static |
| 184 scoped_refptr<VideoFrame> VideoFrame::WrapVideoFrame( | |
| 185 const scoped_refptr<VideoFrame>& frame, | |
| 186 const WrapperDestroyedCB& wrapper_destroyed_cb) { | |
| 187 | |
|
DaleCurtis
2013/12/09 20:48:25
Extra line.
acolwell GONE FROM CHROMIUM
2013/12/09 21:42:11
Done.
| |
| 188 scoped_refptr<VideoFrame> wrapped_frame(new VideoFrame( | |
| 189 frame->format(), frame->coded_size(), frame->visible_rect(), | |
| 190 frame->natural_size(), frame->GetTimestamp(), frame->end_of_stream())); | |
| 191 | |
| 192 for (size_t i = 0; i < NumPlanes(frame->format()); ++i) { | |
| 193 wrapped_frame->strides_[i] = frame->stride(i); | |
| 194 wrapped_frame->data_[i] = frame->data(i); | |
| 195 } | |
| 196 | |
| 197 wrapped_frame->no_longer_needed_cb_ = base::Bind(wrapper_destroyed_cb, frame); | |
| 198 return wrapped_frame; | |
| 199 } | |
| 200 | |
| 201 // static | |
| 184 scoped_refptr<VideoFrame> VideoFrame::CreateEOSFrame() { | 202 scoped_refptr<VideoFrame> VideoFrame::CreateEOSFrame() { |
| 185 return new VideoFrame(VideoFrame::UNKNOWN, | 203 return new VideoFrame(VideoFrame::UNKNOWN, |
| 186 gfx::Size(), | 204 gfx::Size(), |
| 187 gfx::Rect(), | 205 gfx::Rect(), |
| 188 gfx::Size(), | 206 gfx::Size(), |
| 189 kNoTimestamp(), | 207 kNoTimestamp(), |
| 190 true); | 208 true); |
| 191 } | 209 } |
| 192 | 210 |
| 193 // static | 211 // static |
| (...skipping 309 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
| 503 : mailbox_(mailbox), | 521 : mailbox_(mailbox), |
| 504 sync_point_(sync_point), | 522 sync_point_(sync_point), |
| 505 release_callback_(release_callback) {} | 523 release_callback_(release_callback) {} |
| 506 | 524 |
| 507 VideoFrame::MailboxHolder::~MailboxHolder() { | 525 VideoFrame::MailboxHolder::~MailboxHolder() { |
| 508 if (!release_callback_.is_null()) | 526 if (!release_callback_.is_null()) |
| 509 release_callback_.Run(sync_point_); | 527 release_callback_.Run(sync_point_); |
| 510 } | 528 } |
| 511 | 529 |
| 512 } // namespace media | 530 } // namespace media |
| OLD | NEW |