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

Side by Side Diff: ppapi/shared_impl/media_stream_frame_buffer.cc

Issue 140783004: [PPAPI] Pepper MediaStream API audio track implementation and example. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Update Created 6 years, 10 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 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
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
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698