Index: webrtc/pc/webrtcsession.cc |
diff --git a/webrtc/pc/webrtcsession.cc b/webrtc/pc/webrtcsession.cc |
index c6046e905fd48e3a57b98315d49bebe091b56dfd..93a92ef20d98783bb28b7b0ca7e805d719a4cb02 100644 |
--- a/webrtc/pc/webrtcsession.cc |
+++ b/webrtc/pc/webrtcsession.cc |
@@ -950,6 +950,16 @@ bool WebRtcSession::PushdownMediaDescription( |
if (!ch) { |
return true; |
} else if (source == cricket::CS_LOCAL) { |
+ const SessionDescription* local_desc = local_description()->description(); |
+ const ContentInfo* content_info = GetFirstDataContent(local_desc); |
+ RTC_DCHECK(IsVideoContent(content_info)); |
+ const cricket::VideoContentDescription* content_desc = |
+ static_cast<const cricket::VideoContentDescription*>( |
+ content_info->description); |
+ if (content_desc->rtp_header_extensions_set()) |
+ media_controller_->SetVideoReceiveRtpHeaderExtensions( |
+ content_desc->rtp_header_extensions()); |
+ |
return ch->PushdownLocalDescription(local_description()->description(), |
action, err); |
} else { |