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

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

Issue 1911403003: [chrome.displaySource] Move video stream info creation to encoders. (Closed) Base URL: https://chromium.googlesource.com/chromium/src@master
Patch Set: Replace CreateElementaryStreamDescriptors member function with a member variable Created 4 years, 7 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
« no previous file with comments | « extensions/renderer/api/display_source/wifi_display/wifi_display_video_encoder.h ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
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 "base/logging.h"
8 8
9 #include "extensions/renderer/api/display_source/wifi_display/wifi_display_eleme ntary_stream_descriptor.h"
10
9 namespace extensions { 11 namespace extensions {
10 12
11 WiFiDisplayVideoEncoder::InitParameters::InitParameters() = default; 13 WiFiDisplayVideoEncoder::InitParameters::InitParameters() = default;
12 WiFiDisplayVideoEncoder::InitParameters::InitParameters(const InitParameters&) = 14 WiFiDisplayVideoEncoder::InitParameters::InitParameters(const InitParameters&) =
13 default; 15 default;
14 WiFiDisplayVideoEncoder::InitParameters::~InitParameters() = default; 16 WiFiDisplayVideoEncoder::InitParameters::~InitParameters() = default;
15 17
16 WiFiDisplayVideoEncoder::WiFiDisplayVideoEncoder( 18 WiFiDisplayVideoEncoder::WiFiDisplayVideoEncoder(
17 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner) 19 scoped_refptr<base::SingleThreadTaskRunner> media_task_runner)
18 : media_task_runner_(std::move(media_task_runner)), send_idr_(false) { 20 : media_task_runner_(std::move(media_task_runner)), send_idr_(false) {
19 DCHECK(media_task_runner_); 21 DCHECK(media_task_runner_);
22
23 // Add descriptors common to all H.264 video encoders.
24 descriptors_.push_back(
25 WiFiDisplayElementaryStreamDescriptor::AVCTimingAndHRD::Create());
20 } 26 }
21 27
22 WiFiDisplayVideoEncoder::~WiFiDisplayVideoEncoder() = default; 28 WiFiDisplayVideoEncoder::~WiFiDisplayVideoEncoder() = default;
23 29
24 // static 30 // static
25 void WiFiDisplayVideoEncoder::Create( 31 void WiFiDisplayVideoEncoder::Create(
26 const InitParameters& params, 32 const InitParameters& params,
27 const VideoEncoderCallback& encoder_callback) { 33 const VideoEncoderCallback& encoder_callback) {
28 CreateVEA(params, encoder_callback); 34 CreateVEA(params, encoder_callback);
29 } 35 }
30 36
37 WiFiDisplayElementaryStreamInfo
38 WiFiDisplayVideoEncoder::CreateElementaryStreamInfo() const {
39 DCHECK(client_thread_checker_.CalledOnValidThread());
40 return WiFiDisplayElementaryStreamInfo(
41 WiFiDisplayElementaryStreamInfo::VIDEO_H264, descriptors_);
42 }
43
31 void WiFiDisplayVideoEncoder::InsertRawVideoFrame( 44 void WiFiDisplayVideoEncoder::InsertRawVideoFrame(
32 const scoped_refptr<media::VideoFrame>& video_frame, 45 const scoped_refptr<media::VideoFrame>& video_frame,
33 base::TimeTicks reference_time) { 46 base::TimeTicks reference_time) {
34 DCHECK(client_thread_checker_.CalledOnValidThread()); 47 DCHECK(client_thread_checker_.CalledOnValidThread());
35 DCHECK(!encoded_callback_.is_null()); 48 DCHECK(!encoded_callback_.is_null());
36 media_task_runner_->PostTask( 49 media_task_runner_->PostTask(
37 FROM_HERE, base::Bind(&WiFiDisplayVideoEncoder::InsertFrameOnMediaThread, 50 FROM_HERE, base::Bind(&WiFiDisplayVideoEncoder::InsertFrameOnMediaThread,
38 this, video_frame, reference_time, send_idr_)); 51 this, video_frame, reference_time, send_idr_));
39 send_idr_ = false; 52 send_idr_ = false;
40 } 53 }
41 54
42 void WiFiDisplayVideoEncoder::RequestIDRPicture() { 55 void WiFiDisplayVideoEncoder::RequestIDRPicture() {
43 DCHECK(client_thread_checker_.CalledOnValidThread()); 56 DCHECK(client_thread_checker_.CalledOnValidThread());
44 send_idr_ = true; 57 send_idr_ = true;
45 } 58 }
46 59
47 } // namespace extensions 60 } // namespace extensions
OLDNEW
« no previous file with comments | « extensions/renderer/api/display_source/wifi_display/wifi_display_video_encoder.h ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698