Move is_unified_plan flag to a member variable

This changes MediaSessionFactory to take the unified plan
configuration option as an explicit setter rathen than a
MediaSessionOptions flag. This is fine since a PeerConnection will
always be in unified plan mode or not, and we know this at
construction.

Bug: None
Change-Id: Ifca45d1d7c9d62b2b41bb879f8665fb39b4cdcd0
Reviewed-on: https://webrtc-review.googlesource.com/c/113824
Reviewed-by: Seth Hampson <shampson@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#25960}
diff --git a/pc/peerconnection.cc b/pc/peerconnection.cc
index c341888..d7247c4 100644
--- a/pc/peerconnection.cc
+++ b/pc/peerconnection.cc
@@ -1074,6 +1074,7 @@
 
   webrtc_session_desc_factory_->set_enable_encrypted_rtp_header_extensions(
       GetCryptoOptions().srtp.enable_encrypted_rtp_header_extensions);
+  webrtc_session_desc_factory_->set_is_unified_plan(IsUnifiedPlan());
 
   // Add default audio/video transceivers for Plan B SDP.
   if (!IsUnifiedPlan()) {
@@ -3809,7 +3810,6 @@
 
   session_options->rtcp_cname = rtcp_cname_;
   session_options->crypto_options = GetCryptoOptions();
-  session_options->is_unified_plan = IsUnifiedPlan();
   session_options->pooled_ice_credentials =
       network_thread()->Invoke<std::vector<cricket::IceParameters>>(
           RTC_FROM_HERE,
@@ -4092,7 +4092,6 @@
 
   session_options->rtcp_cname = rtcp_cname_;
   session_options->crypto_options = GetCryptoOptions();
-  session_options->is_unified_plan = IsUnifiedPlan();
   session_options->pooled_ice_credentials =
       network_thread()->Invoke<std::vector<cricket::IceParameters>>(
           RTC_FROM_HERE,