OLD | NEW |
1 // Copyright 2014 The Chromium Authors. All rights reserved. | 1 // Copyright 2014 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 "ppapi/shared_impl/media_stream_frame_buffer.h" | 5 #include "ppapi/shared_impl/media_stream_frame_buffer.h" |
6 | 6 |
7 #include "base/logging.h" | 7 #include "base/logging.h" |
8 #include "ppapi/c/pp_errors.h" | 8 #include "ppapi/c/pp_errors.h" |
9 | 9 |
10 namespace ppapi { | 10 namespace ppapi { |
11 | 11 |
12 MediaStreamFrameBuffer::Delegate::~Delegate() {} | 12 MediaStreamFrameBuffer::Delegate::~Delegate() {} |
13 | 13 |
14 void MediaStreamFrameBuffer::Delegate::OnNewFrameEnqueued() { | 14 bool MediaStreamFrameBuffer::Delegate::OnNewFramePreEnqueued(int32_t index) { |
| 15 return false; |
15 } | 16 } |
16 | 17 |
17 MediaStreamFrameBuffer::MediaStreamFrameBuffer(Delegate* delegate) | 18 MediaStreamFrameBuffer::MediaStreamFrameBuffer(Delegate* delegate) |
18 : delegate_(delegate), | 19 : delegate_(delegate), |
19 frame_size_(0), | 20 frame_size_(0), |
20 number_of_frames_(0) { | 21 number_of_frames_(0) { |
21 DCHECK(delegate_); | 22 DCHECK(delegate_); |
22 } | 23 } |
23 | 24 |
24 MediaStreamFrameBuffer::~MediaStreamFrameBuffer() { | 25 MediaStreamFrameBuffer::~MediaStreamFrameBuffer() { |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
57 if (frame_queue_.empty()) | 58 if (frame_queue_.empty()) |
58 return PP_ERROR_FAILED; | 59 return PP_ERROR_FAILED; |
59 int32_t frame = frame_queue_.front(); | 60 int32_t frame = frame_queue_.front(); |
60 frame_queue_.pop_front(); | 61 frame_queue_.pop_front(); |
61 return frame; | 62 return frame; |
62 } | 63 } |
63 | 64 |
64 void MediaStreamFrameBuffer::EnqueueFrame(int32_t index) { | 65 void MediaStreamFrameBuffer::EnqueueFrame(int32_t index) { |
65 DCHECK_GE(index, 0); | 66 DCHECK_GE(index, 0); |
66 DCHECK_LT(index, number_of_frames_); | 67 DCHECK_LT(index, number_of_frames_); |
67 frame_queue_.push_back(index); | 68 if (!delegate_->OnNewFramePreEnqueued(index)) |
68 delegate_->OnNewFrameEnqueued(); | 69 frame_queue_.push_back(index); |
69 } | 70 } |
70 | 71 |
71 MediaStreamFrame* MediaStreamFrameBuffer::GetFramePointer( | 72 MediaStreamFrame* MediaStreamFrameBuffer::GetFramePointer( |
72 int32_t index) { | 73 int32_t index) { |
73 DCHECK_GE(index, 0); | 74 DCHECK_GE(index, 0); |
74 DCHECK_LT(index, number_of_frames_); | 75 DCHECK_LT(index, number_of_frames_); |
75 return frames_[index]; | 76 return frames_[index]; |
76 } | 77 } |
77 | 78 |
78 } // namespace ppapi | 79 } // namespace ppapi |
OLD | NEW |