)]}'
{
  "log": [
    {
      "commit": "7638ca29e8400a19524adb982e9d22c02786de82",
      "tree": "5d1ef493f79529cd5d5a1cce932c6dec3e5d8e69",
      "parents": [
        "9515aca0c07a32128a65a68749bda3ea6851c109"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Mar 04 17:42:44 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Mar 16 14:28:09 2016 -0700"
      },
      "message": "Dynamic policies: support for device selection\n\nDynamic policy mix: rename \"registration\" field to device address\n  as this reflects the true use of the field.\nAudioPolicyManager: dynamic policy registration differs depending\n  on policy routing flags.\nWhen register a mix with the RENDER flag, iterate over all outputs\u0027\n  patches to find a matching device and address.\n\nBug 25448664\n\nChange-Id: I71584081e7f1b2b5252fb6c4659fdeb464f7d282\n"
    },
    {
      "commit": "8c7cf3b7d0d7bccb9affbc34ae2ab2d6b332f972",
      "tree": "2ce1446fe6fe647e3e0dcbcaf82ac45c5551f492",
      "parents": [
        "809aeb1f725beed877887fe1c5ca3430d811b328"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 25 17:08:24 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 25 17:08:24 2016 -0800"
      },
      "message": "Send audio patch in recording callback\n\nRemove direct access to patch handle in AudioInputDescriptor, replace with\n  set / get functions.\nAdd interface for AudioSession to query configuration from enclosing\n  input descriptor.\nWhen input descriptor\u0027s patch handle changes during a recording, propagate\n  the change through the recording notification callback.\n\nBug 26798796\n\nChange-Id: Ia1395d44da7ccfe69ca46877638d1eb49b3935ad\n"
    },
    {
      "commit": "e8decedb429ed76dfa84cdb3e80ab3b969e77298",
      "tree": "3cdcd5f6ad76945ef052e0a68978a8c2930e4c3a",
      "parents": [
        "3aaa699a46edb4f47d0cd5a11d57eba93493bd90"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 11 12:50:39 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 11 12:50:39 2016 -0800"
      },
      "message": "Dynamic audio policies on UID\n\nWhen looking for an output, take attributes and UID into account.\nTo find the matching mix: for each mix\n- inspect which rules are used\n- find a candidate mix for usage\n- check UID compatibility\nRename AttributeMatchCriterion to AudioMixMatchCriterion to be consistent\n with the fact that now mixing rules are not always about audio attributes.\n\nBug 26798796\n\nChange-Id: I1520b0df190a98f197ea8e0144b770e1e6d97888\n"
    },
    {
      "commit": "2f4fe9f7df8f22c6bc8745407d19df73128810ec",
      "tree": "df7d3fe791c9256c7ca53fb36c8f563eec714a30",
      "parents": [
        "dd715cea770697ab6f424df74d69f37def701b30"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 16:20:59 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jan 11 12:06:12 2016 -0800"
      },
      "message": "AudioPolicy: callback for recording configuration change\n\nEach AudioSession tracks start / end of recording, and sends\n  a callback to AudioSystem.\nAudioSystem tracks a single recording callback tracking\n  input source and audio session number.\n\nChange-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0\n"
    },
    {
      "commit": "f613d42b12389335b2ecf06df18d0d095d6bfd44",
      "tree": "b36177007932b781d9db2bb973cb2feaab3cde13",
      "parents": [
        "dae24729d0b3ced8c4a7d7f9b631e852f564db4f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 23 18:41:29 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 29 17:54:12 2015 -0700"
      },
      "message": "AudioSystem callback for dynamic policy mix activity\n\nAdd method to AudioPolicyServiceClient for dynamic policy mix\n activity notification.\nPropagate notification to a dedicated callback.\n\nBug 20226914\n\nChange-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876\n"
    },
    {
      "commit": "de80105c3f2db0eabd47640c49387ea3b44d4782",
      "tree": "9775c7bbe30ef1ab13a888def8531cb0f87b1756",
      "parents": [
        "079e121934106860af5ff5491bd3884453d1fdb3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:10:14 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:20:20 2015 -0700"
      },
      "message": "AudioPolicyManager: notification of dynamic policy mix activity\n\nImplement non-stream type specific ref counting in output\n  descriptors to keep track of mix activity.\nNotify audio policy client of mix activity changes.\n\nBug 20226914\n\nChange-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b\n"
    },
    {
      "commit": "275e8e9de2e11b4b344f5a201f1f0e51fda02d9c",
      "tree": "c22e1c0b8541aa04fd6c8d803e4fa6704a84e6e2",
      "parents": [
        "82a69ea8b090d57bff5e02774688b546a711bbb8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Nov 30 15:14:47 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 09 15:47:19 2014 -0800"
      },
      "message": "audio policy: add support for custom mixes\n\nAdd support for custom mixes in AudioPolicyManager.\n\nTwo methods are added to register or unregister a list of custom mixes\nwith their attributes and format.\n\ngetOutputForAttr() and getInputForAttr() first look for a match in\nregistered mixes before defaulting to normal output/input selection\n\nRemote submix device connection disconnection now takes address into\naccount to identify the correspnoding custom mix.\n\nBug: 16009464.\n\nChange-Id: I3f1c2a485a0fb71b1f984ed0adc9b68aa971e408\n"
    }
  ]
}
