)]}'
{
  "commit": "e93cc03da360a1a0d2ad937c745ce8c8e8be81c2",
  "tree": "9deae98570f41fdec272a863a2e84c7828af1a64",
  "parents": [
    "038ccfd6ff5a32d6f559e5b479d6f8e55d0b5133"
  ],
  "author": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Thu May 05 10:15:10 2016 -0700"
  },
  "committer": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Wed May 11 11:38:01 2016 -0700"
  },
  "message": "audioflinger: various offload playback fixes\n\nRevert underrun sleep time optimization added for\noffload by commit 51716185 which can cause music to pause for a few\nseconds in some corner cases.\n\nAllow underruns in STOPPING_1 state to avoid dropping last buffer\nreceived by the AudioTrack callback after stop() is called by the\nclient.\n\nAllow interruption of thread loop sleep if a command is pending to\nspeed up track start sequence.\n\nDo not wait for a full AudioTrack buffer before writing to audio HAL\nwhen resuming playback or transitioning to next track.\n\nAlso moved log level for underruns in AudioSink from I to D to reduce\nspam on user builds.\n\nBug: 28545177\nBug: 27682362\nBug: 28347796\n\nChange-Id: I05b651b7878a2d2eedcac43cd669e32add171d40\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "35f439b49e6b0c621d5a3317ed7b7775049a8125",
      "old_mode": 33188,
      "old_path": "media/libmediaplayerservice/MediaPlayerService.cpp",
      "new_id": "cd91e7214a1c7fafd2d436b0a3392591edbc869d",
      "new_mode": 33188,
      "new_path": "media/libmediaplayerservice/MediaPlayerService.cpp"
    },
    {
      "type": "modify",
      "old_id": "1d575b3a21e940b006af203ba866b097be210947",
      "old_mode": 33188,
      "old_path": "services/audioflinger/AudioFlinger.cpp",
      "new_id": "2b0d4c850f0ce0245669946c6d6aad5e31e2ae99",
      "new_mode": 33188,
      "new_path": "services/audioflinger/AudioFlinger.cpp"
    },
    {
      "type": "modify",
      "old_id": "bee044776814c974a21b81b45e8f7f8176453d55",
      "old_mode": 33188,
      "old_path": "services/audioflinger/Threads.cpp",
      "new_id": "d296ee34db0fa3768df8463577d91de8f04a63df",
      "new_mode": 33188,
      "new_path": "services/audioflinger/Threads.cpp"
    },
    {
      "type": "modify",
      "old_id": "0ddd2798a976623321fa00c3e32b3ef56111c8c6",
      "old_mode": 33188,
      "old_path": "services/audioflinger/Threads.h",
      "new_id": "1cceb6d3033432ba313ea11b67067a5a864211f1",
      "new_mode": 33188,
      "new_path": "services/audioflinger/Threads.h"
    },
    {
      "type": "modify",
      "old_id": "41cb0304f0dd12c839f0fc72f74f626807123f0e",
      "old_mode": 33188,
      "old_path": "services/audioflinger/Tracks.cpp",
      "new_id": "364e339fd389ddc1111ab7e1066835e0aea5c8d3",
      "new_mode": 33188,
      "new_path": "services/audioflinger/Tracks.cpp"
    }
  ]
}
