OLD | NEW |
1 /* | 1 /* |
2 * Copyright (c) 2013 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2013 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 #include <stdio.h> | 10 #include <stdio.h> |
(...skipping 572 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
583 | 583 |
584 CreateCalls(Call::Config(), Call::Config()); | 584 CreateCalls(Call::Config(), Call::Config()); |
585 | 585 |
586 analyzer.SetReceiver(receiver_call_->Receiver()); | 586 analyzer.SetReceiver(receiver_call_->Receiver()); |
587 send_transport.SetReceiver(&analyzer); | 587 send_transport.SetReceiver(&analyzer); |
588 recv_transport.SetReceiver(sender_call_->Receiver()); | 588 recv_transport.SetReceiver(sender_call_->Receiver()); |
589 | 589 |
590 CreateSendConfig(1, &analyzer); | 590 CreateSendConfig(1, &analyzer); |
591 | 591 |
592 rtc::scoped_ptr<VideoEncoder> encoder; | 592 rtc::scoped_ptr<VideoEncoder> encoder; |
593 if (params.codec == "VP8") { | 593 if (params.codec == "H264") { |
594 encoder = | 594 encoder = rtc::scoped_ptr<VideoEncoder>( |
595 rtc::scoped_ptr<VideoEncoder>(VideoEncoder::Create(VideoEncoder::kVp8)); | 595 VideoEncoder::Create(VideoEncoder::kH264)); |
| 596 send_config_.encoder_settings.encoder = encoder.get(); |
| 597 send_config_.encoder_settings.payload_name = "H264"; |
| 598 } else if (params.codec == "VP8") { |
| 599 encoder = rtc::scoped_ptr<VideoEncoder>( |
| 600 VideoEncoder::Create(VideoEncoder::kVp8)); |
596 send_config_.encoder_settings.encoder = encoder.get(); | 601 send_config_.encoder_settings.encoder = encoder.get(); |
597 send_config_.encoder_settings.payload_name = "VP8"; | 602 send_config_.encoder_settings.payload_name = "VP8"; |
598 } else if (params.codec == "VP9") { | 603 } else if (params.codec == "VP9") { |
599 encoder = | 604 encoder = rtc::scoped_ptr<VideoEncoder>( |
600 rtc::scoped_ptr<VideoEncoder>(VideoEncoder::Create(VideoEncoder::kVp9)); | 605 VideoEncoder::Create(VideoEncoder::kVp9)); |
601 send_config_.encoder_settings.encoder = encoder.get(); | 606 send_config_.encoder_settings.encoder = encoder.get(); |
602 send_config_.encoder_settings.payload_name = "VP9"; | 607 send_config_.encoder_settings.payload_name = "VP9"; |
603 } else { | 608 } else { |
604 RTC_NOTREACHED() << "Codec not supported!"; | 609 RTC_NOTREACHED() << "Codec not supported!"; |
605 return; | 610 return; |
606 } | 611 } |
607 send_config_.encoder_settings.payload_type = 124; | 612 send_config_.encoder_settings.payload_type = 124; |
608 | 613 |
609 send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs; | 614 send_config_.rtp.nack.rtp_history_ms = kNackRtpHistoryMs; |
610 send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); | 615 send_config_.rtp.rtx.ssrcs.push_back(kSendRtxSsrcs[0]); |
611 send_config_.rtp.rtx.payload_type = kSendRtxPayloadType; | 616 send_config_.rtp.rtx.payload_type = kSendRtxPayloadType; |
612 | 617 |
613 VideoStream* stream = &encoder_config_.streams[0]; | 618 VideoStream* stream = &encoder_config_.streams[0]; |
614 stream->width = params.clip.width; | 619 stream->width = params.clip.width; |
615 stream->height = params.clip.height; | 620 stream->height = params.clip.height; |
616 stream->min_bitrate_bps = params.min_bitrate_bps; | 621 stream->min_bitrate_bps = params.min_bitrate_bps; |
617 stream->target_bitrate_bps = params.target_bitrate_bps; | 622 stream->target_bitrate_bps = params.target_bitrate_bps; |
618 stream->max_bitrate_bps = params.max_bitrate_bps; | 623 stream->max_bitrate_bps = params.max_bitrate_bps; |
619 stream->max_framerate = params.clip.fps; | 624 stream->max_framerate = params.clip.fps; |
620 | 625 |
| 626 VideoCodecH264 h264_settings; |
621 VideoCodecVP8 vp8_settings; | 627 VideoCodecVP8 vp8_settings; |
622 VideoCodecVP9 vp9_settings; | 628 VideoCodecVP9 vp9_settings; |
623 if (params.mode == ContentMode::kScreensharingStaticImage || | 629 if (params.mode == ContentMode::kScreensharingStaticImage || |
624 params.mode == ContentMode::kScreensharingScrollingImage) { | 630 params.mode == ContentMode::kScreensharingScrollingImage) { |
625 encoder_config_.content_type = VideoEncoderConfig::ContentType::kScreen; | 631 encoder_config_.content_type = VideoEncoderConfig::ContentType::kScreen; |
626 encoder_config_.min_transmit_bitrate_bps = 400 * 1000; | 632 encoder_config_.min_transmit_bitrate_bps = 400 * 1000; |
627 if (params.codec == "VP8") { | 633 if (params.codec == "H264") { |
| 634 h264_settings = VideoEncoder::GetDefaultH264Settings(); |
| 635 h264_settings.frameDroppingOn = false; |
| 636 // Ignoring |num_temporal_layers| for H264. |
| 637 encoder_config_.encoder_specific_settings = &h264_settings; |
| 638 } else if (params.codec == "VP8") { |
628 vp8_settings = VideoEncoder::GetDefaultVp8Settings(); | 639 vp8_settings = VideoEncoder::GetDefaultVp8Settings(); |
629 vp8_settings.denoisingOn = false; | 640 vp8_settings.denoisingOn = false; |
630 vp8_settings.frameDroppingOn = false; | 641 vp8_settings.frameDroppingOn = false; |
631 vp8_settings.numberOfTemporalLayers = num_temporal_layers; | 642 vp8_settings.numberOfTemporalLayers = num_temporal_layers; |
632 encoder_config_.encoder_specific_settings = &vp8_settings; | 643 encoder_config_.encoder_specific_settings = &vp8_settings; |
633 } else if (params.codec == "VP9") { | 644 } else if (params.codec == "VP9") { |
634 vp9_settings = VideoEncoder::GetDefaultVp9Settings(); | 645 vp9_settings = VideoEncoder::GetDefaultVp9Settings(); |
635 vp9_settings.denoisingOn = false; | 646 vp9_settings.denoisingOn = false; |
636 vp9_settings.frameDroppingOn = false; | 647 vp9_settings.frameDroppingOn = false; |
637 vp9_settings.numberOfTemporalLayers = num_temporal_layers; | 648 vp9_settings.numberOfTemporalLayers = num_temporal_layers; |
(...skipping 242 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
880 50000, | 891 50000, |
881 200000, | 892 200000, |
882 2000000, | 893 2000000, |
883 0.0, | 894 0.0, |
884 0.0, | 895 0.0, |
885 kFullStackTestDurationSecs, | 896 kFullStackTestDurationSecs, |
886 "VP9"}; | 897 "VP9"}; |
887 RunTest(screenshare_params); | 898 RunTest(screenshare_params); |
888 } | 899 } |
889 } // namespace webrtc | 900 } // namespace webrtc |
OLD | NEW |