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

Side by Side Diff: media/cast/transport/transport_video_sender.cc

Issue 252923007: Cast: Fix two video freezing problems (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: hide max outstanding frames from cast library users Created 6 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
OLDNEW
1 // Copyright 2014 The Chromium Authors. All rights reserved. 1 // Copyright 2014 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/cast/transport/transport_video_sender.h" 5 #include "media/cast/transport/transport_video_sender.h"
6 6
7 #include <list>
8
9 #include "base/bind.h" 7 #include "base/bind.h"
10 #include "base/logging.h" 8 #include "base/logging.h"
11 #include "base/message_loop/message_loop.h" 9 #include "base/message_loop/message_loop.h"
12 #include "media/base/video_frame.h" 10 #include "media/base/video_frame.h"
13 #include "media/cast/transport/pacing/paced_sender.h" 11 #include "media/cast/transport/pacing/paced_sender.h"
14 12
15 namespace media { 13 namespace media {
16 namespace cast { 14 namespace cast {
17 namespace transport { 15 namespace transport {
18 16
19 TransportVideoSender::TransportVideoSender( 17 TransportVideoSender::TransportVideoSender(
20 const CastTransportVideoConfig& config, 18 const CastTransportVideoConfig& config,
21 base::TickClock* clock, 19 base::TickClock* clock,
22 LoggingImpl* logging, 20 LoggingImpl* logging,
23 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner, 21 const scoped_refptr<base::SingleThreadTaskRunner>& transport_task_runner,
24 PacedSender* const paced_packet_sender) 22 PacedSender* const paced_packet_sender)
25 : rtp_max_delay_(base::TimeDelta::FromMilliseconds( 23 : rtp_sender_(clock, logging, transport_task_runner, paced_packet_sender) {
26 config.base.rtp_config.max_delay_ms)),
27 encryptor_(),
28 rtp_sender_(clock, logging, transport_task_runner, paced_packet_sender) {
29 rtp_sender_.InitializeVideo(config); 24 rtp_sender_.InitializeVideo(config);
30 initialized_ = 25 initialized_ = encryptor_.Initialize(config.rtp.config.aes_key,
31 encryptor_.Initialize(config.base.aes_key, config.base.aes_iv_mask); 26 config.rtp.config.aes_iv_mask);
32 } 27 }
33 28
34 TransportVideoSender::~TransportVideoSender() {} 29 TransportVideoSender::~TransportVideoSender() {}
35 30
36 void TransportVideoSender::InsertCodedVideoFrame( 31 void TransportVideoSender::InsertCodedVideoFrame(
37 const EncodedVideoFrame* coded_frame, 32 const EncodedVideoFrame* coded_frame,
38 const base::TimeTicks& capture_time) { 33 const base::TimeTicks& capture_time) {
39 if (encryptor_.initialized()) { 34 if (encryptor_.initialized()) {
40 EncodedVideoFrame encrypted_video_frame; 35 EncodedVideoFrame encrypted_video_frame;
41 36
(...skipping 31 matching lines...) Expand 10 before | Expand all | Expand 10 after
73 } 68 }
74 69
75 void TransportVideoSender::SubscribeVideoRtpStatsCallback( 70 void TransportVideoSender::SubscribeVideoRtpStatsCallback(
76 const CastTransportRtpStatistics& callback) { 71 const CastTransportRtpStatistics& callback) {
77 rtp_sender_.SubscribeRtpStatsCallback(callback); 72 rtp_sender_.SubscribeRtpStatsCallback(callback);
78 } 73 }
79 74
80 } // namespace transport 75 } // namespace transport
81 } // namespace cast 76 } // namespace cast
82 } // namespace media 77 } // namespace media
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698