OLD | NEW |
1 // Copyright 2016 The Chromium Authors. All rights reserved. | 1 // Copyright 2016 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 "content/browser/renderer_host/media/video_frame_receiver_on_io_thread.
h" | 5 #include "content/browser/renderer_host/media/video_frame_receiver_on_io_thread.
h" |
6 | 6 |
7 #include "content/public/browser/browser_thread.h" | 7 #include "content/public/browser/browser_thread.h" |
8 | 8 |
9 namespace content { | 9 namespace content { |
10 | 10 |
11 VideoFrameReceiverOnIOThread::VideoFrameReceiverOnIOThread( | 11 VideoFrameReceiverOnIOThread::VideoFrameReceiverOnIOThread( |
12 const base::WeakPtr<VideoFrameReceiver>& receiver) | 12 const base::WeakPtr<VideoFrameReceiver>& receiver) |
13 : receiver_(receiver) {} | 13 : receiver_(receiver) {} |
14 | 14 |
15 VideoFrameReceiverOnIOThread::~VideoFrameReceiverOnIOThread() = default; | 15 VideoFrameReceiverOnIOThread::~VideoFrameReceiverOnIOThread() = default; |
16 | 16 |
17 void VideoFrameReceiverOnIOThread::OnIncomingCapturedVideoFrame( | 17 void VideoFrameReceiverOnIOThread::OnNewBufferHandle( |
18 media::VideoCaptureDevice::Client::Buffer buffer, | 18 int buffer_id, |
19 scoped_refptr<media::VideoFrame> frame) { | 19 std::unique_ptr<media::VideoCaptureDevice::Client::Buffer::HandleProvider> |
| 20 handle_provider) { |
20 content::BrowserThread::PostTask( | 21 content::BrowserThread::PostTask( |
21 content::BrowserThread::IO, FROM_HERE, | 22 content::BrowserThread::IO, FROM_HERE, |
22 base::Bind(&VideoFrameReceiver::OnIncomingCapturedVideoFrame, receiver_, | 23 base::Bind(&VideoFrameReceiver::OnNewBufferHandle, receiver_, buffer_id, |
23 base::Passed(&buffer), frame)); | 24 base::Passed(std::move(handle_provider)))); |
| 25 } |
| 26 |
| 27 void VideoFrameReceiverOnIOThread::OnFrameReadyInBuffer( |
| 28 int buffer_id, |
| 29 int frame_feedback_id, |
| 30 std::unique_ptr< |
| 31 media::VideoCaptureDevice::Client::Buffer::ScopedAccessPermission> |
| 32 buffer_read_permission, |
| 33 media::mojom::VideoFrameInfoPtr frame_info) { |
| 34 content::BrowserThread::PostTask( |
| 35 content::BrowserThread::IO, FROM_HERE, |
| 36 base::Bind(&VideoFrameReceiver::OnFrameReadyInBuffer, receiver_, |
| 37 buffer_id, frame_feedback_id, |
| 38 base::Passed(&buffer_read_permission), |
| 39 base::Passed(&frame_info))); |
| 40 } |
| 41 |
| 42 void VideoFrameReceiverOnIOThread::OnBufferRetired(int buffer_id) { |
| 43 content::BrowserThread::PostTask( |
| 44 content::BrowserThread::IO, FROM_HERE, |
| 45 base::Bind(&VideoFrameReceiver::OnBufferRetired, receiver_, buffer_id)); |
24 } | 46 } |
25 | 47 |
26 void VideoFrameReceiverOnIOThread::OnError() { | 48 void VideoFrameReceiverOnIOThread::OnError() { |
27 content::BrowserThread::PostTask( | 49 content::BrowserThread::PostTask( |
28 content::BrowserThread::IO, FROM_HERE, | 50 content::BrowserThread::IO, FROM_HERE, |
29 base::Bind(&VideoFrameReceiver::OnError, receiver_)); | 51 base::Bind(&VideoFrameReceiver::OnError, receiver_)); |
30 } | 52 } |
31 | 53 |
32 void VideoFrameReceiverOnIOThread::OnLog(const std::string& message) { | 54 void VideoFrameReceiverOnIOThread::OnLog(const std::string& message) { |
33 content::BrowserThread::PostTask( | 55 content::BrowserThread::PostTask( |
34 content::BrowserThread::IO, FROM_HERE, | 56 content::BrowserThread::IO, FROM_HERE, |
35 base::Bind(&VideoFrameReceiver::OnLog, receiver_, message)); | 57 base::Bind(&VideoFrameReceiver::OnLog, receiver_, message)); |
36 } | 58 } |
37 | 59 |
38 void VideoFrameReceiverOnIOThread::OnBufferRetired(int buffer_id) { | |
39 content::BrowserThread::PostTask( | |
40 content::BrowserThread::IO, FROM_HERE, | |
41 base::Bind(&VideoFrameReceiver::OnBufferRetired, receiver_, buffer_id)); | |
42 } | |
43 | |
44 } // namespace content | 60 } // namespace content |
OLD | NEW |