)]}'
{
  "log": [
    {
      "commit": "082e4f75a383f957a6ed9186ca0692b694e1ce45",
      "tree": "a336d965809441cc46c928b186dcb29464f64be8",
      "parents": [
        "028cf0973f928503e89124c3f6493a5226826ed9"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sun Dec 17 02:31:18 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Sun Dec 17 02:51:06 2017 -0800"
      },
      "message": "Refactor MediaPlayerBase\u0027s notify\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 70546581\nChange-Id: Ia3a8eb99c2faf6935c63800ba08f65970cede48e\n"
    },
    {
      "commit": "028cf0973f928503e89124c3f6493a5226826ed9",
      "tree": "d726b12d56f9b32a7fc29667c0be3c3e558cae7c",
      "parents": [
        "97eb375c515ab9cf7ad8e23b678b32f279059139"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Dec 12 01:56:40 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Dec 14 16:29:26 2017 +0000"
      },
      "message": "Prevent MediaPlayerService::Client\u0027s use-after-free\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 70546581\nMerged-In: Ia142a7735c6685eb67b2c00917c0ed5ea7e0da9e\nChange-Id: Ia142a7735c6685eb67b2c00917c0ed5ea7e0da9e\n(cherry picked from commit d27ad6bae3215db0ed174f5f036339c9515fbba7)\n"
    },
    {
      "commit": "f9c81464b9494082fa7cdff9f70c5402e8ac78c0",
      "tree": "12d5376268e2c464064b063537b428196fee4595",
      "parents": [
        "402b8a0ef5c4fa0f7a70020bf0d93ec4714edbf3"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Sep 28 05:31:11 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Oct 12 18:33:56 2017 -0700"
      },
      "message": "Protect against possible race conditions\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nTest: Run the poc in b/38234812\n\nBug: 38234812\nChange-Id: I28322e5a812c02c8e449ab8773715f60b9f5d976\n"
    },
    {
      "commit": "6b79fa9965c73b2ff3e62cb832305ea93d8b3de4",
      "tree": "d63ce212f95793d0ab034cf8ce266d411c80325f",
      "parents": [
        "dd36008b782ec1da0ded327dc51292d102c690d4",
        "b65bc512d15bc7234354ddc19815ebf24bea3a97"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:49:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:49:21 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44 am: 1a1bb632e7 am: d8192c9149 am: 6f7295a384 am: 830ecba34d am: ee04f896ca\nam: b65bc512d1\n\nChange-Id: Id341ee30610d4c1e887a71b0deb1ddef3f325f48\n"
    },
    {
      "commit": "ee04f896ca56f1f578c011b1905582aa6c92a8c5",
      "tree": "f27a27851130ab466ca87a5862512ea722ed33ea",
      "parents": [
        "a5d728cce1d43536c56fffe919df19a897b95665",
        "830ecba34dc43cf5e0dad3dd0b37597400ef52b7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:43:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:43:51 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44 am: 1a1bb632e7 am: d8192c9149 am: 6f7295a384\nam: 830ecba34d\n\nChange-Id: Iac159cbf205fb02aa600d8b136e70b6d71b44924\n"
    },
    {
      "commit": "830ecba34dc43cf5e0dad3dd0b37597400ef52b7",
      "tree": "bc2e94801e3185d7547ebc4afce5246d5b825326",
      "parents": [
        "125fc63d73ea651f051c4b5c4b00fc35e43cacec",
        "6f7295a38455324f5da41d4e52d0ed0e2fc4b45f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:40:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:40:51 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44 am: 1a1bb632e7 am: d8192c9149\nam: 6f7295a384\n\nChange-Id: I7f6837cd4aced5a6d83aaf0279cc3908f80a4027\n"
    },
    {
      "commit": "6f7295a38455324f5da41d4e52d0ed0e2fc4b45f",
      "tree": "54f01c7f8f6d850b52276dff61468687b5795618",
      "parents": [
        "bd6594eaf2f01655b91c1a0e57ff82d39b9f0477",
        "d8192c9149430fcc7d618de6a239940bce62d4fa"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:39:21 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:39:21 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44 am: 1a1bb632e7\nam: d8192c9149\n\nChange-Id: I25ed67aa5671f7484dc99d3d79e0ed33125117f6\n"
    },
    {
      "commit": "d8192c9149430fcc7d618de6a239940bce62d4fa",
      "tree": "143836ec2b559ed6e70bef438c3ef2c73e864a35",
      "parents": [
        "e68844ffb058d7ead7392fea55db59a2a85aa6bf",
        "1a1bb632e754c9d2f07d1d98a51a072055a0b677"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:36:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:36:19 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c am: 93ae13644b am: 50280c1b44\nam: 1a1bb632e7\n\nChange-Id: I7cd886d0bbe96dcf8aafe082649d2a9a7c1c303e\n"
    },
    {
      "commit": "50280c1b44da60acf6f9cc3df8dc8e90db374d7c",
      "tree": "7bec8d1ad2b64f1c9663e1dd9afbbc68c0b70ab6",
      "parents": [
        "1feb9dca54f002ead236c432858e509383345a1d",
        "93ae13644bb8e2e1a7fbcb3c4dc1dd2c4eae57c5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:30:50 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:30:50 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584 am: 5cc9f8780c\nam: 93ae13644b\n\nChange-Id: I16649e1417e36610e0731da5c47c90a9de169d13\n"
    },
    {
      "commit": "93ae13644bb8e2e1a7fbcb3c4dc1dd2c4eae57c5",
      "tree": "d1c80928b337a079566d21156524e4fa008d26e0",
      "parents": [
        "671c88a8077ca45d52122c14c324a78ff53f18aa",
        "5cc9f8780cc0e938f17254b9d7662d05edef2547"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:28:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:28:47 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8 am: e0f4963584\nam: 5cc9f8780c\n\nChange-Id: Icb93a3b48a1674066fbf0b07bf11cda56ab22436\n"
    },
    {
      "commit": "5cc9f8780cc0e938f17254b9d7662d05edef2547",
      "tree": "cc6627048c2620dc2261e5cb602aaf04f543b6a9",
      "parents": [
        "3627617c2b7e268e961e1da433e2f452650964f6",
        "e0f496358416abebeb7ba971a354ec69cb1848d4"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:25:49 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:25:49 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f am: 263d5a2a70 am: 0844e1a3e8\nam: e0f4963584\n\nChange-Id: I318dd6a90b2af9c4e879e4ab47cfad110002532d\n"
    },
    {
      "commit": "0844e1a3e8d000f34ee5a9aa55c826f771fb971e",
      "tree": "30678681c0a807255262d122324bb444536f5411",
      "parents": [
        "b063a7ea183aec7c79d6b74eff72d7548df431ac",
        "263d5a2a7065ed5a674d2af408f75383d4a01898"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:20:19 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:20:19 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6 am: 03fa67202f\nam: 263d5a2a70\n\nChange-Id: I24e4ade61cbc0a03d20aa4b79b21fe18baa10e43\n"
    },
    {
      "commit": "263d5a2a7065ed5a674d2af408f75383d4a01898",
      "tree": "f7bcf5319d9b55e4faebe4ac7305bba5fef21d0e",
      "parents": [
        "8700c26a9184224d326a7c3dc018a9f412f6165d",
        "03fa67202fac9df24f9dbefa24c9f81f9f9e415d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:12:37 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:12:37 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053 am: bd7db202c6\nam: 03fa67202f\n\nChange-Id: I9336683351fa531560fadbe554eb218fc663585f\n"
    },
    {
      "commit": "03fa67202fac9df24f9dbefa24c9f81f9f9e415d",
      "tree": "578507cd259fa4ae3ef585d7f76cdc348886615a",
      "parents": [
        "5445ddc9837f3632b26be730ec434a54da2d53ef",
        "bd7db202c69ccd28414bcda7bee6f5cae1236885"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 18 19:05:35 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jul 18 19:05:35 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client am: 502c2f4053\nam: bd7db202c6\n\nChange-Id: If691af6c8d3c3849da52da943fd754ed9bd1fe0b\n"
    },
    {
      "commit": "502c2f405355c3253990ac4edae345ac1907f916",
      "tree": "71cb549d0c161a299ad8b3ab4832501963bfbd5b",
      "parents": [
        "da84963c1f4482be7570b68293906e6cc61200bd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jul 13 17:47:56 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jul 17 23:26:10 2017 +0000"
      },
      "message": "MediaPlayerService: fix access of mPlayer in client\n\nTest: poc doesn\u0027t crash\nBug: 38234812\nChange-Id: I6f9be046ff66d2d5bed27bd712287e4ead550830\n"
    },
    {
      "commit": "8818bf1fbb9ea6b65cd61543ed7db986c3d65d13",
      "tree": "c94883f411415c3836f3bfc479e68b4bfa73f217",
      "parents": [
        "1f7d80772cf76eb6373e91039ceb2800ad7af378"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 07 16:03:03 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 07 17:44:16 2017 +0000"
      },
      "message": "DO NOT MERGE -- NuPlayerDecoder: fail gracefully when input data can\u0027t be held in allocated buffer.\n\nBug: 38391487\nBug: 24145279\nChange-Id: I6b99ee2dc63063557f4ee2c5856f7c848e969752\n(cherry picked from commit 56097a8ecc31ec308a1caa38f92b69f99324eada)\n"
    },
    {
      "commit": "ba97351e6bb74f9632d8e4a8be92b1d4c526ae11",
      "tree": "c34aaadfc740e58fe9853f66bf5f80d897c3c35f",
      "parents": [
        "cfd9b9b85a7af2db0670ab98045558d35d530e16",
        "333b2d578a98941a41e258241b48e1702df376e1"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 06 19:51:41 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:51:41 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: fail gracefully when input data can\u0027t be held in allocated buffer.\" into lmp-mr1-dev am: 3b1a9c3f1b am: 2675f4cac9 am: 6a2a5b5808\nam: 333b2d578a\n\nChange-Id: I33e279617987ea8e577b06ce8666825f0c6f5ca5\n"
    },
    {
      "commit": "333b2d578a98941a41e258241b48e1702df376e1",
      "tree": "a82c370c66d573588a60e173b0335e1a723dbc33",
      "parents": [
        "e138ca8b828157782db5b8c2a3c58cabc1a487ac",
        "6a2a5b5808fc4b816f1966362270bf8e0487b428"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 06 19:46:11 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:46:11 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: fail gracefully when input data can\u0027t be held in allocated buffer.\" into lmp-mr1-dev am: 3b1a9c3f1b am: 2675f4cac9\nam: 6a2a5b5808\n\nChange-Id: Ic443f079bcb1213921a3bf61a13dbfe83ce2a63e\n"
    },
    {
      "commit": "6a2a5b5808fc4b816f1966362270bf8e0487b428",
      "tree": "057e01a880eb416b05f0a171f1786e93c5b088f9",
      "parents": [
        "16531bf6871663698091925c62e6a18b5d5f9c2b",
        "2675f4cac93ee3913512d917468aba67ac6b210a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jun 06 19:39:39 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jun 06 19:39:39 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: fail gracefully when input data can\u0027t be held in allocated buffer.\" into lmp-mr1-dev am: 3b1a9c3f1b\nam: 2675f4cac9\n\nChange-Id: Ia5f63cef5ead1153656f38b34ac4bc8ebb12ca59\n"
    },
    {
      "commit": "8631fd7b270e99ebee6ba056f4edd38e6bd4f93f",
      "tree": "dba08a8301476a0be1c971b9975f019216a74fcf",
      "parents": [
        "1d32e9f8e5ba52d69c6319270c8a63a995d2c4f2",
        "838be3907fc58eab119d7093a3d73be7267bd4d2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jun 05 18:44:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 05 18:44:50 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer: L3 playback fails at OMX mmap; preparDrm preparing\" into oc-dev"
    },
    {
      "commit": "838be3907fc58eab119d7093a3d73be7267bd4d2",
      "tree": "a669b7f03ce3ca7799aa7311240a49d0846c6755",
      "parents": [
        "0375da69b221b05c3e44c49b1ad2f3b93a6bf2f9"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue May 23 14:14:24 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Jun 01 12:21:03 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer: L3 playback fails at OMX mmap; preparDrm preparing\n\nBug: 34559906\nBug: 38390836\nBug: 38039230\nBug: 62194380\n\nTest: GTS Tests\nChange-Id: I51e2479f745a4c3e271628abdd79efcb97368ec2\n"
    },
    {
      "commit": "62dec9555ec832b1a8c63c70e4df745aa8635488",
      "tree": "94de207630ccca1a5d147f18cca4cbd31fab5ab3",
      "parents": [
        "0556a2363ff5eb49bd35dc47f2d34cc2042de052"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu May 18 10:45:27 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue May 23 17:43:47 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer/Fixing legacy frame drop at NuPlayerDecoder\n\nBug: 34559906\nBug: 38039230\nBug: 38430289\nTest: GTS/CTS Tests\nChange-Id: I68dca5f8bae4f9f7866cfaaa6aba97c80dcd8ffb\n"
    },
    {
      "commit": "15c3740aa96df30049b7acf9d7dce77bbcf9d9d4",
      "tree": "2e1fbb786a8146d52f9b14494bea67431e9cbdeb",
      "parents": [
        "4bd7103388c9f76dccc78eb6a3120fa630a00250"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 07 16:03:03 2016 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed May 17 23:39:29 2017 +0000"
      },
      "message": "NuPlayerDecoder: fail gracefully when input data can\u0027t be held in allocated buffer.\n\nBug: 38391487\nBug: 24145279\nChange-Id: I6b99ee2dc63063557f4ee2c5856f7c848e969752\n(cherry picked from commit 56097a8ecc31ec308a1caa38f92b69f99324eada)\n"
    },
    {
      "commit": "355e8473df4a5b197f0cf136edfbede586416067",
      "tree": "f861410f2a1713975b0849d06f0036e0fdbdec29",
      "parents": [
        "d004c157bac96c4a180604bf304e0dbdb8bc11b5"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri May 12 10:33:16 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon May 15 18:36:20 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer/Race at stop/releaseDrm\n\nBug: 34559906\nBug: 37960096\nTest: GTS LLAMA_H264_XX_V0_SYNC (1000 rounds)\nChange-Id: I8576fb9dadf8922c2a54f2ea9e199d2e07c1820e\n"
    },
    {
      "commit": "feb0d87f693abd8fd2fa7ebfcdf7d91f0b95c131",
      "tree": "25a0b212ba20065aa47b5257550e7aefeae58434",
      "parents": [
        "8467c128d7edfc16a93e2606bbae5188f067d2d5",
        "3991809be9c81daec6293f5a099a6ce040090aed"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat May 13 01:31:02 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 13 01:31:03 2017 +0000"
      },
      "message": "Merge \"Suppress empty media.metrics records from nuplayer\" into oc-dev"
    },
    {
      "commit": "3991809be9c81daec6293f5a099a6ce040090aed",
      "tree": "3aa084ae3a63d44d0fa359a62552fddba029ee86",
      "parents": [
        "24fd2f7d2900797b1300d6bc89d28bd94a31c3cb"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri May 12 16:22:05 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri May 12 16:22:05 2017 -0700"
      },
      "message": "Suppress empty media.metrics records from nuplayer\n\ntweaks the mechanism (a count) we use to suppress nuplayer records\nfor media.metrics to reflect recent changes that included datasource\ninformation.\n\nThis stops spurious records that pollute / degrade the uploaded\nmetrics data.\n\nBug: 38270725\nTest: examine output from: dumpsys media.metrics\n"
    },
    {
      "commit": "a387a6cc1e97f26eb6847ed5cf3d2a6b4cf25cb0",
      "tree": "a2c6037d1b5fbdb925afa114d8dcd1f1b4d21aab",
      "parents": [
        "77994d70fe8d4805126361bbd0afbcac1cd1d2f0",
        "e5b9b6924007d6658bb1c24e958d16ec82e2a9c3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu May 11 20:54:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 20:54:17 2017 +0000"
      },
      "message": "Merge \"stagefright: put battery update under a separate lock\" into oc-dev"
    },
    {
      "commit": "e5b9b6924007d6658bb1c24e958d16ec82e2a9c3",
      "tree": "ad2ef695292ac0178821f89926fbc347f5be056c",
      "parents": [
        "bbdae2f58c3bd18d72be876c023b4bfb00e2f920"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu May 11 11:44:56 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu May 11 11:49:22 2017 -0700"
      },
      "message": "stagefright: put battery update under a separate lock\n\nBattery update doesn\u0027t need to lock the main lock for\nmediaplayerservice. Battery update sometimes is called\nfrom lower level componenet (eg. StagefrightRecorder),\nlocking the main lock here has potential to deadlock.\n\nPuting the battery update in a separate class so that\nit\u0027s clear this is not to be mixed with the rest of\nthe mediaplayerservice states.\n\nbug: 38230347\nChange-Id: Idf5f26f2b07ad6303775763ce283dad0679843d5\n"
    },
    {
      "commit": "2d12b8e3677c2c6b620358fa7e4699dda8c0f0bc",
      "tree": "bde5a42aaca3e488c429bf26595f7a67a8ff97b2",
      "parents": [
        "ae1c19fc33d24274ca665408f19c347c8b928c56",
        "f370264dfa5237524a3535f5242a0c68cbbb13eb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 11 04:24:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 11 04:24:05 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Fixes for updated Cts test\" into oc-dev"
    },
    {
      "commit": "f370264dfa5237524a3535f5242a0c68cbbb13eb",
      "tree": "b0cab4fa2ae4243ce2a870c3d91e8124dc2d3510",
      "parents": [
        "549bd02a8421b0b53a1b5e8961a41cf551fce72d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 05 17:33:32 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 10 14:17:40 2017 -0700"
      },
      "message": "VolumeShaper: Fixes for updated Cts test\n\n1) Limit number of VolumeShapers that can be created.\n   a) 16 system VolumeShapers\n   b) 16 application/client VolumeShapers\n2) Return proper volume before VolumeShaper is started.\n3) Consistent xOffset definition used internally:\n   a) this is now always the position on the volumeshaper curve\n      which can go backwards if in REVERSE.\n   b) normalized time is always forward going and is scaled\n      to 0.f and 1.f depending on progress relative to\n      the curve\u0027s duration.\n4) Fix replace method.\n5) Add comments.\n\nTest: Use updated CTS VolumeShaperTest\nBug: 37536598\nChange-Id: I837ab2a481adc0abbd3f1338bfe2cb79831b11fa\n"
    },
    {
      "commit": "b81da0bd69fb703585f5601b9e712068fff6b4e9",
      "tree": "e119cad1ba260969fa06dcb6e24588b0cb7b466b",
      "parents": [
        "b622f93984da567396b79af08bde231b61dd3169",
        "62d4e07eb5f99bd469f92897e47f5598abef99d3"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed May 10 01:57:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 10 01:57:14 2017 +0000"
      },
      "message": "Merge \"nuplayer: Do not notify EOS when paused\" into oc-dev"
    },
    {
      "commit": "62d4e07eb5f99bd469f92897e47f5598abef99d3",
      "tree": "5e1162ee3e1122881f41d59e1e32351bd4702ef5",
      "parents": [
        "02cccfd9e790ba8758aba2b4f2a600a7d8fd1566"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jun 13 11:23:22 2016 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 09 22:25:32 2017 +0000"
      },
      "message": "nuplayer: Do not notify EOS when paused\n\nPlayback switches to next clip if a paused clip is seeked to EOS.\nThis happens as onDrainAudioQueue is allowed to fill buffer\nwhen paused. During drain, EOS is notified even during paused state\nand playback switches to next clip.\n\nAvoid notifying EOS when paused.\n\nauthored-by: Chaithanya Krishna Bacharaju \u003cchaithan@codeaurora.org\u003e\nTest: run mediaplayer\nBug: 38022556\nChange-Id: I8261219615f4ce726e03d02b0cb3e71889a711d0\n(cherry picked from commit b99e3649f468015f5156e71d02b11c2e2c236c58)\n"
    },
    {
      "commit": "76e360332d7e0e4c0c132bf712c14f5a8ee2a217",
      "tree": "9eddbd0c3c34595aa2dc83cf2d217fc11ff6daa8",
      "parents": [
        "0e69c9e25152b08a188ef254065e044594eba896",
        "116687f5c0bd31d8c890d3456213e0391b8cbf87"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 20:30:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon May 01 20:30:26 2017 +0000"
      },
      "message": "Merge \"GenericSource: close unused file descriptor\" into oc-dev"
    },
    {
      "commit": "116687f5c0bd31d8c890d3456213e0391b8cbf87",
      "tree": "5d5deeab6610b3d76b20bbe0da6007d6981666bd",
      "parents": [
        "abbb67724e5600c17450ed148fb2c214c5aac9ee"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 09:51:40 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 01 11:26:00 2017 -0700"
      },
      "message": "GenericSource: close unused file descriptor\n\nTest: dumpsys media.player with photos, ringtone\nBug: 37792834\nChange-Id: I04e0f05ea642e3bfe5e6af12bfabea69838716b4\n"
    },
    {
      "commit": "64f9ce291f2a8e8b89ba1682660299312148c1de",
      "tree": "19aae08c806f3d0417724257c5b8501914f1d98d",
      "parents": [
        "a01a7ff652eb163984f1ba9aacba5b8e9e0e44a9",
        "ff63de757653579d751665bc3611571fbcacf53d"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Sat Apr 29 00:45:46 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 29 00:45:48 2017 +0000"
      },
      "message": "Merge \"Reporting the player\u0027s data source type in media analytics\" into oc-dev"
    },
    {
      "commit": "ff63de757653579d751665bc3611571fbcacf53d",
      "tree": "a7abce0f9f1994088f057fcff666fb97282d6272",
      "parents": [
        "89b67d60548f8989412aa9cb6ad8a5f287ce303b"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Apr 26 15:10:42 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri Apr 28 11:15:27 2017 -0700"
      },
      "message": "Reporting the player\u0027s data source type in media analytics\n\nBug:  37720861\nTest: metrics dumpsys\nChange-Id: I44eb7049f10aa4f89c9e7b0de6b47d169129d15d\n"
    },
    {
      "commit": "abbb67724e5600c17450ed148fb2c214c5aac9ee",
      "tree": "a0e69e95d33d6ccfe9d881d5159e46b838f419bd",
      "parents": [
        "a28ec4a3f8357224b59fc44b6c91751fc1d8451c",
        "39399b6b08b4e9fd7eae50e58e93b07216ad697f"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 27 16:19:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 16:19:41 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Improve restore\" into oc-dev"
    },
    {
      "commit": "a28ec4a3f8357224b59fc44b6c91751fc1d8451c",
      "tree": "84d60767098680a458f1f20c585e5f6a5c6f46fc",
      "parents": [
        "4271c82efd7c59f6e75e09fa748769bad4cfeee2",
        "dd4ce1877814d6fb005e89021272feb3ccfb81d0"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Apr 27 13:42:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 27 13:42:18 2017 +0000"
      },
      "message": "Merge \"Modular DRM for MediaPlayer/Removing mimes report\" into oc-dev"
    },
    {
      "commit": "dd4ce1877814d6fb005e89021272feb3ccfb81d0",
      "tree": "c881295cd82baf8c3d1f2d7045f833c8ab3cb1ae",
      "parents": [
        "5551797eb2d813ef01e23eb93fd680bc1e0dd886"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Apr 20 15:25:39 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Apr 26 21:58:23 2017 +0000"
      },
      "message": "Modular DRM for MediaPlayer/Removing mimes report\n\nBug: 34559906\nTest: GTS Tests\nChange-Id: I6877b9ac4ffd36f0ed476c3b4bbb0770da5abaf6\n"
    },
    {
      "commit": "39399b6b08b4e9fd7eae50e58e93b07216ad697f",
      "tree": "04c78ddb6186a54c9e0118a0b8f5270cdfc9d720",
      "parents": [
        "94cfe137a105ec7db047e963e18483425e0d2272"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 21 15:07:45 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 26 10:45:25 2017 -0700"
      },
      "message": "VolumeShaper: Improve restore\n\nConsider whether VolumeShaper has been started or not when\nrestoring (position). If the VolumeShaper hasn\u0027t been started\nwe restore in that state.  If it has been started already,\nwe advance to the end assuming the duration has been played out.\n\nTest: CTS and headset / kill audioserver\nBug: 37536598\nChange-Id: I4b55dca6f6a859563fd20bad4c8f67d2c92321c0\n"
    },
    {
      "commit": "087f3af6ceee8fe61a27901c7c910218664265c0",
      "tree": "002b6eec341890f17136b300397be1b8147b0037",
      "parents": [
        "68d06eae7fdee42da33a0ef7bce3585f155067d6",
        "161dc698c7604cfd73310e96503179581822943b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 25 00:24:00 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 00:24:01 2017 +0000"
      },
      "message": "Merge \"MediaPlayer: enable more logs for extractor failure.\" into oc-dev"
    },
    {
      "commit": "161dc698c7604cfd73310e96503179581822943b",
      "tree": "2acd2a9acd1a46917046266ba7146237384ea152",
      "parents": [
        "b6ed37ed0e1176c3458294abae0ea1b11c30d44f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 20 16:40:06 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 24 15:25:00 2017 -0700"
      },
      "message": "MediaPlayer: enable more logs for extractor failure.\n\nTest: compiles\nBug: 37273297\nChange-Id: I53c6393e0c306c64ec4aa81c45e5ff6e8de233d8\n"
    },
    {
      "commit": "c84e294c4b1cea79d8194898000881fc96c9a8c8",
      "tree": "0175d8c8c92994ea86e8c1b3ee32e5543ab58861",
      "parents": [
        "6534425f9f508561928fa5c39dd315fd4c354060",
        "37ff0e6639e90ca49d4f0386a76c09437b459efd"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 21 23:00:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 21 23:00:48 2017 +0000"
      },
      "message": "Merge \"NuPlayerDecoder: check mCodec before dereferencing it.\" into oc-dev"
    },
    {
      "commit": "37ff0e6639e90ca49d4f0386a76c09437b459efd",
      "tree": "a40d9d2f79dd9e3822335741afb8470efec038fc",
      "parents": [
        "b6ed37ed0e1176c3458294abae0ea1b11c30d44f"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 21 11:24:45 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 21 11:24:45 2017 -0700"
      },
      "message": "NuPlayerDecoder: check mCodec before dereferencing it.\n\nTest: media cts tests\nBug: 37538141\nChange-Id: Ib95fd4786242d6742f3bdc7aab28f79d43e8da81\n"
    },
    {
      "commit": "22dc508717c7767927064ec7c152def99e54adcb",
      "tree": "7590c5e895632e3a7e8bf20f7a09299f6a1b8dca",
      "parents": [
        "24059088a46160f731903cc66404184a531d0478"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 20 05:12:55 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 20 18:35:08 2017 -0700"
      },
      "message": "Make IGraphicBufferSource::setTimeLapseConfig take fps\n\nTest: Manual use of Camera, Movies, Photos and YouTube apps.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\n\nBug: 37302530\nChange-Id: Id0d4f7fed57349a2f5484f6b6264981471e8f022\n"
    },
    {
      "commit": "a821d858116ef87995f1c1cb404810852b684863",
      "tree": "d8bdc1187512b1ffeca84f445422f928b671ea3d",
      "parents": [
        "5c1b4f3a1d42f1a9eeecb20881c28d48edec4f90"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Apr 14 12:12:02 2017 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Apr 19 14:27:32 2017 -0700"
      },
      "message": "Revise capture interval calculation in StagefrightRecorder\n\nBug: 37302530\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.MediaRecorderTest\nChange-Id: Idfb4aea475a40f928380835db9e6f304fe435377\n"
    },
    {
      "commit": "2f6d8c555f235181ef954757aea9f2badbcdfa3c",
      "tree": "dabd6a47f6887b12790be06a221ce7eaf31b554a",
      "parents": [
        "dab5aae9390dccda539c2c805904440bc1e41e9e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 11 09:50:31 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 11 09:50:31 2017 -0700"
      },
      "message": "NuPlayer: fix notification when one track is not played.\n\nOne track is not played because it has no sink component.\nTest: pass failed cts test\nBug: 37216899\nBug: 24761723\n\nChange-Id: I669d59d6c193794da8973b9dd58bc8eac0b51996\n"
    },
    {
      "commit": "1b8ecbb25f142904e6da47171738b55b6be69e78",
      "tree": "3ed030c10e95991f0ab3edb865e68e0b55e83b3b",
      "parents": [
        "98ace5dd8c4644e86af2c9b533c6d249fa0ff24b",
        "686e8e57299151127c4ae30daf84a21cd947bf65"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Apr 08 00:24:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 08 00:24:12 2017 +0000"
      },
      "message": "Merge \"NuPlayer: notify client of playback error of individual track.\" into oc-dev"
    },
    {
      "commit": "0f0c9b5007ff694d05a91c28359db0553e4dd061",
      "tree": "74669ec0fa61229d23b863b685bbf162e82ff32e",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:00:23 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:41:03 2017 -0700"
      },
      "message": "Move MediaMetrics into its own library\n\nChanges for the new HAL structure have brought about a build time\ncircular dependency between libmedia and libmediadrm. This set of\nchanges the media metrics code into its own library and arranges\nfor the relevant consumers of the media metrics code to link\nto this new library (where they had previously picked it up by\nincluding libmedia).\n\nBug: 36990807\nTest: build, boot.\nChange-Id: I81768eecca88d5e59e6e6e547f29308a94e30c7b\n"
    },
    {
      "commit": "686e8e57299151127c4ae30daf84a21cd947bf65",
      "tree": "8b83bac2735593ddcf6ff21b3c19bfcdde74c88b",
      "parents": [
        "34bc4d97cf78920b4b38983767ef8b725424e1dd"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Apr 03 14:08:01 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Apr 05 13:20:33 2017 -0700"
      },
      "message": "NuPlayer: notify client of playback error of individual track.\n\nTest: mediaplayer doesn\u0027t send error notify to client when only one\ntrack has error.\nBug: 24761723\nChange-Id: Ie956f2c29483ac722a75bea86d649ce6d934a43d\n"
    },
    {
      "commit": "fe3471f63bfcd829ecd33c8633f6f3b2ef57ad7c",
      "tree": "64b8211b343e7f2b182847bef2af99c79f110e73",
      "parents": [
        "e786547c7ebc199ba84dfcd3601fbbb666d9fa61",
        "c387f2b719a1a26c8306f77d79cc9a6f26b36813"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 04 23:06:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 04 23:06:23 2017 +0000"
      },
      "message": "Merge \"NuPlayer : send the correct streaming info while opening audio sink\" into oc-dev"
    },
    {
      "commit": "c387f2b719a1a26c8306f77d79cc9a6f26b36813",
      "tree": "e4c2e37b3345678d92b0f7208367a596910f0241",
      "parents": [
        "34bc4d97cf78920b4b38983767ef8b725424e1dd"
      ],
      "author": {
        "name": "Dhananjay Kumar",
        "email": "dhakumar@codeaurora.org",
        "time": "Thu Aug 06 10:43:16 2015 +0530"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 04 10:29:40 2017 -0700"
      },
      "message": "NuPlayer : send the correct streaming info while opening audio sink\n\n -For any offload playback NuPlayerRenderer always open the audio sink\n  with isStreaming info as true.\n -Pass the streaming info to the NuPlayerRenderer while opening audio\n  sink\nTest: cts tests\nBug:36051644\nAuthor: Preetam Singh Ranawat \u003capranawat@codeaurora.org\u003e\nChange-Id: I249e6769ef4587917a13b0225d049a3923544d16\n(cherry picked from commit b2444b392d0d5de4118d37a24f4351f9de5c215d)\n"
    },
    {
      "commit": "71c8e5c9565af4745cfd7ff0e327da1a27d77bf7",
      "tree": "f5101967183477b764ef1236022e8049bc9d547a",
      "parents": [
        "58a220fe06957cf7f0325cc9509947f1602e2986"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 03 15:50:27 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 03 16:18:19 2017 -0700"
      },
      "message": "NuPlayer: Use deep buffer AudioTrack for video playback\n\nThis reduces power requirements and increases robustness against\naudio glitches.\n\nTest: Photos\nBug: 36867565\nChange-Id: I200728cfc1bfd01301441c8759816415abe58d48\n"
    },
    {
      "commit": "68479893333783d2c05ad43d5f32c8a41ee43c12",
      "tree": "5eb6136f1d9816bd2c1e47134ba340fa6be3455c",
      "parents": [
        "2fdf283c82b24caf4150b32b5e893322a3e3524b",
        "73c3e6363b31fb27882c4666453ad8ef050b3cc1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Apr 02 07:28:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Apr 02 07:28:39 2017 +0000"
      },
      "message": "Merge \"MediaRecorder: Handle 24-hour timelapse duration\" into oc-dev"
    },
    {
      "commit": "1cbe62c82a8bfdb18a5bb79de57252dbd378445c",
      "tree": "13379a463ac11808ee9084d2760d5c37542bbf69",
      "parents": [
        "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Mar 30 17:57:02 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Sun Apr 02 01:02:00 2017 +0000"
      },
      "message": "NuPlayer: handle source error correctly.\n\nTest: source error is sent to app.\nBug: 35025627\nChange-Id: I668bab0de20cf24def028a6a467efceaed54af2b\n(cherry picked from commit 231fd353518502e3a05021473ae60e7addd9a46c)\n"
    },
    {
      "commit": "32efa2fd44f9ac834771663cd9fe2fcc5f5ec2f8",
      "tree": "f2bf78c296d10bcea7abf4697a119631cafcf922",
      "parents": [
        "565a0ed7f805eb7bb3c4c33bc08386eb67fdaa27",
        "2e82d3167a4117134293f1c705be60a7a31ed3bc"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat Apr 01 00:09:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 01 00:09:34 2017 +0000"
      },
      "message": "Merge \"Nuplayer logging empty records to media.metrics\" into oc-dev"
    },
    {
      "commit": "73c3e6363b31fb27882c4666453ad8ef050b3cc1",
      "tree": "2ad6c651caf6ff9a235d5cbdbd4dacfa47c89953",
      "parents": [
        "565a0ed7f805eb7bb3c4c33bc08386eb67fdaa27"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Mar 28 13:03:53 2017 -0700"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Mar 31 21:40:00 2017 +0000"
      },
      "message": "MediaRecorder: Handle 24-hour timelapse duration\n\nHandle FPS in double / 64-bit integer and allow room for error.\n\nBug: 34870132\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.MediaRecorderTest\nChange-Id: I371d22d9ae70e2d77b08bd6c501e8b34a71592d1\n"
    },
    {
      "commit": "4d5f24ab62f5892ff1b0fac046fc0ccdb870cc47",
      "tree": "2010424489aadd3b5723a3af925cafa1b14f1b9b",
      "parents": [
        "02b96f062a59319489c1b46617479e99805bf4e5",
        "d4e9ca49a3863beeb0027f51e2331e4c5ec2402b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 31 03:01:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 31 03:01:49 2017 +0000"
      },
      "message": "Merge \"Remove dependency on persist.hal.binderization.\" into oc-dev"
    },
    {
      "commit": "2e82d3167a4117134293f1c705be60a7a31ed3bc",
      "tree": "bfcc3c3fcd82d75559b0de915b295962a6fa66e0",
      "parents": [
        "34bc4d97cf78920b4b38983767ef8b725424e1dd"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Mar 27 16:35:08 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 30 16:17:37 2017 +0000"
      },
      "message": "Nuplayer logging empty records to media.metrics\n\nChanges to ensure that nuplayer always reported a particular set\nof metrics through android.media.MediaPlayer.getMetrics() changed\nthe shape of what we should have considered as an empty record.\nThis caused some noise in the reported media metrics logs.\n\nAlso removed a no-longer-wanted ALOGD() diagnostic.\n\nBug: 36658856\nTest: read \u0027dumpsys media.metrics\u0027 output\n(cherry picked from commit e4ae17109893b6388299a1f46585fb5d00a0a70e)\n\nChange-Id: I2400e3636bb395aa5f46faf0142b2767f4fad610\n"
    },
    {
      "commit": "d4e9ca49a3863beeb0027f51e2331e4c5ec2402b",
      "tree": "06901a3ffc0c76fea0ad2d4a43a91ffc6ca5441e",
      "parents": [
        "f3134a01aa2574f8ab62f58f1a76b77029201196"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 29 17:24:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 29 17:39:26 2017 -0700"
      },
      "message": "Remove dependency on persist.hal.binderization.\n\nTest: Manual use of Camera, Movies, Photos and YouTube apps.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\n\nBug: 34274385\nChange-Id: I5251fea337f33460d1f0db174cedc465822f2a47\n"
    },
    {
      "commit": "d49dbd6b625cddb82f3f7bbeac62d48ef338ef0f",
      "tree": "297315edf06765b4b3b114aaf07499e52a53743c",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jul 07 14:20:35 2016 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 29 17:52:51 2017 +0000"
      },
      "message": "Allow MediaExtractor to create FileSource\n\nRemove binder call to MediaServer for reading files.\n\nTest: Photos, Play Music, Play Movies, Youtube\nBug: 29125703\nChange-Id: Id6abf592bf6d70b81158f6038b1982f0a537b9b9\n"
    },
    {
      "commit": "c25045633b32bb0057e96dad49822d1d9ce99c0f",
      "tree": "fd86a63c292dedbc7e0da6b6f94d2e53c1971906",
      "parents": [
        "397ddfb447810cd17c65d695635b76aec514acdd",
        "23b3803bf8070f79031a65713c75f4609be95ccf"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Mar 22 18:02:38 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 22 18:02:39 2017 +0000"
      },
      "message": "Merge \"MediaRecorderClient: Fix binder dereference while connecting to camera\""
    },
    {
      "commit": "23b3803bf8070f79031a65713c75f4609be95ccf",
      "tree": "b32b0ec2100cab7837b765d4ad4a8411e9020660",
      "parents": [
        "7ec2a45e48f6c24a5e8fa96416d8793329b79d2f"
      ],
      "author": {
        "name": "Mahesh Lanka",
        "email": "mlanka@codeaurora.org",
        "time": "Tue Jan 31 18:22:57 2017 +0530"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Mar 20 10:43:45 2017 -0700"
      },
      "message": "MediaRecorderClient: Fix binder dereference while connecting to camera\n\nIServiceManager.getService can return NULL. Check for NULL and\nreturn NO_INIT on failure.\n\nBug: 34870127\nTest: adb shell am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nChange-Id: I6d71f8c0e89a556e64f5250ba1ab742e485f1ebc\n"
    },
    {
      "commit": "5409770c9d3765279a063e828ec0cf55797fd686",
      "tree": "458fa4a630bc7176a32a163c347b12d5c19d9758",
      "parents": [
        "98d51861b0e72039cdedc589301979c17083f650"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 17 16:18:35 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat Mar 18 17:17:13 2017 -0700"
      },
      "message": "update metrics for mediaplayer\n\nrework for a better guarantee of what is always present\nin return value for android.media.MediaPlayer.getMetrics()\n\nBug: 36355865\nTest: ran cts \"android.media.cts.MediaPlayerTest\"\nChange-Id: Ieb6d14298e676fff7152dea5f7a9a66f7f7476a4\n"
    },
    {
      "commit": "9c544bb666bc990812422797c326a76a1bf53beb",
      "tree": "50d30c6c6be5517b02a2bf0b5e6af2e728d0d7a2",
      "parents": [
        "7929582fd0e3aab70a144b46aca3617340e432a9",
        "afb43f76821e6a63e17e6484289a40430ada6978"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 16 01:02:16 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 16 01:02:26 2017 +0000"
      },
      "message": "Merge \"Name changes to Media Metrics Keys\""
    },
    {
      "commit": "107488f4d20f3c4595a78ae33ba2f38bca0a50b9",
      "tree": "72ad5bca9911b3d92ecbe0377871b7cbd4a4daf1",
      "parents": [
        "899f77210153f84de08084417d993e1f042fa871",
        "04563aafa0debc95d50951ca944abf37ef2777ce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 15 20:55:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 15 20:55:46 2017 +0000"
      },
      "message": "Merge \"Move hybrid interface from libbinder to libhidl/transport.\""
    },
    {
      "commit": "04563aafa0debc95d50951ca944abf37ef2777ce",
      "tree": "27f23c70a302d8d8740b62c569a7d5ee48418aad",
      "parents": [
        "0e4b8e9cb1b422195c49be49b48d039aa0814acf"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 09 07:02:01 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 14 17:13:37 2017 -0700"
      },
      "message": "Move hybrid interface from libbinder to libhidl/transport.\n\nAlso, merge android.hardware.media.omx@1.0-impl into libstagefright_omx.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Manual use of Camera, Photos, Play Movies and YouTube apps.\nTest: Manual use of screen mirroring.\n\nBug: 33854657\nChange-Id: Ie927bcafd86dc7e9509bb8b76bb3b51f9a423cc7\n"
    },
    {
      "commit": "e7a1f6c8c18306aa61fd9587811fa20f7937b3c6",
      "tree": "2457317edcc16398b32f6e15147d73b82c08842f",
      "parents": [
        "22fd9de35b387f1ed808f4fe6e0b87eac3e82690"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue Mar 14 09:24:28 2017 -0700"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue Mar 14 09:24:28 2017 -0700"
      },
      "message": "Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\nChange-Id: Iac811acbd8078c1f7549730f2fdb5ebfa8937c9f\n"
    },
    {
      "commit": "afb43f76821e6a63e17e6484289a40430ada6978",
      "tree": "e68ad4984dcf2a7c90fb789c004fbe3ce593fc5b",
      "parents": [
        "22fd9de35b387f1ed808f4fe6e0b87eac3e82690"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 09 10:23:55 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Mar 13 11:48:22 2017 -0700"
      },
      "message": "Name changes to Media Metrics Keys\n\nThe API council noticed that we used keys like \"ht\" and \"wid\" which\nare more properly namespaced like \"android.media.mediacodec.height\".\nThis changes those keys on the generation side of the system; it goes\ntogether with other changes that document the namespaced-names in the\nconsumption and documentation side of the system.\n\nBug: 35811992\nTest: check \u0027dumpsys media.metrics\u0027, subset of CTS\nChange-Id: Ie05a105229ab931a6b14c0157cc642b5d8413dde\n"
    },
    {
      "commit": "6957962727b094263139f81b2c3172aef4b63188",
      "tree": "abdc7a909a9f1289af4c487e2ae1b1f98d341310",
      "parents": [
        "622761ea1155d31aa9e2bdb13fe096800a11f091"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue Mar 07 09:16:52 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Tue Mar 07 10:12:22 2017 -0800"
      },
      "message": "Fix for the occasional prepareDrm/releaseDrm deadlock\n\nBug:  36023772\nTest: Manual through GTS tests\nChange-Id: Id2e8e5390231aa27e8f9a66613c2be6ce86e23a0\n"
    },
    {
      "commit": "8a750be2b732f523e5c3ee2b979252ade029122a",
      "tree": "f19e4717a2fceafc532d8dc784507087cc186c79",
      "parents": [
        "2928d74e1e6ed54ee80778de0fe1c988e2a0f1b5"
      ],
      "author": {
        "name": "Santhosh Behara",
        "email": "santhoshbehara@codeaurora.org",
        "time": "Mon Sep 28 16:03:55 2015 +0530"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 02 14:19:01 2017 -0800"
      },
      "message": "httplive: Ignore seek request for livestreaming\n\nCheck added in HTTPLiveSource to throw error if seek\nis called in live streaming usecase.\n\nChange-Id: I3501172c0c03ecc662f2b9b18254e093d23c9f1f\n"
    },
    {
      "commit": "25b1328fdb2e1ea2ad38764fb7e55a611f27a423",
      "tree": "fd304902ee6a6bd80267fd48c2294ba502cae7bf",
      "parents": [
        "421c434e615a417d9f5443af9e52a30e3b29c256",
        "aaa4dfa3c854523b2935b7958d4c4a24498b7ce3"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Mar 01 18:01:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 01 18:01:19 2017 +0000"
      },
      "message": "Merge \"NuPlayerDriver: avoid deadlock.\""
    },
    {
      "commit": "aaa4dfa3c854523b2935b7958d4c4a24498b7ce3",
      "tree": "f7a4538c9ee72f25eda149d3fa3ba81b28cc21c5",
      "parents": [
        "8eacd8090e16c022dcbb11850cff83f984fe2357"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 28 17:22:59 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 28 17:25:13 2017 -0800"
      },
      "message": "NuPlayerDriver: avoid deadlock.\n\nTest: manually run mediaplayer\nBug: 32524218\nChange-Id: I343ce8c1844ae4d8338d9a0d7aaa171462715912\n"
    },
    {
      "commit": "4ef88d7106c01f81109ee163cb6789073d80c6ae",
      "tree": "b851ebaf0b55c4d8174dd4a744352a3d4513beee",
      "parents": [
        "10cbff139360f3f642e0e3b3ccf2d463dbed22cf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 21 19:47:53 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 24 21:05:58 2017 -0800"
      },
      "message": "VolumeShaper: Add AudioTrack restore\n\nMediaPlayer VolumeShaper can now be set before start().\n\nTest: CTS and Ducking\nBug: 31015569\nChange-Id: Idf63c167e164161b200e2467fbeb9409b3097dbe\n"
    },
    {
      "commit": "e2b43843fd12783188edd2c54188ea8d26864788",
      "tree": "baab518964134359128ed35e5ebfc36cf977cde4",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Thu Feb 02 13:35:37 2017 -0800"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Feb 24 11:47:45 2017 -0800"
      },
      "message": "Moved headers from include/ to appropriate libs\n\ninclude/camera -\u003e camera/include/camera\ninclude/media/audiohal -\u003e media/libaudiohal/include\ninclude/media/AudioResampler*.h -\u003e media/libaudioprocessing/include\ninclude/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -\u003e media/libaudioclient/include\ninclude/media/EffectsFactoryApi.h -\u003e media/libeffects/include\ninclude/media/stagefright -\u003e media/libstagefright/include\ninclude/media/nbaio -\u003e media/libnbaio/include\ninclude/media/\u003crest of files\u003e -\u003e media/libmedia/include\ninclude/cpustats -\u003e media/libcpustats/include/cpustats\n\nAdded symlinks from old location to new ones\n\nBug: 33241851\n\nTest: VNDK linked modules will need to add explicit lib dep.\nAll other modules should compile the same\n\nChange-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669\n"
    },
    {
      "commit": "1837b033310c186008ce243fd091badf28c954e7",
      "tree": "82b9971b658eef3a09544136fc224e5a3cac4485",
      "parents": [
        "c61a1f2939cf8924dfc680428fdb984f0eea0a93"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Tue Feb 21 20:34:33 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Thu Feb 23 15:30:32 2017 -0800"
      },
      "message": "fallout of libandroid.so split\n\nTest: compiled \u0026 booted\nBug: 35164655\nChange-Id: I6e0a2fdca1a7ab779011a81e7ccb17a7b2f2d67e"
    },
    {
      "commit": "7e0c3c3e93cdf0d1fe59b82e8bc9c7c2fa678faf",
      "tree": "f84175c38a7eecfd339e89b2a8b908ece9a6e2ed",
      "parents": [
        "373580e1d51d3e89c16612998a10105fea09c3c5"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:15:02 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:15:02 2017 -0800"
      },
      "message": "Revert \"OMX: don\u0027t respect binderization toggle.\"\n\nThis reverts commit 373580e1d51d3e89c16612998a10105fea09c3c5.\n"
    },
    {
      "commit": "373580e1d51d3e89c16612998a10105fea09c3c5",
      "tree": "b827b264c0c291c8f1e51a5f34185bab836b2c30",
      "parents": [
        "92a4bab4807d6a6736587e99094a10c420aa0a7d"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:11:46 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:11:46 2017 -0800"
      },
      "message": "OMX: don\u0027t respect binderization toggle.\n\nTest: pass\nChange-Id: I495c71b0a39ae8423e109219f8f5e96812fe2aa1\n"
    },
    {
      "commit": "ea42da480ddd116cb70f2c8a7642df7c12b996af",
      "tree": "a1acf6c39eb4ff9c9cea984bca17ade294937405",
      "parents": [
        "c0a3f679109769d8fb43b66fccbe47f8c505d12e",
        "ac4e4189db77dc0af7671b162d11be5ccec69339"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Feb 17 22:39:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:39:36 2017 +0000"
      },
      "message": "Merge \"Media metrics for android.media.MediaRecorder\""
    },
    {
      "commit": "bc1713d3b85d7ce656e032da6e4b6b342f14db03",
      "tree": "df2747b33b188cf3b5af2505d1076984120ddc8d",
      "parents": [
        "87251eee475a53599b980334df777326fa8e1527"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 13 18:37:50 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 12:25:14 2017 -0800"
      },
      "message": "fallout of splitting rect.h out of libandroid.\n\nA lot of media makefiles didn’t specify libui or\nlibgui but included headers from these libraries\ndirectly. \n\nIt works because these headers are on the global\ninclude path. With this change, though, rect.h\nis not anymore (albeit exported from libui).\n\nTest: built and booted device\nBug: 35164655\nChange-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe"
    },
    {
      "commit": "ca8126c04c91b6b5030be2e2c8cff786c160faac",
      "tree": "376bdbb9e6d0f96c8c229594eb14971e2fb9af6c",
      "parents": [
        "09b92c347ddcaf751571363e54a769eb4b95edd3",
        "181fd9b5b64bab24bb49a34208f60a16e98488c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 19:38:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 19:38:52 2017 +0000"
      },
      "message": "Merge \"stagefright: verbose logging for media connect/disconnect\""
    },
    {
      "commit": "4e288ee443a44201de74c0bd3651e258062ae821",
      "tree": "ceea71c52dcbdd91fae230122efb00411cba787e",
      "parents": [
        "67a155a2ee89e7fed3eb079cc7af929c74a21f7a",
        "50b20c9ec88a09147cd76ab5658b079bb061bff3"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri Feb 17 04:36:21 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 04:36:21 2017 +0000"
      },
      "message": "Merge \"Removing source stop at flush for Modular DRM\""
    },
    {
      "commit": "181fd9b5b64bab24bb49a34208f60a16e98488c5",
      "tree": "01f5f3e2cd59acbe4a3c7d92f09ff1f5418af206",
      "parents": [
        "42a5de6da0084fd430c70d58671559f71c738cf0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 16 15:53:03 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 17 03:06:13 2017 +0000"
      },
      "message": "stagefright: verbose logging for media connect/disconnect\n\nbug: 35364355\n\nChange-Id: I7b5f0aecf98733255cc27b091fea78298fa7e602\n"
    },
    {
      "commit": "50b20c9ec88a09147cd76ab5658b079bb061bff3",
      "tree": "eb8bf06eaacfe1c31123767c3a5d5950d2d6edaf",
      "parents": [
        "6ab6061131a10b7f38074c156fd529fa3719a32b"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Feb 16 18:28:58 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Feb 16 18:28:58 2017 -0800"
      },
      "message": "Removing source stop at flush for Modular DRM\n\nBug:  35445244\nTest: Manual through the test app\nChange-Id: Id25f033b0a4c99ea4838d397a67c610458226394\n"
    },
    {
      "commit": "42a5de6da0084fd430c70d58671559f71c738cf0",
      "tree": "f000de2274c93d2bc42ee4ef703940a1216568f6",
      "parents": [
        "9c47c97ecac581d66b6febafd156618247e86742",
        "764d945bfdb9dec60f2b482fbf6c5e83824ed950"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Feb 17 00:26:04 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 00:26:05 2017 +0000"
      },
      "message": "Merge \"media: Support accurate pause/resume/stop in GraphicBufferSource.\""
    },
    {
      "commit": "764d945bfdb9dec60f2b482fbf6c5e83824ed950",
      "tree": "2967f3bc3b05f0fffd413b23f20049412d8910e7",
      "parents": [
        "4441393a9d9830de8b059b279127c6b558f194ba"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Dec 13 13:07:45 2016 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Feb 16 14:33:01 2017 -0800"
      },
      "message": "media: Support accurate pause/resume/stop in GraphicBufferSource.\n\nProcess all buffers that have been queued to the encoder on\nStagefrightRecorder::pause()/stop(). Furthermore, add timestamp support for\npause/stop. Buffers willi keep getting encoded until 1) a buffer with a higher\ntimestamp is queued, or 2) the bufferqueue is abandoned by the producer.\n\nTest: Recording with hacking GoogleCamera timestamp. And Mediarecorder CTS test.\nBug:32765698\nChange-Id: I9ec33d635aef269836d7a5d9f4b906cb41b46a0d\n"
    },
    {
      "commit": "9c47c97ecac581d66b6febafd156618247e86742",
      "tree": "c49b5394e42b293c0333754bf01c71d387227833",
      "parents": [
        "6ab6061131a10b7f38074c156fd529fa3719a32b"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 08 04:09:38 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Feb 16 11:16:06 2017 -0800"
      },
      "message": "Enable full migration of OMX to Treble.\n\n1. Toggling between Treble and non-Treble OMX will now be controlled by\ntwo properties: \"persist.hal.binderization\" and\n\"persist.media.treble_omx\". (Before this CL, this was controlled by\n\"debug.treble_omx\".)\n- If persist.media.treble_omx is not set, it will assume a default value\nof -1.\n- If persist.media.treble_omx is -1, persist.hal.binderization will be\nused to determine whether OMX will be created as a Treble or non-Treble\nservice.\n- If persist.media.treble_omx is 1, OMX will be created as a Treble\nservice.\n- If persist.media.treble_omx has any other value, OMX will be created\nas a non-Treble service.\n- persist.media.treble_omx can be changed without rebooting, but it will\nonly take effect after media.codec and mediaserver processes are killed.\n\n2. Remove all dependencies on non-Treble service. This was not done for\nMediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright\ncommand, and omx_tests command. OMXClient and media.codec process will\nnow pick the right version of OMX based on properties mentioned above.\nBefore this CL, media.codec would always present the non-Treble version\nof OMX regardless of the flag.\n\n3. Provide workarounds for some HIDL issues.\n- A sequence of nested binder and hwbinder calls require many threads to\nhandle. (b/35283480) The workaround is to increase the number of threads\nin the thread pool of media.codec process.\n- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer\ninstead of a weak pointer. (b/35233970) This causes an infinite\nrecursion in the destructor of ServiceDeathNotifier in\nMediaPlayerService::Client and MediaRecorderClient. The workaround moves\ncalls to unlinkToDeath() outside of the destructor.\n\nTest: Recorded and played videos with Camera app. Ran stagefright and\nomx_tests commands.\nBug: 31399200\n\nChange-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a\n"
    },
    {
      "commit": "45f1885997769b04b2c64b201c549724f50057fd",
      "tree": "3f371a77b1f44183a4bc07e9c958036755243de0",
      "parents": [
        "9e96ca0a6ba77d7d02988646314a3bd74e4ea084",
        "06a7081e96369d8c892c492c9158559167f57c27"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Feb 16 06:02:25 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 16 06:02:26 2017 +0000"
      },
      "message": "Merge \"Fix format string for Modular DRM for MediaPlayer\""
    },
    {
      "commit": "06a7081e96369d8c892c492c9158559167f57c27",
      "tree": "f6bb76a6aa7351fa564736306476d84d5c0b1f5f",
      "parents": [
        "9d4a8cf733e92d1cee181246ceeeee43d5f209d5"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 21:57:45 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 21:57:45 2017 -0800"
      },
      "message": "Fix format string for Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\nChange-Id: I60e7ee225c5fdfe6d4f1f338059f5d65cdb704c1\n"
    },
    {
      "commit": "e00e39229dedbd424438a3c8a9f88104aaf8bfc6",
      "tree": "2d3aca6bc19ff39f92364fbc4bd39afb4ddbfc75",
      "parents": [
        "9d4a8cf733e92d1cee181246ceeeee43d5f209d5"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 20:24:41 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Thu Feb 16 05:07:24 2017 +0000"
      },
      "message": "Fix format string for Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\nChange-Id: I3cf239b0e4b25f5a5040f3f2394fc17eff55123c\n"
    },
    {
      "commit": "cefac14261a32fb856b0d1ab31541787112e306e",
      "tree": "d6fb3a4890929e05a5ffccc2d09c0b9da3d6bddc",
      "parents": [
        "2f77a2229be73b222098c45aed73728842667e12"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon Feb 06 21:02:02 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Wed Feb 15 18:15:37 2017 -0800"
      },
      "message": "Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\n\nChange-Id: I286f9ff199c34563b7b8643de725f8d1534ea06c\n"
    },
    {
      "commit": "ac4e4189db77dc0af7671b162d11be5ccec69339",
      "tree": "7ab5eca97ac9179fc6218fb5e19cd396c4a43e6d",
      "parents": [
        "36b31c87807a4f8cd22e73da9bf2df7babdb906e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sun Feb 12 19:26:52 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Feb 15 10:21:12 2017 -0800"
      },
      "message": "Media metrics for android.media.MediaRecorder\n\nunderlying collection of MediaRecorder metrics for getMetrics() API\nand for media metrics cloud analysis.\n\nBug:  35150984\nTest: hacked CTS, observation of \u0027dumpsys media.metrics\u0027\nChange-Id: Ife2ab06158b0015549ed17d52d7f4c35781f5e0f\n"
    },
    {
      "commit": "9fc8b5cd4a64ef07e84c69112461324d5c13a0b0",
      "tree": "2d058e73f09f1822108daad51948a34c420634e3",
      "parents": [
        "ed1abbfc73d4ade0ef08239fc56ac66d70a00a92"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 24 13:36:48 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 13 14:31:46 2017 -0800"
      },
      "message": "VolumeShaper: Initial implementation\n\nThe VolumeShaper is used to apply a volume\nenvelope to an AudioTrack or a MediaPlayer.\n\nTest: CTS\nBug: 30920125\nBug: 31015569\nChange-Id: I42e2f13bd6879299dc780e60d143c2d465483a44\n"
    },
    {
      "commit": "52b94be22ca8b9832729cfc88f247c6e4b9f9218",
      "tree": "4bf1d99d667049edbd1544fd50b04a683668500b",
      "parents": [
        "9aa1dcbccba23378312e63bb0dd2cbe4ef4cb1f9",
        "fc079f79d8d4f6ef9f138aa615486c10dda99fb7"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Feb 08 22:14:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 22:14:24 2017 +0000"
      },
      "message": "Merge \"media: Protect access to writer after free in stagefright recorder.\""
    },
    {
      "commit": "fc079f79d8d4f6ef9f138aa615486c10dda99fb7",
      "tree": "c4470f1dd0a49be0a74f7b03006521ffb2690262",
      "parents": [
        "38f4cbed37d5788e488fd39ccab0c78b07e89207"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Feb 07 16:30:05 2017 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Feb 08 11:38:03 2017 -0800"
      },
      "message": "media: Protect access to writer after free in stagefright recorder.\n\nTest: MediaRecorder Test.\nBug: 34123593\nChange-Id: I030aaeae9b0ee570207c5b0bc73602ae1aa7c115\n"
    },
    {
      "commit": "b16ebe1450d4a1d240175a2a9c0c63563d610f1e",
      "tree": "27a90148a860bb4e9b3136b6ee320c3f43bb2647",
      "parents": [
        "949bd11f057b3cb92256ef6c859b0de7746460d1",
        "66e4c4779f17198dd3cb0b13b97a7943c6eae3e5"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 07 18:43:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 18:43:34 2017 +0000"
      },
      "message": "Merge \"NuPlayerRenderer: Handle AMessage post error in openAudioSink\""
    },
    {
      "commit": "949bd11f057b3cb92256ef6c859b0de7746460d1",
      "tree": "6acd459cdc771789a2c98e3461615fcb4a572c31",
      "parents": [
        "d2b0b504f1762cf31f61fda093b180544acd3b53",
        "3539defd032864d33eed6add4820552f6fc4349b"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 07 18:43:03 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 18:43:04 2017 +0000"
      },
      "message": "Merge \"nuplayer: handle error from MediaCodec in Decoder handleAnOutputBuffer\""
    },
    {
      "commit": "66e4c4779f17198dd3cb0b13b97a7943c6eae3e5",
      "tree": "0b3dbb57a99d9ac09cf650c6aaae580f3d6c8a5c",
      "parents": [
        "d7ae0b8529d0b08496392c85ae4d00753e28882e"
      ],
      "author": {
        "name": "Leena Winterrowd",
        "email": "lenhardw@codeaurora.org",
        "time": "Thu Sep 10 15:41:08 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 03 10:42:35 2017 -0800"
      },
      "message": "NuPlayerRenderer: Handle AMessage post error in openAudioSink\n\nAMessage::postAndAwaitResponse can fail if the target looper no\nlonger exists or if allocation of the reply token fails. Check for\nerror in these cases to avoid deferencing a NULL response.\nTest: compiles\nBug: 34805421\n\n(cherry picked from commit b90c8f42036ea773e938cadd0d52480ac703edd7)\n\nChange-Id: Ib76c111a39462e867a41f320c0ba0a220a0c5641\n"
    },
    {
      "commit": "3539defd032864d33eed6add4820552f6fc4349b",
      "tree": "72f2bffb581700faf6b66da7d69ff731fe36332c",
      "parents": [
        "d7ae0b8529d0b08496392c85ae4d00753e28882e"
      ],
      "author": {
        "name": "Santhosh Behara",
        "email": "santhoshbehara@codeaurora.org",
        "time": "Fri Oct 09 17:32:58 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 02 17:21:56 2017 -0800"
      },
      "message": "nuplayer: handle error from MediaCodec in Decoder handleAnOutputBuffer\n\nMediaCodec could send out message of output buffer available right before\nit hits an error and clears its buffers.\nTest: compiles\nAuthor:    Shalaj Jain \u003cshalajj@codeaurora.org\u003e\n\nChange-Id: Ife308f3b8dc0448bcd1112b13cc0805bf7dedd7d\n(cherry picked from commit 55f70d17df468db2b6691cbd7285a461e812eee4)\n"
    },
    {
      "commit": "03682cda5712958c7bace0670fce5e7432404422",
      "tree": "88cf685fd715cb30a11b5871e12ce3bdfb6ff0ce",
      "parents": [
        "2987b83c782667dd3740f731268fe3372c343fce",
        "6cb337596796996c3095dc8017eb36beba00dab2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 01 03:27:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 03:27:36 2017 +0000"
      },
      "message": "Merge \"libmediaplayerservice:Fix deadlock on gapless start failure\""
    }
  ],
  "next": "6cb337596796996c3095dc8017eb36beba00dab2"
}
