)]}'
{
  "log": [
    {
      "commit": "7e8d4ba5887affda749978d787b898bf31fda729",
      "tree": "50f55dd31df7fe969fc901b791a2b8c3a694d856",
      "parents": [
        "ab37fbfcdc197429d59f6926ba970b3e68bbbadf"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 16:17:42 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 17:55:07 2017 -0700"
      },
      "message": "Move libmediandk and libcamera2ndk headers\n\nMove libmediandk and libcamera2ndk headers into their module\nand export them from there.  Also move them to the same path\nrelative to the export as used in the NDK, media/ for\nlibmediandk and camera/ for libcamera2ndk.\n\nTest: builds\nChange-Id: I0b424e0e48bfb5e2b762694a97d799de08f5dda3\n"
    },
    {
      "commit": "af42d3f9c5fa1847b661a76bd888b480aedfe5a7",
      "tree": "97f37ea4a86c88f66acc66725cf025c1ddf0c6eb",
      "parents": [
        "58207fea63c6b758957a190f2adc95a71e17d7cd"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 20 16:45:37 2017 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 23 12:20:58 2017 -0700"
      },
      "message": "NdkMediaCodec: add AMediaCodec_signalEndOfInputStream\n\nBug: 32746065\nChange-Id: I20cdb02a93dfffdb2379db885f50738fb3a502d9\n"
    },
    {
      "commit": "f373e84c798b113d274a4d89edfea8afb899d3e2",
      "tree": "9530382be10bb6d2e5ad70bcb1e0847b68259b56",
      "parents": [
        "85a536331e3a18a41361fe326187508a3e9972da"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Wed Feb 01 11:50:15 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 16 16:36:33 2017 -0700"
      },
      "message": "NdkMediaCodec: implement setParameters to signal dynamic parameters\n\nAdd setParameters to communicate parameter changes when the codec\nis in running state.\n\nBug: 32746065\nChange-Id: I223041bebadedfb09848315a360b5efaae451c14\n"
    },
    {
      "commit": "85a536331e3a18a41361fe326187508a3e9972da",
      "tree": "b55d8f6ab04512c747ffa9ac81287feec2f7edc6",
      "parents": [
        "19431587cec960606a8756fa2767bc4bce987318"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Tue Jan 31 12:21:33 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 16 16:36:32 2017 -0700"
      },
      "message": "NdkMediaCodec: implement createPersistenInputSurface and setInputSurface\n\nExpose createPersistentInputSurface() and setInputSurface via\nNDK-mediaCodec to enable native encoder apps to record from a\npersistent input surface.\n\nBug: 32746065\nChange-Id: Ia152f43dacfe376a89c550ecbeaf6d4016ec07b5\n"
    },
    {
      "commit": "19431587cec960606a8756fa2767bc4bce987318",
      "tree": "dd493f5d57b3692e71bf3c8dafd5cb233c4b8eb0",
      "parents": [
        "6fcb1488b835568dd1423ccd5f0b09483b8d9917"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@codeaurora.org",
        "time": "Mon Jan 16 11:56:18 2017 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 16 16:35:36 2017 -0700"
      },
      "message": "NdkMediaCodec: implement createInputSurface\n\nExpose createInputSurface() via NDK-mediaCodec to enable native\nencoder apps to record from an input surface.\n\nBug: 32746065\nChange-Id: I654f2c0deadb336d492cdd6ba290e09c8996ce40\n"
    },
    {
      "commit": "7e34bf5af26f8752d4786d3098740cdf51e2438f",
      "tree": "683b624805503653ebae9f105abde2a8ea86a8fe",
      "parents": [
        "616445eaa07885173767544d3c5a61ad652d1171"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Aug 23 00:09:18 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Sep 30 20:05:18 2016 +0900"
      },
      "message": "MediaCodec refactoring part 1-a: buffers become separate class\n\nMediaCodecBuffer is meant to replace ABuffer and MediaBuffer in\ncommunication between framework components. As the first step, replace\nuse of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related\nclasses accordingly.\n\nMediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;\nthus change MediaCodec clients to use MediaCodecBuffer accordingly.\n\nTest: manually tested for key use cases (Camera, YouTube and Play Movies)\nChange-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b\n"
    },
    {
      "commit": "47734c9509ecb472c2844cae46e2d916b9358321",
      "tree": "6b17e7f1540458e2f1abbe1c082353f920edc3df",
      "parents": [
        "20be7bf5ba6f3d4db36686d5af4316006cf9bb27",
        "98a9b2a491360c762e2ed46a9126f576693645a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "message": "resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp\n\nChange-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a\n"
    },
    {
      "commit": "090ef604f81447eab4aa0a5b45d6307482573560",
      "tree": "6eb6530aab79b1cdc543ef16650be519db449e37",
      "parents": [
        "cdf7931424583ff20a754999216041fb46287cb3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:39:54 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:55:42 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b\n"
    },
    {
      "commit": "4e1478032f28001dd944983a6da8f4bd59486c11",
      "tree": "5f9f8cf7e1cb2f0db03bf2f52b82d7d9d6679104",
      "parents": [
        "c526e1ef36f8f0520a059c6cf304e12e86170c26"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Mar 14 14:44:20 2016 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Apr 04 08:59:13 2016 -0700"
      },
      "message": "ndk: Avoid memory leak in failure case.\n\nBug:27760031, 27995615\nChange-Id: I8cf7243a49ff9200408de8a4d4e69514ec02981a\n"
    },
    {
      "commit": "214c833fcde68833691cc54d2a4cd995d7eb0e16",
      "tree": "890ef2a323af056ab73727b827d46f1376ec89f6",
      "parents": [
        "eafe1f9734af31730790b0abaf8c6aae01bfee77"
      ],
      "author": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Fri Feb 19 14:48:23 2016 -0800"
      },
      "committer": {
        "name": "Aurimas Liutikas",
        "email": "aurimas@google.com",
        "time": "Thu Mar 03 18:41:31 2016 +0000"
      },
      "message": "Fix compiler warnings in frameworks/av/media/ndk.\n\nBug: 26936282\nChange-Id: I86b32ef5a7e6b18974cbe4a885291acec2b2eb5f\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": "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": "6bb63addf65905dcc4d5f0461559142a716f6fbb",
      "tree": "4fcb0d55c982a04dd8555c35ad11464e30508fa3",
      "parents": [
        "48a31bf3f1c1ed5953a4e64f71cdf528f3a38ee5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 19:05:08 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 29 14:10:21 2015 -0700"
      },
      "message": "NdkMediaCodec: Return NULL if the MediaCodec cannot be created\n\nBug: 20566134\nChange-Id: Idb09bc47a02aed03e97aa81f303ed95ebaa2f5ba\n"
    },
    {
      "commit": "3f27436a9346f043f52265da1e6a74cde2bffd4d",
      "tree": "a7404d2ba96071bea1f02f93f6782214fc1e4cc1",
      "parents": [
        "0655386a0dc15fc31883d2e38917ff0e9db89ae7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 14:35:41 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 10 10:36:09 2015 -0700"
      },
      "message": "stagefright: don\u0027t use ALooperRoster mutex for reply handling\n\nChange replyID-s from uint32_t to an object\nMove reply handling into the loopers (to reuse a common mutex)\n\nBug: 19607784\nChange-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be\n"
    },
    {
      "commit": "1d15ab58bf8239069ef343de6cb21aabf3ef7d78",
      "tree": "d4b3266c9baf5e6dee214fc6562391101e198be7",
      "parents": [
        "5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 04 16:46:34 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 17:49:50 2015 -0800"
      },
      "message": "media: switch to new AMessage handling\n\nBug: 19607784\nChange-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa\n"
    },
    {
      "commit": "b187de1ada34a9023c05d020a4592686ba761278",
      "tree": "31dea84d078f6198ce17ca856fcbb76c402f37b6",
      "parents": [
        "64cbdee08a18b25448a5fb0b058d3b83d5630d7f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 30 08:18:15 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 30 08:18:15 2014 -0800"
      },
      "message": "Line length 100\n\nChange-Id: I6c8fe626a3825fa9e139319656d682a57b887c97\n"
    },
    {
      "commit": "98f28cde0d5d682956b5e6b119823e7e8d40415b",
      "tree": "ddb8e589a88578418662405c525d5d9a5621845f",
      "parents": [
        "a5750e0dad9e90f2195ce36f2c4457fa04b2b83e"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:32:50 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jun 26 14:58:26 2014 +0000"
      },
      "message": "ndk: 64-bit compile warnings\n\nChange-Id: I214973a97547bf714e56e4596359cb2bd9cdea9c\n"
    },
    {
      "commit": "c7a11b2208aa8f1e6a39eb70a136fbc0dafd3260",
      "tree": "2dbc503f0b0b3a80a2186f94a85c4498600be82a",
      "parents": [
        "798ce934571bc7eb5715bf1c03cbe5436a1220e3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 30 10:13:25 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 30 10:13:25 2014 -0700"
      },
      "message": "Disable verbose logging\n\nChange-Id: If9c87615707ed67f209258f9207d56f671cd0f08\n"
    },
    {
      "commit": "e22a64b6887240fc9910d6fc8afb0e6f81507047",
      "tree": "473c1affe037144582472f23d9211e87e1774a35",
      "parents": [
        "7ac0039611ea7ea18f9545f96a8f5cb31dcdebe5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 23 15:49:49 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 23 15:49:49 2014 -0700"
      },
      "message": "Remove codec callback for now.\n\nChange-Id: I7ef3c1fc7aa1bfec958e6ea58bf95ae35a575e91\n"
    },
    {
      "commit": "79e2b622702fb148ccff12d6f38643466555c4eb",
      "tree": "cdd30838c98f75104c5b90f9c9f189406e947c06",
      "parents": [
        "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 16 08:07:28 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 19 10:45:41 2014 -0700"
      },
      "message": "Add docs, releaseOutputBufferAtTime, seekTo.\n\nChange-Id: Iadd231b63e75b7937c13d2ebfef47aedeaeef5a1\n"
    },
    {
      "commit": "e419d7cd5c62b4b5866a45d59c5770bb470193c1",
      "tree": "eaabdbe6d72e7be1ceb0b1907784083db848c674",
      "parents": [
        "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 14:17:25 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 14:41:20 2014 -0700"
      },
      "message": "Unify error/status codes\n\nChange-Id: Ib90cc2f2adc07ff146256931c92c0ec4becb86f5\n"
    },
    {
      "commit": "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79",
      "tree": "efd531cb9f1ce0f44e41584f3f6e70d8ea566308",
      "parents": [
        "7edda7ac8b86f2493b7df945e9f63da947124288"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 11:12:46 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 15:18:40 2014 -0700"
      },
      "message": "Only export necessary symbols\n\nChange-Id: I869d7124c8cc555f4b09801a898f4dd3ecb072ec\n"
    },
    {
      "commit": "829e097f832b4c4c41733f9b77121888204d993e",
      "tree": "746b75df4c6c5601665990274dc614eb80df8a28",
      "parents": [
        "deb9081a61b446dbe50461082974a4228899f178"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 13 16:22:19 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 09:06:08 2014 -0700"
      },
      "message": "Fix typos and pointer math.\n\nChange-Id: I07f33a57454d013844b56bc3e57fe0a271e8b38c\n"
    },
    {
      "commit": "050eb3280d7305b84f723d515be2dc9606dc39d1",
      "tree": "110716a883abc7e41f3507f86973224dc4bc0adb",
      "parents": [
        "021cf9634ab09c0753a40b7c9ef4ba603be5c3da"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 09 15:10:23 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 13 15:03:04 2014 -0700"
      },
      "message": "Some crypto stuff, error codes\n\nAdd crypto/drm related functions, define some media errors\ninstead of using magic numbers in the code.\n\nChange-Id: I5924cba0bfcdb3623073c9182a646b70f4ead5a5\n"
    },
    {
      "commit": "cdb42cdc5ccb785edabe1ee6407134fbae5662a9",
      "tree": "3c3313e9c6b2ecda67fa486dd39bc5fb5285752b",
      "parents": [
        "86aa02ce274826dc80ffa00766b16172c47503fd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 08 14:46:05 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 09 08:25:40 2014 -0700"
      },
      "message": "Add AMediaCodec callback\n\nChange-Id: I33b7ff3bcdcff6d3a5e1db385b900ae18b7e0f03\n"
    },
    {
      "commit": "86aa02ce274826dc80ffa00766b16172c47503fd",
      "tree": "99aab102e4a44533c645b8a074759548e7f7fcf8",
      "parents": [
        "cdedf74e34117f9834055973880ee728f11d97cd"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 16:03:54 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 08 09:36:08 2014 -0700"
      },
      "message": "Make AMediaCodec_create* APIs more like their Java counterparts\n\nand add configure flags.\n\nChange-Id: Ibfb7f8cad724fa1db2320966828104d40b5e6590\n"
    },
    {
      "commit": "08aaabe87960c04ecac180db1fe88b5a7bc2ed3b",
      "tree": "740a80ccc357b0a138445b2728c32ee9762db745",
      "parents": [
        "8e085cbeccb1138d52a0a423af02e6ab41b4fee4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 06 16:08:19 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 09:57:08 2014 -0700"
      },
      "message": "Add NDK version of MediaMuxer\n\nand add some constness here and there.\n\nChange-Id: Ib3caa8310691e8f27aaa1afcfaec0b384513d4f1\n"
    },
    {
      "commit": "0c3be875376adaee8d8e8dd917c64926e1513b29",
      "tree": "97643df739a33f80cf3dc106b013319549e829a5",
      "parents": [
        "fa366b2a32294ea22bf7b6f237cdbbd715cbbeb9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 01 10:14:44 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon May 05 10:48:54 2014 -0700"
      },
      "message": "WIP: MediaCodec and friends NDK APIs, plain C version\n\nChange-Id: I9ed6b9c5afb026a1b5fe8b652e75635bbcc223df\n"
    }
  ]
}
