)]}'
{
  "log": [
    {
      "commit": "a4f24ff9b239300b4bb2098c1413c0a60edc2d7e",
      "tree": "1b328f28835885a21e67780129d6764f5b4384a9",
      "parents": [
        "5ea5b020b311a68f513d4a40aca5551abc6a07d8"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 27 14:29:13 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 27 14:29:13 2013 -0800"
      },
      "message": "AudioTrack: fix position callback after restore\n\nWhen restoring an AudioTrack, the next position callback point\nshould not be modified and set ahead of current buffer head.\nOtherwise, as frames are dropped, the new position is never reached\nand an application relying on position callbacks to reload the buffer\nwould be stalled.\n\nBug: 11868603.\nChange-Id: I93b2a311642a0c89944b78bcc0482d4ceed98ae4\n"
    },
    {
      "commit": "5ea5b020b311a68f513d4a40aca5551abc6a07d8",
      "tree": "b55283398ed05da2ed07b3ce50e0575483b9a447",
      "parents": [
        "246053380a9f628405a29a055a3f1f4fba13ed5b",
        "4dd0a8a3d66c2853faf2834565b3c5df4f68734d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Nov 19 01:28:28 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 19 01:28:28 2013 +0000"
      },
      "message": "Merge \"WA: Queue extra buffers on output port during reconfig if input EOS-ed\" into klp-dev"
    },
    {
      "commit": "246053380a9f628405a29a055a3f1f4fba13ed5b",
      "tree": "842bc2d43976698482d228ae01f3c48c48eac288",
      "parents": [
        "d7e59228caad3867794d847f6bf163c6495e9506",
        "4256c970ad90bc555eccfd585048669bb69bca1c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 21:58:45 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 15 21:58:45 2013 +0000"
      },
      "message": "Merge \"Fix metadata access\" into klp-dev"
    },
    {
      "commit": "4256c970ad90bc555eccfd585048669bb69bca1c",
      "tree": "47c357f1d049b7ba2d1421ee81c9134f3ec65328",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 13:49:58 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 15 13:49:58 2013 -0800"
      },
      "message": "Fix metadata access\n\nMetadata string pointers become invalid after setting more metadata,\nso don\u0027t cache them.\nb/11692062\n\nChange-Id: Iaf1afb24cf53f7fa36f49ce759355693494076e5\n"
    },
    {
      "commit": "d7e59228caad3867794d847f6bf163c6495e9506",
      "tree": "f09784ce425a6928c56a932101752b63b21d8f44",
      "parents": [
        "7dae71d606ded1dbc2aa9733c3d98ffac57988f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 12:02:28 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 12:11:39 2013 -0800"
      },
      "message": "audioflinger: do not use raw pointer for tracks\n\nCommit 9da3d95 surfaced a problem caused by the use of a raw\npointer to a track in offload thread implementation.\n\nPointers to tracks should always be weak or strong pointers.\n\nBug: 11708529.\nChange-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b\n"
    },
    {
      "commit": "7dae71d606ded1dbc2aa9733c3d98ffac57988f2",
      "tree": "44eae87739ae1320383fbeb9dc4e3fbd3dd394d7",
      "parents": [
        "d8a62e25ba6520c2531c7a3d32cc8066e1dab776",
        "22612345ae97648d5b6db43cc1aa30aad77f7bba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 15:34:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 15 15:34:12 2013 +0000"
      },
      "message": "Merge \"AwesomePlayer: correct stream type for offload\" into klp-dev"
    },
    {
      "commit": "22612345ae97648d5b6db43cc1aa30aad77f7bba",
      "tree": "73b47a621118d0fa56d27929a9447e90ca27c97d",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 14 17:28:47 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 14 17:36:42 2013 -0800"
      },
      "message": "AwesomePlayer: correct stream type for offload\n\ncanOffloadStream() function in stagefright utils forces the\nstream type to AUDIO_STREAM_MUSIC when querying the audio policy\nmanager if a particular track is offloadable or not.\nThis causes MP3 ringtones to be offloaded which is not a validated use case.\n\nThe fix consists in using the actual stream type read from the AudioSink.\n\nBug: 11410937.\nChange-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d\n"
    },
    {
      "commit": "4dd0a8a3d66c2853faf2834565b3c5df4f68734d",
      "tree": "4cc6ee6dc0c7f72f5ae0facfd84b0342c5f87afe",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 06 21:04:34 2013 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Nov 14 13:53:56 2013 -0800"
      },
      "message": "WA: Queue extra buffers on output port during reconfig if input EOS-ed\n\nSome codecs may return input buffers before having them processed.\nThis causes a halt if we already signaled an EOS on the input\nport.  For now keep submitting output meta buffers one at a time if\nthe input EOS-ed, but the output not yet.\n\nNormally, we submit an output buffer for each input buffer that is\nwith the component (waiting to be processed).\n\nChange-Id: I8a1251bfb504f40f1e4085a1e220bf9a4d0b05d9\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11433909\n"
    },
    {
      "commit": "d8a62e25ba6520c2531c7a3d32cc8066e1dab776",
      "tree": "dbf4856e2a0f6781f3287fed2534f7e358c6b053",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "message": "Camera2: Rework the FPS range vs. FPS single setting detection\n\nGive up on current approach of writing out consistent FPS values\ninto parameters that will be read back by the app.\n\n- Preserve app\u0027s latest set parameters exactly, and compare against\n  them when detecting if a new FPS range or single FPS value has been\n  selected.\n\n- Since get() returns exactly what was set(), it doesn\u0027t matter if the\n  app calls getParameters() before its next setParameters(), in terms\n  of retriggering FPS selection logic. Before, the behavior varied\n  depending on whether the app re-read the parameters.\n\n- As before, if app changes both range and single FPS in a single set\n  call, the range set wins. Otherwise, the value that has changed more\n  recently is used.\n\nBug: 11570973\nChange-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6\n"
    },
    {
      "commit": "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954",
      "tree": "99c2145ba01a8f244329ff6656fe401011410772",
      "parents": [
        "9f357f319205d52c04a2c8b5cc9d518ddcfdea94",
        "9da3d9573a18ffe08365557c706cf52f09118d1c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 14 16:43:19 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 16:43:20 2013 +0000"
      },
      "message": "Merge \"audioflinger: fix offload track transition\" into klp-dev"
    },
    {
      "commit": "9f357f319205d52c04a2c8b5cc9d518ddcfdea94",
      "tree": "8e6aaa8a7ef687b4e840e31af72d00308f9e7ccc",
      "parents": [
        "92092b395d59e8943a461d344f617f1dc85375a3",
        "1b9f9b134e732a48198e51f16424f330cbf03143"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 14 16:42:30 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 14 16:42:31 2013 +0000"
      },
      "message": "Merge \"audioflinger: fix offload resume after drain\" into klp-dev"
    },
    {
      "commit": "92092b395d59e8943a461d344f617f1dc85375a3",
      "tree": "342448369839a8b9e50a4fda465a2764459808dc",
      "parents": [
        "069bcc5084c3d8c6f9373a2890d40a0d1a36a94e",
        "f40cde132d14a260f4f7e08ae2bf29d8c55848ae"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 13 23:53:42 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 23:53:42 2013 +0000"
      },
      "message": "Merge \"stagefright: limit default max-input-size for AVC\" into klp-dev"
    },
    {
      "commit": "069bcc5084c3d8c6f9373a2890d40a0d1a36a94e",
      "tree": "ddb9e9609985176e7b826b59583b0f6225c48ea0",
      "parents": [
        "5595f6de606f51ec61fbf40a269b52312507aded",
        "0c3684f5996be3b1226ed229eff39a74ae28a879"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 13 23:52:37 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 23:52:38 2013 +0000"
      },
      "message": "Merge \"AwesomePlayer: Improve performance on high-fps clips\" into klp-dev"
    },
    {
      "commit": "f40cde132d14a260f4f7e08ae2bf29d8c55848ae",
      "tree": "6ea444dcf701b25937f0017c0f459492c0ac2aa3",
      "parents": [
        "5595f6de606f51ec61fbf40a269b52312507aded"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 13 14:11:41 2013 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Nov 13 14:57:40 2013 -0800"
      },
      "message": "stagefright: limit default max-input-size for AVC\n\nAVC has a compression ratio of at least 2.  Account for this, as\nsome codecs refuse exorbitant max-input-size requests.\n\nChange-Id: Ib68b485879ba33a12a486f2ce18fe100be977699\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11599364\n"
    },
    {
      "commit": "5595f6de606f51ec61fbf40a269b52312507aded",
      "tree": "e76298c16e9a54166661d417012eb996e3e7f73d",
      "parents": [
        "26c8f714361bfb6403a7c457adfb8b55c89a634a",
        "e3067743d6ef2c6c1aac4361b6ed65e6d7bbe3e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 13 18:11:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 18:11:54 2013 +0000"
      },
      "message": "Merge \"Only initialize sniffers once, don\u0027t hold mutex while sniffing\" into klp-dev"
    },
    {
      "commit": "26c8f714361bfb6403a7c457adfb8b55c89a634a",
      "tree": "e8beee476b7b7d61dcafba12c583aade7ec604e0",
      "parents": [
        "56477eb724972c2fe0441dfa7baaad00b7927add",
        "52668ca838e1869676ff95e7388f93ec1858b1e9"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Nov 13 18:06:01 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 18:06:01 2013 +0000"
      },
      "message": "Merge \"Ignore transport stream packets with the \"transport_error_indicator\" bit set\" into klp-dev"
    },
    {
      "commit": "56477eb724972c2fe0441dfa7baaad00b7927add",
      "tree": "a0b05102681021a5774c5b3102e876cb3851e648",
      "parents": [
        "22990fe1ee3531e84dbadb7ff9ffd68d5bbe9060",
        "27ae268af29b25d85f83aa34e92ac8b7f6c87c6f"
      ],
      "author": {
        "name": "Adam Hampson",
        "email": "ahampson@google.com",
        "time": "Wed Nov 13 09:25:33 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 09:25:33 2013 -0800"
      },
      "message": "am 27ae268a: am 00cb884f: Merge \"StageFright: Removes hacks for Nvidia MPEG2 decoder\" into jb-mr2-dev\n\n* commit \u002727ae268af29b25d85f83aa34e92ac8b7f6c87c6f\u0027:\n  StageFright: Removes hacks for Nvidia MPEG2 decoder\n"
    },
    {
      "commit": "27ae268af29b25d85f83aa34e92ac8b7f6c87c6f",
      "tree": "bd8c35e884f5cfd73ab77cb04ca421e5fd1b2432",
      "parents": [
        "29d060155e2c3e838fcadf303fcf2d1ecfb78710",
        "00cb884fc870aba4052c8d187a45e4aec50a6b43"
      ],
      "author": {
        "name": "Adam Hampson",
        "email": "ahampson@google.com",
        "time": "Wed Nov 13 09:21:33 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Nov 13 09:21:33 2013 -0800"
      },
      "message": "am 00cb884f: Merge \"StageFright: Removes hacks for Nvidia MPEG2 decoder\" into jb-mr2-dev\n\n* commit \u002700cb884fc870aba4052c8d187a45e4aec50a6b43\u0027:\n  StageFright: Removes hacks for Nvidia MPEG2 decoder\n"
    },
    {
      "commit": "00cb884fc870aba4052c8d187a45e4aec50a6b43",
      "tree": "cfd33b99ae5fe7f53322e02d5e545d7266130600",
      "parents": [
        "6e3ee310d90e30c928c9e29a4a07de4bcbf2855e",
        "34242ac93467fc364bec435bf961283cd3d6ba0b"
      ],
      "author": {
        "name": "Adam Hampson",
        "email": "ahampson@google.com",
        "time": "Wed Nov 13 17:14:31 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 13 17:14:31 2013 +0000"
      },
      "message": "Merge \"StageFright: Removes hacks for Nvidia MPEG2 decoder\" into jb-mr2-dev"
    },
    {
      "commit": "9da3d9573a18ffe08365557c706cf52f09118d1c",
      "tree": "c30511f753f1b49d5519ba5249316b12f33bb29a",
      "parents": [
        "1b9f9b134e732a48198e51f16424f330cbf03143"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:25:43 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:32:36 2013 -0800"
      },
      "message": "audioflinger: fix offload track transition\n\nMake sure that when transitioning from one active\noffloaded track to the next we flush DSP content\nif both tracks are not on the same audio session.\nThis happens when switching between two applications\nplaying the same type of content (e.g MP3, stereo, 44.1).\nIn this case, we reuse the same output thread because the track\nformats are compatible.\n\nBug: 11247103.\nChange-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8\n"
    },
    {
      "commit": "1b9f9b134e732a48198e51f16424f330cbf03143",
      "tree": "b51c0fd76cd949c420404ce221eae0ce9fad597e",
      "parents": [
        "22990fe1ee3531e84dbadb7ff9ffd68d5bbe9060"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:10:17 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:10:17 2013 -0800"
      },
      "message": "audioflinger: fix offload resume after drain\n\nWhen pausing and resuming during the drain,\nthe drain sequence number shuold not be modified\notherwise the drain callback will be ignored.\nThis causes failure to notify end of stream to audio\nplayer and transition to next song.\n\nBug: 11247103.\nChange-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159\n"
    },
    {
      "commit": "0c3684f5996be3b1226ed229eff39a74ae28a879",
      "tree": "a262f7638c7bed641fc956fde7a859866ef145c5",
      "parents": [
        "22990fe1ee3531e84dbadb7ff9ffd68d5bbe9060"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 23 15:19:47 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Nov 12 17:40:38 2013 -0800"
      },
      "message": "AwesomePlayer: Improve performance on high-fps clips\n\n- Immediately retry rendering next frame after frame skip.\n- Schedule next videoEvent based on the timestamp of the\n  next frame.\n\nChange-Id: Ia106382c4c225321b682c1f7c2d126d7eab7d56d\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11159147\n"
    },
    {
      "commit": "52668ca838e1869676ff95e7388f93ec1858b1e9",
      "tree": "a1df92d9d5a0497393aed870ab51e4b423e6b0eb",
      "parents": [
        "e100b813c4d833b48b48b74100ad0b9a82c46954"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Mon Nov 11 13:35:39 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 12 11:28:41 2013 -0800"
      },
      "message": "Ignore transport stream packets with the \"transport_error_indicator\" bit set\n\nwhich indicates that they contain at least one bitstream error that was\nunrecoverable.\n\nChange-Id: I10665fd190194fdd2568175fe00b6063d3fc10a5\nrelated-to-bug: 11537029\n"
    },
    {
      "commit": "22990fe1ee3531e84dbadb7ff9ffd68d5bbe9060",
      "tree": "859fae228d07884d2e2d2b7a6f2338848c46130b",
      "parents": [
        "184dfe4ea5e2ba33951bed2b1366007aee0ce3da",
        "892e1b9ab055075ba9036fb7dd6404e9e0f2677a"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 12 18:37:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 18:37:46 2013 +0000"
      },
      "message": "Merge \"Back to the old way of making sure that no more buffers are submitted\" into klp-dev"
    },
    {
      "commit": "184dfe4ea5e2ba33951bed2b1366007aee0ce3da",
      "tree": "ada678fb9d95fed7b4b25aead2615eaa4f003495",
      "parents": [
        "caee8747b7df3b1119426594d4ba1c0e300ff6db"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 07 15:13:16 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Nov 12 10:24:42 2013 -0800"
      },
      "message": "Camera API2: Add support for partial result quirk\n\n- Camera3Device: Include requestId in partial 3A results\n- FrameProcessorBase: Add support for partial result listeners\n- CameraDeviceClient: Listen and forward partial results to client\n\nBug: 11115603\nChange-Id: If1cc6bbc32932742ac142c058688761ebf6a8024\n"
    },
    {
      "commit": "caee8747b7df3b1119426594d4ba1c0e300ff6db",
      "tree": "72ea1e3c92a17f003907943f1c8929ee136f0c79",
      "parents": [
        "e100b813c4d833b48b48b74100ad0b9a82c46954",
        "89b31a3f670d8bec87bed50aaad9bcd8edec66b6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 12 00:21:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 12 00:21:51 2013 +0000"
      },
      "message": "Merge \"configure bitrate and bitrate mode at encoder initialization for VP8/9\" into klp-dev"
    },
    {
      "commit": "e3067743d6ef2c6c1aac4361b6ed65e6d7bbe3e3",
      "tree": "4ea5d1b5c2574b9e5f9f0a50452d1419f39bb1d6",
      "parents": [
        "e100b813c4d833b48b48b74100ad0b9a82c46954"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 06 10:50:17 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 11 23:43:22 2013 +0000"
      },
      "message": "Only initialize sniffers once, don\u0027t hold mutex while sniffing\n\nb/11482896\n\nChange-Id: Ie036554b4c9e7e8863cb07901d414ea457f1b2f1\n(cherry picked from commit 377fce69297a0e5b7c3b266a7602b17146785635)"
    },
    {
      "commit": "e100b813c4d833b48b48b74100ad0b9a82c46954",
      "tree": "9a4688c5998afa5dfd86cb04e01e8b47c3fd702d",
      "parents": [
        "a72911563b0e5b21b196d40249b53975bf8d8f85",
        "9c7f845780d62ea09469a8dac7117cc01adfea5c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Nov 11 16:16:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 16:16:47 2013 +0000"
      },
      "message": "Merge \"StageFrightRecorder: do not use meta-data mode for software encoders\" into klp-dev"
    },
    {
      "commit": "a72911563b0e5b21b196d40249b53975bf8d8f85",
      "tree": "acf61c41938974ab06b50fa214101b847cf379a5",
      "parents": [
        "51ac2d6451b8614aaad83e5bd29ccb7a3fc4651c",
        "e8332ee38cc9778aa7898bbd75858561ed1e0ba3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 11 00:21:16 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 00:21:16 2013 +0000"
      },
      "message": "Merge \"TimedEventQueue: improve wakelock management\" into klp-dev"
    },
    {
      "commit": "892e1b9ab055075ba9036fb7dd6404e9e0f2677a",
      "tree": "b5ce9c2ca0ac05475a8384fcb85ea9f4af76c54b",
      "parents": [
        "51ac2d6451b8614aaad83e5bd29ccb7a3fc4651c"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 08 10:57:34 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 08 10:57:34 2013 -0800"
      },
      "message": "Back to the old way of making sure that no more buffers are submitted\n\nto the component while in executing-\u003eidle state.\n\nChange-Id: Ia207f0a112025ed0e2c4d62f404afbbfa694cbab\nrelated-to-bug: 11557463, 11573543\n"
    },
    {
      "commit": "51ac2d6451b8614aaad83e5bd29ccb7a3fc4651c",
      "tree": "20981323724134cbaaa5031d3745b347e7e47f35",
      "parents": [
        "5572b3afe3e63110ef9e6d228112ca7cbfac866b",
        "ad3b7e8d40bf1c97347f1538d30bba78ca371f67"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Nov 08 16:19:35 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 08 16:19:37 2013 +0000"
      },
      "message": "Merge \"Properly handle executing-\u003eidle in GraphicBufferSource\" into klp-dev"
    },
    {
      "commit": "e8332ee38cc9778aa7898bbd75858561ed1e0ba3",
      "tree": "07dce7442357a537076cc8422d64b28fdd70ec46",
      "parents": [
        "fd6ecdd39bd83ea020f78b425e96310380d66c35"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Nov 04 16:08:15 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 07 16:42:06 2013 -0800"
      },
      "message": "TimedEventQueue: improve wakelock management\n\nDo not acquire a wakelock unless the event is delayed by more\nthan a given time. This prevents from acquiring/releasing\nwakelocks too often which has adverse effects on performance.\n\nBug: 11509471.\nChange-Id: Id06803b393b40c4db5095a6e7ec02339fa581a38\n"
    },
    {
      "commit": "5572b3afe3e63110ef9e6d228112ca7cbfac866b",
      "tree": "71f94c29c1f0bba1905477a23611561e482d3639",
      "parents": [
        "fd6ecdd39bd83ea020f78b425e96310380d66c35"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Nov 07 14:39:03 2013 -0800"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Nov 07 14:39:03 2013 -0800"
      },
      "message": "Replace assert with error message\n\nThe failure happens when vendor code sends EMPTY_BUFFER_DONE\ntwice on the same buffer.  The second time through, we see a slot\nthat has already been emptied, and get very confused.\n\nThis should be handled with an error, not an assertion, so we now\nlog a stern complaint and carry on.\n\nBug 11557463\n\nChange-Id: I76e53ff08924bca81afb6980df8e59a6012ff8fe\n"
    },
    {
      "commit": "ad3b7e8d40bf1c97347f1538d30bba78ca371f67",
      "tree": "4f3b8ec0d04db8a0c8ab26bb8c0ee7addaf3930f",
      "parents": [
        "f8a1169d98a09d1473f289c363353d08301576f6"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 07 11:13:27 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Nov 07 13:50:18 2013 -0800"
      },
      "message": "Properly handle executing-\u003eidle in GraphicBufferSource\n\nACodec has initiated the transition from exectuing-\u003eidle and is waiting\nfor the component to return all buffers so they can be freed.\nIt\u0027s counter productive and with some vendors harmful to submit additional\nbuffers to the component from this point on.\n\nChange-Id: I332be254a1faf94902c77b5792a373ab447e44d3\nrelated-to-bug: 11573543\n"
    },
    {
      "commit": "fd6ecdd39bd83ea020f78b425e96310380d66c35",
      "tree": "74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c",
      "parents": [
        "48b6cd98b23b2cf9dee88f075f7575ecb5aaf545"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 09:51:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 06 18:22:22 2013 -0800"
      },
      "message": "Camera HAL3/API1: Add support for the partial result quirk.\n\n- Camera2Client:\n - Detect partial result quirk\n- Camera3Device:\n - Accumulate all partial results together\n - Fire off 3A-only result once all 3A states are available\n- FrameProcessorBase:\n - Filter out partials, don\u0027t send to listeners\n- FrameProcessor:\n - Skip face detect on partials\n - Make sure to only handle a 3A update for a given frame once\n - Trigger AF notifications when AF mode or trigger changes, to\n   properly detect all AF transitions.\n\nBug: 11115603\nChange-Id: Iea8aa73c568701562a46071f7ea100624251d10b\n"
    },
    {
      "commit": "48b6cd98b23b2cf9dee88f075f7575ecb5aaf545",
      "tree": "9dcac8d6cbf72c9cd29a6d64d9b66295c8c67c3c",
      "parents": [
        "f8a1169d98a09d1473f289c363353d08301576f6",
        "a23f17ac334ff20a11ee63dd177cb1080e44c483"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 06 17:29:58 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 06 17:29:58 2013 +0000"
      },
      "message": "Merge \"audioflinger: fix direct output underrun\" into klp-dev"
    },
    {
      "commit": "a23f17ac334ff20a11ee63dd177cb1080e44c483",
      "tree": "e15dc095de74afc97fc509aa855cedf010df6c1e",
      "parents": [
        "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 05 18:22:08 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 05 18:22:08 2013 -0800"
      },
      "message": "audioflinger: fix direct output underrun\n\nUnderruns on tracks handled by a direct or offloaded\nthreads were not properly reported to the applications\ncausing a failure to automatically recover.\n\nBug: 11535001.\nChange-Id: I7a8696b4d646f78b16710addfe7c108d0dd0038d\n"
    },
    {
      "commit": "89b31a3f670d8bec87bed50aaad9bcd8edec66b6",
      "tree": "281e16d135a6c47364ca3ce8d4a4ed66e89cee9f",
      "parents": [
        "3ff5792adfdbf67662a5f8064315a55690d53944"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 05 12:36:17 2013 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Nov 05 12:36:17 2013 -0800"
      },
      "message": "configure bitrate and bitrate mode at encoder initialization for VP8/9\n\nChange-Id: I0389264db4102cabb0c6fcb4ca223d85cc9e86fb\nrelated-to-bug: 11536167\n"
    },
    {
      "commit": "f8a1169d98a09d1473f289c363353d08301576f6",
      "tree": "cf676491a9c9a6e5201eba1bd77f2335476629d9",
      "parents": [
        "065789f24890b0a9f3614dc175e6f7664af1f2ce",
        "3e518fd5d679abb83b654e473ea0fa5f7f16235f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 04 17:42:11 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 04 17:42:12 2013 +0000"
      },
      "message": "Merge \"Notify current video size if available\" into klp-dev"
    },
    {
      "commit": "065789f24890b0a9f3614dc175e6f7664af1f2ce",
      "tree": "62a51e41008b374cdbc553153c5ee7c211f57138",
      "parents": [
        "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd",
        "7fa015217e618265ff5a844cf6961ecc316c81a4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 01 23:17:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 01 23:17:47 2013 +0000"
      },
      "message": "Merge \"Restore NuPlayer error and EOS handling\" into klp-dev"
    },
    {
      "commit": "3e518fd5d679abb83b654e473ea0fa5f7f16235f",
      "tree": "96ca7ab7e49d6f1535bc459bf89d8a1040e5a219",
      "parents": [
        "9cae217050aa1347d4ac5053c305754879e3f97f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 01 10:33:18 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 01 10:33:18 2013 -0700"
      },
      "message": "Notify current video size if available\n\nb/11248101\n\nChange-Id: I0fa3b5592efcf400c86692002267da6825e331ad\n"
    },
    {
      "commit": "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd",
      "tree": "71dac4a8045e2c0eca9dfbd341936f731ffa0a9b",
      "parents": [
        "3ff5792adfdbf67662a5f8064315a55690d53944",
        "2c3740f01acca69c3e0bcc5e01bb0edc51b6777f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 31 22:29:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 31 22:29:50 2013 +0000"
      },
      "message": "Merge \"AudioFlinger: fix duplicating thread standby.\" into klp-dev"
    },
    {
      "commit": "2c3740f01acca69c3e0bcc5e01bb0edc51b6777f",
      "tree": "fafcc00b076ae05c67b4cd0d3cd7de406b418c09",
      "parents": [
        "fd4779740ec3e9e865d5514464df26d015354388"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 16:57:06 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 16:57:06 2013 -0700"
      },
      "message": "AudioFlinger: fix duplicating thread standby.\n\nCommit fd47797 fixing issue 11247103 introduced a regression\nwhere the duplicating thread does not exit standby state as\nexpected. This in turn prevents the tracks sending audio to\nother threads to complete their activity cycle normally.\n\nThe fix conists in clearing mStandby state also in the specialized\nthreadLoop_write() method of DuplicatingThread subclass.\n\nBug: 11451415.\nChange-Id: Ie8a92c819a56a2834ea25fa70a8b7b2125721775\n"
    },
    {
      "commit": "3ff5792adfdbf67662a5f8064315a55690d53944",
      "tree": "ed42f922d8280b2464a0b5bfdd1b167220f32f32",
      "parents": [
        "c76b9f52cf4e39f6943c53f5b3657dfee65857ac",
        "ff3e31d2b100d8efd969b358b18e4405c49dd10d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 30 21:09:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 21:09:49 2013 +0000"
      },
      "message": "Merge \"camera: Collect stack traces when bad things happen, print with dumpsys\" into klp-dev"
    },
    {
      "commit": "7fa015217e618265ff5a844cf6961ecc316c81a4",
      "tree": "0891bfc23870221cdb9705e79cbfcef07c79de3d",
      "parents": [
        "c76b9f52cf4e39f6943c53f5b3657dfee65857ac"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 28 14:59:21 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 30 13:43:51 2013 -0700"
      },
      "message": "Restore NuPlayer error and EOS handling\n\nThis was erroneously removed by commit a73c954\n\nChange-Id: I4742339139e770f0181c99d427875897fd60b68e\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11413439\n"
    },
    {
      "commit": "c76b9f52cf4e39f6943c53f5b3657dfee65857ac",
      "tree": "6c90ac6f2aa71224889908c3517c300058ba9ccb",
      "parents": [
        "1c594b637df26499ce1dae2db34f2b3290efd838",
        "f4909f67d8be28e3b0a5e9429479b102773b2ea8"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 30 20:23:17 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 20:23:18 2013 +0000"
      },
      "message": "Merge \"AwesomePlayer: ensure STARTED message works after reset\" into klp-dev"
    },
    {
      "commit": "9c7f845780d62ea09469a8dac7117cc01adfea5c",
      "tree": "1c69c580de33cf8dc15a5060447e4d9109181fbe",
      "parents": [
        "1c594b637df26499ce1dae2db34f2b3290efd838"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 30 10:02:12 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 30 11:29:29 2013 -0700"
      },
      "message": "StageFrightRecorder: do not use meta-data mode for software encoders\n\nCamera HAL v1 uses vendor-specific camera-source meta-data mode, but\nsoftware encoders use generic gralloc-source mode, so they are not\ncompatible.\n\nChange-Id: I0d1bab8eada26dcb70c97b1eec83f06d1f331239\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11446505\n"
    },
    {
      "commit": "1c594b637df26499ce1dae2db34f2b3290efd838",
      "tree": "0d231e939a18d3f28f1e19658a7b7ed2e61ed1fb",
      "parents": [
        "fd4779740ec3e9e865d5514464df26d015354388",
        "d72b7c0180ee83fc3754629ed68fc5887a125c4c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 01:13:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 01:13:52 2013 +0000"
      },
      "message": "Merge \"audioflinger: enable effects after registration if needed\" into klp-dev"
    },
    {
      "commit": "ff3e31d2b100d8efd969b358b18e4405c49dd10d",
      "tree": "6d3bcd6772305f06fcf85c498365c8c198a7fbc9",
      "parents": [
        "95c03858e2ab4fb693a2bfe47b3caa806e43c044"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 23 16:40:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 29 11:49:05 2013 -0700"
      },
      "message": "camera: Collect stack traces when bad things happen, print with dumpsys\n\nBug: 11324229\nChange-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6\n"
    },
    {
      "commit": "f4909f67d8be28e3b0a5e9429479b102773b2ea8",
      "tree": "8aefc8fc0eaea4f17e82156d63dd932d62cfd204",
      "parents": [
        "f3a6234ba21640cf2bc893dbcb98fb9b0fa47481"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 28 15:01:15 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 28 16:53:13 2013 -0700"
      },
      "message": "AwesomePlayer: ensure STARTED message works after reset\n\nChange-Id: I06217c07c0b68476cb296fd6151f6a0d8d4e02d0\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11412881\n"
    },
    {
      "commit": "fd4779740ec3e9e865d5514464df26d015354388",
      "tree": "11e6523dd9d2d04b6e0d3ea742968c6988646e2c",
      "parents": [
        "9cae217050aa1347d4ac5053c305754879e3f97f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 25 18:10:40 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 28 14:17:22 2013 -0700"
      },
      "message": "AudioFlinger: more fixes for offload audio lost\n\nmStandby being false was not a reliable indication that\nsomething had been written to audio HAL.\n\nConsidering the last track in mActiveTracks vector as the\nlatest activated track was wrong as this is a SortedVector.\n\nBug: 11247103.\nChange-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc\n"
    },
    {
      "commit": "9cae217050aa1347d4ac5053c305754879e3f97f",
      "tree": "dff82f277cba8f34af39eaeeb00adec01bbda26c",
      "parents": [
        "be567be3f92026f5964c1c9ecce00e30bb7df412"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 14:12:05 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 14:06:03 2013 -0700"
      },
      "message": "Assign blame for playback wakelocks.\n\nSet a work source for the playback wakelock, so that playback is\ncounted against the requesting app instead of the media server.\n\nCherrypicked from master.\n\nb/9464621\n\nChange-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31\n"
    },
    {
      "commit": "be567be3f92026f5964c1c9ecce00e30bb7df412",
      "tree": "15d65f1a28fa055b11dabd1173fe5001e5d70eed",
      "parents": [
        "f3a6234ba21640cf2bc893dbcb98fb9b0fa47481",
        "bdfd4885aa4d7b3f3f591118927a3f4aec593096"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Thu Oct 24 17:35:43 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 24 17:35:44 2013 +0000"
      },
      "message": "Merge \"Check for NULL buffer in repeat-latest\" into klp-dev"
    },
    {
      "commit": "bdfd4885aa4d7b3f3f591118927a3f4aec593096",
      "tree": "44496e45de950a515fdd431f06e06a4f25d41743",
      "parents": [
        "95c03858e2ab4fb693a2bfe47b3caa806e43c044"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Oct 23 13:39:43 2013 -0700"
      },
      "committer": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Wed Oct 23 13:39:43 2013 -0700"
      },
      "message": "Check for NULL buffer in repeat-latest\n\nRepeating the most-recent buffer appears to fail when the producer\ndisconnects.  This adds a NULL check to avoid crashing.\n\nBug 10607920\n\nChange-Id: Ied036004425f046fcf9c26303823681f3fddb99e\n"
    },
    {
      "commit": "f3a6234ba21640cf2bc893dbcb98fb9b0fa47481",
      "tree": "f964848a5dc1229230b76e5ea2349a7e958e3425",
      "parents": [
        "95c03858e2ab4fb693a2bfe47b3caa806e43c044",
        "b65473f4f881ee7c0a24217ceac69514f6c127d5"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Wed Oct 23 19:58:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 23 19:58:15 2013 +0000"
      },
      "message": "Merge \"Fix kAutoRampDurationUs overflow issue\" into klp-dev"
    },
    {
      "commit": "95c03858e2ab4fb693a2bfe47b3caa806e43c044",
      "tree": "f872e4b7570cf2f431cca474e47d9d10c6cbed66",
      "parents": [
        "6a51d7ed7062536ccc892c8850a34ed55cbc8d5c",
        "2e422c472c91aa7912befd0fc038d1e11f354bc1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 22:02:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 18 22:02:47 2013 +0000"
      },
      "message": "Merge \"Allow releaseBuffer after flush\" into klp-dev"
    },
    {
      "commit": "b65473f4f881ee7c0a24217ceac69514f6c127d5",
      "tree": "f4bf921ad9ef6a08be65eaa9134621eae3c9d759",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Oct 17 14:23:00 2013 -0700"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Fri Oct 18 15:01:49 2013 -0700"
      },
      "message": "Fix kAutoRampDurationUs overflow issue\n\nWhen kAutoRampDurationUs multiplies with mSampleRate, it overflows to int64.\nType cast it to int64 to make sure RampDurationUs properly.\n\nBUg: 11162491\nChange-Id: I4f93bc9acc8456e25623a9255ca7a5b206425009\n"
    },
    {
      "commit": "2e422c472c91aa7912befd0fc038d1e11f354bc1",
      "tree": "7583e04f353f9cadf5081fafdcb8042450e3c85c",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:00:29 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:53:41 2013 -0700"
      },
      "message": "Allow releaseBuffer after flush\n\nAfter AudioTrack start checks for pending flush,\nallow releaseBuffer on any previously obtained buffer.\nFor example, this can happen if the resampler has obtained\na buffer but not released the whole buffer yet.\nNote that the resampler will be reading obsolete data.\n\nBug: 11285590\nChange-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5\n"
    },
    {
      "commit": "6a51d7ed7062536ccc892c8850a34ed55cbc8d5c",
      "tree": "95746546a67c27a04a0e5bd82f9760d80ad5f0d9",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "message": "audioflinger: fix track terminated before playing\n\nWhen a track is terminated before any audio was written,\nwe should not send a drain request to the HAL. The drain\nwill be ignored and we will wait the async callback for ever.\n\nAlso fix a potential deadlock by not deleting a track with the\nthread mutex held: mPreviousTrack changed from a sp to a raw pointer.\n\nBug: 11247103.\nChange-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae\n"
    },
    {
      "commit": "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b",
      "tree": "ecdb21f054e3c3707ff15146b3eb2f5d24200f44",
      "parents": [
        "6fa20187e4cf9ace5692979a84741484f19e3f57",
        "12022ff8d223ccf4dfae019c81e4a93a3f44985c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 23:12:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 17 23:12:05 2013 +0000"
      },
      "message": "Merge \"Fix flush() followed by start()\" into klp-dev"
    },
    {
      "commit": "6fa20187e4cf9ace5692979a84741484f19e3f57",
      "tree": "c5c3d85edf1b61cea49b7cd57b51e597d69e9a4b",
      "parents": [
        "f8f15b05fe051009945c9042a1a9260280e0feb2"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 17 13:24:42 2013 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Oct 17 13:24:42 2013 -0700"
      },
      "message": "Make sure we get to discover that the cache is sufficiently full again\n\nby posting buffering events while in the CACHE_UNDERRUN state.\n\nChange-Id: Ic60c8d57f0ae502aa2b6eec7160dc4224b989604\nrelated-to-bug: 11262689\n"
    },
    {
      "commit": "12022ff8d223ccf4dfae019c81e4a93a3f44985c",
      "tree": "ba799e32b0699249e7fb8e6f5d6fa4120b978d67",
      "parents": [
        "f8f15b05fe051009945c9042a1a9260280e0feb2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:32:39 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:33:31 2013 -0700"
      },
      "message": "Fix flush() followed by start()\n\nBug: 11259166\nChange-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d\n"
    },
    {
      "commit": "f8f15b05fe051009945c9042a1a9260280e0feb2",
      "tree": "28fd5dede6b2aae34a9b3b987049f3331ace5037",
      "parents": [
        "787c0d04ac4f9c938a1311f8e30d9d7ac2b8a6da",
        "598de6c701e989385eeffa7c5dfd61f0459a2631"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 00:59:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 17 00:59:33 2013 +0000"
      },
      "message": "Merge \"Fix race condition in AudioTrack::pause followed by start\" into klp-dev"
    },
    {
      "commit": "787c0d04ac4f9c938a1311f8e30d9d7ac2b8a6da",
      "tree": "77a6e3009e89a42e78e041b56a9c69efd3e462f1",
      "parents": [
        "3defdab829de7df3a343393b2b277e99d071744c",
        "a9a11056a5af92e21e2742ec32a8cd4fe94abed4"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Wed Oct 16 17:42:20 2013 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Wed Oct 16 17:42:20 2013 -0700"
      },
      "message": "merge in klp-release (no-op)\n"
    },
    {
      "commit": "598de6c701e989385eeffa7c5dfd61f0459a2631",
      "tree": "090b30e255f0aed57a73ca6c9252e19da162fd97",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 16 17:02:13 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 16 17:20:11 2013 -0700"
      },
      "message": "Fix race condition in AudioTrack::pause followed by start\n\nBug: 11148722\nChange-Id: Iec88f00c8510363d4418e4b8d5b34feb06ecf04d\n"
    },
    {
      "commit": "3defdab829de7df3a343393b2b277e99d071744c",
      "tree": "77a6e3009e89a42e78e041b56a9c69efd3e462f1",
      "parents": [
        "120a88471a607c85c4d60300d73c3be0a1e8f8c8",
        "afada1e56cf0f91be5e44678850fcead2a70cca2"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 22:47:47 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 16 22:47:48 2013 +0000"
      },
      "message": "Merge \"Camera: don\u0027t do hw support check for ZSL\" into klp-dev"
    },
    {
      "commit": "120a88471a607c85c4d60300d73c3be0a1e8f8c8",
      "tree": "015d298d3260540d59d7fd556c2ccfe2b83d67fe",
      "parents": [
        "d576687570f19f3956d91c1d3da10d965e34c407",
        "cc21e4f1e41dfa17e7e2bef995fcd22c45f6bcd0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 16 22:28:33 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 16 22:28:33 2013 +0000"
      },
      "message": "Merge \"AudioTrack: fix head position after restore\" into klp-dev"
    },
    {
      "commit": "cc21e4f1e41dfa17e7e2bef995fcd22c45f6bcd0",
      "tree": "a446f08a1adaf31ef5dddc491c620209176b67aa",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 16 15:12:32 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 16 15:12:32 2013 -0700"
      },
      "message": "AudioTrack: fix head position after restore\n\nThe head position transfered to the new track\nby restoreTrack_l() must take into account the frames that\nare dropped from the old track to avoid a non recoverable\noffset in the playback head position returned to applications.\n\nBug: 11230062.\nChange-Id: I51143a08b95e8f264ed709ae2054360315f2b8b1\n"
    },
    {
      "commit": "afada1e56cf0f91be5e44678850fcead2a70cca2",
      "tree": "6d88090137f1b7129e0f953acecdb76760e4ef6e",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "message": "Camera: don\u0027t do hw support check for ZSL\n\nOnly use camera.disable_zsl_mode to control disable/enable ZSL.\n\nBug: 11258054\nChange-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a\n"
    },
    {
      "commit": "d576687570f19f3956d91c1d3da10d965e34c407",
      "tree": "4f19e79cf537bed5827e9c144b4823133248f338",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 15 16:11:24 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 15 16:11:24 2013 -0700"
      },
      "message": "AwesomePlayer: fix concurrent pause and teardown\n\nThere was a race condition if a pause request was received\nwhile we were executing a teardown event. Although we hold\na mutex while processing the teardown event, there is a step\nof the prepare sequence where we release the mutex if streaming.\nIn this case, the pause request is executed but ignored because\nthe player state is still preparing. At the end of the teardown\nevent processing we restore previous playback state and resume.\n\nThe fix consists in clearing the saved teardown playback state\nwhen a pause request is received while processing a teardown event.\n\nBug: 11225491.\nChange-Id: If0e61855ce5a336322f1ba8e5559bdc190beeb76\n"
    },
    {
      "commit": "a9a11056a5af92e21e2742ec32a8cd4fe94abed4",
      "tree": "1eebc29942794f1688fde67b9056803b8194355a",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3",
        "013503022149a6e851bb7aec23c2ca73ebb13607"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Tue Oct 15 06:00:42 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Tue Oct 15 06:00:42 2013 -0700"
      },
      "message": "merge in klp-release history after reset to klp-dev\n"
    },
    {
      "commit": "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3",
      "tree": "1eebc29942794f1688fde67b9056803b8194355a",
      "parents": [
        "b3cb72a17d9a472883e9e2faa18b42eac533fe99"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 14 15:03:38 2013 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 14 17:29:57 2013 +0100"
      },
      "message": "Make Audio wakelock names less unique.\n\nThese wakelocks now show up in the client process, where they\nmight cause wakelock overflows if AudioFlinger threads die often.\n\nThe client process should be agnostic of audio flinger threading,\nso don\u0027t make the wakelock names rely on audioflinger thread names.\n\nWakelock names now depend only on the audio flinger thread type, and\nnot the ID itself.\n\nbug: 11200551\n\nChange-Id: Ia1f71b569cb7502d617b77596abc245f461a6ec0\n"
    },
    {
      "commit": "013503022149a6e851bb7aec23c2ca73ebb13607",
      "tree": "0cd89996f1cd52cdee00325e69e8c287b7a89439",
      "parents": [
        "b3cb72a17d9a472883e9e2faa18b42eac533fe99",
        "50a098cef846abc7430a8f2529c3822bbdc9301a"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 13 19:20:21 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 13 19:20:21 2013 -0700"
      },
      "message": "merge in klp-release history after reset to klp-dev\n"
    },
    {
      "commit": "50a098cef846abc7430a8f2529c3822bbdc9301a",
      "tree": "7b1785a6c1c284fc345e5e1d9722ea87432f8491",
      "parents": [
        "15ad2470b2f2ac34473eb568b606ad75e8e63ac6",
        "bf33cd55b1a27e9144055ecfbf026cc5516031d6"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 13 06:01:45 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 13 06:01:45 2013 -0700"
      },
      "message": "merge in klp-release history after reset to klp-dev\n"
    },
    {
      "commit": "b3cb72a17d9a472883e9e2faa18b42eac533fe99",
      "tree": "0cd89996f1cd52cdee00325e69e8c287b7a89439",
      "parents": [
        "15ad2470b2f2ac34473eb568b606ad75e8e63ac6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 17:05:19 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 17:05:19 2013 -0700"
      },
      "message": "SoundPool: handle new audio track event\n\nIf the AudioTrack is torn down, SoundPool will never\nreceive the buffer end event and the track will stay active\nfor ever.\n\nThe fix consists in stopping the AudioTrack when a new audiotrack\nevent is received.\n\nBug: 11193583.\nChange-Id: I9876eb2a8f75c601368f669acd67b0accf6e2736\n"
    },
    {
      "commit": "d72b7c0180ee83fc3754629ed68fc5887a125c4c",
      "tree": "9c6bef31eaca96d7420a65fcdd2438666c5668dd",
      "parents": [
        "15ad2470b2f2ac34473eb568b606ad75e8e63ac6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 16:17:46 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 16:37:00 2013 -0700"
      },
      "message": "audioflinger: enable effects after registration if needed\n\nThis fixes a bug where effects were not properly reenabled after\nbeing moved from one playback thread to another. The effect\nis enabled but the audio policy manager sees it as disabled.\n\nBug: 11181933.\nChange-Id: I19cac7acbaf61c546e667fd85ed7d4eda1c716d8\n"
    },
    {
      "commit": "15ad2470b2f2ac34473eb568b606ad75e8e63ac6",
      "tree": "7b1785a6c1c284fc345e5e1d9722ea87432f8491",
      "parents": [
        "d5ed2263a485d6e633fe08f033d04fad75daec6f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:21:11 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:48:16 2013 -0700"
      },
      "message": "Camera: Fix deadlock in Camera3OutputStream\n\nprocess capture request thread, process capture result and setParameter\nbinder threads can run into circular locking situation when acquiring\nStreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.\nReleasing the Camera3Stream lock briefly in process capture request\nthread getbuffer call can break this deadlock.\n\nBug: 11016037\nChange-Id: If08d4b134c26be26039b1d5363759e60f911bad6\n"
    },
    {
      "commit": "bf33cd55b1a27e9144055ecfbf026cc5516031d6",
      "tree": "af2b7e55f779d29f89fdc82cefba8f941928a440",
      "parents": [
        "fa4247af61ce77ee16bb42dcd5ebc52c6cafe913"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 10:26:52 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Fri Oct 11 12:42:12 2013 -0700"
      },
      "message": "Camera: Skip AE precapture when possible\n\nSkip AE precapture when AE is already converged for still capture use case. This\ncould save still capture latency 6-7 frame time for AE already converged case.\n\nBug: 10712902\nChange-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e\n"
    },
    {
      "commit": "d5ed2263a485d6e633fe08f033d04fad75daec6f",
      "tree": "6122aedd6246cef0185d35d726ce1f6670a5d750",
      "parents": [
        "1dd08b30e2366cabc50d883885d6229dab8218f2",
        "b790abf4d17f1c6865af7eb1595ec94dc0306447"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "message": "Merge \"Camera: Skip AE precapture when possible\" into klp-dev"
    },
    {
      "commit": "1dd08b30e2366cabc50d883885d6229dab8218f2",
      "tree": "9939b56d22eea0e02b14f7274f098bc6cfbea425",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
        "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Add more tracing for API1\" into klp-dev"
    },
    {
      "commit": "b790abf4d17f1c6865af7eb1595ec94dc0306447",
      "tree": "af2b7e55f779d29f89fdc82cefba8f941928a440",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 10:26:52 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 12:03:36 2013 -0700"
      },
      "message": "Camera: Skip AE precapture when possible\n\nSkip AE precapture when AE is already converged for still capture use case. This\ncould save still capture latency 6-7 frame time for AE already converged case.\n\nBug: 10712902\nChange-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e\n"
    },
    {
      "commit": "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd",
      "tree": "65036c507cfc269e59847bee8e359536e1af2ec2",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 15:13:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 22:48:43 2013 +0000"
      },
      "message": "Camera2/3: Add more tracing for API1\n\n- AF state\n- Async autofocus completion\n- Async takePicture completion\n- Stages of takePicture\n\nBug: 10570497\nChange-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3\n"
    },
    {
      "commit": "fa4247af61ce77ee16bb42dcd5ebc52c6cafe913",
      "tree": "25ffe85682c673330d8b806fdef1e9d978f6d698",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
        "bae1f52881a7d7a6e198fcd81c44355d85c8b1e3"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Thu Oct 10 06:01:02 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Thu Oct 10 06:01:02 2013 -0700"
      },
      "message": "merge in klp-release history after reset to klp-dev\n"
    },
    {
      "commit": "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
      "tree": "25ffe85682c673330d8b806fdef1e9d978f6d698",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 16:12:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 09 13:25:21 2013 -0700"
      },
      "message": "Camera: Save 1 frame time for takePicture call\n\nMove the latest request signal call right before submitting request to HAL,\nwhich avoids unnecessary 1 frame time wait.\n\nAlso fix request status constructor issue, and the log tag for Camera2Client.\n\nBug: 10570497\nChange-Id: I0b1818658bee9983b117e49a5a00f1aab515c567\n"
    },
    {
      "commit": "bae1f52881a7d7a6e198fcd81c44355d85c8b1e3",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c",
        "e8b75efbd743e8cf8e9799c87b7bca5423fef135"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Wed Oct 09 06:01:03 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Wed Oct 09 06:01:03 2013 -0700"
      },
      "message": "merge in klp-release history after reset to klp-dev\n"
    },
    {
      "commit": "b6028c4243fb7e4e16e41d893c1d48679d28ca6c",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "828363dada5878fca6e0cb1553fbea96f38671c8",
        "93508d8a66e9df8e129b28d33f4fef49ed6f6089"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Tue Oct 08 15:59:50 2013 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Tue Oct 08 15:59:50 2013 -0700"
      },
      "message": "merge in KFS78N (no-op)\n"
    },
    {
      "commit": "828363dada5878fca6e0cb1553fbea96f38671c8",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "a676e96c6ed71846bdf60448bd63100ee2b357fb",
        "215bb3499c7eeea6303e55fac66452f2574c022a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "message": "Merge \"camera2: Don\u0027t race while dumping last frame metadata\" into klp-dev"
    },
    {
      "commit": "a676e96c6ed71846bdf60448bd63100ee2b357fb",
      "tree": "1ffffa90a5d70ef23fbd554f32cfa52bb5cc42df",
      "parents": [
        "a5209c2e6a89ecd8d3bec79cb0e82a677301d794",
        "25150209a20906ea25b8cc233962e81432260ec5"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Tue Oct 08 15:40:01 2013 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "edheyl@google.com",
        "time": "Tue Oct 08 15:40:01 2013 -0700"
      },
      "message": "merge in KQS81M\n"
    },
    {
      "commit": "a5209c2e6a89ecd8d3bec79cb0e82a677301d794",
      "tree": "1ffffa90a5d70ef23fbd554f32cfa52bb5cc42df",
      "parents": [
        "aab5b08cb4a3b5a47daece6168f41ec918020739",
        "07d2169d46f3536add6044dbf106967a1982252f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 18:46:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 18:46:21 2013 +0000"
      },
      "message": "Merge \"Camera3: Improve resilience to stream failures\" into klp-dev"
    },
    {
      "commit": "07d2169d46f3536add6044dbf106967a1982252f",
      "tree": "08090732d0c87e4dc781505e6396c33419b0ef62",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 24 18:04:19 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 11:21:06 2013 -0700"
      },
      "message": "Camera3: Improve resilience to stream failures\n\n- Handle binder connection drops (DEAD_OBJECT) for streams\n- Just log an error, don\u0027t go to an error state when queue/dequeue fails\n\nBug: 10347526\nChange-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc\n"
    },
    {
      "commit": "aab5b08cb4a3b5a47daece6168f41ec918020739",
      "tree": "2bdd66104a1e3a30d2449d2c2b640263ac64ae17",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 08 09:22:31 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 08 09:22:31 2013 -0700"
      },
      "message": "AwesomePlayer: do not send events when paused.\n\nWhen streaming audio and paused, AwesomePlayer should\nstop sending BufferingEvents as they will keep a wake lock\nfor no reason.\n\nTimedEventQueue should always acquire the wakelock with mediaserver\nidentity so that it is released with the same identity by the\nevent handler thread.\n\nBug: 11104408.\nChange-Id: Ied0e03acd6ad2f5a4c0ec82d5c2aa4e1c6da772c\n"
    },
    {
      "commit": "215bb3499c7eeea6303e55fac66452f2574c022a",
      "tree": "4a42ea582e33d46c79c9a033ff8d10b14e4aad42",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "message": "camera2: Don\u0027t race while dumping last frame metadata\n\nBug: 11095203\nChange-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c\n"
    },
    {
      "commit": "e8b75efbd743e8cf8e9799c87b7bca5423fef135",
      "tree": "f90931a7c5c4628b0e8e47976d68a9d586802b53",
      "parents": [
        "5f49a397637ded9300b92174b7c220dc00af21e8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 24 11:52:37 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Mon Oct 07 16:33:26 2013 -0700"
      },
      "message": "Cleanup openRecord error handling\n\nBug: 10888816\nChange-Id: I84897dd7d30b370640b54e928f230604b873cb68\n"
    },
    {
      "commit": "fee4ce338d78eeb58af1f66831ead53322d3859e",
      "tree": "f90931a7c5c4628b0e8e47976d68a9d586802b53",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
        "e93cf2ca27ae6f4a81d4ef548bbf10a34db6d98f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "message": "Merge \"Cleanup openRecord error handling\" into klp-dev"
    },
    {
      "commit": "5f49a397637ded9300b92174b7c220dc00af21e8",
      "tree": "1650f71cf339cd9d561377e239e2a12f7b08cffc",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
        "d1d48a0da103237b69cc44d6ceb5b4c67fbc841b"
      ],
      "author": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 06 06:01:09 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 06 06:01:09 2013 -0700"
      },
      "message": "merge in klp-release history after reset to klp-dev\n"
    },
    {
      "commit": "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
      "tree": "1650f71cf339cd9d561377e239e2a12f7b08cffc",
      "parents": [
        "026c5b07fefd36e0e2dd7035c2898d0e28596d0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 16:23:48 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 16:37:07 2013 -0700"
      },
      "message": "audioflinger: offload: fix pause/flush/resume\n\nIf a pause/flush/resume sequence is fast enough, resume is received while\nwe are still in PAUSING state in which case it is a NOP. If this happens,\nflush is still forwarded to the audio HAL but is not preceeded by a pause\nwhich can cause problems to the audio DSP.\nIt is necessary to preserve the flush as this sequence is typical to a seek.\n\nThe fix consists in forcing a pause/resume when a flush request must be\nexecuted and the audio HAL has not been paused previously.\n\nBug: 11081559.\nChange-Id: Ib84ed26d503a61c05933b923ec556b10cedfe140\n"
    },
    {
      "commit": "d1d48a0da103237b69cc44d6ceb5b4c67fbc841b",
      "tree": "b882292315a27833d38a42aee88816b991762d65",
      "parents": [
        "e69e81c460416a814486fe2852efecee4ae1a13a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 03 17:54:26 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Fri Oct 04 13:24:47 2013 -0700"
      },
      "message": "TimedEventQueue takes a wake lock\n\nTake a wake lock when events present in a TimedEventQueue\nto prevent from going idle before all delayed events are\nprocessed.\n\nBug: 11057387.\nChange-Id: I26a17df68068fde5e879a2fe7568dec439fc540f\n"
    },
    {
      "commit": "e69e81c460416a814486fe2852efecee4ae1a13a",
      "tree": "a3099eba5ff7d9cfcb33dcce5a7477d2ff81f573",
      "parents": [
        "b748ce61668fb57b7b8c8b1866f885f2a668a989"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 08:36:52 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Fri Oct 04 13:24:47 2013 -0700"
      },
      "message": "fix offload audio effect proxy implementation uuid\n\nThe proxy implementation UUID should not be the NULL UUID as\nAudioFlinger will reject effect creation if the AudioEffect\nis constructed by passing the implementation UUID and not the\ntype UUID.\n\nBug: 11070481.\n\nChange-Id: Ia9049d974e76303c5b63a607ee594b7dc1f182d4\n"
    },
    {
      "commit": "026c5b07fefd36e0e2dd7035c2898d0e28596d0f",
      "tree": "25d2d0581ce3b449c7a1bf8d9e2b34c5563eb30c",
      "parents": [
        "da0926afdb12794497c93d68eee296f2d92bfa7e",
        "547789d25dc6bd6561553bcf6b384fb0d4fee834"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 19:57:14 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 04 19:57:14 2013 +0000"
      },
      "message": "Merge \"audioflinger: fix wake lock acquisition check\" into klp-dev"
    },
    {
      "commit": "547789d25dc6bd6561553bcf6b384fb0d4fee834",
      "tree": "767ae4b24b4fc71cc547cfa16898f5299d26a6cc",
      "parents": [
        "7bab024867996bec6dc4e3e31ed4570da9afbc25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 11:46:55 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 11:46:55 2013 -0700"
      },
      "message": "audioflinger: fix wake lock acquisition check\n\nCommit e14a5d6 introduced a bug in ThreadBase::acquireWakeLock() where\nthe wake lock acquisition return code is not initialized before\nbeing checked causing the wake lock token to be sometines not set\nand potential failure to release the wake lock later.\n\nBug: 10985160.\nChange-Id: Iffd40e773ae3bcfec3c148a844d5dbebbf474eaf\n"
    }
  ],
  "next": "da0926afdb12794497c93d68eee296f2d92bfa7e"
}
