| OLD | NEW |
| 1 /* | 1 /* |
| 2 * Copyright (c) 2014 The WebRTC project authors. All Rights Reserved. | 2 * Copyright (c) 2014 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 37 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 48 return webrtc::field_trial::IsEnabled("WebRTC-FlexFEC-03"); | 48 return webrtc::field_trial::IsEnabled("WebRTC-FlexFEC-03"); |
| 49 } | 49 } |
| 50 | 50 |
| 51 // If this field trial is enabled, the "flexfec-03" codec may have been | 51 // If this field trial is enabled, the "flexfec-03" codec may have been |
| 52 // advertised as being supported in the local SDP. That means that we must be | 52 // advertised as being supported in the local SDP. That means that we must be |
| 53 // ready to receive FlexFEC packets. See internalencoderfactory.cc. | 53 // ready to receive FlexFEC packets. See internalencoderfactory.cc. |
| 54 bool IsFlexfecAdvertisedFieldTrialEnabled() { | 54 bool IsFlexfecAdvertisedFieldTrialEnabled() { |
| 55 return webrtc::field_trial::IsEnabled("WebRTC-FlexFEC-03-Advertised"); | 55 return webrtc::field_trial::IsEnabled("WebRTC-FlexFEC-03-Advertised"); |
| 56 } | 56 } |
| 57 | 57 |
| 58 // If this field trial is enabled, we will report VideoContentType RTP extension | |
| 59 // in capabilities (thus, it will end up in the default SDP and extension will | |
| 60 // be sent for all key-frames). | |
| 61 bool IsVideoContentTypeExtensionFieldTrialEnabled() { | |
| 62 return webrtc::field_trial::IsEnabled("WebRTC-VideoContentTypeExtension"); | |
| 63 } | |
| 64 | |
| 65 // An encoder factory that wraps Create requests for simulcastable codec types | 58 // An encoder factory that wraps Create requests for simulcastable codec types |
| 66 // with a webrtc::SimulcastEncoderAdapter. Non simulcastable codec type | 59 // with a webrtc::SimulcastEncoderAdapter. Non simulcastable codec type |
| 67 // requests are just passed through to the contained encoder factory. | 60 // requests are just passed through to the contained encoder factory. |
| 68 class WebRtcSimulcastEncoderFactory | 61 class WebRtcSimulcastEncoderFactory |
| 69 : public cricket::WebRtcVideoEncoderFactory { | 62 : public cricket::WebRtcVideoEncoderFactory { |
| 70 public: | 63 public: |
| 71 // WebRtcSimulcastEncoderFactory doesn't take ownership of |factory|, which is | 64 // WebRtcSimulcastEncoderFactory doesn't take ownership of |factory|, which is |
| 72 // owned by e.g. PeerConnectionFactory. | 65 // owned by e.g. PeerConnectionFactory. |
| 73 explicit WebRtcSimulcastEncoderFactory( | 66 explicit WebRtcSimulcastEncoderFactory( |
| 74 cricket::WebRtcVideoEncoderFactory* factory) | 67 cricket::WebRtcVideoEncoderFactory* factory) |
| (...skipping 348 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 423 webrtc::RtpExtension::kAbsSendTimeDefaultId)); | 416 webrtc::RtpExtension::kAbsSendTimeDefaultId)); |
| 424 capabilities.header_extensions.push_back( | 417 capabilities.header_extensions.push_back( |
| 425 webrtc::RtpExtension(webrtc::RtpExtension::kVideoRotationUri, | 418 webrtc::RtpExtension(webrtc::RtpExtension::kVideoRotationUri, |
| 426 webrtc::RtpExtension::kVideoRotationDefaultId)); | 419 webrtc::RtpExtension::kVideoRotationDefaultId)); |
| 427 capabilities.header_extensions.push_back(webrtc::RtpExtension( | 420 capabilities.header_extensions.push_back(webrtc::RtpExtension( |
| 428 webrtc::RtpExtension::kTransportSequenceNumberUri, | 421 webrtc::RtpExtension::kTransportSequenceNumberUri, |
| 429 webrtc::RtpExtension::kTransportSequenceNumberDefaultId)); | 422 webrtc::RtpExtension::kTransportSequenceNumberDefaultId)); |
| 430 capabilities.header_extensions.push_back( | 423 capabilities.header_extensions.push_back( |
| 431 webrtc::RtpExtension(webrtc::RtpExtension::kPlayoutDelayUri, | 424 webrtc::RtpExtension(webrtc::RtpExtension::kPlayoutDelayUri, |
| 432 webrtc::RtpExtension::kPlayoutDelayDefaultId)); | 425 webrtc::RtpExtension::kPlayoutDelayDefaultId)); |
| 433 if (IsVideoContentTypeExtensionFieldTrialEnabled()) { | 426 capabilities.header_extensions.push_back( |
| 434 capabilities.header_extensions.push_back( | 427 webrtc::RtpExtension(webrtc::RtpExtension::kVideoContentTypeUri, |
| 435 webrtc::RtpExtension(webrtc::RtpExtension::kVideoContentTypeUri, | 428 webrtc::RtpExtension::kVideoContentTypeDefaultId)); |
| 436 webrtc::RtpExtension::kVideoContentTypeDefaultId)); | |
| 437 } | |
| 438 // TODO(ilnik): Add kVideoTimingUri/kVideoTimingDefaultId to capabilities. | 429 // TODO(ilnik): Add kVideoTimingUri/kVideoTimingDefaultId to capabilities. |
| 439 // Possibly inside field trial. | 430 // Possibly inside field trial. |
| 440 return capabilities; | 431 return capabilities; |
| 441 } | 432 } |
| 442 | 433 |
| 443 void WebRtcVideoEngine::SetExternalDecoderFactory( | 434 void WebRtcVideoEngine::SetExternalDecoderFactory( |
| 444 WebRtcVideoDecoderFactory* decoder_factory) { | 435 WebRtcVideoDecoderFactory* decoder_factory) { |
| 445 RTC_DCHECK(!initialized_); | 436 RTC_DCHECK(!initialized_); |
| 446 external_decoder_factory_ = decoder_factory; | 437 external_decoder_factory_ = decoder_factory; |
| 447 } | 438 } |
| (...skipping 2212 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 2660 stream.temporal_layer_thresholds_bps.resize(GetDefaultVp9TemporalLayers() - | 2651 stream.temporal_layer_thresholds_bps.resize(GetDefaultVp9TemporalLayers() - |
| 2661 1); | 2652 1); |
| 2662 } | 2653 } |
| 2663 | 2654 |
| 2664 std::vector<webrtc::VideoStream> streams; | 2655 std::vector<webrtc::VideoStream> streams; |
| 2665 streams.push_back(stream); | 2656 streams.push_back(stream); |
| 2666 return streams; | 2657 return streams; |
| 2667 } | 2658 } |
| 2668 | 2659 |
| 2669 } // namespace cricket | 2660 } // namespace cricket |
| OLD | NEW |