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 // Notes about usage of this object by VideoCaptureImplManager. | 5 // Notes about usage of this object by VideoCaptureImplManager. |
6 // | 6 // |
7 // VideoCaptureImplManager access this object by using a Unretained() | 7 // VideoCaptureImplManager access this object by using a Unretained() |
8 // binding and tasks on the IO thread. It is then important that | 8 // binding and tasks on the IO thread. It is then important that |
9 // VideoCaptureImpl never post task to itself. All operations must be | 9 // VideoCaptureImpl never post task to itself. All operations must be |
10 // synchronous. | 10 // synchronous. |
(...skipping 85 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
96 } else if (!device_id_) { | 96 } else if (!device_id_) { |
97 clients_pending_on_filter_[client_id] = client_info; | 97 clients_pending_on_filter_[client_id] = client_info; |
98 } else { | 98 } else { |
99 // Note: |state_| might not be started at this point. But we tell | 99 // Note: |state_| might not be started at this point. But we tell |
100 // client that we have started. | 100 // client that we have started. |
101 state_update_cb.Run(VIDEO_CAPTURE_STATE_STARTED); | 101 state_update_cb.Run(VIDEO_CAPTURE_STATE_STARTED); |
102 if (state_ == VIDEO_CAPTURE_STATE_STARTED) { | 102 if (state_ == VIDEO_CAPTURE_STATE_STARTED) { |
103 clients_[client_id] = client_info; | 103 clients_[client_id] = client_info; |
104 // TODO(sheu): Allowing resolution change will require that all | 104 // TODO(sheu): Allowing resolution change will require that all |
105 // outstanding clients of a capture session support resolution change. | 105 // outstanding clients of a capture session support resolution change. |
106 DCHECK_EQ(params_.allow_resolution_change, | 106 DCHECK_EQ(params_.resolution_change_policy, |
107 params.allow_resolution_change); | 107 params.resolution_change_policy); |
108 } else if (state_ == VIDEO_CAPTURE_STATE_STOPPING) { | 108 } else if (state_ == VIDEO_CAPTURE_STATE_STOPPING) { |
109 clients_pending_on_restart_[client_id] = client_info; | 109 clients_pending_on_restart_[client_id] = client_info; |
110 DVLOG(1) << "StartCapture: Got new resolution " | 110 DVLOG(1) << "StartCapture: Got new resolution " |
111 << params.requested_format.frame_size.ToString() | 111 << params.requested_format.frame_size.ToString() |
112 << " during stopping."; | 112 << " during stopping."; |
113 } else { | 113 } else { |
114 clients_[client_id] = client_info; | 114 clients_[client_id] = client_info; |
115 if (state_ == VIDEO_CAPTURE_STATE_STARTED) | 115 if (state_ == VIDEO_CAPTURE_STATE_STARTED) |
116 return; | 116 return; |
117 params_ = params; | 117 params_ = params; |
(...skipping 316 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
434 ClientInfoMap::iterator it = clients->find(client_id); | 434 ClientInfoMap::iterator it = clients->find(client_id); |
435 if (it != clients->end()) { | 435 if (it != clients->end()) { |
436 it->second.state_update_cb.Run(VIDEO_CAPTURE_STATE_STOPPED); | 436 it->second.state_update_cb.Run(VIDEO_CAPTURE_STATE_STOPPED); |
437 clients->erase(it); | 437 clients->erase(it); |
438 found = true; | 438 found = true; |
439 } | 439 } |
440 return found; | 440 return found; |
441 } | 441 } |
442 | 442 |
443 } // namespace content | 443 } // namespace content |
OLD | NEW |