)]}'
{
  "commit": "53e41a2bc66ae550a9fe9b84114f910690e8da9e",
  "tree": "5de7b9bbc3467dec347089abad1afd7a743d8936",
  "parents": [
    "b5f2b17fd8a44b9a4e6b47f10b405f070814041a"
  ],
  "author": {
    "name": "Jakob Ivarsson",
    "email": "jakobi@webrtc.org",
    "time": "Thu Feb 01 14:11:37 2024"
  },
  "committer": {
    "name": "WebRTC LUCI CQ",
    "email": "webrtc-scoped@luci-project-accounts.iam.gserviceaccount.com",
    "time": "Thu Feb 01 15:05:19 2024"
  },
  "message": "Ignore old, duplicate and overlapping packets in packet arrival history.\n\nThis should mostly be a noop, but in a follow up cl we will insert all\npackets after splitting, which will allow for adapting the delay to FEC\n(both RED and codec inband) that is useful for decoding (i.e. not\nalready covered by primary packets).\n\nA slight behavior change is that reordered packets are no longer\nincluded in max delay calculation.\n\nImplementation details:\n- A map ordered by RTP timestamp is used to store the arrivals.\n- When inserting new packets, we check if the timestamp is too old, already exists or if the packet is fully covered by another packet (based on timestamp and packet duration).\n- Separate deques are used to keep track of \"min\" and \"max\" arrivals (as defined by ordering operators). The queues maintain a strictly increasing/decreasing order so that min/max is always at begin().\n\nBug: webrtc:13322\nChange-Id: I8b6cf5afff77b4adc3c29745b95627e955715b5a\nReviewed-on: https://webrtc-review.googlesource.com/c/src/+/337184\nReviewed-by: Henrik Lundin \u003chenrik.lundin@webrtc.org\u003e\nCommit-Queue: Jakob Ivarsson‎ \u003cjakobi@webrtc.org\u003e\nCr-Commit-Position: refs/heads/main@{#41656}\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6648fd870995bf475aabd15d28c3afe9efb23a95",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/decision_logic.cc",
      "new_id": "f68c05767dd8a36538786d26d5a99802f9b1db7f",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/decision_logic.cc"
    },
    {
      "type": "modify",
      "old_id": "9e9902af50a4b98dd5297cec920ed436863550d1",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/decision_logic_unittest.cc",
      "new_id": "4b306f26398d10018dd9497be72bceec48fc1e9f",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/decision_logic_unittest.cc"
    },
    {
      "type": "modify",
      "old_id": "1b2080cd94c55be8e4ab0e5c37fe6c00468303ed",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/mock/mock_packet_arrival_history.h",
      "new_id": "d4217cf2f8e724df3bea6d6b1042f76012bdc95a",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/mock/mock_packet_arrival_history.h"
    },
    {
      "type": "modify",
      "old_id": "2077383f767854466d7c49983b74f2d38c1dd6e6",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet_arrival_history.cc",
      "new_id": "a36c8a2b062a643d0522246514b092fbe228d7cf",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet_arrival_history.cc"
    },
    {
      "type": "modify",
      "old_id": "722caf56884e7982e45cebd78e8e80d351e7b72e",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet_arrival_history.h",
      "new_id": "3fa1ea1fa90b338966699d0979122e929086415d",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet_arrival_history.h"
    },
    {
      "type": "modify",
      "old_id": "539a318fe1b2d636f7626cdcf53cd4e950758895",
      "old_mode": 33188,
      "old_path": "modules/audio_coding/neteq/packet_arrival_history_unittest.cc",
      "new_id": "dd95fec0f7ea2ed6ef68e0d521e4d6131f047036",
      "new_mode": 33188,
      "new_path": "modules/audio_coding/neteq/packet_arrival_history_unittest.cc"
    }
  ]
}
