)]}'
{
  "commit": "ae49ac70d0a7c5d2aa58aab6c1ef976b3bcc1f68",
  "tree": "d2973eddb99172b1f7be6387933471a8f6ef3dde",
  "parents": [
    "70dfed9a18f0fd000088eba8e60a209b6c0bebbb"
  ],
  "author": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Tue Apr 16 21:25:33 2024 +0000"
  },
  "committer": {
    "name": "luigi-rosso",
    "email": "hello@rive.app",
    "time": "Tue Apr 16 21:25:33 2024 +0000"
  },
  "message": "Stop audio in iOS when backgrounded.\n\n- Fixes a crash when a sound is still playing and Artboard is de-allocated. Easy to cause with long sounds as sound resources would get nuked and the engine would keep trying to decode from a dead buffer.\n- Stops audio when going in background, resumes when coming to foreground.\n\nThe way I did the backgrounding is on the RiveRendererView as I couldn\u0027t find a better general spot to do this but maybe @mjtalbot has an idea.\n\nThis does not stop long sounds (like songs) when exiting a view, we can address that separately...\n\nDiffs\u003d\n4a9947630 Stop audio in iOS when backgrounded. (#7055)\n\nCo-authored-by: Luigi Rosso \u003cluigi-rosso@users.noreply.github.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "8d2c3c46fc71037df1d8724d3b57dc6a52d97bc1",
      "old_mode": 33188,
      "old_path": ".rive_head",
      "new_id": "35589d3ddf79dc204424a70f01e60221883c991e",
      "new_mode": 33188,
      "new_path": ".rive_head"
    },
    {
      "type": "modify",
      "old_id": "4e00ce54b323b0e5febe48ca5679e52f440f71f1",
      "old_mode": 33188,
      "old_path": "include/rive/assets/audio_asset.hpp",
      "new_id": "c4f042fefe8bf03b7bba902a832c7d8fe2de3d1b",
      "new_mode": 33188,
      "new_path": "include/rive/assets/audio_asset.hpp"
    },
    {
      "type": "modify",
      "old_id": "a49f66938786ba9aad4ce257f7329c7b878c3b12",
      "old_mode": 33188,
      "old_path": "include/rive/audio/audio_engine.hpp",
      "new_id": "8bdf33c4cfcb455a4f4d9ceffb7d587dadbb2b99",
      "new_mode": 33188,
      "new_path": "include/rive/audio/audio_engine.hpp"
    },
    {
      "type": "modify",
      "old_id": "783183ca5714501c6cc5d7f9a607595f6f706677",
      "old_mode": 33188,
      "old_path": "include/rive/audio/audio_sound.hpp",
      "new_id": "5d34ca43584d01541b4b80fdacb813e3507c4bed",
      "new_mode": 33188,
      "new_path": "include/rive/audio/audio_sound.hpp"
    },
    {
      "type": "modify",
      "old_id": "6021a07699b7401dd6dd8da5cb0e5d5bd28eb7ba",
      "old_mode": 33188,
      "old_path": "src/artboard.cpp",
      "new_id": "074e0cdc892152201dfb947e6ba41a050eee400c",
      "new_mode": 33188,
      "new_path": "src/artboard.cpp"
    },
    {
      "type": "modify",
      "old_id": "c63bb693c4effbc009a07bdf08283f5c4e3df6f1",
      "old_mode": 33188,
      "old_path": "src/audio/audio_engine.cpp",
      "new_id": "076733d75e508ce2f19c9712734351522bbdaa99",
      "new_mode": 33188,
      "new_path": "src/audio/audio_engine.cpp"
    },
    {
      "type": "modify",
      "old_id": "e355aadf5652d4a439a2e788200fc1a587a3b3ad",
      "old_mode": 33188,
      "old_path": "src/audio/audio_sound.cpp",
      "new_id": "6bc227d9f58af6fc2dab4493798f41f514e388bd",
      "new_mode": 33188,
      "new_path": "src/audio/audio_sound.cpp"
    },
    {
      "type": "modify",
      "old_id": "9a9e043e719f9c176e97ec60e16a613bb5cfb9b5",
      "old_mode": 33188,
      "old_path": "src/audio_event.cpp",
      "new_id": "53c98123a8d9bfaddc89f67c7ff8fa658f779fe1",
      "new_mode": 33188,
      "new_path": "src/audio_event.cpp"
    },
    {
      "type": "modify",
      "old_id": "06ffa3078e57e68e1f18f95e9a566d8ca01ef039",
      "old_mode": 33188,
      "old_path": "test/audio_test.cpp",
      "new_id": "c96e4e0d1efd3c20b9b01e38c9490255baca87b4",
      "new_mode": 33188,
      "new_path": "test/audio_test.cpp"
    }
  ]
}
