)]}'
{
  "log": [
    {
      "commit": "cf1bbf3a12be653b825e230fd2785c14cd9b0192",
      "tree": "515a28e2e144054fa98b5ca537de8055b049cf7c",
      "parents": [
        "56d65dc0b4574b1d29132b25c90c83a8fb203c9e",
        "6ae5843c281301a9ffd1059d185620a9337e15a2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 19 19:58:00 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 19 19:58:02 2016 +0000"
      },
      "message": "Merge \"Enable FastTrack timestamps\" into nyc-dev"
    },
    {
      "commit": "e9a5b96e7927fd4e38623e17ac73e8e4e25877ee",
      "tree": "48f08c81b16052d055df142c98e65221f1acc0e8",
      "parents": [
        "f25f8410c01922c58d78ec35da420c3b4fed7e38"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 12 11:38:27 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 18 17:17:10 2016 -0800"
      },
      "message": "IMediaSource: use shared memory to transfer large buffer.\n\nAlso move MediaBufferGroup to libstagefright/foundation/.\n\nBug: 26295488\nChange-Id: I88f4e6bf83ffb2b196628a2d4d83ea7b1f6ad9c2\n"
    },
    {
      "commit": "6ae5843c281301a9ffd1059d185620a9337e15a2",
      "tree": "5c97c15b705c079bf8b2dc9ebb0a1ba17df8ca07",
      "parents": [
        "d25c45526d9598218433b0fa59e1f5accbd5b639"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 16 18:32:24 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Feb 18 16:04:55 2016 -0800"
      },
      "message": "Enable FastTrack timestamps\n\nBug: 26413951\nChange-Id: Id54c32cb0f0be83d443f6cf1007181ebc461c586\n"
    },
    {
      "commit": "9ac86b3cae9a1e14b12bf97223ddde96142aae43",
      "tree": "47e31065ddbfe56deb8e9990bba2bb6a39fd979e",
      "parents": [
        "aef47bf801dcbcb88cec8426c03237c6313da1c2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sat Jan 23 17:27:58 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 16 22:36:37 2016 -0800"
      },
      "message": "stagefright: ICrypto: enable passing secure buffers in native_handle\n\nPreviously secure buffers were passed as opaque\nvoid * values, which no longer works since\nmediadrmserver is now a separate process from\nmediaserver.\n\nBug: 22990512\nChange-Id: I5c458ba19e78e20d1bd5a5899df0bce16f71bfd8\n"
    },
    {
      "commit": "a63141af8f036bda0b8f7800107ca8a0e0623135",
      "tree": "16d81e88c22abc2bb0706193f23860e45da3773f",
      "parents": [
        "c52198dc514cb3f790c3d814b279faa27d07a36b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 11 16:40:36 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 16 22:24:16 2016 -0800"
      },
      "message": "stagefright: enable native handles for secure buffers\n\n- rename IOMX::allocateBuffer to allocateSecureBuffer as ACodec\n  only uses allocateBuffer for secure compressed buffers.\n- add argument to return native_handle if component supports it.\n- rename IOMX::enableGraphicBuffers to enableNativeBuffers.\n- add argument to select graphic vs. native handle mode\n- request native handles for secure input buffers, but allow\n  fallback\n\nBug: 26782004\nChange-Id: Ide9d07f54d2e7e3e6a82dbca011f4db9a5630950\n"
    },
    {
      "commit": "8ce8e264d0bf09ec131e4a7701fe1ebc3a678f8b",
      "tree": "0938951613cb0d2725a01f84840571c4c50a0998",
      "parents": [
        "bc57b12030cbd4885d9231e721bbfed1b6522212"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 16 11:59:23 2016 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 16 11:59:23 2016 -0800"
      },
      "message": "Revert \"Enable FastTrack timestamps\"\n\nThis reverts commit b3a486fecddc9e9264fe63d356eca0812493db27.\n\nReverting while investigating the root cause.\n\nBug: 27186414\n"
    },
    {
      "commit": "a69729dc76b97c44387088d351480d5d0701517e",
      "tree": "b08b8fc059f8a5fac2037b8ed7c0904cc3107416",
      "parents": [
        "9129c06770340395fe88d08e586b599b8e2a44f9"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 12 08:47:00 2016 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 12 21:03:53 2016 -0800"
      },
      "message": "Add mediadrm service\n\nPart of media security hardening\n\nThis is an intermediate step toward moving\nmediadrm to a new service separate from mediaserver.\nThis first step allows mediadrmservice to run based\non the system property media.mediadrmservice.enable\nso it can be selectively enabled on devices that\nsupport using native_handles for secure buffers.\n\nbug: 22990512\nChange-Id: I70320f0c4b7861cdba26fbc24c20bce54e5749a4\n"
    },
    {
      "commit": "708336fec4e4620dafa32c4b4b2dc3230a120961",
      "tree": "2dce04f85efde95cdd17250ddd1fd5484a507a17",
      "parents": [
        "3ca8f9cc3024b3306bd3782fc7d234570051a534"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 12 19:03:52 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 12 12:48:48 2016 -0800"
      },
      "message": "stagefright: Remove OMXCodec object\n\nThis is no longer used or supported.\n\nBug: 17108024\nChange-Id: I57e5b2368e3df138645ef73121603d19cd5c59ce\n"
    },
    {
      "commit": "963f181c57a26dd23bd9dff263614bbb38960888",
      "tree": "4f07dd61bf12114edb8b58cd5be0f41c73075005",
      "parents": [
        "0a4427bb91e72a4dfece276521d7f21fbb6c7846"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 08 22:20:58 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 12 12:17:11 2016 -0800"
      },
      "message": "stagefright: allow selecting codec by name in SimpleDecodingSource\n\nBug: 17108024\nChange-Id: I78f2ef45ec6cf746535e05f4166717829e642b19\n"
    },
    {
      "commit": "0a4427bb91e72a4dfece276521d7f21fbb6c7846",
      "tree": "b0ac3b7803a2be1e411b9b7b5b7a13b4dada626e",
      "parents": [
        "36e4e1592bb07e1fdf8d4324f65a66ba332d75f2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 11 19:42:52 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 12 12:17:11 2016 -0800"
      },
      "message": "stagefright: use MediaCodec::QueryCapabilities\n\nThis reverts commit cfb71f189ca620b7b2caf213572849bf59b50231\nand still fixes b/27142863.\n\nBug: 27142863\nChange-Id: I914bcc882d5f9049bc9eb8b31913b07ae572b441\n"
    },
    {
      "commit": "661c5953f54848a37a012d9106af00e61bb98e08",
      "tree": "d1990ea391e9c225a60f55aa85fbe77842de1c6c",
      "parents": [
        "e99556b85081778027653bd3e716a529ab518b35",
        "e8decedb429ed76dfa84cdb3e80ab3b969e77298"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Feb 12 16:57:49 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 12 16:57:51 2016 +0000"
      },
      "message": "Merge \"Dynamic audio policies on UID\" into nyc-dev"
    },
    {
      "commit": "b3a486fecddc9e9264fe63d356eca0812493db27",
      "tree": "cd2ff28eac5233cdb2037b437cb68abe9b9dff3c",
      "parents": [
        "e8c8ed47ca15aa6be83c6feef89e27a832e763e9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Aug 04 15:17:58 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 12 00:34:47 2016 +0000"
      },
      "message": "Enable FastTrack timestamps\n\nBug: 26413951\nChange-Id: I99a69241a0bcd69f6bfebf785cac6d9ee1e2cd5f\n"
    },
    {
      "commit": "7f2262fc7d038a0d42def7d769bb9e816e292785",
      "tree": "721db69ac47409376f54c44d2eee7db59864588e",
      "parents": [
        "e3b06f27668901d3d7ae53b6d77aafd4181045ad"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 11 10:35:37 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 11 21:13:38 2016 +0000"
      },
      "message": "stagefright: use OMXCodec\u0027s QueryCodec for capabilities\n\nBug: 27142863\nChange-Id: Ica00f5395477a416e1ca4db2697310eef3d635a0\n"
    },
    {
      "commit": "e8decedb429ed76dfa84cdb3e80ab3b969e77298",
      "tree": "3cdcd5f6ad76945ef052e0a68978a8c2930e4c3a",
      "parents": [
        "3aaa699a46edb4f47d0cd5a11d57eba93493bd90"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 11 12:50:39 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Feb 11 12:50:39 2016 -0800"
      },
      "message": "Dynamic audio policies on UID\n\nWhen looking for an output, take attributes and UID into account.\nTo find the matching mix: for each mix\n- inspect which rules are used\n- find a candidate mix for usage\n- check UID compatibility\nRename AttributeMatchCriterion to AudioMixMatchCriterion to be consistent\n with the fact that now mixing rules are not always about audio attributes.\n\nBug 26798796\n\nChange-Id: I1520b0df190a98f197ea8e0144b770e1e6d97888\n"
    },
    {
      "commit": "69bebe8d87e95a026d14f0a7cd68d8f954dc51c8",
      "tree": "43b8ac1dcc367928416d5815e742b84a3cdb6f14",
      "parents": [
        "4ad74b2b4507c8b2714b7b7584578d2d43ae2633"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 10 15:32:46 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 11 00:02:40 2016 +0000"
      },
      "message": "MediaCodecInfo: keep capabilities from XML when updating them from codec\n\nBug: 27115490\nChange-Id: Ie15bf538a3026829ff8029fb8b96b8d254517d1c\n"
    },
    {
      "commit": "3f0c902beb53a245c9db35e871607dba05b8d391",
      "tree": "93b456b76dd9504e53de955f75c5c6a4f3d2be7c",
      "parents": [
        "00803f7e94052144ecf476268bc717191ee29865"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 15 17:49:46 2016 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Feb 10 15:57:51 2016 +0000"
      },
      "message": "Add AudioRecord timestamps\n\nBug: 13569372\nBug: 22886739\nChange-Id: Ibc81afefb733d23676a632a0f2da31163fdbe05f\n"
    },
    {
      "commit": "00803f7e94052144ecf476268bc717191ee29865",
      "tree": "bb61a681c2f1d8c11ca2fcf24ce16b6499111c17",
      "parents": [
        "6665703177d33f69007a0877de46431b90e8726b",
        "f76ecd3cf14944647d767ba3dadfa12a451c28bb"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 10 06:07:52 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 10 06:07:52 2016 +0000"
      },
      "message": "Merge changes I3b93c2b8,Ia8e83727 into nyc-dev\n\n* changes:\n  stagefright: Remove unused ClockEstimator and TimeSource\n  stagefright: Remove unused TimedTextDriver and Sources\n"
    },
    {
      "commit": "6665703177d33f69007a0877de46431b90e8726b",
      "tree": "4c1bd6c9bbd3b02398a07066b96dd82cc2c431cf",
      "parents": [
        "4329981317b6102cbbbf92504af300ca7115b039",
        "5b05e49e6550cb2abf1a88272d6cd460b8957176"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 10 06:07:31 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 10 06:07:32 2016 +0000"
      },
      "message": "Merge \"stagefright: Move CodecCapabilities querying into MediaCodec\" into nyc-dev"
    },
    {
      "commit": "1900e77bac4276f247f80fd06d19316cac598f57",
      "tree": "b97774b7b48e386a774ed817d1e3dc6defeacc42",
      "parents": [
        "687bb88d330048075e69a7fc514d92901eeb0eee"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 02 16:12:16 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 09 14:45:15 2016 -0800"
      },
      "message": "Run codecs in a separate process\n\nEncoders and secure decoders still run in the mediaserver, while\nall other codecs run in a separate codec process.\n\nBug: 22775369\n\nChange-Id: Ifbcab8a8f2fe77d2567830ac88f0d982e77f7b00\n"
    },
    {
      "commit": "f76ecd3cf14944647d767ba3dadfa12a451c28bb",
      "tree": "536e2a26f693c613ce98d9db7e13568e832e2733",
      "parents": [
        "0e449bc8062ca8baec83c7796fbbc13f001caf1b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 12 18:15:45 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 14:11:33 2016 -0800"
      },
      "message": "stagefright: Remove unused ClockEstimator and TimeSource\n\nThis was only used by AwesomePlayer\n\nBug: 17108024\nChange-Id: I3b93c2b84e417a688d69d79debaa738caa8b8b7d\n"
    },
    {
      "commit": "0e449bc8062ca8baec83c7796fbbc13f001caf1b",
      "tree": "b6cd073a6b3ae73f44a6465a56ed494dd0a947d9",
      "parents": [
        "b30f2636bc36d56b94dc5d35e20a68b2e403aac2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 12 18:09:37 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 14:11:33 2016 -0800"
      },
      "message": "stagefright: Remove unused TimedTextDriver and Sources\n\nThese were only used by AwesomePlayer\n\nBug: 17108024\nChange-Id: Ia8e8372743ef7c568f852f8ad416a2b1811a5c89\n"
    },
    {
      "commit": "742a9baf0fbecd01a27b8741ab370552d1ab1771",
      "tree": "9c53e033dc6842f9d141b6defd49b329be7d0d96",
      "parents": [
        "e4d40ad91f3516bde106658673b2cb076b5dfcb7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 08 19:40:27 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 17:07:30 2016 +0000"
      },
      "message": "stagefright: Remove unused hooks from AudioPlayer\n\nThese were used by AwesomePlayer.\n\nBug: 17108024\nChange-Id: I9fbea10172628d80e93451d9b38d245fd3f3b20f\n"
    },
    {
      "commit": "e4d40ad91f3516bde106658673b2cb076b5dfcb7",
      "tree": "eef674159322f2d46d3aa3201db1cf0211c28b26",
      "parents": [
        "43e08e0146b825cde52480b64764765d9a61f97c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Jan 12 16:22:42 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 08 19:46:06 2016 -0800"
      },
      "message": "stagefright: Remove deprecated AwesomePlayer\n\nBug: 17108024\nChange-Id: Ia721bdfa87b07612ad8e76cbdcda6de2b8ce2a74\n"
    },
    {
      "commit": "43e08e0146b825cde52480b64764765d9a61f97c",
      "tree": "6279e28256df41a60378314119fa13572560a576",
      "parents": [
        "0d2ef4b9c10f35b0673c4fbbd9e0e621b6460db5",
        "6a3a56fbcd6c01c3895f14e43858971b0edca9b2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 00:58:24 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 09 00:58:24 2016 +0000"
      },
      "message": "Merge \"stagefright: rework MediaCodecSource\" into nyc-dev"
    },
    {
      "commit": "5b05e49e6550cb2abf1a88272d6cd460b8957176",
      "tree": "72fafb6c5a2e6bf0d4559cb24f2d053625fc7ad3",
      "parents": [
        "80fa61994c8bcc21e5150c1a6bf447f6423239c4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 18:57:45 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 08 16:31:26 2016 -0800"
      },
      "message": "stagefright: Move CodecCapabilities querying into MediaCodec\n\n1. We cannot assume that codecs are OMX based\n2. We still have a strange dependency where MediaCodec\u0027s\n   create methods depend on MediaCodecList, which depends on\n   MediaCodec\u0027s static method. This is to be untangled later.\n\nBug: 17108024\nChange-Id: Idd619ee959627539a65f5f7da586108883dcb5f2\n"
    },
    {
      "commit": "6a3a56fbcd6c01c3895f14e43858971b0edca9b2",
      "tree": "ed1ac32e3ef8de2c269aaed6de9296cf22c69feb",
      "parents": [
        "80fa61994c8bcc21e5150c1a6bf447f6423239c4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 03 09:23:12 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 00:14:47 2016 +0000"
      },
      "message": "stagefright: rework MediaCodecSource\n\nRedesigned MediaCodecSource to fix issues with source::stop(), where\nthere were still outstanding input buffers when the input source was\nclosed.\n\n- moved input queue and state inside Puller\n- Puller::pause, resume and stop is now atomic from caller\u0027s thread\n- input source is accessed from Puller\u0027s looper, unless a blocked read\n  operation is detected.\n- added stop timeout, so if Puller\u0027s looper is blocked, but it is not\n  yet detected, input source-\u003estop is still called.\n\n- using Mutexed helper class to ensure locked member access\n\nBug: 26964806\nChange-Id: Icd6d4fc42a7c8e08b54e856c028f3d1fed5ae32d\n(cherry picked from commit 6d26518f0c3872bc54ececb0fbbba0c006d72553)\n"
    },
    {
      "commit": "00eb2fdb2b8f108e74c32e03b2a0e5bab3f107b6",
      "tree": "db2f60581d5c61b5617d583735346d4c482509ce",
      "parents": [
        "80fa61994c8bcc21e5150c1a6bf447f6423239c4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 05 12:19:22 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 00:13:26 2016 +0000"
      },
      "message": "stagefright: add SimpleDecodingSource\n\nSimpleDecodingSource is a lightweight replacement for OMXCodec\nfor decoding use. It does not support pause, secure content or\nprecise seeking. It also does not support start after stop.\n\nBug: 17108024\nChange-Id: Ic310f9372ebf214cbd73118b18e5d2abcc4426cf\n(cherry picked from commit 25a21c4bc7434ab0646d9f98bf6c52c387b4f28c)\n"
    },
    {
      "commit": "664041339740874917944c850b113656236edda6",
      "tree": "d8117a29905d0873c9c70ada3b4289a2f3d28aed",
      "parents": [
        "c71563f778e9b56d33555ea978a3085101a097ef",
        "870aff9bd2442c8877f5d6b12c73032b5f24535a"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Sat Feb 06 05:16:57 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 06 05:16:57 2016 +0000"
      },
      "message": "Merge \"stagefright: Support intra refresh in SoftAVC video encoder.\""
    },
    {
      "commit": "870aff9bd2442c8877f5d6b12c73032b5f24535a",
      "tree": "287a5499cbae39d4fa3bc8276d080c4619242d99",
      "parents": [
        "30c4374eaec0a7dbb6cbefe8e4598f3bbb35911d"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jan 28 09:55:48 2016 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Feb 05 15:06:47 2016 -0800"
      },
      "message": "stagefright: Support intra refresh in SoftAVC video encoder.\n\nBug: 26587630\n\nChange-Id: Ia04dab11978fd8cc5d68bf721900775e13987a9a\n"
    },
    {
      "commit": "235303640aa98663bda58c923380e0fd5b0229ae",
      "tree": "828a673ccdff43098ac73376664e42d47cae1a9b",
      "parents": [
        "16fcc47c113e63efa69f5af5decf1ad46ec653a9"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Feb 03 14:22:25 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 23:16:28 2016 -0800"
      },
      "message": "stagefright/foundation: add Mutexed syntactic sugar\n\nMutexed\u003ctypename\u003e can be used to ensure that typename is always\naccessed while holding a mutex.\n\nChange-Id: I74879023281aa7855a608c62bf77963cbce5d137\n"
    },
    {
      "commit": "16fcc47c113e63efa69f5af5decf1ad46ec653a9",
      "tree": "b772c92db67c307ccd83ba761fdf1f6bd1225218",
      "parents": [
        "6b0795009b8f53ab771e0074b76381977d016f4b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 16:42:45 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 23:16:28 2016 -0800"
      },
      "message": "stagefright: add PREFER_SOFTWARE_CODEC flag to MediaCodecSource\n\nBug: 17108024\nChange-Id: I553d7ccf9df9d4eb3d8bffa2f11ae32d03b9d6c3\n"
    },
    {
      "commit": "6fc17d1a7c5d2fb117491b2e9f66c6236b526508",
      "tree": "79ee2cf73237076b1f47150af88baf633469db1b",
      "parents": [
        "b60521e269e5aeca773853dfeb150e9a512c7334"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 12:44:27 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 16:43:20 2016 -0800"
      },
      "message": "stagefright: change signature of MediaCodec::Create methods\n\nMost clients already have AString when creating codecs, and\ninternally we use AString.\n\nconst char * automatically casts to AString, but it does incur a\ncopy cost, so we incur it on every MediaCodec::Create call.\n\nBug: 17108024\nChange-Id: I213dde7a6fc3cf3756eee6afd7194413bcca54a5\n"
    },
    {
      "commit": "b60521e269e5aeca773853dfeb150e9a512c7334",
      "tree": "f6e5e578d5a635e9e8e05290deb674a830d4daf3",
      "parents": [
        "a485208faef579d3d20ee56f29e81d9a5e32e14d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 10:43:43 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 16:43:20 2016 -0800"
      },
      "message": "stagefright: create findCodec methods in MediaCodecList\n\nThis is to delete them from OMXCodec later.\nUse ACodec-specific quirks.\n\nBug: 17108024\nChange-Id: I670b104cff5ef37f155a9843f68d291aa943d1c1\n"
    },
    {
      "commit": "a485208faef579d3d20ee56f29e81d9a5e32e14d",
      "tree": "77086985cf7360ef2cbb8227ce2183e01474a8ef",
      "parents": [
        "b586c8e6a3415a4f0426239510300bbbaefad166"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 10:36:26 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 14:08:00 2016 -0800"
      },
      "message": "stagefright: move getOMXChannelMapping to ACodec\n\nBug: 17108024\nChange-Id: I9b9f3adaf5d3c2aa41e9998cfe719b995e72b608\n"
    },
    {
      "commit": "b3e5bbedff47b33baab6389b173e854e36e82bdb",
      "tree": "d0c97ae127ed242e2336c1e426dbbf5c1f4fdfef",
      "parents": [
        "37dfacdf3e66516bd4b0c7d08e1aad5869bf5825",
        "d79072e9dff59f767cce2cda1caab80ce5a0815b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 29 00:28:58 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 29 00:28:58 2016 +0000"
      },
      "message": "Merge \"Remove TimedAudioTrack and associated code\""
    },
    {
      "commit": "254012a040733ec2476171d311005168810d1d01",
      "tree": "c069d85ca6a64f011c5a55f43e0ecdedb8e199b6",
      "parents": [
        "2b7893250228abb63dd7ca577d8c7769dcff2344",
        "260e56c9a17737bf280d776797d6dee411c9b4da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:55:41 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 21:55:41 2016 +0000"
      },
      "message": "Merge \"Revert \"Run codecs in a separate process\"\""
    },
    {
      "commit": "260e56c9a17737bf280d776797d6dee411c9b4da",
      "tree": "5e2de882c337b17d1d06dd5dd323be134d7bb882",
      "parents": [
        "4f12d94fc26df1d0c7a566792711b8863fd39fe9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:41:25 2016 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:41:25 2016 +0000"
      },
      "message": "Revert \"Run codecs in a separate process\"\n\nThis reverts commit 4f12d94fc26df1d0c7a566792711b8863fd39fe9.\n\nChange-Id: Ic850a950119a45efd3042f40147253b37c328853\n"
    },
    {
      "commit": "2b7893250228abb63dd7ca577d8c7769dcff2344",
      "tree": "8cb2fce18fc361aa8eab54b1b7d1fa512623dc59",
      "parents": [
        "2b2af5291a7792d3c5c43895757e923cb49ce72b",
        "10551fcd58b3807fc7351d88e6127ec227b993d1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 28 19:22:27 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 19:22:28 2016 +0000"
      },
      "message": "Merge \"IDataSource: add getFlags() to expose DataSource::flags().\""
    },
    {
      "commit": "10551fcd58b3807fc7351d88e6127ec227b993d1",
      "tree": "66467a9a337fd35d31479243e0e169776ecd716f",
      "parents": [
        "987f953298169027df001409fbd82991d82900bc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 27 14:26:51 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 28 10:45:25 2016 -0800"
      },
      "message": "IDataSource: add getFlags() to expose DataSource::flags().\n\nThis will let MPEG4Extractor cache stbl data. Therefore it can avoid data\nflushing in data source (NuCachedSource2) due to reading stbl and access\nunit data alternatively when the stream is larger than max cache size.\n\nBug: 26533748\nChange-Id: Ia534755ab9130e4dcee94d53ca3c933d1b9eb566\n"
    },
    {
      "commit": "feb76cc0340f3eb4c9ae91cbfab4dcea449422f5",
      "tree": "cc4ca7aee0d37dfbf5438aa1b948698116403706",
      "parents": [
        "dfb7c95a69f43201cfe52f1e3cffde9adf7b88ba",
        "6773d4777f4ccbbe6377e4ae1b42c117066ae6ba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 28 02:04:34 2016 +0000"
      },
      "message": "Merge changes from topic \u0027camera-hardening\u0027\n\n* changes:\n  camera: Add support to pass native handles across binders\n  Camera: Fix client permission check\n  Add cameraserver process\n"
    },
    {
      "commit": "aeead926245c1d1a4fa76a050be915288d0b32f1",
      "tree": "d18c2475e99f4577d7dcfd0d056e8700e50a3f12",
      "parents": [
        "5bae3d6b17d7eb90b52174f8149aaa7c7ff334d6",
        "c360382bf257d815b2a411152485d3c3b37a9f46"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 22:56:50 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 22:56:50 2016 +0000"
      },
      "message": "Merge \"NDK: AImageReader implementation\""
    },
    {
      "commit": "c360382bf257d815b2a411152485d3c3b37a9f46",
      "tree": "c3e4607fd638aa585f3209d6bb7c122297347f2d",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 18 22:11:19 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 14:46:10 2016 -0800"
      },
      "message": "NDK: AImageReader implementation\n\nBug: 23012001\nChange-Id: I14341de141e6fc5817f397e849af35ccdb80d644\n"
    },
    {
      "commit": "26736fd21faada79c4fb91cb6ef91582c113e9eb",
      "tree": "00f6d0ed7b67904ad183548331ab1581492c95cf",
      "parents": [
        "4b2fcd8abf90b1bd95539f9f4ef2ac39ce9e2df1",
        "4f12d94fc26df1d0c7a566792711b8863fd39fe9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 27 17:46:46 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 17:46:46 2016 +0000"
      },
      "message": "Merge \"Run codecs in a separate process\""
    },
    {
      "commit": "1e0745544cf6328ba5957748328651c3cfb5b6b6",
      "tree": "75135c7a0990dfd5365d0ed5c1b1d251b374917d",
      "parents": [
        "cf0143c6d900911cb43abf8d233cf75f333700e2",
        "9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 27 00:31:21 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 27 00:31:21 2016 +0000"
      },
      "message": "Merge \"stagefright: add HEVC support to MediaRecorder\""
    },
    {
      "commit": "6773d4777f4ccbbe6377e4ae1b42c117066ae6ba",
      "tree": "86b675cb54a819800d5bae2d50f6f910d4adb90d",
      "parents": [
        "98a668f6ea51e4d894d2ebb61a0e18287fb14008"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Wed Jan 13 01:24:30 2016 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Tue Jan 26 13:09:16 2016 -0800"
      },
      "message": "camera: Add support to pass native handles across binders\n\nIf the video buffer contains a native handle, serialize and\ndeserialize it properly.\n\nAuthor: spodder@codeaurora.org\nBug: 26268807\nChange-Id: I1905be81e2045667e00c95ab75d1bf144756b894\n"
    },
    {
      "commit": "98a668f6ea51e4d894d2ebb61a0e18287fb14008",
      "tree": "2e0942e593e58b5b6c44b87526a35dbf3d808b34",
      "parents": [
        "1f36e3b27abfb16bc5e788e253d367eff4886dba"
      ],
      "author": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Fri Dec 18 14:10:33 2015 -0800"
      },
      "committer": {
        "name": "Chien-Yu Chen",
        "email": "cychen@google.com",
        "time": "Mon Jan 25 17:47:12 2016 -0800"
      },
      "message": "Camera: Fix client permission check\n\nModify StageFright\u0027s CameraSource to forward calling PID as\nclient PID when connecting to CameraService so CameraService\ncan check if the client PID has permission to use camera.\n\nChange CameraService to check calling UID is trusted before\nusing the passed in client PID and client UID to verify permission.\n\nBug: 24511454\nChange-Id: I4906ab73510e2c75714690bed675e3c13aca3ccf\n"
    },
    {
      "commit": "ead9146f844ee194a4f4244ba8ae1a3aece12b63",
      "tree": "616249ae12bf73d57dc9c5ea7b3202930a05d1c9",
      "parents": [
        "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 06 16:45:08 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:48:37 2016 -0800"
      },
      "message": "Camera NDK library: capture session implementation\n\nBug: 23012001\nChange-Id: I3fd93205dcf1b9ed5a947cb944919eb531f219fc\n"
    },
    {
      "commit": "0dea57fd9fc4b2ccaab97d9477359fbd5a626f5c",
      "tree": "2cee23a637023c0365748d4a2f7f1048c9d97ab8",
      "parents": [
        "52a942055bcc4a96b6e281a54a70a53b6fca5798"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Dec 09 16:46:07 2015 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 25 16:40:17 2016 -0800"
      },
      "message": "Camera NDK library: first draft\n\nBug: 23012001\n\nChange-Id: I06d834421289d4dead1c87301a6ee94487ccf023\n"
    },
    {
      "commit": "d79072e9dff59f767cce2cda1caab80ce5a0815b",
      "tree": "cab9cab36ddf4bb61675c4508d923b283fd3edd6",
      "parents": [
        "a7b723715bab4ddf6db364c825135a9bc003c7c0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 06 08:41:20 2016 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 25 15:34:04 2016 -0800"
      },
      "message": "Remove TimedAudioTrack and associated code\n\nBug: 8278435\nChange-Id: I095c1a4888e645e14d93b0b15fbef4524a831ca1\n"
    },
    {
      "commit": "018107a82d80f186d3efca250e38e9c85436a4d9",
      "tree": "cad8e46d1d824328bdd8dfbace742397a21da310",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jan 18 15:32:50 2016 -0800"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sat Jan 23 16:26:47 2016 -0800"
      },
      "message": "camera: Add surface set ID to OutputConfiguration\n\nBug: 25088440\nChange-Id: I95153522b8b1f3ec4c98800b94a95fe7782c9205\n"
    },
    {
      "commit": "4f12d94fc26df1d0c7a566792711b8863fd39fe9",
      "tree": "35c3df0045f97769878455388f4c99e2ffa65d68",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 16 11:11:59 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 22 19:53:00 2016 -0800"
      },
      "message": "Run codecs in a separate process\n\nFor now this only runs decoders and Google encoders in the codec process.\n\nBug: 22775369\nChange-Id: Iadd8b6bc2873ddcfaee3e68866642ba74c6949aa\n"
    },
    {
      "commit": "4f2559d3cdeb7187dedca186d5abc65af4bdb031",
      "tree": "3bdad414d6c22ffd5eafc247d86c9ce5b68bb05e",
      "parents": [
        "49712cddf096e38abd513386d5726b30f4a1dc6f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Dec 10 16:33:02 2015 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jan 21 16:21:13 2016 -0800"
      },
      "message": "matroska: accept MKVs whose AVC CSD is in the 1st frame\n\nBug: 25936003\nChange-Id: Ied4e7e8b1d3e79195124d57abae2eaa208c9c88a\n"
    },
    {
      "commit": "49712cddf096e38abd513386d5726b30f4a1dc6f",
      "tree": "de4fc1f0912d94a0a0512ffe88e0cb1441ba6a3c",
      "parents": [
        "8c35da50221e6d87e49c13ad2f058f265b3b29c4",
        "793c9fb11114c7be4636b8cae5477995aadeb71d"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Jan 22 00:05:48 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 22 00:05:48 2016 +0000"
      },
      "message": "Merge \"stagefright: encrypted webm support\""
    },
    {
      "commit": "9aa87d4ef502c9700a31fe46dc6e1d6f99cf4e5e",
      "tree": "93b918396094a3e53d86e92642531f801fb60fff",
      "parents": [
        "81becaec18695331e853477e0ba6c51c989d365e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Dec 07 13:52:02 2015 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 21 12:47:05 2016 -0800"
      },
      "message": "stagefright: add HEVC support to MediaRecorder\n\nBug: 22879917\nChange-Id: I6c97b051467de44c506a8ff021321e5953a63fc3\n"
    },
    {
      "commit": "8c35da50221e6d87e49c13ad2f058f265b3b29c4",
      "tree": "7455dc04b22f0f4939f0b4531074c7f9c5464c0b",
      "parents": [
        "f2e71d265424820caf64dd8e53c03c6a65f80373"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Fri Jan 08 17:33:09 2016 -0800"
      },
      "committer": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Jan 21 19:53:50 2016 +0000"
      },
      "message": "NdkMediaCodec: Implement setOutputSurface\n\nChange-Id: I9b493b4ff423685b67ee4292396b4388bb53a8da\n"
    },
    {
      "commit": "05b7b2d33816a4bf9592ec82639a7bcf06166157",
      "tree": "974641b19e8c93bdc5de71ec0b04b0bbd15102ad",
      "parents": [
        "78c12ed04e8b7e1f417d61e2a61e1070e3fb7bf2",
        "3694d7cf40d1645bf05246cf38595eed606bb650"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Thu Jan 21 03:40:33 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 03:40:33 2016 +0000"
      },
      "message": "Merge \"Support for CEA-708 closed caption\""
    },
    {
      "commit": "64cb1ba9caf15ef43eb8063132d5098929b983e9",
      "tree": "cb85d94066a29d0cae29bf03c2b39fa68a5fae14",
      "parents": [
        "0c353b583daa4dcd149d933f187307c71d8a991d",
        "a29c2b203d8bea8c21564765da5c9d7087448340"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Jan 21 00:46:26 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 00:46:26 2016 +0000"
      },
      "message": "Merge \"libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION.\""
    },
    {
      "commit": "0c353b583daa4dcd149d933f187307c71d8a991d",
      "tree": "cccce6ddd0593254f2dbf21fc2f6acb0b11e8f63",
      "parents": [
        "4def1cb3283df05929dbf81f9ca68803b519437f",
        "86b997dcf1101cdd259460fb4f82204200a9a993"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Jan 21 00:41:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 21 00:41:30 2016 +0000"
      },
      "message": "Merge \"libstagefright: keep reference to the codec memory on reclaim\""
    },
    {
      "commit": "793c9fb11114c7be4636b8cae5477995aadeb71d",
      "tree": "5845218b9ea83ca40df20b8cae66dfcf35b7b3f1",
      "parents": [
        "df9e6aaf716279baf0e27b99acf10005924245ed"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jan 07 14:42:32 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jan 21 00:22:03 2016 +0000"
      },
      "message": "stagefright: encrypted webm support\n\nBug: 26070802\nChange-Id: I82cc3d4cfbe82c971a10074ba60498149df6ba10\n"
    },
    {
      "commit": "bbe98f009fc2c3181a8d4ab71b3e145f76c01755",
      "tree": "2a1945cccd1c9c801737d7b2fdfca5d6246ba516",
      "parents": [
        "27e583ba1d0d4fdc11d6eeee0c416e727045cbbc",
        "2812d9ea3a3a33142dd8e23c9d949c498d6f7a12"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jan 16 23:24:30 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 16 23:24:30 2016 +0000"
      },
      "message": "Merge \"AudioTrack: Add getUnderrunCount()\""
    },
    {
      "commit": "27e583ba1d0d4fdc11d6eeee0c416e727045cbbc",
      "tree": "ce7b938b6468b7260dbfc616a55175e32334b178",
      "parents": [
        "33ff89ba94a527e4293ee5349da01483252d5c83",
        "c0adecb800b197cb8c028513130ebabf2d0f37ba"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jan 16 23:23:43 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 16 23:23:43 2016 +0000"
      },
      "message": "Merge \"AudioTrack: add setBufferSizeInFrames()\""
    },
    {
      "commit": "33ff89ba94a527e4293ee5349da01483252d5c83",
      "tree": "e37751829ee24635aceec80ff5e0b0d47d71055c",
      "parents": [
        "e0db30868d9734f95a02df516dd0dc6a7226474b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Nov 30 11:16:01 2015 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jan 16 11:51:28 2016 -0800"
      },
      "message": "AudioTrack: lower Java latency\n\nAdd AUDIO_FLAG_LOW_LATENCY to enable Fast track.\n\nChange-Id: Ib1bff635afaa57af7754cb751b57c6afc4c2ab2b\nBug: 21019153\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "c0adecb800b197cb8c028513130ebabf2d0f37ba",
      "tree": "6d9896d68200ff0e7a0a1099529d591edaeabd33",
      "parents": [
        "e0db30868d9734f95a02df516dd0dc6a7226474b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Jan 08 12:44:11 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jan 16 11:39:20 2016 -0800"
      },
      "message": "AudioTrack: add setBufferSizeInFrames()\n\nAlso add getBufferCapacityInFrames().\nThese can be used to dynamically raise or lower latency.\n\nBug: 21019153\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\nChange-Id: I02ca7f6f5cc4e089fcd81cc8a2b6ff234e0381a8\n"
    },
    {
      "commit": "2812d9ea3a3a33142dd8e23c9d949c498d6f7a12",
      "tree": "5079c758817d0c42b3f7ade661366fdae25fe5d1",
      "parents": [
        "e0db30868d9734f95a02df516dd0dc6a7226474b"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jan 04 10:34:30 2016 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Sat Jan 16 11:21:38 2016 -0800"
      },
      "message": "AudioTrack: Add getUnderrunCount()\n\nThis allows an app to detect application-level output glitches.\nUnderrun counts survive track recreation.\n\nChange-Id: I8eb14e92f6fc1007718a29b0666ab51ace30cdb8\nBug: 25641253\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "c16bf1d9e8ccdd27327e988d50f5b9640e5406f8",
      "tree": "11def686f4fa83f744f266851b0a7a204a64220a",
      "parents": [
        "31fc66042d4241f443ebbd2c7b37946edf35b8e9",
        "2f4fe9f7df8f22c6bc8745407d19df73128810ec"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 13 00:20:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 13 00:20:55 2016 +0000"
      },
      "message": "Merge \"AudioPolicy: callback for recording configuration change\""
    },
    {
      "commit": "31fc66042d4241f443ebbd2c7b37946edf35b8e9",
      "tree": "54afbf74381b9ef90df90d82525fc9cece8ae7b0",
      "parents": [
        "e92e6fbf424655fe8b6a15bce68646fcf6b00baa",
        "18cb1eca504817b5b144a023ae2792d90e74c9a5"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Jan 12 17:42:14 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 12 17:42:14 2016 +0000"
      },
      "message": "Merge \"Support AES-CBC sample encryption in MediaDrm\""
    },
    {
      "commit": "18cb1eca504817b5b144a023ae2792d90e74c9a5",
      "tree": "4b39e8a99696709fb6d1c8197328f073cb21f66a",
      "parents": [
        "1ab2f2d0a6208ec9b6bb7e8b130efa9b70737f98"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Dec 18 11:55:22 2015 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Jan 11 17:01:07 2016 -0800"
      },
      "message": "Support AES-CBC sample encryption in MediaDrm\n\nbug:23719082\nChange-Id: I3028452f315122b65296881aed1fbf66c3ceeebc\n"
    },
    {
      "commit": "2f4fe9f7df8f22c6bc8745407d19df73128810ec",
      "tree": "df7d3fe791c9256c7ca53fb36c8f563eec714a30",
      "parents": [
        "dd715cea770697ab6f424df74d69f37def701b30"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Dec 04 16:20:59 2015 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jan 11 12:06:12 2016 -0800"
      },
      "message": "AudioPolicy: callback for recording configuration change\n\nEach AudioSession tracks start / end of recording, and sends\n  a callback to AudioSystem.\nAudioSystem tracks a single recording callback tracking\n  input source and audio session number.\n\nChange-Id: Ic065751d9ba013e03f2a6ad8dde02542e5465ec0\n"
    },
    {
      "commit": "59950b403076a94828668902d30215ac5a733902",
      "tree": "adea7c360758c4979fc394a82385cebec1545c41",
      "parents": [
        "3f1ee7c73eb26f339e3307b894115e46b00e2bf1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Aug 20 08:34:07 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 11 11:53:29 2016 -0800"
      },
      "message": "Remove unused ClientProxy::getFramesFilled()\n\nChange-Id: Ib3cf5a6b61572a1bff89bdd62262fdcf9f09aedc\n"
    },
    {
      "commit": "a29c2b203d8bea8c21564765da5c9d7087448340",
      "tree": "d3c8d421fe89170250c794bfc243a6f54080e76a",
      "parents": [
        "fdb17f649c7480ddd83de9fd99ff48a4166a6acf"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Dec 10 12:35:24 2015 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Jan 11 11:15:11 2016 -0800"
      },
      "message": "libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION.\n\nBug: 25684127\nChange-Id: I123390e358ea6830708382456b7d92f0f32b3cb1\n"
    },
    {
      "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": "86b997dcf1101cdd259460fb4f82204200a9a993",
      "tree": "7d6c6c5f73197ec79e2989c0f613d17075dabee5",
      "parents": [
        "c5fcd06e9c332a60ba5fcba2118270dbdf22ae42"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Dec 22 16:13:49 2015 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Jan 07 15:06:53 2016 -0800"
      },
      "message": "libstagefright: keep reference to the codec memory on reclaim\n\nBug: 26309822\nChange-Id: I98b48ad38cf0834c08e004027cb2b5c187c198a0\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": "3694d7cf40d1645bf05246cf38595eed606bb650",
      "tree": "4e0acd93f201adf54119271b3bd539f74deea84c",
      "parents": [
        "cc8bbc3ffed9fdd3f3d92973474c498e51035ccd"
      ],
      "author": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Wed Oct 21 11:41:38 2015 +0900"
      },
      "committer": {
        "name": "Jaesung Chung",
        "email": "jaesung@google.com",
        "time": "Mon Dec 07 18:00:19 2015 +0900"
      },
      "message": "Support for CEA-708 closed caption\n\nBug: 24314667, Bug: 24889604\nChange-Id: Ica8a8405b143921de82ca6075a1f7b1f6f9ff345\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"
    }
  ],
  "next": "74ee3ba4177c705e08b9af3bb94551f7f87dc5b3"
}
