Prepare for per-media DSCP values.  Push dscp for stun packets to the port layer where they are created.

Bug: webrtc:5008
Change-Id: Iaf4788ef2170fa67a8cdee6e9ea6b8c158f286cb
Reviewed-on: https://webrtc-review.googlesource.com/c/92940
Reviewed-by: Stefan Holmer <stefan@webrtc.org>
Commit-Queue: Tim Haloun <thaloun@google.com>
Cr-Commit-Position: refs/heads/master@{#24963}
diff --git a/media/base/mediachannel.h b/media/base/mediachannel.h
index 44beb8f..98b36ac 100644
--- a/media/base/mediachannel.h
+++ b/media/base/mediachannel.h
@@ -186,7 +186,6 @@
 
   // Sets the abstract interface class for sending RTP/RTCP data.
   virtual void SetInterface(NetworkInterface* iface);
-  virtual rtc::DiffServCodePoint PreferredDscp() const;
   // Called when a RTP packet is received.
   virtual void OnPacketReceived(rtc::CopyOnWriteBuffer* packet,
                                 const rtc::PacketTime& packet_time) = 0;
@@ -249,6 +248,11 @@
     return network_interface_->SetOption(type, opt, option);
   }
 
+ protected:
+  virtual rtc::DiffServCodePoint PreferredDscp() const;
+
+  bool DscpEnabled() const { return enable_dscp_; }
+
  private:
   // This method sets DSCP |value| on both RTP and RTCP channels.
   int SetDscp(rtc::DiffServCodePoint value) {