Update talk to 55906045.
Review URL: https://webrtc-codereview.appspot.com/3159005
git-svn-id: http://webrtc.googlecode.com/svn/trunk@5065 4adac7df-926f-26a2-2b94-8c16560cd09d
diff --git a/talk/media/base/mediachannel.h b/talk/media/base/mediachannel.h
index 49b3336..919248f 100644
--- a/talk/media/base/mediachannel.h
+++ b/talk/media/base/mediachannel.h
@@ -183,6 +183,7 @@
rx_agc_limiter.SetFrom(change.rx_agc_limiter);
recording_sample_rate.SetFrom(change.recording_sample_rate);
playout_sample_rate.SetFrom(change.playout_sample_rate);
+ dscp.SetFrom(change.dscp);
}
bool operator==(const AudioOptions& o) const {
@@ -206,7 +207,8 @@
rx_agc_digital_compression_gain == o.rx_agc_digital_compression_gain &&
rx_agc_limiter == o.rx_agc_limiter &&
recording_sample_rate == o.recording_sample_rate &&
- playout_sample_rate == o.playout_sample_rate;
+ playout_sample_rate == o.playout_sample_rate &&
+ dscp == o.dscp;
}
std::string ToString() const {
@@ -235,6 +237,7 @@
ost << ToStringIfSet("rx_agc_limiter", rx_agc_limiter);
ost << ToStringIfSet("recording_sample_rate", recording_sample_rate);
ost << ToStringIfSet("playout_sample_rate", playout_sample_rate);
+ ost << ToStringIfSet("dscp", dscp);
ost << "}";
return ost.str();
}
@@ -269,6 +272,8 @@
Settable<bool> rx_agc_limiter;
Settable<uint32> recording_sample_rate;
Settable<uint32> playout_sample_rate;
+ // Set DSCP value for packet sent from audio channel.
+ Settable<bool> dscp;
};
// Options that can be applied to a VideoMediaChannel or a VideoMediaEngine.
@@ -307,6 +312,7 @@
change.system_high_adaptation_threshhold);
buffered_mode_latency.SetFrom(change.buffered_mode_latency);
lower_min_bitrate.SetFrom(change.lower_min_bitrate);
+ dscp.SetFrom(change.dscp);
}
bool operator==(const VideoOptions& o) const {
@@ -331,7 +337,8 @@
system_high_adaptation_threshhold ==
o.system_high_adaptation_threshhold &&
buffered_mode_latency == o.buffered_mode_latency &&
- lower_min_bitrate == o.lower_min_bitrate;
+ lower_min_bitrate == o.lower_min_bitrate &&
+ dscp == o.dscp;
}
std::string ToString() const {
@@ -359,6 +366,7 @@
ost << ToStringIfSet("high", system_high_adaptation_threshhold);
ost << ToStringIfSet("buffered mode latency", buffered_mode_latency);
ost << ToStringIfSet("lower min bitrate", lower_min_bitrate);
+ ost << ToStringIfSet("dscp", dscp);
ost << "}";
return ost.str();
}
@@ -405,6 +413,8 @@
Settable<int> buffered_mode_latency;
// Make minimum configured send bitrate even lower than usual, at 30kbit.
Settable<bool> lower_min_bitrate;
+ // Set DSCP value for packet sent from video channel.
+ Settable<bool> dscp;
};
// A class for playing out soundclips.
@@ -543,6 +553,21 @@
return network_interface_->SetOption(type, opt, option);
}
+ protected:
+ // This method sets DSCP |value| on both RTP and RTCP channels.
+ int SetDscp(talk_base::DiffServCodePoint value) {
+ int ret;
+ ret = SetOption(NetworkInterface::ST_RTP,
+ talk_base::Socket::OPT_DSCP,
+ value);
+ if (ret == 0) {
+ ret = SetOption(NetworkInterface::ST_RTCP,
+ talk_base::Socket::OPT_DSCP,
+ value);
+ }
+ return ret;
+ }
+
private:
bool DoSendPacket(talk_base::Buffer* packet, bool rtcp) {
talk_base::CritScope cs(&network_interface_crit_);