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

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

Issue 150403006: [PPAPI][MediaStream] Support configure for video input. (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: Fix review issues 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_buffer_manager.h" 5 #include "ppapi/shared_impl/media_stream_buffer_manager.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 #include "ppapi/shared_impl/media_stream_buffer.h" 9 #include "ppapi/shared_impl/media_stream_buffer.h"
10 10
(...skipping 13 matching lines...) Expand all
24 24
25 MediaStreamBufferManager::~MediaStreamBufferManager() { 25 MediaStreamBufferManager::~MediaStreamBufferManager() {
26 } 26 }
27 27
28 bool MediaStreamBufferManager::SetBuffers( 28 bool MediaStreamBufferManager::SetBuffers(
29 int32_t number_of_buffers, 29 int32_t number_of_buffers,
30 int32_t buffer_size, 30 int32_t buffer_size,
31 scoped_ptr<base::SharedMemory> shm, 31 scoped_ptr<base::SharedMemory> shm,
32 bool enqueue_all_buffers) { 32 bool enqueue_all_buffers) {
33 DCHECK(shm); 33 DCHECK(shm);
34 DCHECK(!shm_);
35 DCHECK_GT(number_of_buffers, 0); 34 DCHECK_GT(number_of_buffers, 0);
36 DCHECK_GT(buffer_size, 35 DCHECK_GT(buffer_size,
37 static_cast<int32_t>(sizeof(MediaStreamBuffer::Header))); 36 static_cast<int32_t>(sizeof(MediaStreamBuffer::Header)));
jschuh 2014/02/14 22:21:25 I realize this is existing code, but shouldn't thi
Peng 2014/02/16 15:48:13 Those input arguments are not from third party cod
38 DCHECK_EQ(buffer_size & 0x3, 0); 37 DCHECK_EQ(buffer_size & 0x3, 0);
39 38
40 number_of_buffers_ = number_of_buffers; 39 number_of_buffers_ = number_of_buffers;
41 buffer_size_ = buffer_size; 40 buffer_size_ = buffer_size;
42 41
43 int32_t size = number_of_buffers_ * buffer_size; 42 int32_t size = number_of_buffers_ * buffer_size;
jschuh 2014/02/14 22:21:25 Also existing code, but where are these sizes vali
Peng 2014/02/16 15:48:13 Same reason. arguments are not from third party co
44 shm_ = shm.Pass(); 43 shm_ = shm.Pass();
45 if (!shm_->Map(size)) 44 if (!shm_->Map(size))
46 return false; 45 return false;
47 46
47 buffer_queue_.clear();
48 buffers_.clear();
48 uint8_t* p = reinterpret_cast<uint8_t*>(shm_->memory()); 49 uint8_t* p = reinterpret_cast<uint8_t*>(shm_->memory());
49 for (int32_t i = 0; i < number_of_buffers; ++i) { 50 for (int32_t i = 0; i < number_of_buffers; ++i) {
50 if (enqueue_all_buffers) 51 if (enqueue_all_buffers)
51 buffer_queue_.push_back(i); 52 buffer_queue_.push_back(i);
52 buffers_.push_back(reinterpret_cast<MediaStreamBuffer*>(p)); 53 buffers_.push_back(reinterpret_cast<MediaStreamBuffer*>(p));
53 p += buffer_size_; 54 p += buffer_size_;
54 } 55 }
55 return true; 56 return true;
56 } 57 }
57 58
58 int32_t MediaStreamBufferManager::DequeueBuffer() { 59 int32_t MediaStreamBufferManager::DequeueBuffer() {
59 if (buffer_queue_.empty()) 60 if (buffer_queue_.empty())
60 return PP_ERROR_FAILED; 61 return PP_ERROR_FAILED;
61 int32_t buffer = buffer_queue_.front(); 62 int32_t buffer = buffer_queue_.front();
62 buffer_queue_.pop_front(); 63 buffer_queue_.pop_front();
63 return buffer; 64 return buffer;
64 } 65 }
65 66
66 void MediaStreamBufferManager::EnqueueBuffer(int32_t index) { 67 void MediaStreamBufferManager::EnqueueBuffer(int32_t index) {
67 DCHECK_GE(index, 0); 68 CHECK_GE(index, 0) << "Invalid buffer index";
68 DCHECK_LT(index, number_of_buffers_); 69 CHECK_LT(index, number_of_buffers_) << "Invalid buffer index";
69 buffer_queue_.push_back(index); 70 buffer_queue_.push_back(index);
70 delegate_->OnNewBufferEnqueued(); 71 delegate_->OnNewBufferEnqueued();
71 } 72 }
72 73
73 MediaStreamBuffer* MediaStreamBufferManager::GetBufferPointer( 74 MediaStreamBuffer* MediaStreamBufferManager::GetBufferPointer(
74 int32_t index) { 75 int32_t index) {
75 DCHECK_GE(index, 0); 76 CHECK_GE(index, 0) << "Invalid buffer index";
76 DCHECK_LT(index, number_of_buffers_); 77 CHECK_LT(index, number_of_buffers_) << "Invalid buffer index";
77 return buffers_[index]; 78 return buffers_[index];
78 } 79 }
79 80
80 } // namespace ppapi 81 } // namespace ppapi
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698