)]}'
{
  "commit": "7e8de0bf2db3810587d64c6bb12cd482c4c84868",
  "tree": "3e18d103002f1136c11482270c0a05bcdd1d4164",
  "parents": [
    "b4f3f370b2e7d4536e85fb54091a79199334fe8d"
  ],
  "author": {
    "name": "Bjorn Mellem",
    "email": "mellem@webrtc.org",
    "time": "Fri Jun 07 06:13:42 2019"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Fri Jun 07 06:17:50 2019"
  },
  "message": "Revert \"Implement true negotiation for DatagramTransport with fallback to RTP.\"\n\nThis reverts commit 71c6482baf0ff17141c635e6a7639493db68a65c.\n\nReason for revert: Lands too much at once and breaks downstream tests that need to implement new interfaces first.\n\nOriginal change\u0027s description:\n\u003e Implement true negotiation for DatagramTransport with fallback to RTP.\n\u003e \n\u003e In short, the caller places a x-opaque line in SDP for each m\u003d section that\n\u003e uses datagram transport.  If the answerer supports datagram transport, it will\n\u003e parse this line and create a datagram transport.  It will then echo the x-opaque\n\u003e line into the answer (to indicate that it accepted use of datagram transport).\n\u003e \n\u003e If the offer and answer contain exactly the same x-opaque line, both peers will\n\u003e use datagram transport.  If the x-opaque line is omitted from the answer (or is\n\u003e different in the answer) they will fall back to RTP.\n\u003e \n\u003e Note that a different x-opaque line in the answer means the answerer did not\n\u003e understand something in the negotiation proto.  Since WebRTC cannot know what\n\u003e was misunderstood, or whether it\u0027s still possible to use the datagram transport,\n\u003e it must fall back to RTP.  This may change in the future, possibly by passing\n\u003e the answer to the datagram transport, but it\u0027s good enough for now.\n\u003e \n\u003e Negotiation consists of four parts:\n\u003e  1. DatagramTransport exposes transport parameters for both client and server\n\u003e  perspectives.  The client just echoes what it received from the server (modulo\n\u003e  any fields it might not have understood).\n\u003e \n\u003e  2. SDP adds a x-opaque line for opaque transport parameters.  Identical to\n\u003e  x-mt, but this is specific to datagram transport and goes in each m\u003d section,\n\u003e  and appears in the answer as well as the offer.\n\u003e   - This is propagated to Jsep as part of the TransportDescription.\n\u003e   - SDP files: transport_description.h,cc, transport_description_factory.h,cc,\n\u003e     media_session.cc, webrtc_sdp.cc\n\u003e \n\u003e  3. JsepTransport/Controller:\n\u003e   - Exposes opaque parameters for each mid (m\u003d section).  On offerer, this means\n\u003e     pre-allocating a datagram transport and getting its parameters.  On the\n\u003e     answerer, this means echoing the offerer\u0027s parameters.\n\u003e   - Uses a composite RTP transport to receive from either default RTP or\n\u003e     datagram transport until both offer and answer arrive.\n\u003e   - If a provisional answer arrives, sets the composite to send on the\n\u003e     provisionally selected transport.\n\u003e   - Once both offer and answer are set, deletes the unneeded transports and\n\u003e     keeps whichever transport is selected.\n\u003e \n\u003e  4. PeerConnection pulls transport parameters out of Jsep and adds them to SDP.\n\u003e \n\u003e Bug: webrtc:9719\n\u003e Change-Id: Id8996eb1871e79d93b7923a5d7eb3431548c798d\n\u003e Reviewed-on: https://webrtc-review.googlesource.com/c/src/+/140700\n\u003e Commit-Queue: Bjorn Mellem \u003cmellem@webrtc.org\u003e\n\u003e Reviewed-by: Steve Anton \u003csteveanton@webrtc.org\u003e\n\u003e Reviewed-by: Anton Sukhanov \u003csukhanov@webrtc.org\u003e\n\u003e Cr-Commit-Position: refs/heads/master@{#28182}\n\nTBR\u003dsteveanton@webrtc.org,mellem@webrtc.org,sukhanov@webrtc.org\n\nChange-Id: I0d502c4a6d27516c35ed85154f3fa5869f88b3b7\nNo-Presubmit: true\nNo-Tree-Checks: true\nNo-Try: true\nBug: webrtc:9719\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/140822\nCommit-Queue: Bjorn Mellem \u003cmellem@webrtc.org\u003e\nReviewed-by: Bjorn Mellem \u003cmellem@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#28188}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "063767a555059abf7a6bd77734006e4e3b12c8fb",
      "old_mode": 33188,
      "old_path": "api/BUILD.gn",
      "new_id": "2617a19f7b79c86332a005a9e0f13b63535fbb00",
      "new_mode": 33188,
      "new_path": "api/BUILD.gn"
    },
    {
      "type": "modify",
      "old_id": "6205f0043f66e830bd015b687c99caf12602fb02",
      "old_mode": 33188,
      "old_path": "api/datagram_transport_interface.h",
      "new_id": "c908dfb3d54e92b0b6c74424fde3b62bfc9f0082",
      "new_mode": 33188,
      "new_path": "api/datagram_transport_interface.h"
    },
    {
      "type": "delete",
      "old_id": "a73a7e8d1c03e6a459fea74456e001ece212893a",
      "old_mode": 33188,
      "old_path": "api/test/fake_datagram_transport.h",
      "new_id": "0000000000000000000000000000000000000000",
      "new_mode": 0,
      "new_path": "/dev/null"
    },
    {
      "type": "modify",
      "old_id": "38b94c9143ddc1a21e6c9c2e0c86be21410b1b20",
      "old_mode": 33188,
      "old_path": "api/test/fake_media_transport.h",
      "new_id": "ef8284ca9329824d5deb5822570afb783a94c77c",
      "new_mode": 33188,
      "new_path": "api/test/fake_media_transport.h"
    },
    {
      "type": "modify",
      "old_id": "b0a21d6d711d76441f454f6b8888cdc8538e2e03",
      "old_mode": 33188,
      "old_path": "p2p/base/transport_description.cc",
      "new_id": "1847eec975a4424c82ca95cb6ec969f84a9eb532",
      "new_mode": 33188,
      "new_path": "p2p/base/transport_description.cc"
    },
    {
      "type": "modify",
      "old_id": "15e2e919f315df9f4b3cb25160d69ddd7c341129",
      "old_mode": 33188,
      "old_path": "p2p/base/transport_description.h",
      "new_id": "b13defbc2b1f9e286d13edca719b6dcac08c0455",
      "new_mode": 33188,
      "new_path": "p2p/base/transport_description.h"
    },
    {
      "type": "modify",
      "old_id": "4d4a1383ac0f0484567111627cfbfefe78212a92",
      "old_mode": 33188,
      "old_path": "p2p/base/transport_description_factory.cc",
      "new_id": "d95328b121eee6ca6e5d1620de14f8f271a435a1",
      "new_mode": 33188,
      "new_path": "p2p/base/transport_description_factory.cc"
    },
    {
      "type": "modify",
      "old_id": "d0813dc541e948eb835d55ab1dcd55be2f978172",
      "old_mode": 33188,
      "old_path": "p2p/base/transport_description_factory.h",
      "new_id": "c1656a0fac213956b1f275f037f4cae39ceb73a0",
      "new_mode": 33188,
      "new_path": "p2p/base/transport_description_factory.h"
    },
    {
      "type": "modify",
      "old_id": "3819e81a6d02e02229b87a8abfc55d371a7d0aed",
      "old_mode": 33188,
      "old_path": "p2p/base/transport_description_factory_unittest.cc",
      "new_id": "875d140ab6a568e815e7a42197ffc2bf253a13d6",
      "new_mode": 33188,
      "new_path": "p2p/base/transport_description_factory_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "bdeaacd116df9ce6d09f43908c34f40d913dcb78",
      "old_mode": 33188,
      "old_path": "pc/composite_rtp_transport.cc",
      "new_id": "1209fa5c11662ec0df3edee4c77f8a13ee39bc8c",
      "new_mode": 33188,
      "new_path": "pc/composite_rtp_transport.cc"
    },
    {
      "type": "modify",
      "old_id": "35f9382571bf12ebee8cb6ab5ea91c81164b997f",
      "old_mode": 33188,
      "old_path": "pc/composite_rtp_transport.h",
      "new_id": "deb315dcf6513d0842806be3b8da5cc914311cf2",
      "new_mode": 33188,
      "new_path": "pc/composite_rtp_transport.h"
    },
    {
      "type": "modify",
      "old_id": "77512d9929a2b8d85b217511eeb6bcd12254d665",
      "old_mode": 33188,
      "old_path": "pc/composite_rtp_transport_test.cc",
      "new_id": "5264c73c637b9697105b821a7da21f731d44f5ec",
      "new_mode": 33188,
      "new_path": "pc/composite_rtp_transport_test.cc"
    },
    {
      "type": "modify",
      "old_id": "9380341a57d28321372e5293df710a2e59f96a32",
      "old_mode": 33188,
      "old_path": "pc/jsep_transport.cc",
      "new_id": "8c614a9db552cee6d46ae750b579215dd53c744b",
      "new_mode": 33188,
      "new_path": "pc/jsep_transport.cc"
    },
    {
      "type": "modify",
      "old_id": "65800270aba3ac40623251f5c801e951f54007ee",
      "old_mode": 33188,
      "old_path": "pc/jsep_transport.h",
      "new_id": "8e00793bf9b13d9380a5fab16f63e55a301815b5",
      "new_mode": 33188,
      "new_path": "pc/jsep_transport.h"
    },
    {
      "type": "modify",
      "old_id": "597ab4a1db4533c8bcb7967864782186bd547099",
      "old_mode": 33188,
      "old_path": "pc/jsep_transport_controller.cc",
      "new_id": "56d9a47ed74c4ecae796fd5aa2d4ec3abcd129c8",
      "new_mode": 33188,
      "new_path": "pc/jsep_transport_controller.cc"
    },
    {
      "type": "modify",
      "old_id": "23d4485a6dc834c10925f8a4cd1208017ed9e910",
      "old_mode": 33188,
      "old_path": "pc/jsep_transport_controller.h",
      "new_id": "fcae15373feb8110533e9b14ce39f1a9938471b5",
      "new_mode": 33188,
      "new_path": "pc/jsep_transport_controller.h"
    },
    {
      "type": "modify",
      "old_id": "353a65971234ae2edbfd227903ca1d43ca63bdfa",
      "old_mode": 33188,
      "old_path": "pc/jsep_transport_controller_unittest.cc",
      "new_id": "3bde0e7c0b9415a63fee86b71c69abbe696bc7a6",
      "new_mode": 33188,
      "new_path": "pc/jsep_transport_controller_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "31a4e926e32bcedd73fbf40289b14ad13a11c388",
      "old_mode": 33188,
      "old_path": "pc/jsep_transport_unittest.cc",
      "new_id": "7e2f80ef5eff0d3a30f93fd8d09853b464119611",
      "new_mode": 33188,
      "new_path": "pc/jsep_transport_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "f989d28f726da2bc2be4d3813be80baa1ffb96a2",
      "old_mode": 33188,
      "old_path": "pc/media_session.cc",
      "new_id": "fe11d447020919a1e2c8810c6e4ddafd2237153c",
      "new_mode": 33188,
      "new_path": "pc/media_session.cc"
    },
    {
      "type": "modify",
      "old_id": "0a756f34628688500a9d81b25051c80c9a6dbc21",
      "old_mode": 33188,
      "old_path": "pc/media_session_unittest.cc",
      "new_id": "76a33d0745c6084947f99b50300f82cafaa090aa",
      "new_mode": 33188,
      "new_path": "pc/media_session_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "2de30750612ca591284fa467f8fed566225374d1",
      "old_mode": 33188,
      "old_path": "pc/peer_connection.cc",
      "new_id": "b94b8839894a6ebfc4accc0d1f5a5ec8aa970929",
      "new_mode": 33188,
      "new_path": "pc/peer_connection.cc"
    },
    {
      "type": "modify",
      "old_id": "5784defc77919bdf8a8e22351a39b4c5be6b2964",
      "old_mode": 33188,
      "old_path": "pc/webrtc_sdp.cc",
      "new_id": "83bd3782bd6b57ec2678e5e208739656220bb253",
      "new_mode": 33188,
      "new_path": "pc/webrtc_sdp.cc"
    },
    {
      "type": "modify",
      "old_id": "71f5153ea5af3c13f2686076f2a8f593d1ebafeb",
      "old_mode": 33188,
      "old_path": "pc/webrtc_sdp_unittest.cc",
      "new_id": "5fdf5f61aba084b28ecda84be648fec691b29a8a",
      "new_mode": 33188,
      "new_path": "pc/webrtc_sdp_unittest.cc"
    }
  ]
}
