Implement legacy offer_to_receive options for Unified Plan

This implements the WebRTC specification for handling
the legacy offer options offer_to_receive_audio and
offer_to_receive_video. They are not implemented for CreateAnswer.

With Unified Plan semantics, clients should switch to the
RtpTransceiver API for ensuring the correct media sections are
offered.

Bug: webrtc:7600
Change-Id: I6ced00b86b165a352bd0ca3d64b48fadcfd12235
Reviewed-on: https://webrtc-review.googlesource.com/41341
Reviewed-by: Peter Thatcher <pthatcher@webrtc.org>
Reviewed-by: Taylor Brandstetter <deadbeef@webrtc.org>
Commit-Queue: Steve Anton <steveanton@webrtc.org>
Cr-Commit-Position: refs/heads/master@{#21784}
diff --git a/pc/rtpmediautils.cc b/pc/rtpmediautils.cc
index f88861c..337aa2d 100644
--- a/pc/rtpmediautils.cc
+++ b/pc/rtpmediautils.cc
@@ -50,6 +50,20 @@
   return direction;
 }
 
+RtpTransceiverDirection RtpTransceiverDirectionWithSendSet(
+    RtpTransceiverDirection direction,
+    bool send) {
+  return RtpTransceiverDirectionFromSendRecv(
+      send, RtpTransceiverDirectionHasRecv(direction));
+}
+
+RtpTransceiverDirection RtpTransceiverDirectionWithRecvSet(
+    RtpTransceiverDirection direction,
+    bool recv) {
+  return RtpTransceiverDirectionFromSendRecv(
+      RtpTransceiverDirectionHasSend(direction), recv);
+}
+
 const char* RtpTransceiverDirectionToString(RtpTransceiverDirection direction) {
   switch (direction) {
     case RtpTransceiverDirection::kSendRecv: