OLD | NEW |
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 Loading... |
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 Loading... |
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 } |
OLD | NEW |