)]}'
{
  "log": [
    {
      "commit": "864323beba6a67807c052d2e9dc0689211a4ae3d",
      "tree": "c0fadcd4e6ed52861d7124645e701477013725bb",
      "parents": [
        "b73c564db40041cd2c34b9b29a004986f668f96d",
        "a13857321fcad0694ce207226be8a46a2e4980a0"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Mon Dec 17 05:04:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 17 05:04:04 2018 +0000"
      },
      "message": "Merge \"AML: Remove unbundling MediaMetadata in MediaSessionRecord\""
    },
    {
      "commit": "a13857321fcad0694ce207226be8a46a2e4980a0",
      "tree": "475df2444ec6e63cf8f77de89fc5a7e291309728",
      "parents": [
        "f5e7cce304b0acb89c82f7bd6342666091135a61"
      ],
      "author": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Fri Dec 07 14:36:14 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Sun Dec 16 17:49:49 2018 +0900"
      },
      "message": "AML: Remove unbundling MediaMetadata in MediaSessionRecord\n\nIn order to record a log when MediaMetadata is unparceled in the\nsystem process, MediaMetadata calls Bundle#setDefusable when it\nis initialized. In order to avoid unnecessarily making\nBundle#setDefusable a public API, this CL removes the unparceling\ninstance in MediaSessionRecord by extracting the necessary\ninformation inside MediaSession and sending them to\nMediaSessionRecord separately.\n\nBug: 119789387\nTest: Build\nChange-Id: I7d44fd05250a291bd8d64850cc3c6f47236f9f62\n"
    },
    {
      "commit": "acf2796db9878a337442b463abb4e73cd3e43c37",
      "tree": "318cad9fe25232a5baf967c832c69f072b3e944f",
      "parents": [
        "159c83c57b8c91a641a6073439f8d1963c8527cf"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 14 11:16:30 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Dec 14 11:16:30 2018 -0800"
      },
      "message": "DataSourceCallback: fix java docs\n\nTest: make offline-sdk-docs\nBug: 112549021\nChange-Id: I4c082f3e9547a768f9327cfaf874f3bba0dab8bf\n"
    },
    {
      "commit": "76740526846fd0af0628f309075467d42e019aad",
      "tree": "4a31ec456b27e4528b75d98f74274771daa275f7",
      "parents": [
        "2c07da7945979f6d3ea73ebb0b452e5ab51514da"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 27 10:26:49 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 13 10:49:51 2018 -0800"
      },
      "message": "AudioEffect: make effect descriptor parcelable\n\nMake AudioEffect.Descriptor class parcelable so that a list of\nactive effects can be included into AudioRecordingConfiguration.\n\nNote: AudioEffect.Descriptor class was made final but it is OK as it\nwas never consumed by any SDK API.\n\nBug: 111438757\nTest: make\nChange-Id: I238b4ea47c613fd2abacc8729d9baf31423283a4\n"
    },
    {
      "commit": "b3c1557892cc65c31a71eeb42f717dd2cd72b0f0",
      "tree": "432fbb865157ab8a54eb005bfa67c53ee14cafc1",
      "parents": [
        "fcfb51fa4ea4c1566f929fd638e4d218aaee694d",
        "d42695defd0c70f72ce80c03e417f40476f613ae"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 21:44:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 21:44:44 2018 +0000"
      },
      "message": "Merge \"AudioPresentation: add toString method\""
    },
    {
      "commit": "24b90d3bab44618e336fc594fea33ff65fbd6e2c",
      "tree": "355d2870b95013f5c4f7fe807513940dc913805b",
      "parents": [
        "dcd62ad6c32070ae4780d87644d6f6dd344d9de9",
        "43c88f346eb370fc740450d67a79652599e7698c"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Dec 12 21:20:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 21:20:26 2018 +0000"
      },
      "message": "Merge \"Add media2 build target to prevent hidden API usage in MediaPlayer2\""
    },
    {
      "commit": "04c132139f8805ffef8e364ba3412bed0b72580e",
      "tree": "3d1f2cb98cbcbc9f003d1392bf5dbb6bde89e66d",
      "parents": [
        "eb45862718a92a61500c4324d312ade40ab76be9",
        "5e05320c7239601327c4a1689d1b2fb6d30c493d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 17:54:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 17:54:40 2018 +0000"
      },
      "message": "Merge \"Add AudioPresentation selection support for MediaCodec\""
    },
    {
      "commit": "447bedc7faa8269cf40140f2629ba7c68b5aa9de",
      "tree": "bc1fc8370f1f7277b2c37ee697a863a3f8297a21",
      "parents": [
        "4258dfea23dcbecfd1b037556084c64cbeba36a4",
        "4ba6b69c95e42f7dfa569e3aaa31ac3c406cbcf1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 12 17:18:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 17:18:57 2018 +0000"
      },
      "message": "Merge \"Opus Encoding plumbing\""
    },
    {
      "commit": "e77ff79fdb4ff3293b0d6da13d8160f54e0ece80",
      "tree": "1c0024cde6da40a77bc83355fd3e2cd29b40cbfa",
      "parents": [
        "d714138d893f590348ccebc7e8b1103e48771ce1",
        "66f859135b1458fe3514ee14b60e583767b47599"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Wed Dec 12 13:43:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 13:43:34 2018 +0000"
      },
      "message": "Merge \"API: Clean up redundant and ineffective usages of SystemApi and TestApi\""
    },
    {
      "commit": "f7e01a4ac4c983a1804500b8d2e71a8ab28ec423",
      "tree": "1d5dd483e20065eeeeeb19fdd9a4e5db3a05f6bb",
      "parents": [
        "678b7039fc0b059036bf456923d5418d3fb1a5d9",
        "66f9e72e276d9f9a11f63d8e4c6ed22c7fc5958f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Dec 12 02:32:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 12 02:32:28 2018 +0000"
      },
      "message": "Merge \"Add API for querying haptic playback support.\""
    },
    {
      "commit": "43c88f346eb370fc740450d67a79652599e7698c",
      "tree": "8b367302df57379b2afda1b1813ad17f0cef50ee",
      "parents": [
        "87ad3e7a63e97824b625b03d05f8cd6631ace4ed"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 28 13:25:30 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 11 18:30:27 2018 -0800"
      },
      "message": "Add media2 build target to prevent hidden API usage in MediaPlayer2\n\nThe only hidden API usuage, c-tor of TimedText, is temporarily commented\nout.\n\nTest: make media2\nBug: 112766913\nChange-Id: I6330724e65bb42db678f23134677dfd8675a3970\n"
    },
    {
      "commit": "66f9e72e276d9f9a11f63d8e4c6ed22c7fc5958f",
      "tree": "fad85f5849c956663183570edbdc469cdde12eeb",
      "parents": [
        "01fb624e0921b0622b9b33339adad9f205714cef"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Nov 02 16:20:19 2018 -0700"
      },
      "committer": {
        "name": "Jiabin Huang",
        "email": "jiabin@google.com",
        "time": "Wed Dec 12 00:07:47 2018 +0000"
      },
      "message": "Add API for querying haptic playback support.\n\nBug: 111454766\nTest: Manually test\nChange-Id: Ic6a0aba877a417faf8ff0c9f2e7b0ea99e3d7fbf\n"
    },
    {
      "commit": "5e05320c7239601327c4a1689d1b2fb6d30c493d",
      "tree": "cbce9efc681e204a4a4c0f120bb300123d660c99",
      "parents": [
        "b5555f6929640e0c114b103feda72d170a0ad632"
      ],
      "author": {
        "name": "ybai",
        "email": "Yanning.Bai@dolby.com",
        "time": "Thu Nov 01 13:02:15 2018 +0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 11 12:46:21 2018 -0800"
      },
      "message": "Add AudioPresentation selection support for MediaCodec\n\nBug: 119312182\nTest: compile\nChange-Id: I5cfc577b681ea6dcc1692abf71837fd5f41616ea\n"
    },
    {
      "commit": "66f859135b1458fe3514ee14b60e583767b47599",
      "tree": "eeed1679b703313172401a75180d9cd36ae97779",
      "parents": [
        "a6d828755ee306c0e01a078530c22bd83d56f55f"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Dec 11 19:47:33 2018 +0100"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Tue Dec 11 20:38:02 2018 +0100"
      },
      "message": "API: Clean up redundant and ineffective usages of SystemApi and TestApi\n\nEverything that is marked SystemApi or TestApi, but not @hide is still\npart of the public SDK, it is therefore not sound to have that combination.\n\nIn the future, specifing such a combination will be considered an error\nto prevent inadvertently exposing SystemApi and TestApi as public API.\n\nBug: 115333477\nChange-Id: Ibd5d6a22862fdbc1e20a1cb3925280f5a682edea\nTest: METALAVA_PREPEND_ARGS\u003d\"--error UnhiddenSystemApi\" m checkapi\nExempt-From-Owner-Approval: API cleanup\n"
    },
    {
      "commit": "d42695defd0c70f72ce80c03e417f40476f613ae",
      "tree": "ef22403a46f7a7a84d8680e33190e65340a256eb",
      "parents": [
        "e02414c225ccee532488642b8b482a225a677e62"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 10 15:24:00 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 11 10:30:21 2018 -0800"
      },
      "message": "AudioPresentation: add toString method\n\nFound it useful to have this method for debugging.\nApp developers should be able to use it, too.\n\nBug: 63901775\nBug: 119312182\nTest: atest android.media.cts.MediaExtractorTest#testGetAudioPresentations\nChange-Id: I3b984abad979df7730aafd95ee4627b740184552\n"
    },
    {
      "commit": "3ec349a4009d5f663c74977e30a4b14393fac55d",
      "tree": "af5a73f5ca24561dde3e33a6b0bb32c83a62dcf7",
      "parents": [
        "a8acd375609655b8c82151aa8b2219aaefe9fc5f",
        "2de156d15fceed4c834cb0e1dfdd1bcd0f94f4cf"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 13:54:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 13:54:38 2018 +0000"
      },
      "message": "Merge \"Add AudioTrack.isDirectPlaybackSupported method\""
    },
    {
      "commit": "45dbe4ed822f294ec0af3536743a0ab909bdb677",
      "tree": "adfb31626c9dba955d4d59f65921bf2b8735dab7",
      "parents": [
        "7209d7d633085b41a4ad7818605ebf525db25665",
        "cdf22ef7cbdab6c25d4d20322d8edd3211c888ee"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 11 10:29:05 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 11 10:29:05 2018 +0000"
      },
      "message": "Merge \"Add eac3-joc MIME type\""
    },
    {
      "commit": "d10a82edfe8d58437fbae1404ab66227c5add762",
      "tree": "3650cb85db0ac74de306be1b2c5c96409b79defd",
      "parents": [
        "52fe5dd97fb749aad4f570914a22aebf8d0de1c1",
        "fd8859d03e1cfd4be65bac33c83a49d3ad8653c7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 10 23:50:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 10 23:50:58 2018 +0000"
      },
      "message": "Merge \"AudioFormat: Add getFrameSizeInBytes\""
    },
    {
      "commit": "833960a416f15251f49574e87687138f349f8a65",
      "tree": "6566223a2c3112db97caa0804e311187af324519",
      "parents": [
        "573095244b5513fdd62ccb624610b7b9693bf917",
        "6e4fa27afdde5336a98a287248b75301e8a62877"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 10 20:54:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 10 20:54:39 2018 +0000"
      },
      "message": "Merge \"Add MediaCodec constants for HDR10+\""
    },
    {
      "commit": "b6a49777b7d96a34ccf48799112a3bfa77923d32",
      "tree": "05873608fd0c8fa11ae1fbbea7d006c320e5aae4",
      "parents": [
        "80b8ce887c2e7627c2a1e15edc3891a9a298d0c4",
        "2e09a6b61aba737c2494b5d2cae245b5660d7cea"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Mon Dec 10 02:51:17 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 10 02:51:17 2018 -0800"
      },
      "message": "Merge \"Remove ScopedBytes use\" am: 422fa22456 am: 7c58021208\nam: 2e09a6b61a\n\nChange-Id: Ieda76179a3e533230d14d19a4fef84e3b8f55394\n"
    },
    {
      "commit": "2e09a6b61aba737c2494b5d2cae245b5660d7cea",
      "tree": "2e66d8844aa7047146c9d697b4d9e7bed2bc4d60",
      "parents": [
        "95872aa3d1063aaf67d0cfc46a6d953fb214a41e",
        "7c58021208f63e233d0c72dbc38ff299d455647e"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Sun Dec 09 12:16:36 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sun Dec 09 12:16:36 2018 -0800"
      },
      "message": "Merge \"Remove ScopedBytes use\" am: 422fa22456\nam: 7c58021208\n\nChange-Id: I8c552ea28fa7fb5577a7932c599a0f615df28125\n"
    },
    {
      "commit": "422fa22456596f5deb5c1f7851c8ddb49c834ade",
      "tree": "3a74ac83ef73d6e15787aee4a026df6117029bee",
      "parents": [
        "4e780bd992e641c719edfcc99f45948ef6d9b71a",
        "9b909c3b70e62092567ad9a56f09d8091a01cb26"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Dec 09 19:36:28 2018 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sun Dec 09 19:36:28 2018 +0000"
      },
      "message": "Merge \"Remove ScopedBytes use\""
    },
    {
      "commit": "fd8859d03e1cfd4be65bac33c83a49d3ad8653c7",
      "tree": "5f362afeef2f80c7f0e67388e437ce70377ddacd",
      "parents": [
        "d0e81d2fb7bf15042d6e5cd60a861a16bf0da4fd"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 06 11:33:50 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 07 17:19:08 2018 -0800"
      },
      "message": "AudioFormat: Add getFrameSizeInBytes\n\nTest: Check docs, CTS AudioFormatTest\nBug: 116723648\nChange-Id: I87a2c34df5fa36a4ebce61942c7654419068d6a9\n"
    },
    {
      "commit": "d0e81d2fb7bf15042d6e5cd60a861a16bf0da4fd",
      "tree": "7273738f5f9c03814723bf6cd72a61a45401bbcc",
      "parents": [
        "d199e05c93cd107619e83bafb4224cd72323839f",
        "7d8aa3f36ce83c0feaa201a3834c17af87d9dbc1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Dec 08 00:30:03 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 08 00:30:03 2018 +0000"
      },
      "message": "Merge \"AudioFormat: Make member variables final for immutable class\""
    },
    {
      "commit": "fc4fc2c9e3a64d23bc5f8aa734e4f2c7a2543e42",
      "tree": "518fa434afa440808dfa1cd4242392a6c73d6323",
      "parents": [
        "70022d9cc734f35e99060b7c99f4500c37acab85",
        "efb8cd1337fa55a89549c42807c671eeff95e559"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 07 23:27:56 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 23:27:56 2018 +0000"
      },
      "message": "Merge \"MediaTimestamp: add Builder\""
    },
    {
      "commit": "b7136fcc5a17be0d34307d30e4ca60af4744c979",
      "tree": "13a847de45346dcccb41732218ae9b5855d24e5e",
      "parents": [
        "bcf643c5ef5f0b070190088b1dc593e5f6b891a3",
        "d6d5ee736fae540bb8aed43e842c4fa6d5999b28"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Dec 07 22:08:52 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 22:08:52 2018 +0000"
      },
      "message": "Merge \"Revert \"AML: Make MediaSessionManager.createSession() as @SystemApi\"\""
    },
    {
      "commit": "d6d5ee736fae540bb8aed43e842c4fa6d5999b28",
      "tree": "9c0e376728000e6cedb504b780dfdbfcf46f0c55",
      "parents": [
        "0852ebab418adcf4abc661d4b495c74c1069293c"
      ],
      "author": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Dec 07 14:09:51 2018 +0000"
      },
      "committer": {
        "name": "Adrian Roos",
        "email": "roosa@google.com",
        "time": "Fri Dec 07 14:11:51 2018 +0000"
      },
      "message": "Revert \"AML: Make MediaSessionManager.createSession() as @SystemApi\"\n\nThis reverts commit 0852ebab418adcf4abc661d4b495c74c1069293c.\n\nReason for revert: Return and parameter types of added SystemApi are not themselves part of the API.\n\nBug: 119749862\nChange-Id: I9f89abc25d2f3f6cff60c2465fca8e471e7f1f2a\n"
    },
    {
      "commit": "abe028ab5bb9899be5155326346227b008bbd9b6",
      "tree": "885e9e48362b1a1d9a8d8768412953a3c4923069",
      "parents": [
        "4520ee4279ea86aed480fc9fb8ffc04ca43f8617",
        "2e47eea512abdbafd5fd1baa85bac5a5b9b43d2b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Dec 07 05:48:59 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 05:48:59 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: fix sdk docs\""
    },
    {
      "commit": "04f55a339112cd949e5bfa3a096ec34a9e74d5f4",
      "tree": "cfabe838464926555c132422d6c9e9a141f6fca0",
      "parents": [
        "4ea51d1b7a5e5b957aca4a36ac10214dea23466f",
        "b505f0aab365e59874007236efc4c7736b26a94d"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Dec 07 02:24:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Dec 07 02:24:57 2018 +0000"
      },
      "message": "Merge \"AML: Unhide 4-params constructor of RemoteUserInfo\""
    },
    {
      "commit": "7d8aa3f36ce83c0feaa201a3834c17af87d9dbc1",
      "tree": "a7839c8d35ed2c561a6c81055afa8ddbb2e2a963",
      "parents": [
        "37fc6eaaf44b416b142e6b45c62203cc7b8c40ea"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 05 18:59:31 2018 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 06 16:14:52 2018 -0800"
      },
      "message": "AudioFormat: Make member variables final for immutable class\n\nTest: CTS AudioFormatTest\nBug: 120626200\nChange-Id: I56f9b569546622e4ababa306b0f5bb6cad2b1d4a\n"
    },
    {
      "commit": "efb8cd1337fa55a89549c42807c671eeff95e559",
      "tree": "dc1f182c7f670c66a1da83571c4c9a411ae8b07f",
      "parents": [
        "1f7d4274435c422e1dc4b9fb8c60c0064c53c9bb"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 06 13:26:37 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 06 14:59:29 2018 -0800"
      },
      "message": "MediaTimestamp: add Builder\n\nTest: cts\nBug: 112549021\nChange-Id: I696fea67407c5a9b8fd4e2e17ac88c26be05a157\n"
    },
    {
      "commit": "2de156d15fceed4c834cb0e1dfdd1bcd0f94f4cf",
      "tree": "23a7b9a20c4cab709948c31ca9bbb84c7cf2dce7",
      "parents": [
        "efd355c1c355ba237204c0a8bce10355382a64cd"
      ],
      "author": {
        "name": "Michael Chan",
        "email": "mzchan@dolby.com",
        "time": "Tue Apr 24 14:33:57 2018 +1000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Dec 06 14:41:03 2018 -0800"
      },
      "message": "Add AudioTrack.isDirectPlaybackSupported method\n\nThe method checks whether the provided AudioFormat can be played\nvia currently connected output devices w/o SRC or downmixing\nby the framework.\n\nBug: 120044865\nTest: atest CtsMediaTestCases:AudioTrackTest#testIsDirectPlaybackSupported\nChange-Id: I63e8334a60d48c17999f500d87360f9c71185dfb\n"
    },
    {
      "commit": "2e47eea512abdbafd5fd1baa85bac5a5b9b43d2b",
      "tree": "498b2bb565d082896e557d7b83dae3f805da3685",
      "parents": [
        "1f7d4274435c422e1dc4b9fb8c60c0064c53c9bb"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 06 12:52:08 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Dec 06 12:52:08 2018 -0800"
      },
      "message": "MediaPlayer2: fix sdk docs\n\nTest: make offline-sdk-docs\nBug: 112549021\nChange-Id: I422da92262428b63934e4268001903dfdf01836b\n"
    },
    {
      "commit": "6e4fa27afdde5336a98a287248b75301e8a62877",
      "tree": "79554a40fdd0558e58d59ec489cc054342fab52b",
      "parents": [
        "797aa66e71eec636b470e763e970d46c1f2300ef"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 29 11:40:18 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Dec 06 10:42:24 2018 -0800"
      },
      "message": "Add MediaCodec constants for HDR10+\n\nbug: 118507186\n\nChange-Id: I742b93ba4475fb82b7a9f9aaf237f43cfa66a915\n"
    },
    {
      "commit": "b505f0aab365e59874007236efc4c7736b26a94d",
      "tree": "874192f38578c70945fcd5551be6a195bbcb4f28",
      "parents": [
        "c49b41318aa594c7b9c309489d5fb1755dc21c82"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Dec 04 20:38:24 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Thu Dec 06 11:58:46 2018 +0900"
      },
      "message": "AML: Unhide 4-params constructor of RemoteUserInfo\n\nBug: 119752205\nTest: make update-api\nChange-Id: Idabdd68a335afae58392ef3bb357991d10718a97\n"
    },
    {
      "commit": "eb8464dc0a52b2c15c2738ff76ce7a22f60b4f96",
      "tree": "c787532089276c5e7ad6066e77a1a21e6ea9d086",
      "parents": [
        "67caf70322ec5c3a2ec73e9b9a50320a6767c535",
        "c926a4da7d46092bfb6a2b659b856a82b0c2a8cb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 06 01:08:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 01:08:26 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: unhide MediaPlayer2 and related classes.\""
    },
    {
      "commit": "67caf70322ec5c3a2ec73e9b9a50320a6767c535",
      "tree": "aa2742175dbef083528959b06b6f414e05bfe7bb",
      "parents": [
        "8b12b80cac84e7efaf8c0773f5e37e8be52b4604",
        "e17be8f3f5e6af1cd2688f579ab484725c350202"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Dec 06 01:05:15 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 06 01:05:15 2018 +0000"
      },
      "message": "Merge \"SubtitleData: add Builder in SubtileData and TimedMetaData\""
    },
    {
      "commit": "cbfc0b405cb0586375c1972109802b9d36fec615",
      "tree": "2e4176b89ec4b6ef571d48c6de5aec88b72ec815",
      "parents": [
        "2725edc3d29606d0d1ef864917d7799479326e4d",
        "caddb5f593a49d20b544706df66bc53da3f6174b"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Dec 05 19:37:02 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 19:37:02 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: per-source native drm prepare/release\""
    },
    {
      "commit": "cdf22ef7cbdab6c25d4d20322d8edd3211c888ee",
      "tree": "aa4f6c808cb7b2ae6f899a9201be2b3c9385ee8b",
      "parents": [
        "efd355c1c355ba237204c0a8bce10355382a64cd"
      ],
      "author": {
        "name": "Yanning Bai",
        "email": "ybai@dolby.com",
        "time": "Wed Nov 28 14:45:29 2018 +0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Dec 05 10:28:49 2018 -0800"
      },
      "message": "Add eac3-joc MIME type\n\nBug: 120549104\nTest: make\nChange-Id: I443af3f50cb3f2a00ccce1bb8f222f63b1522cb8\n"
    },
    {
      "commit": "15a81d7f789c7187c3ae49621315986b9610ae24",
      "tree": "e20268595e7e6ca9d594f1fa34ef49dc816cf055",
      "parents": [
        "0ff4f92f6541595fb6fb8dfb50ca4008ed1766dc"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Dec 05 14:45:50 2018 +0100"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Dec 05 13:47:29 2018 +0000"
      },
      "message": "JavaDoc fix\n\nTest: make offline-sdk-docs\nChange-Id: I0ae64b0b7c2d46d6b196ae98beecd4cf4e910db2\n"
    },
    {
      "commit": "b0b3a64a37ab16c0e018685766a5576db52fd540",
      "tree": "62f179e34c6316895032b4f28ce2c10f99041277",
      "parents": [
        "5daf3f134731f41d24121be5a55c063c1220a3fa"
      ],
      "author": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Dec 05 10:55:57 2018 +0100"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Wed Dec 05 10:58:28 2018 +0100"
      },
      "message": "Java doc fix: @throw -\u003e @throws\n\nTest: compile javadoc\nChange-Id: I243b824d0573470455d297c6d45a14e1b503e8ff\n"
    },
    {
      "commit": "8d2cfac24adba728758e9e1c191f5206463a3728",
      "tree": "b003941211e4bbe8ca8ee3e981af7be4fad6c8c7",
      "parents": [
        "fb1270ae9f479d942e5c213a242294c3b3a5560a",
        "0852ebab418adcf4abc661d4b495c74c1069293c"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Dec 05 06:48:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 06:48:30 2018 +0000"
      },
      "message": "Merge \"AML: Make MediaSessionManager.createSession() as @SystemApi\""
    },
    {
      "commit": "9246fc76169d167df0a208476ac18d84503f2a1c",
      "tree": "c8da9c15d5e684dcf02d37cb47831b0da2cd03a7",
      "parents": [
        "d6c39c026edd06d4b68ad25202d3dd9866e1124d",
        "33e70bd6d208a0d49264efd93702fc0807695412"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Dec 05 05:46:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 05:46:18 2018 +0000"
      },
      "message": "Merge \"Stop indexing location metadata.\""
    },
    {
      "commit": "c926a4da7d46092bfb6a2b659b856a82b0c2a8cb",
      "tree": "a7c7b7e0fb0449e2f37a4268b2627fa15c8162b1",
      "parents": [
        "579fdf3ba62c8db90cfdde43562d7fbd726f623e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 21 12:25:42 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 04 18:37:05 2018 -0800"
      },
      "message": "MediaPlayer2: unhide MediaPlayer2 and related classes.\n\nTest: cts\nBug: 112549021\nChange-Id: Ie38311db0c48c53f614e521f5a6c93dc525f8064\n"
    },
    {
      "commit": "caddb5f593a49d20b544706df66bc53da3f6174b",
      "tree": "2da956f74031c6ab6bc40a8ec93c6dfa3f830f63",
      "parents": [
        "b03bf399ee1776c4adec50d511849dfbd86cb9ef"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Dec 04 17:01:00 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Dec 04 17:19:06 2018 -0800"
      },
      "message": "MediaPlayer2: per-source native drm prepare/release\n\nBug: 119675660\nTest: MediaPlayer2DrmTest\nChange-Id: If8fe320bfe9a9194e7db3a4bb4cfb26071b8e996\n"
    },
    {
      "commit": "e17be8f3f5e6af1cd2688f579ab484725c350202",
      "tree": "a67ca66a8bc1c31ae162245aa81d3804c70d88eb",
      "parents": [
        "579fdf3ba62c8db90cfdde43562d7fbd726f623e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Dec 03 15:02:23 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Dec 04 17:07:40 2018 -0800"
      },
      "message": "SubtitleData: add Builder in SubtileData and TimedMetaData\n\nTest: cts\nBug: 112549021\nChange-Id: I5142f0d414931cd151f9377c328b7c3947ec0cfe\n"
    },
    {
      "commit": "11ed9e33c904e3216eef68d9c2613766fe42cda8",
      "tree": "5f615bccd61d71be489d63ce707e5fc45e188a7d",
      "parents": [
        "8d57b6ca54358dbfb80298a8988953003971b75a",
        "94eaad6470d8052af79d1c4b4824e21145765e76"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Dec 05 00:30:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 00:30:51 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: have a CloseGuard copy for media mainline as package-private.\""
    },
    {
      "commit": "8d57b6ca54358dbfb80298a8988953003971b75a",
      "tree": "3ee1da4c5b9eae9ce5dbeb5260ec98e8b346863d",
      "parents": [
        "6220baa36e0a477432b50ef35125c72b4851494b",
        "ad9814849a1c3f413d6ca94fd58451af51180fab"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Dec 05 00:10:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 05 00:10:54 2018 +0000"
      },
      "message": "Merge \"MediaFormat: add more getters, setters as well as iterators\""
    },
    {
      "commit": "171dba2c12e0d3cf48acdbec172feb28cafcff69",
      "tree": "c2b9d7521cc357469a7878c1fb72853a033aa200",
      "parents": [
        "f3867a703bdaee7d24e70c7bed41f5ffe2f4999f",
        "2dc5483936e90437538d2a5d9633e647574dd3ba"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 04 21:22:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 21:22:16 2018 +0000"
      },
      "message": "Merge \"Audio: add getters for port ID in AudioTrack and AudioRecord JNI\""
    },
    {
      "commit": "33e70bd6d208a0d49264efd93702fc0807695412",
      "tree": "cbf6db0e8f02ccaf474c2e7e56d053ca437e1e3a",
      "parents": [
        "9b827a37229d625efd44228bc05f960954a5772c"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 04 11:28:11 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Dec 04 13:17:09 2018 -0700"
      },
      "message": "Stop indexing location metadata.\n\nThe new ACCESS_MEDIA_LOCATION permission is designed to protect\nthe location metadata of items the caller doesn\u0027t own, but we can\u0027t\neasily perform partial filtering of metadata from returned Cursor\nobjects based on per-row ownership, so we\u0027re forced to outright stop\nindexing and returning location metadata via queries.\n\nApps can still easily obtain location metadata using ExifInterface.\n\nBug: 111892141\nTest: atest cts/tests/tests/provider/src/android/provider/cts/MediaStore*\nChange-Id: I4d99e6aa7d94bb0e7a50ce86eb1ab0f1ed142d4a\n"
    },
    {
      "commit": "50f3bbde561e8d4c403ac80931c89b97efd49d33",
      "tree": "780b125d09a6bffef93db9569acea759ea8fc09c",
      "parents": [
        "3706c94bf3605c656e4b4b3c92d1539e87c4db9d",
        "ca6a9f8feff41ac2fdc78a3df3fbfbb79361b100"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 04 19:59:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 19:59:51 2018 +0000"
      },
      "message": "Merge \"Update and fix Visualizer class docs\""
    },
    {
      "commit": "ca6a9f8feff41ac2fdc78a3df3fbfbb79361b100",
      "tree": "aafd8cba0d4ebf0acd850c0f8a77882eae6b2e17",
      "parents": [
        "b9df101c9eac5ce534f274c04913e54ea2c3de1d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 03 12:44:10 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Tue Dec 04 17:36:40 2018 +0000"
      },
      "message": "Update and fix Visualizer class docs\n\n1) Fix the formula for the \u0027kth frequency\u0027 in getFft method:\n   since the \u0027fft\u0027 array holds n / 2 frequencies ranging from\n   0 to Fs / 2, the correct formula is k*Fs/n.\n   Also fix the last frequency index in the table.\n\n2) Move the sample code for calculating magnitudes and phases\n   from the fft array from \u0027onFftDataCapture\u0027 to \u0027getFft\u0027, provide\n   a link.\n\n3) Fix the sample code which wasn\u0027t taking into account that\n   fft[0] is the real part of FFT at DC, and fft[1] is the real part\n   of FFT at Fs / 2. Improve the sample code by linking the variable\n   names closer to the variable names in the documentation.\n\nBug: 113790190\nTest: atest CtsMediaTestCases:VisualizerTest\nChange-Id: I07cc9cfcda5b8c44aae2742a26173e7a9475120a\n"
    },
    {
      "commit": "f660c012b080496eb70ea77f141f346e80bb6cfa",
      "tree": "761573788148814a8393f71a574cd82242e1b57b",
      "parents": [
        "5b9de38cd13a2df97733cb6e49d656e88e9964c8",
        "10887d5e5a921b2e8508f93877bf465230003f3b"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Tue Dec 04 16:58:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 16:58:17 2018 +0000"
      },
      "message": "Merge \"Add support for \"Audiobooks\".\""
    },
    {
      "commit": "94eaad6470d8052af79d1c4b4824e21145765e76",
      "tree": "576ba02ad62ca23b8f68c3e275b5c5ec12556dcc",
      "parents": [
        "6ad12e57bb1991be1bd8f8ffad898dc2a92d3a57"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 27 17:02:14 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Dec 04 08:45:47 2018 -0800"
      },
      "message": "MediaPlayer2: have a CloseGuard copy for media mainline as package-private.\n\nTest: build\nBug: 112766913, Bug: 120419300\nChange-Id: I3da443b0742a8459beab9860342ec8164aaa303b\n"
    },
    {
      "commit": "0852ebab418adcf4abc661d4b495c74c1069293c",
      "tree": "741a429b8c7bce0058a8119153e0e1a45e72044c",
      "parents": [
        "c49b41318aa594c7b9c309489d5fb1755dc21c82"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Dec 03 18:39:26 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Dec 04 16:52:46 2018 +0900"
      },
      "message": "AML: Make MediaSessionManager.createSession() as @SystemApi\n\nBug: 119749862\nTest: make update-api\nChange-Id: Ic3df0c3312c789130624fc42efc77ea3e1e01ad0\n"
    },
    {
      "commit": "c13bfd871da7641c50eb3de65257ce035d88269c",
      "tree": "6309538e0b9a3984b87770ec23eb530daf68dbde",
      "parents": [
        "3af0f3a7c33454b7847a64a7c1ea550e4dbe9432",
        "79fa7d39c3568fa83f458e1f5d17a9ad6f7105e4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 03 19:37:53 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 03 19:37:53 2018 -0800"
      },
      "message": "Merge \"Fix ExifInterface for .heic when meta is at the end\" am: 98c9cd7b20 am: 17fc70b1ee\nam: 79fa7d39c3\n\nChange-Id: I33880ecff74ecdc2a60b0857b3cb8e8164232030\n"
    },
    {
      "commit": "79fa7d39c3568fa83f458e1f5d17a9ad6f7105e4",
      "tree": "c4795b1f3453f161754093ef7135780d4f3baea9",
      "parents": [
        "8dd21cd6b5e8183df0f78b69f9667512d70fea4e",
        "17fc70b1ee1195e4a86db26dd3f286766bea17c9"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Dec 03 19:24:28 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Mon Dec 03 19:24:28 2018 -0800"
      },
      "message": "Merge \"Fix ExifInterface for .heic when meta is at the end\" am: 98c9cd7b20\nam: 17fc70b1ee\n\nChange-Id: Ib3073cfac59888d707583efd9a9fda1d3731f103\n"
    },
    {
      "commit": "3af0f3a7c33454b7847a64a7c1ea550e4dbe9432",
      "tree": "96d80564ed69d3756000da899b0c90bd252507f7",
      "parents": [
        "402f60848cb1f12a35c620c602975d5974723b0e",
        "bff3dae8090700279de5d1a564f889f304b18939"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Dec 04 02:49:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Dec 04 02:49:33 2018 +0000"
      },
      "message": "Merge \"Specify AudioTrack HWAVSync timestamp units as nanoseconds\""
    },
    {
      "commit": "2dc5483936e90437538d2a5d9633e647574dd3ba",
      "tree": "41e480876e387c851b988d742b8ba22a8388ccbb",
      "parents": [
        "25f2eacaf923ed604414a5dae27d8c0818d21387"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 20 17:49:43 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Dec 03 16:28:33 2018 -0800"
      },
      "message": "Audio: add getters for port ID in AudioTrack and AudioRecord JNI\n\nAdd JNI functions to retrieve unique port IDs allocated by audio policy\nmanager for AudioTrack and AudioRecord clients.\n\nTest: basic manual playback and capture tests\nBug: 111438757\nChange-Id: I41f2679329b76b7b28cf506c64b6ffa9192d940a\n"
    },
    {
      "commit": "bff3dae8090700279de5d1a564f889f304b18939",
      "tree": "e9b88e045db323d36b6612e4452ae85b266462b2",
      "parents": [
        "b9df101c9eac5ce534f274c04913e54ea2c3de1d"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Mon Dec 03 15:33:23 2018 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Dec 03 09:29:47 2018 -0800"
      },
      "message": "Specify AudioTrack HWAVSync timestamp units as nanoseconds\n\nClarify the documentation by specifying the units of\nthe timestamp for the HWAVSync case\n\nBug: 63901775\nTest: make\nChange-Id: Ida39a3ee5e6b4b0d3255bfef95601890afd80709\n"
    },
    {
      "commit": "5b101d13480117790cef31b8c336aefb0d264c6c",
      "tree": "67438154cc839285e8b8054197f77fd3c5d7c018",
      "parents": [
        "970c7eeedb1db3ce88060b3013a42aa5859ef4b5",
        "0d8fe14ad7b5669773f41f2c8909877a52eba372"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Dec 03 15:00:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Dec 03 15:00:39 2018 +0000"
      },
      "message": "Merge \"RingtoneManager: add @Nullable to openDefaultRingtoneUri().\""
    },
    {
      "commit": "cd0ee52248917bd871ea4890100e5ed8a6893f28",
      "tree": "be440a2c0d3a0ba3c83bd983cfe3d5056e789a76",
      "parents": [
        "8d0446d54481032386bf4ae427b7603cb42ba9a9",
        "488be992a4f5ec41dc84f6eb24a143f6f074b32c"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Dec 01 04:29:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Dec 01 04:29:34 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: Move Drm APIs into DrmHandle subclass\""
    },
    {
      "commit": "0d8fe14ad7b5669773f41f2c8909877a52eba372",
      "tree": "e5ab58cca6dd41c9ef405957d74e056618644ef7",
      "parents": [
        "01ce898135ece1e3dd2f68f6e25534b8244ad439"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Nov 30 16:18:44 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Nov 30 16:18:44 2018 -0800"
      },
      "message": "RingtoneManager: add @Nullable to openDefaultRingtoneUri().\n\nBug: 120072398\nTest: make update-api\nChange-Id: I9fd43ac80f643fe81b4ed16d84b4253f19899c1c\n"
    },
    {
      "commit": "317316fb2b3911a005aa2e877dceb184892b2ec4",
      "tree": "f022af22fe783a46b8a8234cdeb177aaec9fd1d5",
      "parents": [
        "8757179e52e1997876e3af3b574d97df3ea2385a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 30 14:25:08 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 30 15:37:03 2018 -0800"
      },
      "message": "Fix ExifInterface for .heic when meta is at the end\n\navailable() bytes is counted after the last read position,\nafter the seek to new position, size should be compared\nwith the avaliable directly (without adding position).\n\nbug: 120086693\ntest: Open .heic files in Downloads/Photos that\u0027s either\nvery small (b/117625929, b/111897855), or with the meta\nat the very end (b/120086693). There shouldn\u0027t be error\nin ExifInterface.\nChange-Id: I37ac57823b26f03bb0ba555ee6213cf999942d21\n"
    },
    {
      "commit": "ad9814849a1c3f413d6ca94fd58451af51180fab",
      "tree": "42fe4695be1ea5a274cae494f86a47abb5a5c2a1",
      "parents": [
        "950c469c9dcb1783964dc6b391ac8871ff8a11f0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 02 17:20:37 2018 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Nov 30 13:32:00 2018 -0800"
      },
      "message": "MediaFormat: add more getters, setters as well as iterators\n\nAdd getters with default value.\nAdd numeric getters for arbitrary numeric format.\nAdd ability to enumerate and remove keys and feature keys.\nAdd copy constructor.\nAdd nullable annotations.\n\nBug: 112369509\nChange-Id: Ifcb4ab7c4b3599aae5f6bf49001e9e8bb24b0a33\n"
    },
    {
      "commit": "10887d5e5a921b2e8508f93877bf465230003f3b",
      "tree": "df95a36aca35560af6bee8bcba70f49279c17377",
      "parents": [
        "9ba4a5ceeaf475d742eb06c97ec118b64066d878"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 30 13:44:41 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Fri Nov 30 13:53:19 2018 -0700"
      },
      "message": "Add support for \"Audiobooks\".\n\nBug: 113356944\nTest: manual\nChange-Id: Ifed54c41a533ed2d556dc6561ea498ec293991a6\n"
    },
    {
      "commit": "9a908db9f4f04e9cc93955cd21ddc0cffc1531cb",
      "tree": "85205b2821bd55631617862533f4ef1df1ca29e4",
      "parents": [
        "5f0c9331cc3434e3113c6eb6b44213b2388afc0d"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Nov 30 11:33:08 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Nov 30 13:54:32 2018 +0900"
      },
      "message": "Rename KeyEvent.isMediaKey() to isMediaSessionKey()\n\nSince not all KEYCODE_MEDIA_* keycodes return true in isMediaKey(),\nthe naming can give confusion. This CL renames the method to\nisMediaSessionKey() and revises its Javadoc.\n\nBug: 119789707\nTest: make -j\nChange-Id: I36786ccf5606977e6d971c13d77d950356561bda\n"
    },
    {
      "commit": "488be992a4f5ec41dc84f6eb24a143f6f074b32c",
      "tree": "a5d268bca7789405142717b1526017cee488e931",
      "parents": [
        "1ef848753bccc0f4593667585ff4eca97a7189e2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 16 01:25:40 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Nov 29 20:42:03 2018 -0800"
      },
      "message": "MediaPlayer2: Move Drm APIs into DrmHandle subclass\n\nBug: 119675660\nTest: MediaPlayer2DrmTest\nChange-Id: I7a48ec1c2b4ba86752b12935b275140f03978495\n"
    },
    {
      "commit": "5f0c9331cc3434e3113c6eb6b44213b2388afc0d",
      "tree": "4c7c37d5adf950614b2138ec98b8b148c2c751c1",
      "parents": [
        "8e1907d61056ea5f16053d88b1411ea0e1027a17",
        "888b791f29506afaad8dbe6cd7e6a925146ab715"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 30 04:03:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 04:03:30 2018 +0000"
      },
      "message": "Merge \"Make AudioManager.FLAG_FROM_KEY as @SystemApi\""
    },
    {
      "commit": "83fc1328d7e5ed14010130f40ca0f593295bf113",
      "tree": "8a6bab0de2891397ff95503f1f0b519098eabe99",
      "parents": [
        "2d063858f92634d3a22905fa7768fc6c582628d0",
        "0d8753073a61146b6054209ef41df1a3abbbab2e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Nov 30 00:16:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 30 00:16:14 2018 +0000"
      },
      "message": "Merge \"Commenting exit condition from read thread.\""
    },
    {
      "commit": "0d8753073a61146b6054209ef41df1a3abbbab2e",
      "tree": "4b06171aeac936133ac83382dddbf3c7da2fdabc",
      "parents": [
        "b4c2dc0c1fc09acabfffa1f239e8fa48c75aecae"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Nov 16 10:42:06 2018 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Thu Nov 29 13:43:22 2018 -0700"
      },
      "message": "Commenting exit condition from read thread.\n\nSilence spurious exception error reporting.\n\nTest: Run CTS and CTSVerifier Midi tests.\nBug: 114123487\nBug: 120225301\n\nChange-Id: I82b13e563c30ba42e02625cfe57bd27897cb8035\n"
    },
    {
      "commit": "04eaec037e1da37cbfd3c4b85ff988c351e04159",
      "tree": "a7347834a62877cb0fead29f48406a04f26e9517",
      "parents": [
        "9a42260be400f7620e7a6605e68393e8dde61151",
        "073e1b11b3a63fad477de2abea8bcc3fdf8cb94c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 29 16:27:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 29 16:27:21 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: rename Media2DataSource to DataSourceCallback\""
    },
    {
      "commit": "888b791f29506afaad8dbe6cd7e6a925146ab715",
      "tree": "3409b5562ca61816d32a12001c76706d6ba8180b",
      "parents": [
        "1ef848753bccc0f4593667585ff4eca97a7189e2"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Nov 27 16:13:24 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Thu Nov 29 13:35:51 2018 +0900"
      },
      "message": "Make AudioManager.FLAG_FROM_KEY as @SystemApi\n\nBug: 119790339\nTest: make update-api\nChange-Id: I649cd5cbf64274e5fe840eb773a450c3c581b210\n"
    },
    {
      "commit": "073e1b11b3a63fad477de2abea8bcc3fdf8cb94c",
      "tree": "ae88b549948b5a6d1edae7a3d764d05ab6371c82",
      "parents": [
        "7f0503a4c97906b29e07dd38ac7e88a9a9edc30d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 28 11:57:03 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 28 16:54:57 2018 -0800"
      },
      "message": "MediaPlayer2: rename Media2DataSource to DataSourceCallback\n\nTest: cts\nBug: 112549021\nChange-Id: I4f623d2c94e855f7af51f20a207db05b6da4b221\n"
    },
    {
      "commit": "1dbe2b20920b1beea85034561d0e0f3403c79ecf",
      "tree": "94afaf159f104c89cc4cae9e3ddee23fa3beb0b8",
      "parents": [
        "45db63640c0e334911446aa927eb9baf8a988b36",
        "1c9c1d53b27cb5e7638b85c1af59dddee63edc1b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 23:38:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 23:38:13 2018 +0000"
      },
      "message": "Merge \"AudioService: monitor assistant and accessibility services\""
    },
    {
      "commit": "7f0503a4c97906b29e07dd38ac7e88a9a9edc30d",
      "tree": "acf94f18abff2fa73ade19a10009437f9c8ec568",
      "parents": [
        "f912513fd833236eaba822fa85f9d08a59a7a20e",
        "da21c3d3dfc01f096fef419a15004b8c2c884995"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 22:34:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 22:34:13 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: use ParcelFileDescriptor\""
    },
    {
      "commit": "4ba6b69c95e42f7dfa569e3aaa31ac3c406cbcf1",
      "tree": "fe382a12f091a434291e9dd48b773ef6b61f00a0",
      "parents": [
        "01ce898135ece1e3dd2f68f6e25534b8244ad439"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Nov 07 16:00:52 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Nov 28 13:19:01 2018 -0800"
      },
      "message": "Opus Encoding plumbing\n\nBug: 111850384\nTest: with omx codec\nChange-Id: I8bf80ebd925bf31aabe5f90556af57de890e351d\n"
    },
    {
      "commit": "1c9c1d53b27cb5e7638b85c1af59dddee63edc1b",
      "tree": "3ed196c9c0efe3bebe8ddd20c5714375c6d9768a",
      "parents": [
        "de6fe070b0700c94735242a5bdb209d742e7be2d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 17 10:06:46 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Nov 28 09:18:26 2018 -0800"
      },
      "message": "AudioService: monitor assistant and accessibility services\n\nAdd monitoring of voice interaction service, assistant and\naccessibility services changes and communicate corresponding UIDs\nto audio policy service.\nThose are needed to implement the concurrent audio capture policy.\n\nTest: enable and disable Google Assistant and Voice Access.\nBug: 111438757\n\nChange-Id: Ia20b54a70c0445113bd53b03b04a325dcf7940fb\n"
    },
    {
      "commit": "da21c3d3dfc01f096fef419a15004b8c2c884995",
      "tree": "e59233e488f455e809032c4cd78fda2b7c9e5481",
      "parents": [
        "328d44264cef54f00e0a7a52bc54d739d23a1432"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Nov 26 16:43:34 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Nov 28 09:06:46 2018 -0800"
      },
      "message": "MediaPlayer2: use ParcelFileDescriptor\n\nTest: cts\nBug: 112549021\nChange-Id: Ic1644e82558cc47fcba1152d8a1c7c10b6f7ef8c\n"
    },
    {
      "commit": "c583071b972026a0e4da3729c530888dec4158c0",
      "tree": "805f1c3e3457adda0fc59f55c428b1a4123d2e03",
      "parents": [
        "82b6b06fabe19187a069246dc6f0a8d7d49105a9",
        "dffaa699970a314906f09604224a02b6a19dce39"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@google.com",
        "time": "Wed Nov 28 16:03:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 16:03:04 2018 +0000"
      },
      "message": "Merge changes from topic \"exifz\"\n\n* changes:\n  Track attribute ranges, parse additional times.\n  Sane undefined behaviors for XmlUtils.\n"
    },
    {
      "commit": "328d44264cef54f00e0a7a52bc54d739d23a1432",
      "tree": "a70c3b7408c3ee9d44857dae5ab562c4a3654ec2",
      "parents": [
        "9a38e474e82050c776d51a94d82acc63ff3a6721",
        "4c7fc507959511ac5f6ea628d9963f953e01a2dc"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 28 01:13:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 01:13:55 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: replace external constant annonations with local ones\""
    },
    {
      "commit": "9a38e474e82050c776d51a94d82acc63ff3a6721",
      "tree": "534c57734ba655a19b9e9af5df8f72d69a86304f",
      "parents": [
        "07f69e661664ee660f16feab4a94c1437b336eea",
        "dfd0ca889f9ea3b1da58fb5eb009e782237f414d"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Nov 28 01:13:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 01:13:12 2018 +0000"
      },
      "message": "Merge \"Media2HTTPConnection: remove hidden API usage, NetworkUtils.numericToInetAddress()\""
    },
    {
      "commit": "07f69e661664ee660f16feab4a94c1437b336eea",
      "tree": "52c2e9c8e56a1d087654b4d7b43b295f2073a86f",
      "parents": [
        "f49c8092468c4f2c67f21b394c6f81753969b022",
        "0c0e939d5963cae89612d6db9c405a3ba147cd36"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Nov 28 01:08:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Nov 28 01:08:34 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: replace Preconditions (internal api) with Media2Utils.\""
    },
    {
      "commit": "4c7fc507959511ac5f6ea628d9963f953e01a2dc",
      "tree": "c0087fc570e15679360a44e18a6a346d3d6a6db8",
      "parents": [
        "dfd0ca889f9ea3b1da58fb5eb009e782237f414d"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 27 13:53:19 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 27 16:58:06 2018 -0800"
      },
      "message": "MediaPlayer2: replace external constant annonations with local ones\n\nTest: build\nBug: 112766913\nChange-Id: I94f110caed01b5aa8ec56bff2d9da8a7d5dcc4b9\n"
    },
    {
      "commit": "dfd0ca889f9ea3b1da58fb5eb009e782237f414d",
      "tree": "e5e82b5552e6bf2b3e46d80769f2ba4a0cc150c9",
      "parents": [
        "0c0e939d5963cae89612d6db9c405a3ba147cd36"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 27 11:12:25 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Nov 27 16:58:06 2018 -0800"
      },
      "message": "Media2HTTPConnection: remove hidden API usage, NetworkUtils.numericToInetAddress()\n\nTest: build\nBug: 112766913\nChange-Id: Id383a06460034aa51654987249119e6bff3b7dde\n"
    },
    {
      "commit": "b3ae6d94909dfd1a986a589c954e498355f338e0",
      "tree": "6db02533ea0334c7dcd07436e34a0bc1e231e860",
      "parents": [
        "3ef92108fea1ec93f421fc2f02e344c157bb2729"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Mon Nov 05 15:16:59 2018 -0700"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Nov 27 14:00:34 2018 -0700"
      },
      "message": "Move JNI init for OpenSLES audio routing to system startup.\n\nMoved AudioTrack.CHANNEL_COUNT_MAX and AudioTrack.native_get_FCC_8() to AudioSystem.\n\nBug: 115560661\nTest: build/install/run native audio routing CTS\nChange-Id: I03b14a0302aa0d6a1bc78f4daf5a521446042f66\n"
    },
    {
      "commit": "dffaa699970a314906f09604224a02b6a19dce39",
      "tree": "ebde924cfc9aaa20fa5a8293fd330aabc5f8bc72",
      "parents": [
        "9bc99f8e5007c3e67632cf2667317bc69c8237e5"
      ],
      "author": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Mon Nov 19 17:42:38 2018 -0700"
      },
      "committer": {
        "name": "Jeff Sharkey",
        "email": "jsharkey@android.com",
        "time": "Tue Nov 27 13:39:03 2018 -0700"
      },
      "message": "Track attribute ranges, parse additional times.\n\nAn upcoming privacy feature is interesting in knowing the exact\noffset and length of specific Exif tags, similar to how the thumbnail\nrange is already being returned.  Detect the case where we\u0027ve modified\nthe underlying file, meaning ranges are no longer valid.\n\nAdd constructor to accept best-practices File object.  Add method to\nask if a given tag has been defined.  Add methods to parse additional\ntimestamp values.\n\nBug: 115377970, 111892141\nTest: atest android.media.cts.ExifInterfaceTest\nChange-Id: Iac35bb65ff7b3605d6c32ec3ca3d29b17e65cff8\n"
    },
    {
      "commit": "9b909c3b70e62092567ad9a56f09d8091a01cb26",
      "tree": "843a11eab74cefb797fe22bf3bd8d22dcaeb327c",
      "parents": [
        "669037f821e21336de7fd3ff5c5e5879885a788b"
      ],
      "author": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Fri Nov 23 11:05:27 2018 +0000"
      },
      "committer": {
        "name": "Orion Hodson",
        "email": "oth@google.com",
        "time": "Tue Nov 27 17:54:05 2018 +0000"
      },
      "message": "Remove ScopedBytes use\n\nThe libnativehelper ScopedBytes class is being deprecated. It\u0027s use in\nandroid_media_AudioTrack.cpp is unnecessary because the JNI method\ntakes a direct buffer as an argument whereas ScopedBytes classes exist\nto mask the difference between byte arrays and byte buffers.\n\nBug: 119840313\nTest: m -j32\nChange-Id: I2a6478dbaa861c5391cc298871df0f8cd1f1439c\n"
    },
    {
      "commit": "0c0e939d5963cae89612d6db9c405a3ba147cd36",
      "tree": "84230dac1544f1f5243c015042eb65d7d75f74ee",
      "parents": [
        "9ebc59e956dae017cb519c61277c56ecc2875b57"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Nov 26 20:09:20 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Nov 26 20:16:54 2018 -0800"
      },
      "message": "MediaPlayer2: replace Preconditions (internal api) with Media2Utils.\n\nAlso setting sdk_verion for mediaplayer2.proto\n\nTest: build\nBug: 112766913\nChange-Id: I537ee296d9e1a0b127567943a68dc985a48ad86f\n"
    },
    {
      "commit": "e48305da06eebabac2e068ba5d50814217ab5679",
      "tree": "a3ef2206c2edff2a00f1f42fa285170ac5820b1e",
      "parents": [
        "f552a90039a447eab71169c48a8592506b62ce49",
        "08e7706d92a4342b0957cc0cea836a11e220c263"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Nov 27 01:49:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 01:49:18 2018 +0000"
      },
      "message": "Merge \"Hook up MediaExtractor getAudioPresentations to native impl\""
    },
    {
      "commit": "898dd6502927104325eb2fb54ac7af0009ebae12",
      "tree": "9c96f4b38ad94a0cfbf734a04ff2cc4e95b4c887",
      "parents": [
        "fe36fc246edcb743049b0c77d92e8f64e8ee5e7f",
        "f50b236b953984d83b7457fdbf752935d858de15"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Nov 26 23:34:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 26 23:34:18 2018 +0000"
      },
      "message": "Merge \"Revert \"Make AudioManager.generateAudioSessionId() static\"\""
    },
    {
      "commit": "08e7706d92a4342b0957cc0cea836a11e220c263",
      "tree": "d770c1a4bb1eede1cfc33619994a9de75268b97b",
      "parents": [
        "9d7964b973aaa5179b9c29356d04bca07a2b719b"
      ],
      "author": {
        "name": "Sampath Shetty",
        "email": "Sampath.Shetty@dolby.com",
        "time": "Tue Aug 07 19:46:17 2018 +1000"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Mon Nov 26 15:24:41 2018 -0800"
      },
      "message": "Hook up MediaExtractor getAudioPresentations to native impl\n\nAdds interface to MediaExtractor JNI to retrieve AudioPresentations\n\nTest: Manual test\nBug: 119312182\nChange-Id: I5802ff20b8221aeede25148cb3213b0e9e74f270\n"
    },
    {
      "commit": "f50b236b953984d83b7457fdbf752935d858de15",
      "tree": "07daafdb01135c7cf1115e47357cf2fa019eb9b3",
      "parents": [
        "197f2421103e46c78970a61b33ffe3e55b976c81"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Nov 26 13:18:58 2018 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Nov 26 13:30:46 2018 -0800"
      },
      "message": "Revert \"Make AudioManager.generateAudioSessionId() static\"\n\nThis reverts commit 2d767d2f8bdecdbbd3cba74944f76cb93a93f4c7.\n\nBug: 119775358\nTest: MediaPlayer2Test, androidx media2 integration\nChange-Id: I1ea474a6fd02f54e8fa983edf7e188cc732fa7cc\n"
    },
    {
      "commit": "14d2d59f1c36e73120991e98cc74d80831ea622f",
      "tree": "36299cb6ed1fa6768e36a543246e0bc6e76d38f3",
      "parents": [
        "ce7357ad97b0e2af2e91ce1cda79f3ca8c1d6965"
      ],
      "author": {
        "name": "ybai",
        "email": "Yanning.Bai@dolby.com",
        "time": "Fri Nov 16 15:18:29 2018 +0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Nov 26 10:00:20 2018 -0800"
      },
      "message": "Add MIMETYPE_AUDIO_AC4 support in MediaFormat\n\nAdd support for MIMETYPE_AUDIO_AC4 in MediaCodecInfo\n\nBug: 119312182\nTest: make offline-sdk-docs\n\nChange-Id: Ia6fc708886e2198bead31ac04c04a679456a3527\n"
    },
    {
      "commit": "96a62ff0a1a0ddac8c7c830a0739a5fb744c261a",
      "tree": "826b46bb96544efdb702aaab1d31f4ef747f0f05",
      "parents": [
        "062213b7334460fb5cd49092556f5387f820b0f8",
        "9381adfbd4fe7fe48f0149b27f39bedbf5a4d0de"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Fri Nov 23 00:09:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 23 00:09:27 2018 +0000"
      },
      "message": "Merge \"Remove SessionToken2Provider\""
    },
    {
      "commit": "9381adfbd4fe7fe48f0149b27f39bedbf5a4d0de",
      "tree": "ef1dec8e8600fca9b2cdd71e22939ca86ec9436f",
      "parents": [
        "e9e01e2cfe6ba7c9e6407b94c32787704acf3e93"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Nov 22 14:53:18 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Nov 22 14:53:35 2018 +0900"
      },
      "message": "Remove SessionToken2Provider\n\nBug: 119591238\nTest: build\nChange-Id: I71be4db9f0f7f245e8d8d04ca3400320b623a47a\n"
    },
    {
      "commit": "00d0bb381833f74f3521397345049aa8447d90fc",
      "tree": "0d66dedd94000b69713715ab633d06ddf0c684a4",
      "parents": [
        "e9e01e2cfe6ba7c9e6407b94c32787704acf3e93"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Nov 22 13:50:31 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Nov 22 13:51:53 2018 +0900"
      },
      "message": "Fix AudioAttributes.setContentType\n\nTest: build\nChange-Id: Icfafeb3069010bf73c3d3e00f19c62c5fbf0e437\n"
    },
    {
      "commit": "e9e01e2cfe6ba7c9e6407b94c32787704acf3e93",
      "tree": "618d3e4423beb2fccff03e0ddc48796fbc1cfa52",
      "parents": [
        "ecfc94150087d47e907f7afe466f441b3b85bad7",
        "6f7a0f4650233ed075ca3bddc65286ce95ab6747"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Nov 22 02:13:39 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Nov 22 02:13:39 2018 +0000"
      },
      "message": "Merge \"Remove unused Media 2.0 APIs\""
    },
    {
      "commit": "6f7a0f4650233ed075ca3bddc65286ce95ab6747",
      "tree": "87645278db1ba648ce2fc3137b5c857a9d805d68",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Tue Nov 20 10:58:52 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Nov 21 09:29:34 2018 +0900"
      },
      "message": "Remove unused Media 2.0 APIs\n\nBug: 119591238\nTest: build\nChange-Id: I58d00b64c86df1372eaed74899227d5787d127e2\n"
    },
    {
      "commit": "cb90c260fc84e6f2b5660b2d48be49859351ae3d",
      "tree": "62c9bf749e02a637fc1331fa7db52f1940fc2b05",
      "parents": [
        "f66699ae165ce30f1cda1cfd704027a75bf457d2"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Nov 20 11:34:34 2018 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Nov 21 00:28:09 2018 +0000"
      },
      "message": "Fix setAudioSessionId() Racing Issue\n\nPointed out by Wei: a later setAudioSessionId() could override the\nprevious one whose task has not completed.\n\nBug: 112549970\nTest: MediaPlayer2Test\nChange-Id: Ib5862d6dfd1ea4ddcbccb421906510ab4a3bae87\n"
    }
  ],
  "next": "0a91bc975e73fa1999a57a3ad419cb0099a2f584"
}
