)]}'
{
  "commit": "f6ccfd5d166acf495f5d6d320da503fae8dc14a4",
  "tree": "1e4cd8d1211f837e8998e71ecf806d1341a195b7",
  "parents": [
    "5d978c5da7f7d85d3a74b7d4dbe9ba5c5584d560"
  ],
  "author": {
    "name": "BALATON Zoltan",
    "email": "balaton@eik.bme.hu",
    "time": "Sun Mar 16 01:20:46 2025 +0100"
  },
  "committer": {
    "name": "Marc-André Lureau",
    "email": "marcandre.lureau@redhat.com",
    "time": "Sun May 25 15:24:43 2025 +0200"
  },
  "message": "alsaaudio: Set try-poll to false by default\n\nQuoting Volker Rümelin: \"try-poll\u003don tells the ALSA backend to try to\nuse an event loop instead of the audio timer. This works most of the\ntime. But the poll event handler in the ALSA backend has a bug. For\nexample, if the guest can\u0027t provide enough audio frames in time, the\nALSA buffer is only partly full and the event handler will be called\nagain and again on every iteration of the main loop. This increases\nthe processor load and the guest has less processor time to provide\nnew audio frames in time. I have two examples where a guest can\u0027t\nrecover from this situation and the guest seems to hang.\"\n\nOne reproducer I\u0027ve found is booting MorphOS demo iso on\nqemu-system-ppc -machine pegasos2 -audio alsa which should play a\nstartup sound but instead it freezes. Even when it does not hang it\nplays choppy sound. Volker suggested using command line to set\ntry-poll\u003doff saying: \"The try-poll\u003doff arguments are typically\nnecessary, because the alsa backend has a design issue with\ntry-poll\u003don. If the guest can\u0027t provide enough audio frames, it\u0027s\nreally unhelpful to ask for new audio frames on every main loop\niteration until the guest can provide enough audio frames. Timer based\nplayback doesn\u0027t have that problem.\"\n\nBut users cannot easily find this option and having a non-working\ndefault is really unhelpful so to make life easier just set it to\nfalse by default which works until the issue with the alsa backend can\nbe fixed.\n\nSigned-off-by: BALATON Zoltan \u003cbalaton@eik.bme.hu\u003e\nAcked-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\n[ Marc-André - Updated QAPI and CLI doc ]\nSigned-off-by: Marc-André Lureau \u003cmarcandre.lureau@redhat.com\u003e\nMessage-Id: \u003c20250316002046.D066A4E6004@zero.eik.bme.hu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cacae1ea59ce82db43884a185f476c6749d4d5fc",
      "old_mode": 33188,
      "old_path": "audio/alsaaudio.c",
      "new_id": "9b6c01c0ef574451fcce8fc23eb24a937b38d3ac",
      "new_mode": 33188,
      "new_path": "audio/alsaaudio.c"
    },
    {
      "type": "modify",
      "old_id": "dd5a58d13e682d3b373d1a2b6a2fa06788b89cbc",
      "old_mode": 33188,
      "old_path": "qapi/audio.json",
      "new_id": "49633cf317c959e5eae07d6e127b5767e94669cc",
      "new_mode": 33188,
      "new_path": "qapi/audio.json"
    },
    {
      "type": "modify",
      "old_id": "aab53bcfe8f572552fd31fba1ab8afbcf05ff539",
      "old_mode": 33188,
      "old_path": "qemu-options.hx",
      "new_id": "7eb8e02b4b936050b7dffbf8b9d315e30d7dcd1f",
      "new_mode": 33188,
      "new_path": "qemu-options.hx"
    }
  ]
}
