| 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 430 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 441 case VIDEO_CAPTURE_STATE_STOPPED: | 441 case VIDEO_CAPTURE_STATE_STOPPED: |
| 442 state_ = VIDEO_CAPTURE_STATE_STOPPED; | 442 state_ = VIDEO_CAPTURE_STATE_STOPPED; |
| 443 DVLOG(1) << "OnStateChanged: stopped!, device_id = " << device_id_; | 443 DVLOG(1) << "OnStateChanged: stopped!, device_id = " << device_id_; |
| 444 client_buffers_.clear(); | 444 client_buffers_.clear(); |
| 445 client_buffer2s_.clear(); | 445 client_buffer2s_.clear(); |
| 446 weak_factory_.InvalidateWeakPtrs(); | 446 weak_factory_.InvalidateWeakPtrs(); |
| 447 if (!clients_.empty() || !clients_pending_on_restart_.empty()) | 447 if (!clients_.empty() || !clients_pending_on_restart_.empty()) |
| 448 RestartCapture(); | 448 RestartCapture(); |
| 449 break; | 449 break; |
| 450 case VIDEO_CAPTURE_STATE_PAUSED: | 450 case VIDEO_CAPTURE_STATE_PAUSED: |
| 451 case VIDEO_CAPTURE_STATE_RESUMED: |
| 451 for (const auto& client : clients_) | 452 for (const auto& client : clients_) |
| 452 client.second.state_update_cb.Run(VIDEO_CAPTURE_STATE_PAUSED); | 453 client.second.state_update_cb.Run(state); |
| 453 break; | 454 break; |
| 454 case VIDEO_CAPTURE_STATE_ERROR: | 455 case VIDEO_CAPTURE_STATE_ERROR: |
| 455 DVLOG(1) << "OnStateChanged: error!, device_id = " << device_id_; | 456 DVLOG(1) << "OnStateChanged: error!, device_id = " << device_id_; |
| 456 for (const auto& client : clients_) | 457 for (const auto& client : clients_) |
| 457 client.second.state_update_cb.Run(VIDEO_CAPTURE_STATE_ERROR); | 458 client.second.state_update_cb.Run(VIDEO_CAPTURE_STATE_ERROR); |
| 458 clients_.clear(); | 459 clients_.clear(); |
| 459 state_ = VIDEO_CAPTURE_STATE_ERROR; | 460 state_ = VIDEO_CAPTURE_STATE_ERROR; |
| 460 break; | 461 break; |
| 461 case VIDEO_CAPTURE_STATE_ENDED: | 462 case VIDEO_CAPTURE_STATE_ENDED: |
| 462 DVLOG(1) << "OnStateChanged: ended!, device_id = " << device_id_; | 463 DVLOG(1) << "OnStateChanged: ended!, device_id = " << device_id_; |
| (...skipping 107 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 570 double consumer_resource_utilization = -1.0; | 571 double consumer_resource_utilization = -1.0; |
| 571 if (!metadata->GetDouble(media::VideoFrameMetadata::RESOURCE_UTILIZATION, | 572 if (!metadata->GetDouble(media::VideoFrameMetadata::RESOURCE_UTILIZATION, |
| 572 &consumer_resource_utilization)) { | 573 &consumer_resource_utilization)) { |
| 573 consumer_resource_utilization = -1.0; | 574 consumer_resource_utilization = -1.0; |
| 574 } | 575 } |
| 575 | 576 |
| 576 callback_to_io_thread.Run(*release_sync_token, consumer_resource_utilization); | 577 callback_to_io_thread.Run(*release_sync_token, consumer_resource_utilization); |
| 577 } | 578 } |
| 578 | 579 |
| 579 } // namespace content | 580 } // namespace content |
| OLD | NEW |