)]}'
{
  "log": [
    {
      "commit": "d1f1cb68f567363a0b1e4cd4db6286afc6c8a1e2",
      "tree": "3b32985218612d05bf95fed08c18025d1735b2d4",
      "parents": [
        "06675ff30f63323905ff18c3c4e0d34a9fee4c60"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Mar 24 11:57:57 2020 -0700"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Mar 27 11:33:09 2020 -0700"
      },
      "message": "Add audio attributes info when starting aaudio tracks on MMAP mix.\n\nIn aaudio, when adding tracks to mixed stream, it is needed to update\naudio attributes to HAL whenever the tracks are added or removed.\nCurrently, only the audio attributes used to open the stream will be\nsent to the HAL. In that case, adding audio attributes of the clients\nwhen starting the stream can help solve the problem. In audio flinger,\nthe client\u0027s audio attributes will be used to create MmapTrack.\n\nTest: play multiple aaudio tracks, add log\nBug: 77279923\nChange-Id: Ic1c536049e194a2bb7513425ee4828d52769d27f\n"
    },
    {
      "commit": "4e1af9fc9c1108d4514e92774f750bcd434dbbcc",
      "tree": "03dc781c49ae6b37c4661c591ece2c5a4eed8cfe",
      "parents": [
        "a11f9357196db29e6f8f05b91334524de4f3207e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 03 15:54:35 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 18 19:48:46 2018 -0800"
      },
      "message": "aaudio: implement sessionId for effects\n\nIf a sessionID other than AAUDIO_SESSION_ID_NONE is requested\nthen legacy data path will be forced.\n\nSessionID is implemented for MMAP data path but not used.\nIt is easier to implement it now then try to figure\nit out later.\n\nBug: 33268927\nTest: test_session_id.cpp will be moved to CTS when stable\nChange-Id: I3ea67f57c1cbe24a512980f1352b917ab3cb6387\n"
    },
    {
      "commit": "a54f1283fdd9adbd64ecca4e14af56aaa0e8c825",
      "tree": "cdadd19276119f775480482778c2df15a6ae264f",
      "parents": [
        "20e6916035865710b7a30ac7f2eac1311e2c2e70"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 19:39:32 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 18:21:40 2017 -0700"
      },
      "message": "aaudio: indicate client UID and PID to audio flinger\n\nImplement correct indication of client UID and PID to audio flinger\nfor AAudio MMAP streams in both exclusive mode and shared mode.\n- Add start/stop client methods on MMAP streams used only when the MMAP\nstream is in AAudio service and carries a mix of shared streams.\n- Add \"In Service\u0027\" indication from \"client\" side to AAudioServiceStreamMMAP\nso that the behavior can be adapted accordingly.\n- Modify logic on audio flinger side with regard to mmap tracks and\naudio HAL stream activity:\n  - use same audio session for all clients on a same stream to match\n  audio policy logic to share same direct output stream for clients on same\n  session. This is also more consistent with current volume and effect\n  handling as all MMAP  clients sharing the same output stream have the\n  same volume and use case.\n  - start/stop the HAL when the stream is started/stopped with the initial client\n  handle (returned when the stream is opened) but do not create a track.\n  AAudioService implementation will always send an additional start command before\n  first client starts and a stop command after last client stops,\n  in both shared and exclusive mode.\n  - start/stop a track only if the start/stop stream command is received\n  with a handle different from the initial handle.\n- Allow more than one active client from the same UID on a MMAP input in audio policy.\n\nBug: 62950008\nTest: verify playback and capture in mmap mode\nChange-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\n"
    },
    {
      "commit": "18b570146c971fe729c391bfbb869391084e623d",
      "tree": "44427ed969851fc0e8638b508e265d6d039556b9",
      "parents": [
        "421c434e615a417d9f5443af9e52a30e3b29c256"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 13 16:23:52 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 08 00:33:34 2017 +0000"
      },
      "message": "audioflinger: add standby() method to MmapStreamInterface\n\nBug: 33398120\nTest: open/start/stop/close MMAP no IRQ stream for capture and playback\n\nChange-Id: I48ec202a71565f759c441c2a835d8c8190e76334\n"
    },
    {
      "commit": "fc23520d9c3f15e28baa81de5f7dfa6c1b0af426",
      "tree": "d612d3bd0486cae96622768c95d41849b38dd9c6",
      "parents": [
        "9476864f6a9b8d500f6c74ba40bfd2e1ce5265a2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 20 18:48:17 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jan 11 12:58:55 2017 -0800"
      },
      "message": "audioflinger: define MMAP HAL Stream control interface\n\nAdded definition of MmapStreamInterface used by Oboe service\nto open, configure and control MMAP streams at the audio HAl.\n\nThis interface is implemented by audioflinger and abstracts the details\nof interacting with audio policy manager and audio HAL from Oboe service.\n\nA callback interface MmapStreamCallback is also defiend to communicate\nvolume and routing changes back to Oboe service.\n\nBug: 33398120\nTest: build\nChange-Id: If953d44903aaa4eb17ff16f1922ca16e5e0e0a87\n"
    }
  ]
}
