)]}'
{
  "commit": "4fc0855a397530e24a2c1d4b4cb0dec400a36240",
  "tree": "4cd0ca399ee796864c9decea507ab81e5a9e01f3",
  "parents": [
    "b64af4b1680032383499c4223045241a09c04780"
  ],
  "author": {
    "name": "Ilya Nikolaevskiy",
    "email": "ilnik@webrtc.org",
    "time": "Wed Jun 05 13:59:12 2019"
  },
  "committer": {
    "name": "Commit Bot",
    "email": "commit-bot@chromium.org",
    "time": "Wed Jun 05 15:05:57 2019"
  },
  "message": "Cleanup video frame metadata copying\n\nIn several places VideoFrame::Builder is used to create a new VideoFrame\nwhen intent is to change only one or two fields of a const VideoFrame\u0026.\n\nThis approach is bad because each and every metadata field have to be\nadded to all the places.\n\nInstead, this CL adds missing setters and refactors the code to use\nfull copy of a VideoFrame and update required fields only.\n\nAlong the way few actual bugs are fixed, e.g. when ColorSpace isn\u0027t copied\nwhen frame rotation or buffer is cropped or converted.\n\nBug: webrtc:10460\nChange-Id: I2895a473ca938b150eed2916c689060bdf58cb25\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/140102\nReviewed-by: Niels Moller \u003cnisse@webrtc.org\u003e\nCommit-Queue: Ilya Nikolaevskiy \u003cilnik@webrtc.org\u003e\nCr-Commit-Position: refs/heads/master@{#28170}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "7a71f43493a619afac42dee376af1c283f64fb12",
      "old_mode": 33188,
      "old_path": "api/video/video_frame.cc",
      "new_id": "8040536cedc66beb3819b7e5cfc6f4c72a7cf6c8",
      "new_mode": 33188,
      "new_path": "api/video/video_frame.cc"
    },
    {
      "type": "modify",
      "old_id": "c7dd02a7b174843a954ad0991524464007daf544",
      "old_mode": 33188,
      "old_path": "api/video/video_frame.h",
      "new_id": "5e04c1bcfe5fb1d373195bede64b1b6a795333ab",
      "new_mode": 33188,
      "new_path": "api/video/video_frame.h"
    },
    {
      "type": "modify",
      "old_id": "9716882fbc9d68a9e30d227f1e3aa97302a64285",
      "old_mode": 33188,
      "old_path": "media/base/adapted_video_track_source.cc",
      "new_id": "c8c3222a1236e33f2244c6a2c717689348f0f658",
      "new_mode": 33188,
      "new_path": "media/base/adapted_video_track_source.cc"
    },
    {
      "type": "modify",
      "old_id": "1147d45be8d1a3b77fbca63a0d6bd55f2e36bd3f",
      "old_mode": 33188,
      "old_path": "media/engine/simulcast_encoder_adapter.cc",
      "new_id": "b7b2d7627e304236d1aed0975c55e414e0c25372",
      "new_mode": 33188,
      "new_path": "media/engine/simulcast_encoder_adapter.cc"
    },
    {
      "type": "modify",
      "old_id": "cc19f7ab7ffd482773ceba8a45cc87b9dd4132a5",
      "old_mode": 33188,
      "old_path": "video/video_stream_decoder_impl.cc",
      "new_id": "b4ae8488d998451ea1089e081a7c4d08d49e3ee7",
      "new_mode": 33188,
      "new_path": "video/video_stream_decoder_impl.cc"
    },
    {
      "type": "modify",
      "old_id": "013ad8f85351982b815a7e782b021acb864d3d72",
      "old_mode": 33188,
      "old_path": "video/video_stream_encoder.cc",
      "new_id": "fab3d57068d67b966709012c904061e987dd7a8b",
      "new_mode": 33188,
      "new_path": "video/video_stream_encoder.cc"
    }
  ]
}
