Chromium Code Reviews| Index: webrtc/media/engine/webrtcvideoengine2.cc |
| diff --git a/webrtc/media/engine/webrtcvideoengine2.cc b/webrtc/media/engine/webrtcvideoengine2.cc |
| index 82d32b0e1865dff74586b16030a8731a6634a5ec..1334a1c4a0b09f624ba9bd070f4f8b241b787385 100644 |
| --- a/webrtc/media/engine/webrtcvideoengine2.cc |
| +++ b/webrtc/media/engine/webrtcvideoengine2.cc |
| @@ -919,6 +919,7 @@ webrtc::RtpParameters WebRtcVideoChannel2::GetRtpReceiveParameters( |
| for (const VideoCodec& codec : recv_params_.codecs) { |
| rtp_params.codecs.push_back(codec.ToCodecParameters()); |
| } |
| + rtp_params.encodings[0].ssrc = it->second->GetPrimarySsrc(); |
|
pthatcher1
2016/06/16 19:34:38
Either have GetFirstPrimarySsrc() return an rtc::o
|
| return rtp_params; |
| } |
| @@ -2206,8 +2207,7 @@ WebRtcVideoChannel2::WebRtcVideoReceiveStream::WebRtcVideoReceiveStream( |
| const std::vector<VideoCodecSettings>& recv_codecs, |
| bool red_disabled_by_remote_side) |
| : call_(call), |
| - ssrcs_(sp.ssrcs), |
| - ssrc_groups_(sp.ssrc_groups), |
| + stream_params_(sp), |
| stream_(NULL), |
| default_stream_(default_stream), |
| config_(std::move(config)), |
| @@ -2247,7 +2247,19 @@ WebRtcVideoChannel2::WebRtcVideoReceiveStream::~WebRtcVideoReceiveStream() { |
| const std::vector<uint32_t>& |
| WebRtcVideoChannel2::WebRtcVideoReceiveStream::GetSsrcs() const { |
| - return ssrcs_; |
| + return stream_params_.ssrcs; |
| +} |
| + |
| +uint32_t WebRtcVideoChannel2::WebRtcVideoReceiveStream::GetPrimarySsrc() const { |
| + std::vector<uint32_t> primary_ssrcs; |
| + stream_params_.GetPrimarySsrcs(&primary_ssrcs); |
| + |
| + if (primary_ssrcs.empty()) { |
| + LOG(LS_WARNING) << "Empty primary ssrcs vector, returning 0"; |
| + return 0; |
| + } else { |
| + return primary_ssrcs[0]; |
| + } |
| } |
| WebRtcVideoChannel2::WebRtcVideoReceiveStream::AllocatedDecoder |
| @@ -2267,7 +2279,8 @@ WebRtcVideoChannel2::WebRtcVideoReceiveStream::CreateOrReuseVideoDecoder( |
| if (external_decoder_factory_ != NULL) { |
| webrtc::VideoDecoder* decoder = |
| - external_decoder_factory_->CreateVideoDecoder(type); |
| + external_decoder_factory_->CreateVideoDecoderWithParams( |
| + type, {stream_params_.id}); |
| if (decoder != NULL) { |
| return AllocatedDecoder(decoder, type, true); |
| } |
| @@ -2461,7 +2474,7 @@ WebRtcVideoChannel2::WebRtcVideoReceiveStream::GetCodecNameFromPayloadType( |
| VideoReceiverInfo |
| WebRtcVideoChannel2::WebRtcVideoReceiveStream::GetVideoReceiverInfo() { |
| VideoReceiverInfo info; |
| - info.ssrc_groups = ssrc_groups_; |
| + info.ssrc_groups = stream_params_.ssrc_groups; |
| info.add_ssrc(config_.rtp.remote_ssrc); |
| webrtc::VideoReceiveStream::Stats stats = stream_->GetStats(); |
| info.decoder_implementation_name = stats.decoder_implementation_name; |