OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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 "media/video/capture/linux/v4l2_capture_delegate.h" | 5 #include "media/video/capture/linux/v4l2_capture_delegate.h" |
6 | 6 |
7 #include <poll.h> | 7 #include <poll.h> |
8 #include <sys/fcntl.h> | 8 #include <sys/fcntl.h> |
9 #include <sys/ioctl.h> | 9 #include <sys/ioctl.h> |
10 #include <sys/mman.h> | 10 #include <sys/mman.h> |
11 | 11 |
12 #include "base/bind.h" | 12 #include "base/bind.h" |
13 #include "base/files/file_enumerator.h" | 13 #include "base/files/file_enumerator.h" |
14 #include "base/posix/eintr_wrapper.h" | 14 #include "base/posix/eintr_wrapper.h" |
15 #include "base/strings/stringprintf.h" | 15 #include "base/strings/stringprintf.h" |
16 #include "media/base/bind_to_current_loop.h" | |
17 #include "media/video/capture/linux/v4l2_capture_delegate_multi_plane.h" | 16 #include "media/video/capture/linux/v4l2_capture_delegate_multi_plane.h" |
18 #include "media/video/capture/linux/v4l2_capture_delegate_single_plane.h" | 17 #include "media/video/capture/linux/v4l2_capture_delegate_single_plane.h" |
19 #include "media/video/capture/linux/video_capture_device_linux.h" | 18 #include "media/video/capture/linux/video_capture_device_linux.h" |
20 | 19 |
21 namespace media { | 20 namespace media { |
22 | 21 |
23 // Desired number of video buffers to allocate. The actual number of allocated | 22 // Desired number of video buffers to allocate. The actual number of allocated |
24 // buffers by v4l2 driver can be higher or lower than this number. | 23 // buffers by v4l2 driver can be higher or lower than this number. |
25 // kNumVideoBuffers should not be too small, or Chrome may not return enough | 24 // kNumVideoBuffers should not be too small, or Chrome may not return enough |
26 // buffers back to driver in time. | 25 // buffers back to driver in time. |
(...skipping 384 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
411 FROM_HERE, base::Bind(&V4L2CaptureDelegate::DoCapture, this)); | 410 FROM_HERE, base::Bind(&V4L2CaptureDelegate::DoCapture, this)); |
412 } | 411 } |
413 | 412 |
414 void V4L2CaptureDelegate::SetErrorState(const std::string& reason) { | 413 void V4L2CaptureDelegate::SetErrorState(const std::string& reason) { |
415 DCHECK(v4l2_task_runner_->BelongsToCurrentThread()); | 414 DCHECK(v4l2_task_runner_->BelongsToCurrentThread()); |
416 is_capturing_ = false; | 415 is_capturing_ = false; |
417 client_->OnError(reason); | 416 client_->OnError(reason); |
418 } | 417 } |
419 | 418 |
420 } // namespace media | 419 } // namespace media |
OLD | NEW |