Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(2023)

Side by Side Diff: extensions/renderer/api/display_source/wifi_display/wifi_display_video_encoder.cc

Issue 1905673002: [chrome.displaySource] Add common functionality to base video encoder. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Created 4 years, 8 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
OLDNEW
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 "extensions/renderer/api/display_source/wifi_display/wifi_display_video _encoder.h" 5 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_video _encoder.h"
6 6
7 #include "base/logging.h"
7 #include "media/base/bind_to_current_loop.h" 8 #include "media/base/bind_to_current_loop.h"
8 9
9 namespace extensions { 10 namespace extensions {
10 11
11 using InitParameters = WiFiDisplayVideoEncoder::InitParameters; 12 using InitParameters = WiFiDisplayVideoEncoder::InitParameters;
12 using VideoEncoderCallback = WiFiDisplayVideoEncoder::VideoEncoderCallback; 13 using VideoEncoderCallback = WiFiDisplayVideoEncoder::VideoEncoderCallback;
13 14
14 WiFiDisplayVideoEncoder::InitParameters::InitParameters() = default; 15 WiFiDisplayVideoEncoder::InitParameters::InitParameters() = default;
15 WiFiDisplayVideoEncoder::InitParameters::InitParameters(const InitParameters&) = 16 WiFiDisplayVideoEncoder::InitParameters::InitParameters(const InitParameters&) =
16 default; 17 default;
17 WiFiDisplayVideoEncoder::InitParameters::~InitParameters() = default; 18 WiFiDisplayVideoEncoder::InitParameters::~InitParameters() = default;
18 19
19 WiFiDisplayVideoEncoder::WiFiDisplayVideoEncoder() = default; 20 WiFiDisplayVideoEncoder::WiFiDisplayVideoEncoder(
21 const scoped_refptr<base::SingleThreadTaskRunner>& media_task_runner)
22 : media_task_runner_(media_task_runner), send_idr_(false) {
23 DCHECK(media_task_runner_);
24 }
25
20 WiFiDisplayVideoEncoder::~WiFiDisplayVideoEncoder() = default; 26 WiFiDisplayVideoEncoder::~WiFiDisplayVideoEncoder() = default;
21 27
22 void WiFiDisplayVideoEncoder::SetCallbacks( 28 void WiFiDisplayVideoEncoder::SetCallbacks(
23 const EncodedFrameCallback& encoded_callback, 29 const EncodedFrameCallback& encoded_callback,
24 const base::Closure& error_callback) { 30 const base::Closure& error_callback) {
25 encoded_callback_ = media::BindToCurrentLoop(encoded_callback); 31 encoded_callback_ = media::BindToCurrentLoop(encoded_callback);
26 error_callback_ = media::BindToCurrentLoop(error_callback); 32 error_callback_ = media::BindToCurrentLoop(error_callback);
27 } 33 }
28 34
29 void WiFiDisplayVideoEncoder::Create( 35 void WiFiDisplayVideoEncoder::Create(
30 const InitParameters& params, 36 const InitParameters& params,
31 const VideoEncoderCallback& encoder_callback) { 37 const VideoEncoderCallback& encoder_callback) {
32 NOTIMPLEMENTED(); 38 NOTIMPLEMENTED();
33 encoder_callback.Run(nullptr); 39 encoder_callback.Run(nullptr);
34 } 40 }
35 41
42 void WiFiDisplayVideoEncoder::InsertRawVideoFrame(
43 const scoped_refptr<media::VideoFrame>& video_frame,
44 base::TimeTicks reference_time) {
45 DCHECK(!encoded_callback_.is_null());
46 media_task_runner_->PostTask(
47 FROM_HERE, base::Bind(&WiFiDisplayVideoEncoder::InsertFrameOnMediaThread,
48 this, video_frame, reference_time, send_idr_));
49 send_idr_ = false;
50 }
51
36 } // namespace extensions 52 } // namespace extensions
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698