)]}'
{
  "log": [
    {
      "commit": "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
      "tree": "7d46255b2e5a25ca5de3cc756152a3a64121ea6c",
      "parents": [
        "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "message": "Fix the build\n\nChange-Id: I2169a3d26f4e35e5cfa35a1264175aab6ac4db41\n"
    },
    {
      "commit": "1b512c05f46465a7b1a1d69f82937d7199d5d926",
      "tree": "354295c76a76128d3122f8f4ac58bb5a1bf4c601",
      "parents": [
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:42:06 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:47 2014 -0700"
      },
      "message": "audio policy: remove obsolete AudioPolicyManager class members\n\nRemove mHasA2dp, mHasUsb and mHasRemoteSubmix members from\nAudoPolicyManager. They are not needed any more since\nwe use device descriptors with additional attributes.\n\nAlso remove obsolete limitation on device address\nlength (MAX_DEVICE_ADDRESS_LEN).\n\nChange-Id: Iffe760a521692a4b50be3f6b935af84afb61bb86\n"
    },
    {
      "commit": "3a4311c68348f728558e87b5db67d47605783890",
      "tree": "920ecdf2868176572b6770200d6e3314c5462dd7",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:00:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:33 2014 -0700"
      },
      "message": "audio policy: use new audio device representation\n\nRepresent audio devices with more attributes than just the\ntype (audio_device_t).\nThis is in preparation for new routing APIs allowing\ndevice selection based on more criteria than just the type\n(address, channel mask...)\nA new class DeviceDescriptor is created and used by functions\nneeding more information than just the device type.\nBit fields for available and supported input or output devices are\nreplaced by vectors of device descriptors.\nEach available device is allocated a unique ID for future use.\nRemoved obsolete mA2dpDeviceAddress, mScoDeviceAddress and mUsbCardAndDevice\nfields replaced by address stored in DeviceDescriptor.\n\nPolicy decisions like getDeviceForStrategy() are still based\nonly on the device type.\n\nChange-Id: I5de3b3ffb12ff8dcfb746782ab1e6b15bf040d0c\n"
    },
    {
      "commit": "e07208765fcd5904165e425ec714a25c350a2f40",
      "tree": "f255f68fb03d0512df0788901317da866ec21777",
      "parents": [
        "3b73df74357b33869b39a1d69427673c780bd805"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 09:30:41 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 14:03:55 2014 -0700"
      },
      "message": "audio policy: renamed AudioPolicyManagerBase to AudioPolicyManager\n\nChange-Id: Ia8b5ae9c3a9cf6ed98f162614ea331efc78e9ff2\n"
    },
    {
      "commit": "3b73df74357b33869b39a1d69427673c780bd805",
      "tree": "ee7f5026f5dbb34f0f9de4c6db8c7aa82401c695",
      "parents": [
        "e552edb33fb5873179ae0a46d9579d1103eb13c6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 09:06:29 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 14:03:55 2014 -0700"
      },
      "message": "audio policy: remove dependency from AudioSystemLegacy\n\nRemove all dependencies on AudioSystemLegacy from AudioPolicyManagerBase.\nOnly use types and definitions from audio.h and audio_policy.h.\nAlso move code back into android name space.\n\nChange-Id: I0c2582cf854027fb1e599981865a6cbe7b5a9490\n"
    },
    {
      "commit": "e552edb33fb5873179ae0a46d9579d1103eb13c6",
      "tree": "a54dd066de5a9c43f3899cbb7c43acc64231f2f8",
      "parents": [
        "2d388eccc9dc085337c7a03a68467cbee6b809e1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 10 17:42:56 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 11 14:03:55 2014 -0700"
      },
      "message": "audio policy: import audio policy manager from hardware legacy\n\nImport AudioPolicyManagerBase from hardware/libhardware_legacy\nto prepare move from android_audio_legacy name space.\n\nChange-Id: I5d6682ccd2bfdeefbf2f6f81a557480a76aaf4fc\n"
    }
  ]
}
