)]}'
{
  "log": [
    {
      "commit": "7d0fe65b0aa437d62c56653856a7cc79ee373a53",
      "tree": "cde95b880f1786dd96da5a09d9ff4232b1504ea1",
      "parents": [
        "7e7f3ce6b5e6cafc8187b4c62c3d78cd6064f421",
        "51281663443ea39db9b4c6e2415343e26a6b3fb8"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 05 17:07:44 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jan 05 17:07:44 2015 +0000"
      },
      "message": "am 51281663: am 69897ae4: am 75afcc1f: Merge \"Use define for drm property keys instead of defining as char pointers\"\n\n* commit \u002751281663443ea39db9b4c6e2415343e26a6b3fb8\u0027:\n  Use define for drm property keys instead of defining as char pointers\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": "c0fcdc07cc3fd44a1fd27fc9b84a5be3651cea22",
      "tree": "97c2aef42582a548f61ddd1487fb850495d5f4a2",
      "parents": [
        "09a1f34f2f45fe01b7dc6a15b15259ba61e47b5b"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Thu Nov 27 22:51:14 2014 +0200"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Thu Dec 18 16:31:57 2014 +0200"
      },
      "message": "Use define for drm property keys instead of defining as char pointers\n\nWhen defined as char pointers, every compilation unit that includes\nthe NdkMediaDrm.h header defines a new copy of the same global\nvariables - leading to linker errors due to multiple definitions\nif more than one file includes it.\n\nBy using a define, they don\u0027t generate any symbols. The NdkMediaFormat.h\nheader uses extern const char* for a similar set of keys, but that\ncan\u0027t be added after the actual platform has shipped. The other\nalternative would be to declare them as static const char*, which\nwouldn\u0027t generate global symbols, but which could trigger warnings\nabout unused static symbols instead.\n\nChange-Id: I14ca81d94309b7f437b3bc144920c48a8b3f0261\n"
    },
    {
      "commit": "eb4860c305def68c5965474bb43c67c2c9d49bbb",
      "tree": "d2d6b8af92ab837bb52ca4f55ea1d08406f4c3c6",
      "parents": [
        "dd114d19f65d8a5cdfddbaf6d3ef8119c6169b28"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 29 08:04:34 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 29 08:04:34 2014 -0700"
      },
      "message": "getSampletime -\u003e getSampleTime\n\nChange-Id: I87aaa87be068d414903a0e1e22bfe4183cf45ab0\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": "0e03cf07deeda10c573657479591dcfbf1efca56",
      "tree": "e39fa0817932720d9cdf44cc1bba141ba9dfe0b7",
      "parents": [
        "43a28fb96ccb6800ceb0c6275075845f3ae5a7ed"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 21 07:53:04 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 21 07:53:04 2014 -0700"
      },
      "message": "Remove the last of the references.\n\nChange-Id: Id68cdab7e972e3e78e2065e56b8a095c3d496df2\n"
    },
    {
      "commit": "43a28fb96ccb6800ceb0c6275075845f3ae5a7ed",
      "tree": "2a339df867c3d7df53941c758dfff8645a759fb2",
      "parents": [
        "18a1b5904b352cedef29b95169a1226140d38576"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 20 13:05:12 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 20 13:05:12 2014 -0700"
      },
      "message": "Fix include\n\nChange-Id: I2c1e6b0e85ff608f942e54edf9bc5dd6f8716518\n"
    },
    {
      "commit": "18a1b5904b352cedef29b95169a1226140d38576",
      "tree": "dfe1ad0c7c743e3810dca41a2daadf56c712a40f",
      "parents": [
        "93c6fa7508cd0f5bb0ec80ea29ef8bfab4a6015f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 20 08:45:18 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 20 08:45:18 2014 -0700"
      },
      "message": "Use pointers instead of references because C\n\nChange-Id: I5c84469e5ff977bf8bb91be2cc6c38a0c7f08609\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": "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff",
      "tree": "892a5dee6e6c62dd923aa817bafa6b3fe4a951cd",
      "parents": [
        "5362ba070797c52a18d3cb5558cd41d1a72c74c5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 15:26:14 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 15:26:14 2014 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I2b0a3049c81b99ba233d5945e16dcddd975aa4f9\n"
    },
    {
      "commit": "5362ba070797c52a18d3cb5558cd41d1a72c74c5",
      "tree": "fddfcdb07fcc5499c3b026fe4c42b217fef21c7a",
      "parents": [
        "16a25c150c49c730d206167012a24cbd9eb3a082",
        "e419d7cd5c62b4b5866a45d59c5770bb470193c1"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 15 21:58:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 15 21:58:36 2014 +0000"
      },
      "message": "Merge \"Unify error/status codes\""
    },
    {
      "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": "3305b99ec3804c740aecd2ab6d1edd5c6137b7c6",
      "tree": "c0d2835a1f17306f2912447fdbf50d3ee191adcf",
      "parents": [
        "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed May 14 18:39:25 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu May 15 09:24:35 2014 -0700"
      },
      "message": "Hook up event handling in NDK MediaDrm API\n\nChange-Id: I48ac1d3ca5405c5909454c7a553917b31b9a50e5\n"
    },
    {
      "commit": "7edda7ac8b86f2493b7df945e9f63da947124288",
      "tree": "b46bdd0a6325134ecc7e206743508786062374fd",
      "parents": [
        "5afbb7468a0cd15ba13a16599a7143fa232a9c16",
        "829e097f832b4c4c41733f9b77121888204d993e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 14 22:08:43 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 14 22:08:43 2014 +0000"
      },
      "message": "Merge \"Fix typos and pointer math.\""
    },
    {
      "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": "497ca097bf373ac69405131bd257915c97b31dc0",
      "tree": "46d9aa653abe08c6200e5a43005c5ca656849cae",
      "parents": [
        "cbe6fddebe3ec84176037de7f9681d2407fa1113"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue May 13 09:31:15 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue May 13 18:11:04 2014 -0700"
      },
      "message": "WIP: MediaDrm NDK APIs\n\nChange-Id: I3ac08a3b027135c3fd2a9e95c5e8b3fd722df019\nTODO: hooking up event handler, testing\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": "34d497283c66b5ef0f8855c007eaa20d7ac8b96d",
      "tree": "5f3cc71c9454f4081dd82eb9d42f47261ae11bc1",
      "parents": [
        "08aaabe87960c04ecac180db1fe88b5a7bc2ed3b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 12:55:18 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 07 12:55:18 2014 -0700"
      },
      "message": "Expand AMediaFormat\n\nRemove getDouble and getSize methods, since these are not used and/or\nnot present in the corresponding Java MediaFormat API.\nAdd setBuffer/getBuffer, needed for making formats for encoding, and\nadd other setters.\n\nChange-Id: I528d51b4ed571d852b949637f7ae3a95d31da7c1\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": "7c9b141d551fde406f199f0dd21582f8551aea23",
      "tree": "a85ae2f96546c0a1f3b81532f4dda22a72d942a5",
      "parents": [
        "91d8ec1860e8186cd202f9415f6b41c20fbd54fb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 06 10:33:07 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue May 06 10:37:04 2014 -0700"
      },
      "message": "MediaFormat owns its strings\n\nHave MediaFormat own the strings it returns from toString and getString,\nreducing the chance of memory leaks.\n\nChange-Id: I0ddd593874c8b3af0b7714f2d8a106edf8121108\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"
    }
  ]
}
