)]}'
{
  "log": [
    {
      "commit": "2ddee19245641e86bca436dda23a0f5089bf2ab5",
      "tree": "ee665bb2097db2710211eb1d834510201b02ab59",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 18 17:34:44 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 08 14:09:31 2016 -0800"
      },
      "message": "Add setMasterMono and getMasterMono\n\nBug: 15283594\nBug: 22700363\nChange-Id: I32dc1fcecf285967a61bd508af3bb299595db57d\n"
    },
    {
      "commit": "44333e51c62643e7581022495a2a1f410dd62e27",
      "tree": "e83f1afade8166b115bce2238f37999652ee0cf3",
      "parents": [
        "438e7572c83674f4b9e6184f32f3dc94cd50524e",
        "b65990f4a0cf01db0b9f21c68fcf8824ae03a178"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 15 22:57:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 15 22:57:14 2015 +0000"
      },
      "message": "Merge \"MediaSource: use shared memory for transferring larger buffers\""
    },
    {
      "commit": "d0ef20e9e91afa734078bc229a5ded8e7e3ab944",
      "tree": "90d2f552051d2bc811fe01bea052842766e6dcfd",
      "parents": [
        "6152b8ce798f3cbb6a737a2b834edf0a33feee6f",
        "8cca0750a84c2d97224c0cfef7cf255308ee80b3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Wed Dec 09 18:27:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 09 18:27:46 2015 +0000"
      },
      "message": "Merge \"Camera: Support BufferQueue between Camera and StageFright\""
    },
    {
      "commit": "6ca0256a1dcd85e1fa0a535347a9f0ecc57e284d",
      "tree": "b4cbf5a35c31dc157921709fe45393580299f5d4",
      "parents": [
        "5be2304ab2a1e40ca85f2c01defa4bb33e8344d9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 09 08:40:40 2015 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Dec 09 08:40:40 2015 -0800"
      },
      "message": "Remove unused MediaDrm.unprovisionDevice\n\nbug:25726218\nChange-Id: I6eb0ceb488c66c191897b3c190f5da1d71880c77\n"
    },
    {
      "commit": "8cca0750a84c2d97224c0cfef7cf255308ee80b3",
      "tree": "5c57eb6c935102e464667b8fa86364f19bce8495",
      "parents": [
        "cf52591e7441fcea757ca9090a66dbcdff0a73e3"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Nov 13 15:28:48 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Dec 08 12:17:46 2015 -0800"
      },
      "message": "Camera: Support BufferQueue between Camera and StageFright\n\nUse a BufferQueue between Camera and StageFright to pass video\nbuffers for Camera HALv3 devices.\n\nCameraSource in StageFright will try to use \"buffer queue\" mode\nif it is supported by the camera device. In \"buffer queue\" mode,\nCameraSource creates a buffer queue and a listener thread to recieve\nvideo buffers from camera device. CameraSource then wraps the\nANWBuffer in MediaBuffer. If the camera device doesn\u0027t support\n\"buffer queue\" mode, it falls back to \"metadata in video buffer\"\nmode or \"real YUV data\" mode.\n\n\"Metadata in video buffer\" mode is removed from Camera2Client and\nonly \"buffer queue\" mode is supported.\n\nBug: 24511454\n\nChange-Id: Ice833b57bcd8d91852d6415402013f56f3e3970a\n"
    },
    {
      "commit": "469826c69810c24f2e90291182c8501e76be31f0",
      "tree": "2b35231da050f48ea9f0c406ae782aab83c3e9a3",
      "parents": [
        "ee25a737a29f6300d52b6dd31ce4c78b73e3cad7",
        "90e8a97dd5c9d391d7a2ea6a2290ed976f928379"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 03 19:42:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 03 19:42:37 2015 +0000"
      },
      "message": "Merge \"Use modulo position variables in AudioTrack and AudioRecord\""
    },
    {
      "commit": "5f80c6f508ebafbe81d42177907035731e854c5b",
      "tree": "b121443943a9834c2e32067b8374c0bced5fc757",
      "parents": [
        "f4284584d6a12c19906d661e55163c0d90f83286",
        "3f27a44e8ee013527f927cc61f5d765c8b79c590"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:36:41 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 30 19:36:41 2015 +0000"
      },
      "message": "Merge \"Handle error result from DrmManagerClient correctly\" am: f0d7854e93 am: b84a4f9d23\nam: 3f27a44e8e\n\n* commit \u00273f27a44e8ee013527f927cc61f5d765c8b79c590\u0027:\n  Handle error result from DrmManagerClient correctly\n"
    },
    {
      "commit": "b84a4f9d23ce757ffc77044725c8beb21d2f859b",
      "tree": "d08b16640c351ac28f1b1ecd2452435094b04913",
      "parents": [
        "a4afeea0dccf5d2bf400f53743df196ceee2fcbe",
        "f0d7854e93696c4a10c98bc94d7b5f869c80493a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:28:32 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Nov 30 19:28:32 2015 +0000"
      },
      "message": "Merge \"Handle error result from DrmManagerClient correctly\"\nam: f0d7854e93\n\n* commit \u0027f0d7854e93696c4a10c98bc94d7b5f869c80493a\u0027:\n  Handle error result from DrmManagerClient correctly\n"
    },
    {
      "commit": "f0d7854e93696c4a10c98bc94d7b5f869c80493a",
      "tree": "6646b60fc60d4761fc449bd8b55df5036655a629",
      "parents": [
        "9cd5f8115b9d2414e8ec537ffec3308776c2b587",
        "d066bc8faf68b9fcb034ceb203e8d7e8213dc1ce"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 30 19:23:23 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Nov 30 19:23:23 2015 +0000"
      },
      "message": "Merge \"Handle error result from DrmManagerClient correctly\""
    },
    {
      "commit": "90e8a97dd5c9d391d7a2ea6a2290ed976f928379",
      "tree": "fd0c41eb9d79a2a8bd58fa1e87d70aee8324f68e",
      "parents": [
        "25283404e022cd23d61befaa3c7ba379c05e8f99"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Nov 09 16:42:40 2015 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Nov 13 12:39:07 2015 -0800"
      },
      "message": "Use modulo position variables in AudioTrack and AudioRecord\n\nMore type safety, plus correct treatment for sanitization.\n\nBug: 25569906\nBug: 25232421\nChange-Id: Id852277b81a1792c5e67392cd74bc39cba7ed1ad\n"
    },
    {
      "commit": "b65990f4a0cf01db0b9f21c68fcf8824ae03a178",
      "tree": "1830b1878ec14c88e016b2c53fd2332e260f5d5b",
      "parents": [
        "c95f046e1f2063fe0549b3f30bd2452c192a20fd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 09 15:39:49 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 12 16:08:36 2015 -0800"
      },
      "message": "MediaSource: use shared memory for transferring larger buffers\n\nFor small buffers we still copy the data as part of the binder transaction,\nsince that saves one extra binder call, but for buffers \u003e 64KB we now use\nshared memory.\n\nChange-Id: I19aad7ea7f6104991b9b6b4f24ea880b54f739be\n"
    },
    {
      "commit": "b2487f03f12dcafdb801fc0007c8df8412397f44",
      "tree": "4fac81f0fed0d22a1ff36e884ce1825561b5226d",
      "parents": [
        "f8e21a06c1b559757f1c6846b1a1abd29874cbeb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 01 13:23:23 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 07:43:19 2015 -0700"
      },
      "message": "Extractor service\n\nRun extractors in a separate process. Currently all data is copied through a\nbinder transaction, and WVMExtractor is still run in the mediaserver process.\n\nChange-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13\n"
    },
    {
      "commit": "d373ede5e7737f7fec936f4c37f64805a538d584",
      "tree": "bb1348fbac95899fbfac5c757bf6c14589970244",
      "parents": [
        "87783b8fdfe175915d0fc3f3c7f8e208dae99ac6",
        "81f93f8176fa30083b3fbf641278b8e17ccd6144"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 21:48:07 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 21:48:07 2015 +0000"
      },
      "message": "Merge \"ABuffer: remove unused code\" am: d0f8fa383e am: cb0f20a313\nam: 81f93f8176\n\n* commit \u002781f93f8176fa30083b3fbf641278b8e17ccd6144\u0027:\n  ABuffer: remove unused code\n"
    },
    {
      "commit": "81f93f8176fa30083b3fbf641278b8e17ccd6144",
      "tree": "9fe3cc7349890a041fca4b51c022c660fb31f823",
      "parents": [
        "b2d37608d3881dcf4455fc43b51c38e0fcebba95",
        "cb0f20a3138d3e1d5586fd127c4f2f6c05e78a48"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 21:42:31 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 21:42:31 2015 +0000"
      },
      "message": "Merge \"ABuffer: remove unused code\" am: d0f8fa383e\nam: cb0f20a313\n\n* commit \u0027cb0f20a3138d3e1d5586fd127c4f2f6c05e78a48\u0027:\n  ABuffer: remove unused code\n"
    },
    {
      "commit": "cb0f20a3138d3e1d5586fd127c4f2f6c05e78a48",
      "tree": "3de095e9e399086ddd6dc2d262d776282b62806e",
      "parents": [
        "16ce397122fd0e05d88ffd8a70e7fb349562787b",
        "d0f8fa383e0f91b8a249729193f6f29ca55e1bed"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 21:39:00 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 26 21:39:00 2015 +0000"
      },
      "message": "Merge \"ABuffer: remove unused code\"\nam: d0f8fa383e\n\n* commit \u0027d0f8fa383e0f91b8a249729193f6f29ca55e1bed\u0027:\n  ABuffer: remove unused code\n"
    },
    {
      "commit": "d0f8fa383e0f91b8a249729193f6f29ca55e1bed",
      "tree": "27cbc5cccbaea70cba8995bc2f841977c13de6b6",
      "parents": [
        "0ca175b8e7e4d3bb93f180fdc8e05a5bbf01c2b5",
        "f8a36b5850fa6f793f1d26ca9e35afd5f8d704d5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 26 21:33:49 2015 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Oct 26 21:33:49 2015 +0000"
      },
      "message": "Merge \"ABuffer: remove unused code\""
    },
    {
      "commit": "d066bc8faf68b9fcb034ceb203e8d7e8213dc1ce",
      "tree": "56ed5e10dee23df0c40a0e7769eac8219b325cd3",
      "parents": [
        "2d772fd4afd1481a8cea5f59b890d771dbada2f6"
      ],
      "author": {
        "name": "Patrik Lindgren",
        "email": "patrik2.lindgren@sonymobile.com",
        "time": "Mon Dec 22 09:06:21 2014 +0100"
      },
      "committer": {
        "name": "Takahiro Aizawa",
        "email": "takahiro.aizawa@sonymobile.com",
        "time": "Fri Oct 23 21:01:12 2015 +0900"
      },
      "message": "Handle error result from DrmManagerClient correctly\n\nreadAtDRM() must handle the case when DrmManagerClient::pread()\nreturns an error (-1) correctly. This is a degrade in Android L.\n\nChange-Id: Id7ff124d178e26931dddac5ac73697cfe6da501c\n"
    },
    {
      "commit": "c4ac8173f911aeac8d5006b19ba48fb51a865115",
      "tree": "3c1945093ad340ac2d60d4f9606ed108195fca7a",
      "parents": [
        "4ecbea3ae1fcefb082dc419cb663909536138ddb"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 10:35:48 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 21 18:48:31 2015 +0000"
      },
      "message": "AudioSink: move getPlayedOutAudioDurationUs() from NuPlayerRenderer to AudioSink.\n\nChange-Id: Id22e10dc5f1cd7ade0e043ea56ed77497c2e32af\n"
    },
    {
      "commit": "13b0a36a5dd1a92e2a49536e0668b81b9fd8e589",
      "tree": "e91131483799d8785aaf8819430db20fe0618370",
      "parents": [
        "12a841346158e6edad01e3601014058cfc0ca01d",
        "c396adf7c434abb687e1dbce63fa084b6b6ec05e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 21 03:56:35 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Oct 21 03:56:35 2015 +0000"
      },
      "message": "Merge \"Move overflow checks into SkipCutBuffer\" am: 8be95ca80a am: 1f410f44a1\nam: c396adf7c4\n\n* commit \u0027c396adf7c434abb687e1dbce63fa084b6b6ec05e\u0027:\n  Move overflow checks into SkipCutBuffer\n"
    },
    {
      "commit": "c396adf7c434abb687e1dbce63fa084b6b6ec05e",
      "tree": "acec36deba446e4ae46d08dd8ed2cc0c1fd8578e",
      "parents": [
        "b6ac3463382ab9216f06a67681871f281176922c",
        "1f410f44a17a01890244270b034cb00f74fedce7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 20 15:50:10 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 20 15:50:10 2015 +0000"
      },
      "message": "Merge \"Move overflow checks into SkipCutBuffer\" am: 8be95ca80a\nam: 1f410f44a1\n\n* commit \u00271f410f44a17a01890244270b034cb00f74fedce7\u0027:\n  Move overflow checks into SkipCutBuffer\n"
    },
    {
      "commit": "1f410f44a17a01890244270b034cb00f74fedce7",
      "tree": "f0b7aa298a933adaf60b55727da808d820923fa9",
      "parents": [
        "a1563026c59471183bbc3bc5f6183e663fa5099d",
        "8be95ca80ab8db3f8355b04f867e0bd42c22feeb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 20 15:27:15 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 20 15:27:15 2015 +0000"
      },
      "message": "Merge \"Move overflow checks into SkipCutBuffer\"\nam: 8be95ca80a\n\n* commit \u00278be95ca80ab8db3f8355b04f867e0bd42c22feeb\u0027:\n  Move overflow checks into SkipCutBuffer\n"
    },
    {
      "commit": "f43f2cf4ae771069a86ffeaf732b53eb90191219",
      "tree": "0454532fb6940230d155e3a621b503fa9a1c8436",
      "parents": [
        "af0441dd9871c4c6a066076bff2f0100cc98ae6b",
        "5700f3eb20ac31fd1839e78364a60bb718e919cf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Oct 20 02:22:51 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Oct 20 02:22:51 2015 +0000"
      },
      "message": "am a1563026: am 5642a2e0: Merge \"Revert \"Move overflow checks into SkipCutBuffer\"\"\nam: 5700f3eb20\n\n* commit \u00275700f3eb20ac31fd1839e78364a60bb718e919cf\u0027:\n  Revert \"Move overflow checks into SkipCutBuffer\"\n"
    },
    {
      "commit": "af0441dd9871c4c6a066076bff2f0100cc98ae6b",
      "tree": "c2f7d725ab7721e66ec7ad2214dd0dc396a7ff5e",
      "parents": [
        "74ee3ba4177c705e08b9af3bb94551f7f87dc5b3",
        "22effff54af6ff60c5cf6ec66872478bcde7302b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 19 23:45:17 2015 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Oct 19 23:45:17 2015 +0000"
      },
      "message": "am 1f506048: am 32ba6ec7: am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge \"stagefright: check bounds for MediaCodecList.getCodecInfo\" into lmp-dev am: 00a1dcafd9\nam: 22effff54a\n\n* commit \u002722effff54af6ff60c5cf6ec66872478bcde7302b\u0027:\n  stagefright: check bounds for MediaCodecList.getCodecInfo\n"
    },
    {
      "commit": "b1cf03160fa7e7bc6e5cf138db07a7e1ab2ecb26",
      "tree": "d0b313c2695d94c55af5311266c328aaee8b05e9",
      "parents": [
        "5642a2e06c7be0697ab5079dc8484ec3e3c6ecfa"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 16 21:22:14 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 15:44:01 2015 -0700"
      },
      "message": "Move overflow checks into SkipCutBuffer\n\nPreviously SkipCutBuffer would check its input parameters to ensure\nthey were sane, however since bogus values might be the result of\noverflows, and overflow protection was recently turned on for\nlibstagefright, the compiler\u0027s overflow checks were performed before\nSkipCutBuffer\u0027s, resulting in abort rather than just ignoring the\nbogus values.\nMoving the multiplication by framesize into SkipCutBuffer fixes this.\n\nChange-Id: I1ad6744bb045a5212701bbf6ee44eecb5f318210\n"
    },
    {
      "commit": "5700f3eb20ac31fd1839e78364a60bb718e919cf",
      "tree": "5a7a4a35a4ac645490ff10551e212474d187db00",
      "parents": [
        "22effff54af6ff60c5cf6ec66872478bcde7302b",
        "a1563026c59471183bbc3bc5f6183e663fa5099d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 21:55:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 21:55:51 2015 +0000"
      },
      "message": "am a1563026: am 5642a2e0: Merge \"Revert \"Move overflow checks into SkipCutBuffer\"\"\n\n* commit \u0027a1563026c59471183bbc3bc5f6183e663fa5099d\u0027:\n  Revert \"Move overflow checks into SkipCutBuffer\"\n"
    },
    {
      "commit": "a1563026c59471183bbc3bc5f6183e663fa5099d",
      "tree": "da45ae900813cea4010ec5b96b5e25148204519f",
      "parents": [
        "510f7aca71dfa914869bd9709fc96e69d312e44f",
        "5642a2e06c7be0697ab5079dc8484ec3e3c6ecfa"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 14:50:35 2015 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 14:50:35 2015 -0700"
      },
      "message": "am 5642a2e0: Merge \"Revert \"Move overflow checks into SkipCutBuffer\"\"\n\n* commit \u00275642a2e06c7be0697ab5079dc8484ec3e3c6ecfa\u0027:\n  Revert \"Move overflow checks into SkipCutBuffer\"\n"
    },
    {
      "commit": "e1054e74bb02ad4789bfce1e3a04f04825a572db",
      "tree": "d85c8e9e4b14e1c8a0071584a242878b5027cc3a",
      "parents": [
        "6867e1a1e25d4ec5344eae070f0fbc284bb92876"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 21:47:21 2015 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 21:47:21 2015 +0000"
      },
      "message": "Revert \"Move overflow checks into SkipCutBuffer\"\n\nThis reverts commit 6867e1a1e25d4ec5344eae070f0fbc284bb92876.\n\nChange-Id: I90d479dac014c72ffa7151a30e79e68d9ce967ac\n"
    },
    {
      "commit": "22effff54af6ff60c5cf6ec66872478bcde7302b",
      "tree": "ce55f4e11d8277b2cd5652f1c21d3a049a651944",
      "parents": [
        "c63087411817addc29d61d33a6d06089278bdbb4",
        "1f50604822f432965d302fe6af7adca6998d8004"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 19 20:03:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 20:03:48 2015 +0000"
      },
      "message": "am 1f506048: am 32ba6ec7: am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge \"stagefright: check bounds for MediaCodecList.getCodecInfo\" into lmp-dev am: 00a1dcafd9\n\n* commit \u00271f50604822f432965d302fe6af7adca6998d8004\u0027:\n  stagefright: check bounds for MediaCodecList.getCodecInfo\n"
    },
    {
      "commit": "74ee3ba4177c705e08b9af3bb94551f7f87dc5b3",
      "tree": "99f8500f28dab4bb8fa71671414ea5288b486f26",
      "parents": [
        "2d3e2892f1640ad9fa18f70e2152cf10fa43f933",
        "c63087411817addc29d61d33a6d06089278bdbb4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 19:54:55 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 19:54:55 2015 +0000"
      },
      "message": "am c6308741: am 510f7aca: am afd238af: Merge \"Move overflow checks into SkipCutBuffer\"\n\n* commit \u0027c63087411817addc29d61d33a6d06089278bdbb4\u0027:\n  Move overflow checks into SkipCutBuffer\n"
    },
    {
      "commit": "00a1dcafd944ff93eb4848f044adcbfb0784a0dd",
      "tree": "1af7590015198858d5a2ba0e30477307e7f9713b",
      "parents": [
        "32ab9fdab562127ccd37a8cdb15421ebdf82a458",
        "32ba6ec761fc62f7da217281ac5bb598ffed2db8"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 19 19:44:59 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 19:44:59 2015 +0000"
      },
      "message": "am 32ba6ec7: am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge \"stagefright: check bounds for MediaCodecList.getCodecInfo\" into lmp-dev\n\n* commit \u002732ba6ec761fc62f7da217281ac5bb598ffed2db8\u0027:\n  stagefright: check bounds for MediaCodecList.getCodecInfo\n"
    },
    {
      "commit": "32ba6ec761fc62f7da217281ac5bb598ffed2db8",
      "tree": "812714a5fe147dddbb87abca1db78c8824a7a3d8",
      "parents": [
        "7b80648180feaad1e7edaecd078246f5002a8fb6",
        "0378676b3f12158537a01916e69f6ab51817605f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 19 19:41:27 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 19:41:27 2015 +0000"
      },
      "message": "am 0378676b: am 92990810: am b1231923: am e550d213: am f70b69a8: Merge \"stagefright: check bounds for MediaCodecList.getCodecInfo\" into lmp-dev\n\n* commit \u00270378676b3f12158537a01916e69f6ab51817605f\u0027:\n  stagefright: check bounds for MediaCodecList.getCodecInfo\n"
    },
    {
      "commit": "0378676b3f12158537a01916e69f6ab51817605f",
      "tree": "50acfa79aca6076b56c66e1f6d0d26b530038242",
      "parents": [
        "f30d7e0acc573b58333c3c704c2a46eda1dbfcff",
        "92990810407a2e1101f5db156c1e264887886c82"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 19 19:37:04 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 19:37:04 2015 +0000"
      },
      "message": "am 92990810: am b1231923: am e550d213: am f70b69a8: Merge \"stagefright: check bounds for MediaCodecList.getCodecInfo\" into lmp-dev\n\n* commit \u002792990810407a2e1101f5db156c1e264887886c82\u0027:\n  stagefright: check bounds for MediaCodecList.getCodecInfo\n"
    },
    {
      "commit": "b1231923f134a167a0351091d8944b7583928a4f",
      "tree": "2565d910572223b4ee0b900f7545580a9d77ca63",
      "parents": [
        "f5bff8c9df4444ca91a14ba26cfe005f9f100250",
        "e550d21360287c752fd79a67f1962244ee272be1"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 19 12:26:55 2015 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 12:26:55 2015 -0700"
      },
      "message": "am e550d213: am f70b69a8: Merge \"stagefright: check bounds for MediaCodecList.getCodecInfo\" into lmp-dev\n\n* commit \u0027e550d21360287c752fd79a67f1962244ee272be1\u0027:\n  stagefright: check bounds for MediaCodecList.getCodecInfo\n"
    },
    {
      "commit": "c63087411817addc29d61d33a6d06089278bdbb4",
      "tree": "52fa5f5aeeba6d189d9e063ce7fbf8040530d062",
      "parents": [
        "fc7b5a4a10fe8cf02f1a9fd330d06319fcabdb05",
        "510f7aca71dfa914869bd9709fc96e69d312e44f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 19:09:45 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 19:09:45 2015 +0000"
      },
      "message": "am 510f7aca: am afd238af: Merge \"Move overflow checks into SkipCutBuffer\"\n\n* commit \u0027510f7aca71dfa914869bd9709fc96e69d312e44f\u0027:\n  Move overflow checks into SkipCutBuffer\n"
    },
    {
      "commit": "510f7aca71dfa914869bd9709fc96e69d312e44f",
      "tree": "0855ec1bf4cf55fed8af53f81b5dc260621bf46c",
      "parents": [
        "bd92424dd9fbe4c3905ec01b52ab33a4c408078b",
        "afd238af51e92e44c7b431b8ed9e148b8d8a52d2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 12:02:56 2015 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Oct 19 12:02:56 2015 -0700"
      },
      "message": "am afd238af: Merge \"Move overflow checks into SkipCutBuffer\"\n\n* commit \u0027afd238af51e92e44c7b431b8ed9e148b8d8a52d2\u0027:\n  Move overflow checks into SkipCutBuffer\n"
    },
    {
      "commit": "6867e1a1e25d4ec5344eae070f0fbc284bb92876",
      "tree": "a9ae3224ccce931c238eb63541fe709fcd24ea4b",
      "parents": [
        "dc897061d8bb9c2fe8c5d0afee1664cdfaaeeea4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 16 21:22:14 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 19 11:08:14 2015 -0700"
      },
      "message": "Move overflow checks into SkipCutBuffer\n\nPreviously SkipCutBuffer would check its input parameters to ensure\nthey were sane, however since bogus values might be the result of\noverflows, and overflow protection was recently turned on for\nlibstagefright, the compiler\u0027s overflow checks were performed before\nSkipCutBuffer\u0027s, resulting in abort rather than just ignoring the\nbogus values.\nMoving the multiplication by framesize into SkipCutBuffer fixes this.\n\nChange-Id: I82497a05af17c91a8d271882f7354fae6497382a\n"
    },
    {
      "commit": "c4b3c2a7737039d0fcbceaa36590468926bdd1d3",
      "tree": "0bca20add015895ace738b7a3a946305a21d814a",
      "parents": [
        "3f6fe8512006905f584e6a9998e1707350c7a1e5",
        "cb9124f5c810b4777f8c6644135531477eeed79a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Oct 13 21:47:05 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 13 21:47:05 2015 +0000"
      },
      "message": "am cb9124f5: am 5e20fad6: am e5200ea7: Merge \"libstagefright: don\\\u0027t reclaim codec when there\\\u0027s buffer owned by client. Notify the client and try to reclaim again in 0.5s.\" into mnc-dr-dev\n\n* commit \u0027cb9124f5c810b4777f8c6644135531477eeed79a\u0027:\n  libstagefright: don\u0027t reclaim codec when there\u0027s buffer owned by client. Notify the client and try to reclaim again in 0.5s.\n"
    },
    {
      "commit": "e5200ea76c5d180b53087ae7825326ec61cc4687",
      "tree": "d18a0e7d46858f79d0009f2ae29faa14be40c65c",
      "parents": [
        "c4c68f63192ae7af09a6158b2e72ca7a1a7f4364",
        "4b710f086070fabe022b3a1f474bfcbec842b8fc"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Oct 13 21:20:27 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 13 21:20:27 2015 +0000"
      },
      "message": "Merge \"libstagefright: don\u0027t reclaim codec when there\u0027s buffer owned by client. Notify the client and try to reclaim again in 0.5s.\" into mnc-dr-dev"
    },
    {
      "commit": "77c185d5499d6174e7a97b3e1512994d3a803151",
      "tree": "f5ad0fe15b5eac1f8eb5ca52384c022ac2e60b57",
      "parents": [
        "0b1936bee532545381db6adf22f31ac437673f30"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 12 17:10:31 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Oct 12 17:27:17 2015 -0700"
      },
      "message": "stagefright: check bounds for MediaCodecList.getCodecInfo\n\nBug: 24445127\nChange-Id: I1c6cb9e2518b852d48d5d0d625b54409bd4e13ec\n"
    },
    {
      "commit": "f8a36b5850fa6f793f1d26ca9e35afd5f8d704d5",
      "tree": "e5dfa27a0d4ae44a6b7bd87f160d88907ff289c8",
      "parents": [
        "8c02c891b7035199f841890f00f34cbec3c25598"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 12 10:52:41 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Oct 12 21:46:16 2015 +0000"
      },
      "message": "ABuffer: remove unused code\n\nChange-Id: I88d6869578acf719a42c40b98946c9337fce98d5\n"
    },
    {
      "commit": "91aa4a0aefa43ad53a20b3d4538a6a986c902818",
      "tree": "26f92a59a28b761d463006f652634d583058dbfc",
      "parents": [
        "a6b9d752e7e266b63a2d9a694b3422198cb512a1",
        "f106f9e4eacc1cb10ccc851a37619ed4b37bbb1b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 08 20:10:39 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Oct 08 20:10:39 2015 +0000"
      },
      "message": "am f106f9e4: am 15e991bd: resolved conflicts for 0b09da7a to lmp-mr1-dev\n\n* commit \u0027f106f9e4eacc1cb10ccc851a37619ed4b37bbb1b\u0027:\n  DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.\n"
    },
    {
      "commit": "15e991bdf8870c2c9820c2d98e0d30dae2e05a25",
      "tree": "ad4f68934ac1f3dc1f20f9dedbccf89d1f6b75d7",
      "parents": [
        "39f64a1e4903624bd6395aa2a1c6875a10ed489d",
        "0b09da7a98d5f55674dba7b380e1b8d262f709b0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 08 10:02:30 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Oct 08 10:02:30 2015 -0700"
      },
      "message": "resolved conflicts for 0b09da7a to lmp-mr1-dev\n\nChange-Id: Ib6a1aa4cee00e0449da30ae158d71403d6236487\n"
    },
    {
      "commit": "d008275796ac4cccf85fefce53cef733a49bc1fa",
      "tree": "288da2b9493cbe37b795eea22733b829e99039de",
      "parents": [
        "a7e3bfbf4b0e610d0fbe745475a53f377bf7e74a"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Aug 31 17:48:30 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 08 08:39:57 2015 +0000"
      },
      "message": "Implement pause/resume functionality to MediaRecorder\n\nBug: 20092236\nChange-Id: Ia0e92ff246302fd5fdef53c4f961d6645cc26a86\n"
    },
    {
      "commit": "2482595baadd16f20d3992c8c9d6a14061836872",
      "tree": "1b2d060855dc645f847ff2143e359166005f829a",
      "parents": [
        "07395f4cd72cf29d1de2864cde42876db4e54411"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 28 11:32:23 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Oct 07 13:53:25 2015 -0700"
      },
      "message": "DO NOT MERGE - OMX: allow only secure codec to remotely call allocateBuffer.\n\nBug: 24310423\nChange-Id: Iebcfc58b447f925ec2134898060af2ef227266a3\n(cherry picked from commit 8dde7269a5356503d2b283234b6cb46d0c3f214e)\n"
    },
    {
      "commit": "f470bf3f3788062f77a0614ec693583fd85716c6",
      "tree": "d54ffa0d5706a46e3981c5f9e90cad94b4fc632a",
      "parents": [
        "280ac6b1bd710dac1678cc0bfa75ce6a78a83a27",
        "031e841e34f2358a71cc63ad8192e0f48a9f63a7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 06 03:14:00 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 06 03:14:00 2015 +0000"
      },
      "message": "am 031e841e: am 8656914f: am b90b8291: am cb70fdbe: Merge \"OMX: allow only secure codec to remotely call allocateBuffer.\" into mnc-dev\n\n* commit \u0027031e841e34f2358a71cc63ad8192e0f48a9f63a7\u0027:\n  OMX: allow only secure codec to remotely call allocateBuffer.\n"
    },
    {
      "commit": "b90b8291e36ae079ac0ccd029bb6e6a987036f7c",
      "tree": "973ea7078c95ed0d8d029fd1dffa3ddbe6fd2528",
      "parents": [
        "ee481c9b172f90f507d505c9b32620cc1d062c83",
        "cb70fdbe9be14002a4303a93f07a13c508c00d89"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Oct 06 02:55:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Oct 06 02:55:19 2015 +0000"
      },
      "message": "am cb70fdbe: Merge \"OMX: allow only secure codec to remotely call allocateBuffer.\" into mnc-dev\n\n* commit \u0027cb70fdbe9be14002a4303a93f07a13c508c00d89\u0027:\n  OMX: allow only secure codec to remotely call allocateBuffer.\n"
    },
    {
      "commit": "4b710f086070fabe022b3a1f474bfcbec842b8fc",
      "tree": "d51001f392edfe4473a18f2075e2fc72445d64d6",
      "parents": [
        "4bd8f46cf6d4a05361fdbdfb39510c0197b1f2ec"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Sep 14 15:44:04 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Oct 05 10:42:09 2015 -0700"
      },
      "message": "libstagefright: don\u0027t reclaim codec when there\u0027s buffer owned\nby client.\nNotify the client and try to reclaim again in 0.5s.\n\nBug: 23703241\nBug: 23949540\nChange-Id: I1afe50c71635645668bfb73ffa0d801765b5ae3c\n"
    },
    {
      "commit": "4802c0c507681634aee38518581a080bfa443ae2",
      "tree": "e184ee110c468c7ef4621e5e32a6b8bfeaab11d6",
      "parents": [
        "4a8f4a3f567d8b3134b1c7ab21ca774f279ab9c2"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Tue Sep 29 02:25:47 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 05 09:13:59 2015 -0700"
      },
      "message": "AudioSystem: Fix race condition in accessing ioDescriptors\n\nThe vector mIoDescriptors can be simultaneouly modified\nand accessed by 2 threads. Acquire a lock while wrapping\nthe ioDescriptor in a sp\u003c\u003e\n\nBug: 24576810\n\nAuthor: Haynes Mathew George \u003chgeorge@codeaurora.org\u003e\n\nChange-Id: I73c79ef8eca092b500a7ead3a5ebd0bcf75f9920\n"
    },
    {
      "commit": "8dde7269a5356503d2b283234b6cb46d0c3f214e",
      "tree": "06ec842433e8f501addbe9d264a46f2f21fd9161",
      "parents": [
        "a9a899d3970f41162c8e9c720bf05f3e6226a90a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Sep 28 11:32:23 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Oct 02 11:15:18 2015 -0700"
      },
      "message": "OMX: allow only secure codec to remotely call allocateBuffer.\n\nBug: 24310423\nChange-Id: Iebcfc58b447f925ec2134898060af2ef227266a3\n"
    },
    {
      "commit": "49fdeaff2f4c1405738320b7c3a540b528457e1b",
      "tree": "8c4dc9a5d53e6e17bd1fa68f12e4893376eb1f23",
      "parents": [
        "921c7dffbd7f594b13688abae363d562eaefa8a0"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Tue Sep 29 02:25:47 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 01 16:57:00 2015 -0700"
      },
      "message": "AudioSystem: Fix race condition in accessing ioDescriptors\n\nThe vector mIoDescriptors can be simultaneouly modified\nand accessed by 2 threads. Acquire a lock while wrapping\nthe ioDescriptor in a sp\u003c\u003e\n\nBug: 24576810\n\nAuthor: Haynes Mathew George \u003chgeorge@codeaurora.org\u003e\n\nChange-Id: I73c79ef8eca092b500a7ead3a5ebd0bcf75f9920\n"
    },
    {
      "commit": "83b0fd9997b558f6c2ebf5e6e4db20570cb233b8",
      "tree": "fba92293da0dc6927954f6a99ada889eeefc4bc4",
      "parents": [
        "1277aea8405ea3256a2b0f730506c4610cadafa4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 16 13:48:07 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 16 14:18:27 2015 -0700"
      },
      "message": "Optionally print name for fd\n\nAdd utility function to get the file name for a file descriptor,\nand use it in various places.\n\nChange-Id: I196b557a56d5ef0ef89e2020aab2699eafae61b0\n"
    },
    {
      "commit": "e096621f94f708b8634ad76333e6ac1882b46328",
      "tree": "29cad10802ade21c2aecd7ad1b088a1a9ed453ba",
      "parents": [
        "e90a530aa999e69e8f8560ac843a4c2a1891ddd2"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 02 12:56:09 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Sep 02 12:56:09 2015 -0700"
      },
      "message": "Remove unused code\n\nChange-Id: Ib4f194a1180b832ad39d9ded0962184e6daf5e29\n"
    },
    {
      "commit": "412fe56cd7cf7d73bc5d2bcc3f635bc650d18de9",
      "tree": "919a0a09510d53e39c23126f7d4760d761d954d6",
      "parents": [
        "37ea1d0de9b7c9ffbfa7cb1895dcbf4a4f92803a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Aug 20 17:08:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 21 17:41:43 2015 -0700"
      },
      "message": "CameraService: Notify camera service proxy of device status\n\nSend the camera proxy service in system server updates to\ncamera device state: opened/closed/active/idle.\n\nBug: 23393557\nChange-Id: Id7c70f134821efa34af8f6e7b4caa4c2ab128ebc\n"
    },
    {
      "commit": "02a65c4f599035bf6d58ceda766311f8cb188ba3",
      "tree": "ee6b8c9a55375e1585a567ac94ba579007f1d49d",
      "parents": [
        "612cf86e53f48cd347cf9b5a87e1d91d3d1dc601",
        "8910f92aea5791f245da2c69a8c2ad3fb92bb310"
      ],
      "author": {
        "name": "Jon Larimer",
        "email": "jlarimer@google.com",
        "time": "Thu Aug 20 01:16:06 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Aug 20 01:16:06 2015 +0000"
      },
      "message": "am 8910f92a: am 2ea335b1: am fecbc5da: am 5b4a5cce: Merge \"do not dequeue from native window after we hit fatal error -- DO NOT MERGE\" into lmp-dev\n\n* commit \u00278910f92aea5791f245da2c69a8c2ad3fb92bb310\u0027:\n  do not dequeue from native window after we hit fatal error -- DO NOT MERGE\n"
    },
    {
      "commit": "2ea335b11c1e328896a6c7a2e6d2bc190b7f06fc",
      "tree": "b12bf3da1c3457982ccff6c6d4aeb24d90ffb639",
      "parents": [
        "afa0e3698355f341009a8042d62c82016f86a1c8",
        "fecbc5da64a992f91f74ef6c67a7e247b0da7777"
      ],
      "author": {
        "name": "Jon Larimer",
        "email": "jlarimer@google.com",
        "time": "Tue Aug 18 15:13:19 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Aug 18 15:13:19 2015 +0000"
      },
      "message": "am fecbc5da: am 5b4a5cce: Merge \"do not dequeue from native window after we hit fatal error -- DO NOT MERGE\" into lmp-dev\n\n* commit \u0027fecbc5da64a992f91f74ef6c67a7e247b0da7777\u0027:\n  do not dequeue from native window after we hit fatal error -- DO NOT MERGE\n"
    },
    {
      "commit": "5d1103e5a229401a4c4e0cb7dd91b2742881ff92",
      "tree": "ac815f1a2ee6af6deb53754a149d31a6b3eac34a",
      "parents": [
        "5f7d4b957a4b41eaee3bcfbe8cb5a2f8f3dc8dc0",
        "c78ac26e3a65328fc0118f16ee76a800d0687eb7"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Aug 17 17:28:11 2015 +0000"
      },
      "message": "Merge \"Add experimental camera session prepare API.\" into mnc-dr-dev"
    },
    {
      "commit": "bf47eb9c67ed364f3c288954857aab9d9311db4c",
      "tree": "5ba3da2bb1e2103a1719e9c014dfb290392ff0b1",
      "parents": [
        "e4ac35fa524b011f272d396b2c12515382bddb94"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 14 13:50:02 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Aug 17 17:14:50 2015 +0000"
      },
      "message": "do not dequeue from native window after we hit fatal error -- DO NOT MERGE\n\nbug: 22845824\nChange-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141\n(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)\n"
    },
    {
      "commit": "4883125b0df72ee404de8b244c3e6511f62947ee",
      "tree": "358b8cb0622b927674b413e0e07b7da6dd452e21",
      "parents": [
        "bad4358c83c7daaf9eeb8542c15eea4f473c884c",
        "a89cfb6cab17700efa62665cda3bc4b87c6f1ad8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Aug 15 01:01:09 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Aug 15 01:01:09 2015 +0000"
      },
      "message": "Merge \"do not dequeue from native window after we hit fatal error\" into mnc-dev"
    },
    {
      "commit": "c78ac26e3a65328fc0118f16ee76a800d0687eb7",
      "tree": "9009e37c981c7cbfdd106c44de2622edf1672a49",
      "parents": [
        "a09f8cf8c76fa946c4b91be059b420941abcdc3b"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 13 17:58:46 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 14 17:30:24 2015 -0700"
      },
      "message": "Add experimental camera session prepare API.\n\nBug: 18949148\nChange-Id: I8f73e68ea2e3acc60d98954106f364d13f439a82\n"
    },
    {
      "commit": "bad4358c83c7daaf9eeb8542c15eea4f473c884c",
      "tree": "0b01065e69f769a7dc058b8ac6652ef93d4736ed",
      "parents": [
        "49f0246c2eac50bbfebf48316b1086de64ac9860"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 13:12:32 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 14 16:02:03 2015 -0700"
      },
      "message": "Camera: Add camera type to ICameraService.getNumberOfCameras.\n\nAlso determine the number of \u0027normal\u0027 cameras present on\ncamera service startup, and ensure that all normal cameras have\nIDs lower than the \u0027strange\u0027 cameras.\n\nBug: 23194168\nChange-Id: I1f7b14825cb52707de698a955f85da1eaa932663\n"
    },
    {
      "commit": "a89cfb6cab17700efa62665cda3bc4b87c6f1ad8",
      "tree": "397cbabac6f864c1c8841d584ad08d4261a73795",
      "parents": [
        "49f0246c2eac50bbfebf48316b1086de64ac9860"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 14 13:50:02 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Aug 14 21:59:17 2015 +0000"
      },
      "message": "do not dequeue from native window after we hit fatal error\n\nbug: 22845824\nChange-Id: I8c375790c697e02b6ab3ea54b84d3f70d5e78141\n(cherry picked from commit 346de3c26a8fbd0fa0c8102f4a21ea4dcee4432a)\n"
    },
    {
      "commit": "e0e37e13bc9e62e58484d1e54e66eaf506744548",
      "tree": "004b73ebbe0fdfb5ff41d6f340e0274f6b34512c",
      "parents": [
        "821b6c29d3d5782ae17aedc77f406c9eaf2ab2fb",
        "48192b84db39879e7d83a2f4e7023048fb81ee8e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 16:36:08 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 16:36:08 2015 +0000"
      },
      "message": "am 48192b84: am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3\n\n* commit \u002748192b84db39879e7d83a2f4e7023048fb81ee8e\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "48192b84db39879e7d83a2f4e7023048fb81ee8e",
      "tree": "da2e27ff472d39842ee796d3523785036acd6d42",
      "parents": [
        "9ac30bd4a43e025ce27c0a78bbe2ac05a66bcbda",
        "0625841daae5bb1351034909ce705aab517eea2d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 15:01:52 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 15:01:52 2015 +0000"
      },
      "message": "am 0625841d: am dfaea255: am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3\n\n* commit \u00270625841daae5bb1351034909ce705aab517eea2d\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "dfaea255546340742b42c216663f61c6b7301c4f",
      "tree": "7e77aeb1072938040bab56ba4a9ed6b48c0a8473",
      "parents": [
        "fbf1c8d65fe257847b35ec7289f9450ac34c8034",
        "578d5b66fc9f5e36ca0cb19b21771aa85ec131ee"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 14:47:48 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 14:47:48 2015 +0000"
      },
      "message": "am 578d5b66: am 171b5fad: am d6ea7f65: am f26400c9: Fix crash on malformed id3\n\n* commit \u0027578d5b66fc9f5e36ca0cb19b21771aa85ec131ee\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "171b5fadb9d304f5e06686e4f3d060ef335d7250",
      "tree": "8d45331766e9cb5c701db4a8ca4e51e89f1ac5ad",
      "parents": [
        "d8bb17e33ef33ce173fa2d096211785145d41921",
        "d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 14:32:40 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 14:32:40 2015 +0000"
      },
      "message": "am d6ea7f65: am f26400c9: Fix crash on malformed id3\n\n* commit \u0027d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "d6ea7f65dd31d5dacf497cc3c494d4fa3910f7c3",
      "tree": "b62ef0d8d86dd5a159fda3997b7b7369ced8a96c",
      "parents": [
        "42bd61d73e8b4d0b1101e73324a59fde51077112",
        "f26400c9d01a0e2f71690d5ebc644270f098d590"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 07 14:25:10 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 07 14:25:10 2015 +0000"
      },
      "message": "am f26400c9: Fix crash on malformed id3\n\n* commit \u0027f26400c9d01a0e2f71690d5ebc644270f098d590\u0027:\n  Fix crash on malformed id3\n"
    },
    {
      "commit": "f26400c9d01a0e2f71690d5ebc644270f098d590",
      "tree": "b96386b9c3bf83c969ed207dbd7b53eb29e6c6a3",
      "parents": [
        "d9a9a324766b26be2ff0d10537ea0b215b0261e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 04 16:49:28 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Aug 04 23:52:34 2015 +0000"
      },
      "message": "Fix crash on malformed id3\n\nBug: 22954006\nChange-Id: I488cb1e2c69fc7043b6040481b30fa866000515d\n"
    },
    {
      "commit": "f42917964a76720932b23e67a05d034cd0cf346b",
      "tree": "79937def38a4341e9eadf978a6265bb24839cff1",
      "parents": [
        "70c1f74f3d4c43b67949f3e742195d60f4677462"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 28 17:56:36 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 28 17:59:15 2015 -0700"
      },
      "message": "add GRALLOC_USAGE_HW_COMPOSER flag to video usage bits\n\nbug: 22657091\nChange-Id: I6a11bc15bba34035ef31c2f4d41196ece60d4ad9\n"
    },
    {
      "commit": "f87d8341df3445fb4931a39deec2ec1d00c30918",
      "tree": "10eea23f49af99f42753b6a78ca522c123b9d55a",
      "parents": [
        "8f0547a954b39d5750488be7e060ebe1ebfdf666",
        "68845c14ebf2c7282800b1abffde38d8e9a57aab"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Jul 22 16:18:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 22 16:18:52 2015 +0000"
      },
      "message": "Merge \"libmediaplayerservice: propagate caller pid to MediaCodec.\" into mnc-dev"
    },
    {
      "commit": "68845c14ebf2c7282800b1abffde38d8e9a57aab",
      "tree": "c4e924999d0ed48ae4c1a08d44777cbc5b161906",
      "parents": [
        "f8f669d7a727e4ad5505cd85741f4d50dbaffbf9"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Jul 21 09:50:48 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Jul 21 19:04:41 2015 -0700"
      },
      "message": "libmediaplayerservice: propagate caller pid to MediaCodec.\n\nBug: 22630317\nChange-Id: I0337d74f4ef04bf96f2de83f33d98d0d7da47c12\n"
    },
    {
      "commit": "82a633b602a7ffe1efd9886744393f52a093a2f3",
      "tree": "94b8f5d5f3729c73371ea8a82a6358ea6aa9d6ff",
      "parents": [
        "84e4987ffc8d4bb6731bcb28d69a7ff37a0e9921"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 20 16:24:31 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 20 16:49:26 2015 -0700"
      },
      "message": "stagefright: remove workaround for BQ not reporting dropped frames\n\nBug: 22234976\nRelated-bug: 22552826\nChange-Id: Ic29b8d8533a4df8c15bcf3a9dab924aa24428304\n"
    },
    {
      "commit": "f8f669d7a727e4ad5505cd85741f4d50dbaffbf9",
      "tree": "5e6a28a6a6ead0798be7bab2e61eff08def18303",
      "parents": [
        "51390b48d311d1164a6638d3fe0b4a48aaa9028f",
        "505aab41c0e8e79a49d4506344fcd9d220d5965b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Jul 18 04:52:50 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 18 04:52:51 2015 +0000"
      },
      "message": "Merge \"fix soft renderer rotation\" into mnc-dev"
    },
    {
      "commit": "51390b48d311d1164a6638d3fe0b4a48aaa9028f",
      "tree": "edb401cf9346bb27d1126df49ec15d61edf3a62a",
      "parents": [
        "f6d07bc61fd7fefe9d2b2cbdaf637f2fdb1bd21e",
        "37c8924c508a7c9b8bd3c8ce80fc005070531902"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Sat Jul 18 03:07:04 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jul 18 03:07:05 2015 +0000"
      },
      "message": "Merge \"mediaresourcemanager: add pid to removeResource method\" into mnc-dev"
    },
    {
      "commit": "505aab41c0e8e79a49d4506344fcd9d220d5965b",
      "tree": "4f1389e7281cbd3973f6c4af7c15dd4ff164d849",
      "parents": [
        "a8dc93efc9be8d5e37c7473601fb8654804188c1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 17 16:25:03 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 17 17:14:29 2015 -0700"
      },
      "message": "fix soft renderer rotation\n\nbug: 13222807\nChange-Id: I6f6f417422d3a18117b594670bb23e3019d449bb\n"
    },
    {
      "commit": "dd761ecee86cc24ac8774bf1f004ea29b1e0d3f7",
      "tree": "3b2293036ff4a6dfec5624a2907b4929659b26e0",
      "parents": [
        "51d0b1d84dc1c095e68126257213f24f64ab3aa0",
        "46d26dd29195450db15704e84d65740628a821fb"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 17 21:25:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 21:25:31 2015 +0000"
      },
      "message": "Merge \"MediaRecorder: enable audio for slow motion recording\" into mnc-dev"
    },
    {
      "commit": "46d26dd29195450db15704e84d65740628a821fb",
      "tree": "31627c4c60a4cae8a583701ccf3394351690b9d2",
      "parents": [
        "a8dc93efc9be8d5e37c7473601fb8654804188c1"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jul 16 10:48:15 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jul 17 13:00:44 2015 -0700"
      },
      "message": "MediaRecorder: enable audio for slow motion recording\n\nbug:22460747\n\nChange-Id: I23f773ecf7b86928a8eacd25a481636e645affbe\n"
    },
    {
      "commit": "37c8924c508a7c9b8bd3c8ce80fc005070531902",
      "tree": "0ed47e0ceb97bcdf6169e1189f0f555b6c2bd89c",
      "parents": [
        "495151d3f4c5f92f1d162efb32b636521c105df5"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Jul 15 12:23:48 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Jul 17 10:19:21 2015 -0700"
      },
      "message": "mediaresourcemanager: add pid to removeResource method\n\nBug: 22496209\nChange-Id: I73311573e8d1ac15fec668a9ef6e6af7a07a1d30\n"
    },
    {
      "commit": "48e5df72f8a7fdcf6278fc395376fbaf98444a43",
      "tree": "890ff786d667f8a2c9c06a95767cf070fced6d32",
      "parents": [
        "9febc8a664d25eaa699134682aa455ab4d7f62a2",
        "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Jul 17 16:53:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 17 16:54:04 2015 +0000"
      },
      "message": "Merge \"Camera: Add hidden experimental tearDown method.\" into mnc-dev"
    },
    {
      "commit": "08dc42c46c942ff316a69be1cf74f3c60cf53e7f",
      "tree": "80669f21f0c2b8dfcf10efc989f4d6f40f401159",
      "parents": [
        "a3725d7b0cb79ddb49f81cba00a0164d8e645acd"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 01 16:48:18 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 16 17:23:36 2015 -0700"
      },
      "message": "stagefright: flush pending video frames for MediaSync\n\nBug: 22234976\nChange-Id: Ib63c2286610181968658fb38f5526a489635cf3e\n"
    },
    {
      "commit": "a3725d7b0cb79ddb49f81cba00a0164d8e645acd",
      "tree": "ab69a0b30bc50d0d19cae8bc265663afe3f08d61",
      "parents": [
        "bc24bb8a552097e7975d0c16fad80158b542ba62"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jul 01 16:47:22 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 16 17:23:36 2015 -0700"
      },
      "message": "stagefright: MediaSync: use VideoFrameScheduler\n\nMove VideoFrameScheduler to libstagefright as part of this change.\n\nBug: 22234976\nChange-Id: Ib23fb52399cb700a1dcf789e8486b94a3edf9d95\n"
    },
    {
      "commit": "b25e3c87724b6147ed1da7c1d6617c39bfce2fbf",
      "tree": "c0e95e487b2583b8ba87e2ce5505fb74dec9d2d8",
      "parents": [
        "1bc88814f530bf67e425cfb8cea0f2b8dce3c03f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 15 16:04:27 2015 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 16 14:55:33 2015 -0700"
      },
      "message": "Camera: Add hidden experimental tearDown method.\n\nBug: 18949148\nChange-Id: Ie86ec7d1ec3db54e1154563b2339a208a935f849\n"
    },
    {
      "commit": "e3635355e4cae5af7550b49888c6a0e3530b8aea",
      "tree": "e0abd9257076174e3a61a9f751dcbb0a472137bc",
      "parents": [
        "4b33e0838fdb1b5e545449add02005916b512c99"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 10 18:59:06 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 13 16:33:41 2015 -0700"
      },
      "message": "MediaCodec: consider usage bits when changing surface.\n\nThe new surface cannot add usage bits not already present (as\nalready existing buffers may become unusable for the surface).\n\nBug: 22414343\nChange-Id: Id8169c79cd0994be134a16782dd04687e46ca1dd\n"
    },
    {
      "commit": "9903589eacc655481acebc5b85632b3b84418bc9",
      "tree": "687ed88adab53df8ac26fe559c2aae2448d78dea",
      "parents": [
        "14ae2c0d1aa6e32e97cbb62dabb604820e1e5152"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 26 15:40:37 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 10 15:58:07 2015 -0700"
      },
      "message": "stagefright: allow controlling experiments from property\n\nBug: 20894667\nChange-Id: Icb2209e12ed6a1820b8f33626ca02aabcff03321\n"
    },
    {
      "commit": "878b8f1a0128cf63617782e3073dffb212d0c8f1",
      "tree": "71045bbd8b8ebed4b5139ce6e4ef5bd490823b1b",
      "parents": [
        "637709460ea75e927a5802899d6547bca3b5e7be",
        "3450ba7879be6522ea46a56c5e66e5382f5dd5ba"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jul 07 19:31:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 07 19:31:53 2015 +0000"
      },
      "message": "Merge \"camera2: Fix native binder interface and add tests.\" into mnc-dev"
    },
    {
      "commit": "3450ba7879be6522ea46a56c5e66e5382f5dd5ba",
      "tree": "201ed5e416af4f44012e6b5c7f2b16bd30cfc673",
      "parents": [
        "a3b3caaae3fc23b99c5c455ee429f79c270cfbae"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Tue Jun 16 11:00:37 2015 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Jul 06 17:49:44 2015 -0700"
      },
      "message": "camera2: Fix native binder interface and add tests.\n\n- Add CameraBinderTests for limited coverage of native\n  camera2 binder interfaces for the camera service.\n- Fix several bugs in the native binder interfaces.\n\nBug: 18468810\nChange-Id: Iab2d81a5cacd20daf7454aeeed033cc13d88452c\n"
    },
    {
      "commit": "ad949cd4ca52d19ea5e7a5c5dce84d1410fe5244",
      "tree": "d2ae58c71efba6d2a77bc54658a06b68a85b74bd",
      "parents": [
        "29b7cec9a248828d2371bc8758d819308d0e84a4",
        "c93a13669ce1b5a9e6527b4c86c9d8f5e92be828"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jun 29 22:42:47 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 29 22:42:47 2015 +0000"
      },
      "message": "Merge \"stagefright: ask for flex-YUV camera buffers for software encoders\" into mnc-dev"
    },
    {
      "commit": "c93a13669ce1b5a9e6527b4c86c9d8f5e92be828",
      "tree": "5fb41cc9ed232bdf147470e50d6411bfe435f2d4",
      "parents": [
        "064b2bf712788d30928b9a8bafecd0f3308d7aa4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jun 25 17:04:09 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 26 17:09:42 2015 -0700"
      },
      "message": "stagefright: ask for flex-YUV camera buffers for software encoders\n\nBug: 13222807\nChange-Id: I854b73a63cf9239311729598241725d84e8513aa\n"
    },
    {
      "commit": "e8726fea8a53bf3474aa3c6deaf2f6c1f565e694",
      "tree": "d72b6ffcc7e33c178e3cac7c108b102041451cb6",
      "parents": [
        "ed8505836c0b2fba0ab4be0c1eff31d4f241bc1d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 26 09:39:24 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 26 12:38:13 2015 -0700"
      },
      "message": "reduce number of binder calls from mediaserver\n\nReduce the number of audio port, audio patch and\nIO config changed binder calls from mediaserver to\nclient processes:\n- Do not call IO config changed callback if selected\ndevice is the same as previously selected one on a given\naudio flinger playback or capture thread.\n- Do not call the audio port or audo patch list update\ncallback on a client if this client as no listener registered.\n\nBug: 22045560.\n\nChange-Id: If780e105404de79b7cb5c80c27b793ceb6b1c423\n"
    },
    {
      "commit": "55a2dcce3a409393dc51ab2eb433914331f2df51",
      "tree": "ce69e72bd8520a05807a88a64bb58d33b0dc7962",
      "parents": [
        "2b343b1b2dd9e4885ef2b7ec2f798215d714ab3a",
        "6c7f062d3149d6890daaee64828959ad6f61ea54"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Tue Jun 23 00:25:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 23 00:25:08 2015 +0000"
      },
      "message": "Merge \"Using centralized isAudioPlaybackRateValid to validate parameters\" into mnc-dev"
    },
    {
      "commit": "6c7f062d3149d6890daaee64828959ad6f61ea54",
      "tree": "dcab2e17178bf6d01ead75fad5df883961a6e195",
      "parents": [
        "fa907d4ee326c7bb9cbb4882ab7c0ec42bbceee3"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Apr 30 18:39:16 2015 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Mon Jun 22 16:08:40 2015 -0700"
      },
      "message": "Using centralized isAudioPlaybackRateValid to validate parameters\n\nCentralized validation code\nbug: 20701446\n\nChange-Id: I9d9941c7639c05b2afe069ff4f858c693c910bfe\n"
    },
    {
      "commit": "99b38856e91a55bb67085dbabffac9739998fe8b",
      "tree": "a73f9173187000611521af0bb7eb53ba207d41d5",
      "parents": [
        "42193b96b22782fce14c55314dfc269fb4a4ed22",
        "9b030df5ead9c039e4ebb16c745e2cc40e953d48"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Mon Jun 22 17:56:31 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 17:56:32 2015 +0000"
      },
      "message": "Merge \"Fix for Visualizer release bug\" into mnc-dev"
    },
    {
      "commit": "5cecaa9430ef1d721968f1cd621c1c45c52190ce",
      "tree": "2923f08f431767fdaee186ecc6c79b2cca21f207",
      "parents": [
        "81e998b0d1a8f35c2eadce994ab930e83bfc9d0b",
        "e421a32aa696cd8abbf8fdc97cc8f37dbf372cac"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jun 22 05:03:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 22 05:03:04 2015 +0000"
      },
      "message": "Merge \"stagefright: allow state change while handling OMX message list\" into mnc-dev"
    },
    {
      "commit": "e421a32aa696cd8abbf8fdc97cc8f37dbf372cac",
      "tree": "2f0b96e90c447fcc480455e5733d2510b6c3078f",
      "parents": [
        "ecf7bdb0c5a9914564f8a8c91ffc4bd24ebfb0ac"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 19 17:40:28 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 19 18:08:18 2015 -0700"
      },
      "message": "stagefright: allow state change while handling OMX message list\n\nBug: 21724210\nBug: 21925253\nChange-Id: Id1c055ce611d4632ae13fbc69d79b65caf657a2a\n"
    },
    {
      "commit": "9b030df5ead9c039e4ebb16c745e2cc40e953d48",
      "tree": "f57b2a1d364dbc21616a622e2b49af1af49ffd2b",
      "parents": [
        "3fc792fe36b0b9100f74185665221b37f650ff65"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Thu Jun 18 21:01:53 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 19 17:22:45 2015 -0700"
      },
      "message": "Fix for Visualizer release bug\n\nSetting callback reference to NULL before requesting exit.\n\nbug: 21804802\nChange-Id: I54323959686880f4e7a10b766850f8c86c06edb6\n"
    },
    {
      "commit": "604bb9ea6e9bec763ae231330066ecffa90a2786",
      "tree": "e4ac600f8157bda0aa0b47382b2c275cb84eeffc",
      "parents": [
        "9a92255484adef1ae82f4c77d654ad47997c0439"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 19 15:23:36 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jun 19 16:20:00 2015 -0700"
      },
      "message": "stagefright: handle removal of a tracked buffer in ACodec\n\nBug: 21815057\nChange-Id: Idd1c71b4b0b68028020c3e10615936870ffd2dec\n"
    },
    {
      "commit": "6653c935d2518a713587b3887ca09aa09ebfa7fd",
      "tree": "6d9680827227e1a263b27e3eb4206a85a5122297",
      "parents": [
        "1f1db8356b599bc40703c907fb69e6e539343532"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 08 13:27:48 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 14:42:14 2015 -0700"
      },
      "message": "Return DEAD_OBJECT if getTimestamp cannot restore track\n\nBug: 21699132\nChange-Id: I90443f8674ed949e2546048b231be75cd6fe6615\n"
    },
    {
      "commit": "1f1db8356b599bc40703c907fb69e6e539343532",
      "tree": "bee3a3cc00e5577a7d847871e77f9d3712c92d25",
      "parents": [
        "bd974011599b6d4ff47c1cee36d617f191dc0c2f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jun 08 13:26:10 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jun 18 14:38:32 2015 -0700"
      },
      "message": "Fix AudioTrack comments relating to use of restoreTrack_l()\n\nBug: 21699132\nChange-Id: Ib0d029a5e28676aeffbbbafc88c52a17367a413c\n"
    },
    {
      "commit": "356f08476db6191cdcbad20caf69d7bd642a09b2",
      "tree": "ae4badc3a935c3ab3080bdad9ac6e1d3c7ca989f",
      "parents": [
        "e1c3cf01a58e45ec3784a1e877e16ce9ef7f6d1c",
        "90fcf68fd29f3cb695bd53a830ad984cb7d430c0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Jun 10 01:04:45 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jun 10 01:04:47 2015 +0000"
      },
      "message": "Merge \"stagefright: add support for output frame rendered callback\" into mnc-dev"
    },
    {
      "commit": "c75a989a38a157d48ca34bf127d5b4533e9356a7",
      "tree": "6ba0deebf4deddd63f66874fa6346784192db009",
      "parents": [
        "9b132a7bdde8388f124e4db5ff54a88a93f8cdb6",
        "eecd7659823504c6c65a2b0f4267515a8e3f24cb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jun 09 17:18:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 09 17:18:59 2015 +0000"
      },
      "message": "Merge \"Use only strong references to AudioEffect\" into mnc-dev"
    },
    {
      "commit": "90fcf68fd29f3cb695bd53a830ad984cb7d430c0",
      "tree": "ea257431333e4252dcc7882246029d362899b3f0",
      "parents": [
        "9b132a7bdde8388f124e4db5ff54a88a93f8cdb6"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jun 04 10:29:19 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jun 09 08:09:08 2015 -0700"
      },
      "message": "stagefright: add support for output frame rendered callback\n\n- Added FRAME_RENDERED event in OMX, used by tunneled video decoders\n  to signal rendered event timing\n- Track buffers sent for rendering in ACodec and in SoftwareRenderer, and\n  determine when they have rendered\n- Propagate render times to MediaCodec\n\nBug: 20503131\nChange-Id: Idf0a8714d5368b237c2285dd39fa82db847c232f\n"
    }
  ],
  "next": "eecd7659823504c6c65a2b0f4267515a8e3f24cb"
}
