| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2015 The WebRTC project authors. All Rights Reserved. |
| 3 * | 3 * |
| 4 * Use of this source code is governed by a BSD-style license | 4 * Use of this source code is governed by a BSD-style license |
| 5 * that can be found in the LICENSE file in the root of the source | 5 * that can be found in the LICENSE file in the root of the source |
| 6 * tree. An additional intellectual property rights grant can be found | 6 * tree. An additional intellectual property rights grant can be found |
| 7 * in the file PATENTS. All contributing project authors may | 7 * in the file PATENTS. All contributing project authors may |
| 8 * be found in the AUTHORS file in the root of the source tree. | 8 * be found in the AUTHORS file in the root of the source tree. |
| 9 */ | 9 */ |
| 10 | 10 |
| (...skipping 105 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 116 | 116 |
| 117 const webrtc::VideoSendStream::Config& FakeVideoSendStream::GetConfig() const { | 117 const webrtc::VideoSendStream::Config& FakeVideoSendStream::GetConfig() const { |
| 118 return config_; | 118 return config_; |
| 119 } | 119 } |
| 120 | 120 |
| 121 const webrtc::VideoEncoderConfig& FakeVideoSendStream::GetEncoderConfig() | 121 const webrtc::VideoEncoderConfig& FakeVideoSendStream::GetEncoderConfig() |
| 122 const { | 122 const { |
| 123 return encoder_config_; | 123 return encoder_config_; |
| 124 } | 124 } |
| 125 | 125 |
| 126 std::vector<webrtc::VideoStream> FakeVideoSendStream::GetVideoStreams() { | 126 const std::vector<webrtc::VideoStream>& FakeVideoSendStream::GetVideoStreams() |
| 127 return encoder_config_.streams; | 127 const { |
| 128 return video_streams_; |
| 128 } | 129 } |
| 129 | 130 |
| 130 bool FakeVideoSendStream::IsSending() const { | 131 bool FakeVideoSendStream::IsSending() const { |
| 131 return sending_; | 132 return sending_; |
| 132 } | 133 } |
| 133 | 134 |
| 134 bool FakeVideoSendStream::GetVp8Settings( | 135 bool FakeVideoSendStream::GetVp8Settings( |
| 135 webrtc::VideoCodecVP8* settings) const { | 136 webrtc::VideoCodecVP8* settings) const { |
| 136 if (!codec_settings_set_) { | 137 if (!codec_settings_set_) { |
| 137 return false; | 138 return false; |
| (...skipping 25 matching lines...) Expand all Loading... |
| 163 return last_frame_.height(); | 164 return last_frame_.height(); |
| 164 } | 165 } |
| 165 | 166 |
| 166 int64_t FakeVideoSendStream::GetLastTimestamp() const { | 167 int64_t FakeVideoSendStream::GetLastTimestamp() const { |
| 167 RTC_DCHECK(last_frame_.ntp_time_ms() == 0); | 168 RTC_DCHECK(last_frame_.ntp_time_ms() == 0); |
| 168 return last_frame_.render_time_ms(); | 169 return last_frame_.render_time_ms(); |
| 169 } | 170 } |
| 170 | 171 |
| 171 void FakeVideoSendStream::OnFrame(const webrtc::VideoFrame& frame) { | 172 void FakeVideoSendStream::OnFrame(const webrtc::VideoFrame& frame) { |
| 172 ++num_swapped_frames_; | 173 ++num_swapped_frames_; |
| 174 if (frame.width() != last_frame_.width() || |
| 175 frame.height() != last_frame_.height() || |
| 176 frame.rotation() != last_frame_.rotation()) { |
| 177 video_streams_ = encoder_config_.video_stream_factory->CreateEncoderStreams( |
| 178 frame.width(), frame.height(), encoder_config_); |
| 179 } |
| 173 last_frame_.ShallowCopy(frame); | 180 last_frame_.ShallowCopy(frame); |
| 174 } | 181 } |
| 175 | 182 |
| 176 void FakeVideoSendStream::SetStats( | 183 void FakeVideoSendStream::SetStats( |
| 177 const webrtc::VideoSendStream::Stats& stats) { | 184 const webrtc::VideoSendStream::Stats& stats) { |
| 178 stats_ = stats; | 185 stats_ = stats; |
| 179 } | 186 } |
| 180 | 187 |
| 181 webrtc::VideoSendStream::Stats FakeVideoSendStream::GetStats() { | 188 webrtc::VideoSendStream::Stats FakeVideoSendStream::GetStats() { |
| 182 return stats_; | 189 return stats_; |
| 183 } | 190 } |
| 184 | 191 |
| 185 void FakeVideoSendStream::ReconfigureVideoEncoder( | 192 void FakeVideoSendStream::ReconfigureVideoEncoder( |
| 186 webrtc::VideoEncoderConfig config) { | 193 webrtc::VideoEncoderConfig config) { |
| 194 video_streams_ = config.video_stream_factory->CreateEncoderStreams( |
| 195 last_frame_.width(), last_frame_.height(), config); |
| 187 if (config.encoder_specific_settings != NULL) { | 196 if (config.encoder_specific_settings != NULL) { |
| 188 if (config_.encoder_settings.payload_name == "VP8") { | 197 if (config_.encoder_settings.payload_name == "VP8") { |
| 189 config.encoder_specific_settings->FillVideoCodecVp8(&vpx_settings_.vp8); | 198 config.encoder_specific_settings->FillVideoCodecVp8(&vpx_settings_.vp8); |
| 190 if (!config.streams.empty()) { | 199 if (!video_streams_.empty()) { |
| 191 vpx_settings_.vp8.numberOfTemporalLayers = static_cast<unsigned char>( | 200 vpx_settings_.vp8.numberOfTemporalLayers = static_cast<unsigned char>( |
| 192 config.streams.back().temporal_layer_thresholds_bps.size() + 1); | 201 video_streams_.back().temporal_layer_thresholds_bps.size() + 1); |
| 193 } | 202 } |
| 194 } else if (config_.encoder_settings.payload_name == "VP9") { | 203 } else if (config_.encoder_settings.payload_name == "VP9") { |
| 195 config.encoder_specific_settings->FillVideoCodecVp9(&vpx_settings_.vp9); | 204 config.encoder_specific_settings->FillVideoCodecVp9(&vpx_settings_.vp9); |
| 196 if (!config.streams.empty()) { | 205 if (!video_streams_.empty()) { |
| 197 vpx_settings_.vp9.numberOfTemporalLayers = static_cast<unsigned char>( | 206 vpx_settings_.vp9.numberOfTemporalLayers = static_cast<unsigned char>( |
| 198 config.streams.back().temporal_layer_thresholds_bps.size() + 1); | 207 video_streams_.back().temporal_layer_thresholds_bps.size() + 1); |
| 199 } | 208 } |
| 200 } else { | 209 } else { |
| 201 ADD_FAILURE() << "Unsupported encoder payload: " | 210 ADD_FAILURE() << "Unsupported encoder payload: " |
| 202 << config_.encoder_settings.payload_name; | 211 << config_.encoder_settings.payload_name; |
| 203 } | 212 } |
| 204 } | 213 } |
| 205 codec_settings_set_ = config.encoder_specific_settings != NULL; | 214 codec_settings_set_ = config.encoder_specific_settings != NULL; |
| 206 encoder_config_ = std::move(config); | 215 encoder_config_ = std::move(config); |
| 207 ++num_encoder_reconfigurations_; | 216 ++num_encoder_reconfigurations_; |
| 208 } | 217 } |
| (...skipping 280 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 489 } | 498 } |
| 490 | 499 |
| 491 bool FakeCall::StartEventLog(rtc::PlatformFile log_file, | 500 bool FakeCall::StartEventLog(rtc::PlatformFile log_file, |
| 492 int64_t max_size_bytes) { | 501 int64_t max_size_bytes) { |
| 493 return false; | 502 return false; |
| 494 } | 503 } |
| 495 | 504 |
| 496 void FakeCall::StopEventLog() {} | 505 void FakeCall::StopEventLog() {} |
| 497 | 506 |
| 498 } // namespace cricket | 507 } // namespace cricket |
| OLD | NEW |