| 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 |