OLD | NEW |
| (Empty) |
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 | |
3 // found in the LICENSE file. | |
4 | |
5 #include "content/browser/renderer_host/media/video_frame_receiver_on_io_thread.
h" | |
6 | |
7 #include "content/public/browser/browser_thread.h" | |
8 | |
9 namespace content { | |
10 | |
11 VideoFrameReceiverOnIOThread::VideoFrameReceiverOnIOThread( | |
12 const base::WeakPtr<VideoFrameReceiver>& receiver) | |
13 : receiver_(receiver) {} | |
14 | |
15 VideoFrameReceiverOnIOThread::~VideoFrameReceiverOnIOThread() = default; | |
16 | |
17 void VideoFrameReceiverOnIOThread::OnNewBufferHandle( | |
18 int buffer_id, | |
19 std::unique_ptr<media::VideoCaptureDevice::Client::Buffer::HandleProvider> | |
20 handle_provider) { | |
21 content::BrowserThread::PostTask( | |
22 content::BrowserThread::IO, FROM_HERE, | |
23 base::Bind(&VideoFrameReceiver::OnNewBufferHandle, receiver_, buffer_id, | |
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)); | |
46 } | |
47 | |
48 void VideoFrameReceiverOnIOThread::OnError() { | |
49 content::BrowserThread::PostTask( | |
50 content::BrowserThread::IO, FROM_HERE, | |
51 base::Bind(&VideoFrameReceiver::OnError, receiver_)); | |
52 } | |
53 | |
54 void VideoFrameReceiverOnIOThread::OnLog(const std::string& message) { | |
55 content::BrowserThread::PostTask( | |
56 content::BrowserThread::IO, FROM_HERE, | |
57 base::Bind(&VideoFrameReceiver::OnLog, receiver_, message)); | |
58 } | |
59 | |
60 void VideoFrameReceiverOnIOThread::OnStarted() { | |
61 content::BrowserThread::PostTask( | |
62 content::BrowserThread::IO, FROM_HERE, | |
63 base::Bind(&VideoFrameReceiver::OnStarted, receiver_)); | |
64 } | |
65 | |
66 void VideoFrameReceiverOnIOThread::OnStartedUsingGpuDecode() { | |
67 content::BrowserThread::PostTask( | |
68 content::BrowserThread::IO, FROM_HERE, | |
69 base::Bind(&VideoFrameReceiver::OnStartedUsingGpuDecode, receiver_)); | |
70 } | |
71 | |
72 } // namespace content | |
OLD | NEW |