)]}'
{
  "commit": "5bb7016727ac5fcc91efa141d411cafc9dfe7b1e",
  "tree": "82434ebc29973d4bd2fd4cb2590d2a4f67f78114",
  "parents": [
    "8c24dd8a7e502f307a72716ac259d992c383b6a0"
  ],
  "author": {
    "name": "Marc-André Lureau",
    "email": "marcandre.lureau@redhat.com",
    "time": "Fri Jan 16 18:22:09 2026 +0400"
  },
  "committer": {
    "name": "Marc-André Lureau",
    "email": "marcandre.lureau@redhat.com",
    "time": "Mon Feb 23 14:38:22 2026 +0100"
  },
  "message": "audio/pa: convert to QOM lifecycle methods\n\nMigrate the PulseAudio backend from the legacy driver init/fini\ncallbacks to proper QOM realize and finalize methods.\n\nThe paaudio struct fields are now embedded directly in the AudioPa\nQOM object instead of being allocated separately as drv_opaque. This\nallows accessing the backend state through proper QOM type casting\nwith AUDIO_PA() rather than casting drv_opaque pointers.\n\nThe PulseAudio connection is now managed through the QOM lifecycle,\nwith the connection reference acquired in realize and released in\nfinalize.\n\nReviewed-by: Mark Cave-Ayland \u003cmark.caveayland@nutanix.com\u003e\nReviewed-by: Akihiko Odaki \u003codaki@rsg.ci.i.u-tokyo.ac.jp\u003e\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "331da4f2ed6df95f170b19aa2d321d456ab020c8",
      "old_mode": 33188,
      "old_path": "audio/paaudio.c",
      "new_id": "97e6c0d1794a29bb91b2be6dcf6519d22f9d774c",
      "new_mode": 33188,
      "new_path": "audio/paaudio.c"
    }
  ]
}
