| 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 |
| 11 #include "video/payload_router.h" | 11 #include "video/payload_router.h" |
| 12 | 12 |
| 13 #include "modules/rtp_rtcp/include/rtp_rtcp.h" | 13 #include "modules/rtp_rtcp/include/rtp_rtcp.h" |
| 14 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" | 14 #include "modules/rtp_rtcp/include/rtp_rtcp_defines.h" |
| 15 #include "modules/video_coding/include/video_codec_interface.h" | 15 #include "modules/video_coding/include/video_codec_interface.h" |
| 16 #include "rtc_base/checks.h" | 16 #include "rtc_base/checks.h" |
| 17 #include "rtc_base/logging.h" |
| 17 | 18 |
| 18 namespace webrtc { | 19 namespace webrtc { |
| 19 | 20 |
| 20 namespace { | 21 namespace { |
| 21 // Map information from info into rtp. | 22 // Map information from info into rtp. |
| 22 void CopyCodecSpecific(const CodecSpecificInfo* info, RTPVideoHeader* rtp) { | 23 void CopyCodecSpecific(const CodecSpecificInfo* info, RTPVideoHeader* rtp) { |
| 23 RTC_DCHECK(info); | 24 RTC_DCHECK(info); |
| 24 switch (info->codecType) { | 25 switch (info->codecType) { |
| 25 case kVideoCodecVP8: { | 26 case kVideoCodecVP8: { |
| 26 rtp->codec = kRtpVideoVp8; | 27 rtp->codec = kRtpVideoVp8; |
| (...skipping 48 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 75 } | 76 } |
| 76 case kVideoCodecH264: | 77 case kVideoCodecH264: |
| 77 rtp->codec = kRtpVideoH264; | 78 rtp->codec = kRtpVideoH264; |
| 78 rtp->codecHeader.H264.packetization_mode = | 79 rtp->codecHeader.H264.packetization_mode = |
| 79 info->codecSpecific.H264.packetization_mode; | 80 info->codecSpecific.H264.packetization_mode; |
| 80 return; | 81 return; |
| 81 case kVideoCodecGeneric: | 82 case kVideoCodecGeneric: |
| 82 rtp->codec = kRtpVideoGeneric; | 83 rtp->codec = kRtpVideoGeneric; |
| 83 rtp->simulcastIdx = info->codecSpecific.generic.simulcast_idx; | 84 rtp->simulcastIdx = info->codecSpecific.generic.simulcast_idx; |
| 84 return; | 85 return; |
| 86 case kVideoCodecStereo: { |
| 87 CodecSpecificInfo* codec_specific_info = |
| 88 const_cast<CodecSpecificInfo*>(info); |
| 89 codec_specific_info->codecType = info->stereoInfo.stereoCodecType; |
| 90 CopyCodecSpecific(codec_specific_info, rtp); |
| 91 rtp->stereoInfo.stereoCodecType = rtp->codec; |
| 92 rtp->codec = kRtpVideoStereo; |
| 93 rtp->stereoInfo.frameIndex = info->stereoInfo.frameIndex; |
| 94 rtp->stereoInfo.frameCount = info->stereoInfo.frameCount; |
| 95 rtp->stereoInfo.pictureIndex = info->stereoInfo.pictureIndex; |
| 96 return; |
| 97 } |
| 85 default: | 98 default: |
| 86 return; | 99 return; |
| 87 } | 100 } |
| 88 } | 101 } |
| 89 | 102 |
| 90 } // namespace | 103 } // namespace |
| 91 | 104 |
| 92 PayloadRouter::PayloadRouter(const std::vector<RtpRtcp*>& rtp_modules, | 105 PayloadRouter::PayloadRouter(const std::vector<RtpRtcp*>& rtp_modules, |
| 93 int payload_type) | 106 int payload_type) |
| 94 : active_(false), | 107 : active_(false), |
| (...skipping 83 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 178 BitrateAllocation layer_bitrate; | 191 BitrateAllocation layer_bitrate; |
| 179 for (int tl = 0; tl < kMaxTemporalStreams; ++tl) | 192 for (int tl = 0; tl < kMaxTemporalStreams; ++tl) |
| 180 layer_bitrate.SetBitrate(0, tl, bitrate.GetBitrate(si, tl)); | 193 layer_bitrate.SetBitrate(0, tl, bitrate.GetBitrate(si, tl)); |
| 181 rtp_modules_[si]->SetVideoBitrateAllocation(layer_bitrate); | 194 rtp_modules_[si]->SetVideoBitrateAllocation(layer_bitrate); |
| 182 } | 195 } |
| 183 } | 196 } |
| 184 } | 197 } |
| 185 } | 198 } |
| 186 | 199 |
| 187 } // namespace webrtc | 200 } // namespace webrtc |
| OLD | NEW |