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

Side by Side Diff: chrome/renderer/media/cast_rtp_stream.cc

Issue 268983002: Revert of Cast: Fix two video freezing problems (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: 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
« no previous file with comments | « chrome/common/cast_messages.h ('k') | chrome/renderer/media/cast_session_delegate.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 // Copyright 2013 The Chromium Authors. All rights reserved. 1 // Copyright 2013 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 "chrome/renderer/media/cast_rtp_stream.h" 5 #include "chrome/renderer/media/cast_rtp_stream.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/debug/trace_event.h" 8 #include "base/debug/trace_event.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/memory/weak_ptr.h" 10 #include "base/memory/weak_ptr.h"
(...skipping 132 matching lines...) Expand 10 before | Expand all | Expand 10 after
143 std::vector<CastRtpParams> SupportedVideoParams() { 143 std::vector<CastRtpParams> SupportedVideoParams() {
144 std::vector<CastRtpParams> supported_params; 144 std::vector<CastRtpParams> supported_params;
145 if (IsHardwareH264EncodingSupported()) 145 if (IsHardwareH264EncodingSupported())
146 supported_params.push_back(CastRtpParams(DefaultH264Payload())); 146 supported_params.push_back(CastRtpParams(DefaultH264Payload()));
147 supported_params.push_back(CastRtpParams(DefaultVp8Payload())); 147 supported_params.push_back(CastRtpParams(DefaultVp8Payload()));
148 return supported_params; 148 return supported_params;
149 } 149 }
150 150
151 bool ToAudioSenderConfig(const CastRtpParams& params, 151 bool ToAudioSenderConfig(const CastRtpParams& params,
152 AudioSenderConfig* config) { 152 AudioSenderConfig* config) {
153 config->rtp_config.ssrc = params.payload.ssrc; 153 config->sender_ssrc = params.payload.ssrc;
154 config->incoming_feedback_ssrc = params.payload.feedback_ssrc; 154 config->incoming_feedback_ssrc = params.payload.feedback_ssrc;
155 config->rtp_config.payload_type = params.payload.payload_type; 155 config->rtp_config.payload_type = params.payload.payload_type;
156 config->rtp_config.max_delay_ms = params.payload.max_latency_ms; 156 config->rtp_config.max_delay_ms = params.payload.max_latency_ms;
157 config->use_external_encoder = false; 157 config->use_external_encoder = false;
158 config->frequency = params.payload.clock_rate; 158 config->frequency = params.payload.clock_rate;
159 config->channels = params.payload.channels; 159 config->channels = params.payload.channels;
160 config->bitrate = params.payload.max_bitrate * kBitrateMultiplier; 160 config->bitrate = params.payload.max_bitrate * kBitrateMultiplier;
161 config->codec = media::cast::transport::kPcm16; 161 config->codec = media::cast::transport::kPcm16;
162 if (params.payload.codec_name == kCodecNameOpus) 162 if (params.payload.codec_name == kCodecNameOpus)
163 config->codec = media::cast::transport::kOpus; 163 config->codec = media::cast::transport::kOpus;
164 else 164 else
165 return false; 165 return false;
166 return true; 166 return true;
167 } 167 }
168 168
169 bool ToVideoSenderConfig(const CastRtpParams& params, 169 bool ToVideoSenderConfig(const CastRtpParams& params,
170 VideoSenderConfig* config) { 170 VideoSenderConfig* config) {
171 config->rtp_config.ssrc = params.payload.ssrc; 171 config->sender_ssrc = params.payload.ssrc;
172 config->incoming_feedback_ssrc = params.payload.feedback_ssrc; 172 config->incoming_feedback_ssrc = params.payload.feedback_ssrc;
173 config->rtp_config.payload_type = params.payload.payload_type; 173 config->rtp_config.payload_type = params.payload.payload_type;
174 config->rtp_config.max_delay_ms = params.payload.max_latency_ms; 174 config->rtp_config.max_delay_ms = params.payload.max_latency_ms;
175 config->use_external_encoder = false; 175 config->use_external_encoder = false;
176 config->width = params.payload.width; 176 config->width = params.payload.width;
177 config->height = params.payload.height; 177 config->height = params.payload.height;
178 config->min_bitrate = config->start_bitrate = 178 config->min_bitrate = config->start_bitrate =
179 params.payload.min_bitrate * kBitrateMultiplier; 179 params.payload.min_bitrate * kBitrateMultiplier;
180 config->max_bitrate = params.payload.max_bitrate * kBitrateMultiplier; 180 config->max_bitrate = params.payload.max_bitrate * kBitrateMultiplier;
181 if (params.payload.codec_name == kCodecNameVp8) { 181 if (params.payload.codec_name == kCodecNameVp8) {
(...skipping 342 matching lines...) Expand 10 before | Expand all | Expand 10 after
524 } 524 }
525 525
526 void CastRtpStream::DidEncounterError(const std::string& message) { 526 void CastRtpStream::DidEncounterError(const std::string& message) {
527 // Save the WeakPtr first because the error callback might delete this object. 527 // Save the WeakPtr first because the error callback might delete this object.
528 base::WeakPtr<CastRtpStream> ptr = weak_factory_.GetWeakPtr(); 528 base::WeakPtr<CastRtpStream> ptr = weak_factory_.GetWeakPtr();
529 error_callback_.Run(message); 529 error_callback_.Run(message);
530 content::RenderThread::Get()->GetMessageLoop()->PostTask( 530 content::RenderThread::Get()->GetMessageLoop()->PostTask(
531 FROM_HERE, 531 FROM_HERE,
532 base::Bind(&CastRtpStream::Stop, ptr)); 532 base::Bind(&CastRtpStream::Stop, ptr));
533 } 533 }
OLDNEW
« no previous file with comments | « chrome/common/cast_messages.h ('k') | chrome/renderer/media/cast_session_delegate.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698