)]}'
{
  "log": [
    {
      "commit": "1dd026d98131d67f93e22ae89bbf683192aae56e",
      "tree": "83a2e2404fdca4aa6c801f7b255002a3caa53e92",
      "parents": [
        "74b16a1e6b87a4295598fa835e6577211e02fb0f",
        "c6eb54ce43ba25ff053f4fee81456a1018196ed0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 08 09:51:48 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 08 09:51:52 2017 +0000"
      },
      "message": "Merge \"TIF: add BaseProgramColumns in TvContract\""
    },
    {
      "commit": "bdc236548900b8230e7634d8f71943ddd6b1d077",
      "tree": "94713dddf5ce8933a8ad93eea325b912e39ae323",
      "parents": [
        "49ddb3d558395dda71fcf0a37ac3f8bec386c11b",
        "10ffc783044afe038101c732edf336d5dcb9b51f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 07 20:03:51 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 20:03:56 2017 +0000"
      },
      "message": "Merge \"Audio player delayed start: don\u0027t throw exception\""
    },
    {
      "commit": "10ffc783044afe038101c732edf336d5dcb9b51f",
      "tree": "db7d11d36bf71748e911591952273f29b68003b3",
      "parents": [
        "49e57a2d9f1333edb74c80f2ccf6b59ca5ab353a"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 07 10:47:31 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Feb 07 10:47:31 2017 -0800"
      },
      "message": "Audio player delayed start: don\u0027t throw exception\n\nWhen the framework sets a delayed start on a PlayerBase instance\n  (e.g. MediaPlayer or AudioTrack), catch the IllegalStateException\n  that can be thrown if the player\u0027s state has changed by the time\n  the actual start command gets executed.\n\nTest: generate notifications played by NotificationPlayer\nBug 35019197\n\nChange-Id: I51fd0305bc83b34e33fbcf9331f55627d32702f3\n"
    },
    {
      "commit": "620f72841fb3284e43878789ef7029d316d7b54e",
      "tree": "906407ea9435e1ae93df6474d9772984c0af127e",
      "parents": [
        "fd62c58ede768be5830a052ee2d5ee6ade787839",
        "5bdb4e058362625e71f099842539330b0a72e57d"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Feb 07 07:59:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 07 07:59:25 2017 +0000"
      },
      "message": "Merge \"Add oneway keyword for the IOnMediaKeyListener\""
    },
    {
      "commit": "c6eb54ce43ba25ff053f4fee81456a1018196ed0",
      "tree": "cf9f3ef253a5e65be2a5e1e7ab7370d71a2efa02",
      "parents": [
        "40eb0ba4277823ea794fb54096a621934e6f5dd1"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 03 17:46:16 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 06 16:59:29 2017 -0800"
      },
      "message": "TIF: add BaseProgramColumns in TvContract\n\nPrograms and RecordedPrograms have a lot in common. This change\nintroduces BaseProgramColumns which removes the duplicates.\nThis will be also helpful for the further clean-up.\n\nTest: build \u0026 passes CtsTvTestCases without modification\nBug: 34853064\nChange-Id: I4ad352a9a904e7fef57c56acec5583df92b4226c\n"
    },
    {
      "commit": "49e57a2d9f1333edb74c80f2ccf6b59ca5ab353a",
      "tree": "c5b69c4cf8f9965cfa61651183a169cc247d7adb",
      "parents": [
        "ad2409a26c8356b6cda7c726b715c3a69578444b",
        "a690473348c6182fa2f0ef1ef1ba75fec7d7d688"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Feb 06 18:54:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 06 18:54:35 2017 +0000"
      },
      "message": "Merge \"API for app to know what to set in Activity.setVolumeControlStream()\""
    },
    {
      "commit": "5bdb4e058362625e71f099842539330b0a72e57d",
      "tree": "e84900da6d04be90d5a029b49f67fd946eeb407c",
      "parents": [
        "85a05cd9b5945c42f46ce1bcacb2d1e0aa8c7a44"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 06 20:32:33 2017 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Feb 06 22:07:24 2017 +0900"
      },
      "message": "Add oneway keyword for the IOnMediaKeyListener\n\nTest: Tested manually\nChange-Id: I35406ff6688b7529873e246226a9617244b4f391\n"
    },
    {
      "commit": "99c1f9f453b3b589b3f8f2c32ea4f947e309c089",
      "tree": "3495cdae3d62e1e88de3bebfb44b8d329ba89964",
      "parents": [
        "85a05cd9b5945c42f46ce1bcacb2d1e0aa8c7a44"
      ],
      "author": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Wed Nov 30 16:29:34 2016 +0900"
      },
      "committer": {
        "name": "Sungsoo",
        "email": "sungsoo@google.com",
        "time": "Mon Feb 06 17:38:13 2017 +0900"
      },
      "message": "MediaSession: Add methods for queue managements\n\nBug: 30203831\nTest: Passed MediaControllerTest\nChange-Id: Ibc33572d21bd83d47660be8f41173b9cea206015\n"
    },
    {
      "commit": "a690473348c6182fa2f0ef1ef1ba75fec7d7d688",
      "tree": "ba758ee9a3f481f999ba57a7b5fba297c4a2d922",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Feb 04 16:35:25 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Feb 04 16:35:25 2017 -0800"
      },
      "message": "API for app to know what to set in Activity.setVolumeControlStream()\n\nStream types are deprecated to describe an audio playback use case.\nBut they are used for volume control. This API helps the developer\n  go from an AudioAttributes instance used for playback, to a\n  stream type used to describe which volume stream type should be\n  used when the user presses on the volume keys.\n\nTest: see AudioAttributes cts test\nBug 21267880\n\nChange-Id: I2b9da5b282e8ed2342c61c14a7f59b874d0ce979\n"
    },
    {
      "commit": "763aeb5b94c206b4893f3ee2d25117dc47f1ffb0",
      "tree": "84f0d8b19262ba86b853298a935b1e3e364ad15c",
      "parents": [
        "cc137da39dbda6038706ba674b623d998a352422",
        "9025cc090bf9fcb78f4417a63e24e41c8ea41dc0"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Feb 04 01:43:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 04 01:43:13 2017 +0000"
      },
      "message": "Merge \"AudioTrack: Enable deep buffer under certain conditions\""
    },
    {
      "commit": "2c3c4036d5b002eff5167a23d29c7f8d5af22ec9",
      "tree": "eadfdb25a3394c97ce45b62ac46b4dbc48990b67",
      "parents": [
        "6ba95dab4210cd7ce6ee85393fd3c8595faed8c4"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 03 13:19:14 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Feb 03 13:19:14 2017 -0800"
      },
      "message": "TIF: use @StringDef annotations in TvContract\n\nTest: build\nBug: 34949964\nChange-Id: I59ec8ff245f36a1981a012349892114fe26d5265\n"
    },
    {
      "commit": "9025cc090bf9fcb78f4417a63e24e41c8ea41dc0",
      "tree": "8a3236c9b058f9516aaabbe2e753fd42115d0530",
      "parents": [
        "e9b8348027074996b08796816e0ce0998169a881"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 31 19:27:04 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 03 09:18:34 2017 -0800"
      },
      "message": "AudioTrack: Enable deep buffer under certain conditions\n\nUnder certain conditions, i.e. USAGE_MEDIA and\nCONTENT_TYPE UNKNOWN, MUSIC, MOVIE and large buffers\nwe route the AudioTrack to deep buffer to save power.\n\nChange-Id: Ibc8a31750999da842e36156f939448989ee50511\nTest: Play Movies, CTS\nBug: 30687201\n"
    },
    {
      "commit": "ec3211830eff343cb99eb499472b43f0e5b8e966",
      "tree": "8384d9233a226c4d57fec4039a1c93ed91ce0885",
      "parents": [
        "39455174d73cf20f758e22f7ddabd7f709fc9a7d",
        "72529d0fa7e517881aa2845b58f3d7147b97cfc6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 22:54:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 22:54:44 2017 +0000"
      },
      "message": "Merge \"TIF: add COLUMN_SYSTEM_APPROVED in Channels\""
    },
    {
      "commit": "39455174d73cf20f758e22f7ddabd7f709fc9a7d",
      "tree": "fdfd7a5254294254e922d3ac2cdbaec26276bb4f",
      "parents": [
        "45c87d943d301e30696d6a626c6fe4cca189a6e2",
        "eedc4b5b7d8bd8802a12c094168286c25fa542f6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 02 22:53:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 22:54:00 2017 +0000"
      },
      "message": "Merge \"TIF: change the column names to be consistent with other fields\""
    },
    {
      "commit": "48a3cb6984516579cd2bc33ab3ba35593d004bf8",
      "tree": "996e1381c12936b93073217202f29919128eb4f5",
      "parents": [
        "ddb80216b9d536be0f2af287f44a41872aa1d809",
        "03299f9c8ef9776fbf0af022018a347c01e1a28f"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Feb 02 18:07:17 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 02 18:07:22 2017 +0000"
      },
      "message": "Merge \"media: Add 3gpp output format to MediaMuxer.\""
    },
    {
      "commit": "eedc4b5b7d8bd8802a12c094168286c25fa542f6",
      "tree": "f17b96551b0810c08be486fe6f73116310fd38d6",
      "parents": [
        "f0fac1d1cd5b57ab937b0d02c614502351e61718"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 30 15:42:39 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Feb 01 16:13:26 2017 -0800"
      },
      "message": "TIF: change the column names to be consistent with other fields\n\n1. Add _MILLIS for time related columns.\n2. Remove PREVIEW_ prefix.\n(COLUMN_PREVIEW_VIDEO_URI is an exception since the meaning is not\nclear without it.)\n3. Add _URI for COLUMN_LOGO\n\nTest: cts-tradefed run cts -m CtsTvTestCases\nBug: 34806184\nChange-Id: I1c75b0402508911a37491c7712f12574e574fb9b\n"
    },
    {
      "commit": "03299f9c8ef9776fbf0af022018a347c01e1a28f",
      "tree": "c27f391e9df65b0fb33681906f68f4436e1142eb",
      "parents": [
        "61c74c6a4b0e30a3bd618cdf8c7d7e85edf139d9"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 30 13:15:06 2017 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Feb 01 15:44:49 2017 -0800"
      },
      "message": "media: Add 3gpp output format to MediaMuxer.\n\nTest: CTS test.\nBug: 34281643\nChange-Id: I45b65728aa1fbde7cee88ca41d7f1bd692fc866c\n"
    },
    {
      "commit": "6deaa4c8cf643ec28e2efb6741e26ee46bce592d",
      "tree": "bd2ca5163d16bca1345094639a84c861ec5d7606",
      "parents": [
        "24e602a99bb20abd136a49c9c2d221065e0ebeed",
        "99489ccf740d369193a8ffc7eeb4bbde6919bd65"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Feb 01 18:43:32 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 01 18:43:36 2017 +0000"
      },
      "message": "Merge \"Notification playback synchronized with audio focus\""
    },
    {
      "commit": "72529d0fa7e517881aa2845b58f3d7147b97cfc6",
      "tree": "18a9cf91b6bc222450088c8fb3fc9f395e6096e6",
      "parents": [
        "f0fac1d1cd5b57ab937b0d02c614502351e61718"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 26 18:53:27 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 31 18:07:31 2017 -0800"
      },
      "message": "TIF: add COLUMN_SYSTEM_APPROVED in Channels\n\nTest: cts-tradefed run cts -m CtsTvTestCases\nBug: 34679597\nChange-Id: I271e37ae89b2b7f64ab3ba2fdd2cc363f7c98764\n"
    },
    {
      "commit": "99489ccf740d369193a8ffc7eeb4bbde6919bd65",
      "tree": "a53aa8d869b46ab455f03d416f310c4e9af7fa22",
      "parents": [
        "9e77aefe9ce2c3caa8c0daebf21c86088e10b951"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 25 19:08:49 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 31 15:40:09 2017 -0800"
      },
      "message": "Notification playback synchronized with audio focus\n\nPlayerProxy: more control options (pan, delayed start),\n  remove exceptions in method signatures.\nUse delayed start on notification playback for better sync\n  between media apps and notifications\nDisabled for now: support for AudioService (through\n  MediaFocusControl and PlaybackActivityMonitor) to enforce\n  audio ducking of focus owners losing audio focus with\n  AUDIOFOCUS_LOSS_TRANSIENT_CAN_DUCK, and who don\u0027t\n  play audio that has a content labelled as CONTENT_TYPE_SPEECH.\n  This feature will be enabled when setting a VolumeShaper\n  on a player works.\n\nTest: play music and play notification\nBug 30258418\n\nChange-Id: I4e4d911645306bbde17f74288f3b61781fe0e3fe\n"
    },
    {
      "commit": "e9b8348027074996b08796816e0ce0998169a881",
      "tree": "5ce3ca79010d909c23282be82584ed108fc8fbf3",
      "parents": [
        "c869ebff63439ec3e51fdcd4d8b157cdcc8014c1",
        "4d1d84e8a05a35673d76db0eb4f7954015a24d18"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jan 31 05:03:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 31 05:03:44 2017 +0000"
      },
      "message": "Merge \"Pass application packagename to drm plugin.\""
    },
    {
      "commit": "0b52e95c3fe5e8de93276678d7db9a17b217622e",
      "tree": "1d4369dbbaf572c5bc2d47c43b377430ba9e76f3",
      "parents": [
        "3be1f6fdcf0121bda7347976d9dbc12a44ef614e"
      ],
      "author": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Mon Jan 23 09:06:31 2017 -0800"
      },
      "committer": {
        "name": "Hassan Shojania",
        "email": "shojania@google.com",
        "time": "Fri Jan 27 19:03:09 2017 -0800"
      },
      "message": "Modular DRM for MediaPlayer\n\nBug:  34559906\nTest: Manual through the test app\n\nChange-Id: If76e2898e6064c5661193872b907b1720838c678\n"
    },
    {
      "commit": "0e0fee1e3a04023c9ec122d3bd7da54e9565c3e7",
      "tree": "dd2531595b09ab1a7335cfc41c20146506fe9033",
      "parents": [
        "df9a4f9a7c599ccd2348d429e6a6f0a5a415f780"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 25 18:01:56 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 27 17:58:30 2017 +0000"
      },
      "message": "API access to mediametrics\n\nprovide SDK/API access to media metrics for user apps. This lets the\napps metrics data for their instances of player and codecs. Others\nto come.\n\nBug: 34715803\nTest: booted, invoked new APIs to verify desired results\nChange-Id: Iaae6406aadef30adc893952961ac154a7c4c761d\n"
    },
    {
      "commit": "434602faa9284eee9f3559f6aa8b1ee4e6ba4bee",
      "tree": "55c84b1cf53cfc3de49cbffe4c9185f182065939",
      "parents": [
        "523415e814a04e2012de2ebc22028c422c5b913f"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Wed Jan 25 17:32:17 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 26 10:08:48 2017 -0800"
      },
      "message": "TIF: Add types and \"watch next\" types for programs\n\nTest: build\nBug: 34160270\nChange-Id: I50bf7c36e33cd24bf80785150a2858cfec683546\n"
    },
    {
      "commit": "523415e814a04e2012de2ebc22028c422c5b913f",
      "tree": "a897658df9f056c4d67a879c11abf7d0abaea87b",
      "parents": [
        "5841a983e8e7d9d4f8aae6186972b3f686fde3a9"
      ],
      "author": {
        "name": "Jae Seo",
        "email": "jaeseo@google.com",
        "time": "Wed Jan 25 15:09:49 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 26 08:58:50 2017 -0800"
      },
      "message": "TIF: Add more fields needed for new content recommendation\n\nTest: build\nBug: 34160270\nChange-Id: Ibb40ed39573049ace180ae319cebe96222f84b00\n"
    },
    {
      "commit": "10dcfd36880c1f9f7db631081d1dc40aed818625",
      "tree": "412b4788e3214636599efee017462d38aea782a2",
      "parents": [
        "60d820b05069778db60c1f1af8d4704261961c67",
        "4bf00a2ca130766ceebc451b7c912ade26b5a245"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 26 08:30:10 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 08:30:12 2017 +0000"
      },
      "message": "Merge \"Add an intent that asks the launcher to make a channel browsable.\""
    },
    {
      "commit": "60d820b05069778db60c1f1af8d4704261961c67",
      "tree": "b019f7ad704f42bcd0660184bfed6cf0a7553546",
      "parents": [
        "7b5bbb5509748c06ed5225b1c8458d74e81a7f31",
        "61c74c6a4b0e30a3bd618cdf8c7d7e85edf139d9"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 26 08:21:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 08:22:01 2017 +0000"
      },
      "message": "Merge \"media: Add new MediaMuxer constructor that takes FileDescriptor.\""
    },
    {
      "commit": "da57f6b420897bd1456ee537940ef5cab19e46ae",
      "tree": "9f48cde0ee9b14a62c19c599201ff0cc0a43f67d",
      "parents": [
        "a8b207c53122414c4ddc9f3a03b77acf2e82dfa2",
        "58266016c6672a319d9c8b3d7eaac310501c6a43"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 26 06:00:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 06:00:56 2017 +0000"
      },
      "message": "Merge \"TIF: Add more fields for guide view on launcher\""
    },
    {
      "commit": "27c793146d3e3440b95f45dcf17de80d77192f80",
      "tree": "3ff12832472df8d7dc8bf50fdfcbedf06cc1faeb",
      "parents": [
        "5894f5483ae9b23e9c6aa4775df895ee9d7e8752",
        "644e1375e80738d3c14108406937d5317b02ce2e"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Thu Jan 26 04:55:56 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 04:55:59 2017 +0000"
      },
      "message": "Merge \"ExifInterface: Accept decimal values for RATIONAL formats\""
    },
    {
      "commit": "0ce4b0e4c31a65864e0cda3c9d3fb6fe8a40f2ed",
      "tree": "0312b321b8ac943de7d2a2613bfa95d3842c2812",
      "parents": [
        "e3d08aebdcf2ab939b9f9e8c65105594db7dd720",
        "9b21265b2ce0f57796bffb241c008fff459d4b05"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:49:33 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:49:33 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d am: ab978c035e am: 28ba4722a9\nam: 9b21265b2c\n\nChange-Id: If246ebdb36cf2832d5a6c42cbe752e290b6fb6e8\n"
    },
    {
      "commit": "28ba4722a9e77ce98de454ed2ac862e44f496632",
      "tree": "e1076bdad7d328e800841a3c13244dbc6974601d",
      "parents": [
        "e667f7795f74ea129c82297dae7bd3fd4275e13a",
        "ab978c035eda5e6e42f3856d5edf132e76e45994"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:39:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:39:57 2017 +0000"
      },
      "message": "Fix @links in reference docs. am: 54de77470d\nam: ab978c035e\n\nChange-Id: If0d0613362e0ea95cf48eaf9a16d3eea48b589ea\n"
    },
    {
      "commit": "ab978c035eda5e6e42f3856d5edf132e76e45994",
      "tree": "a4cd69b1c9f27e2a0d52f1e2f73ce604725483c8",
      "parents": [
        "8ac1bff7e23ac984568652e1c5e9ffc7dd47e341",
        "54de77470de4f605eef7f4b4e01718b301fe275e"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Thu Jan 26 04:34:57 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 26 04:34:57 2017 +0000"
      },
      "message": "Fix @links in reference docs.\nam: 54de77470d\n\nChange-Id: Id38c30bad13d6b61ed504a06471b9f197b360f7b\n"
    },
    {
      "commit": "61c74c6a4b0e30a3bd618cdf8c7d7e85edf139d9",
      "tree": "0a46fac728f0e0255db85bb1152c599900ffb958",
      "parents": [
        "8f3b174d90e3bf2093751fb1a1bd0603adac0222"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Jan 20 10:15:04 2017 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jan 25 18:31:02 2017 -0800"
      },
      "message": "media: Add new MediaMuxer constructor that takes FileDescriptor.\n\nTest: Run new mediamuxer CTS test.\nBug: 34221063\nChange-Id: Iaad4f0254782dca3e5994e80af0848482847c618\n"
    },
    {
      "commit": "4bf00a2ca130766ceebc451b7c912ade26b5a245",
      "tree": "104b4485b0805954fea9548ab2e4114ce52267df",
      "parents": [
        "1bfd08f2335b4bf9da51e84debc0b8c9c520e667"
      ],
      "author": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Wed Jan 25 16:29:01 2017 -0800"
      },
      "committer": {
        "name": "Nick Chalko",
        "email": "nchalko@google.com",
        "time": "Wed Jan 25 18:26:43 2017 -0800"
      },
      "message": "Add an intent that asks the launcher to make a channel browsable.\n\nTest: Cts passes. Will add tests to Cts-Verifier.\nBug: 34354495\nChange-Id: Ic441301a46790e15564a8d5e0d4e1ad4627680a1\n"
    },
    {
      "commit": "58266016c6672a319d9c8b3d7eaac310501c6a43",
      "tree": "6d1ef9b820f2ccead5444f6fbcb78a0bb7cd6b52",
      "parents": [
        "9aa513bf95498b6c7a94ba10b2f0444a6d09bd6b"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 25 15:01:01 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 25 18:23:05 2017 -0800"
      },
      "message": "TIF: Add more fields for guide view on launcher\n\nTest: build\nBug: 34160270\nChange-Id: Icde5d2a9dd462df2c3acda24231dead173fde8dd\n"
    },
    {
      "commit": "54de77470de4f605eef7f4b4e01718b301fe275e",
      "tree": "ed253ff342d6ecbdde4fb2873fbc4db7637a35ac",
      "parents": [
        "fb99d1450d086e1d971eb171b0874a2b9632bda8"
      ],
      "author": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Wed Jan 11 15:30:35 2017 -0800"
      },
      "committer": {
        "name": "Elliot Waite",
        "email": "elliotwaite@google.com",
        "time": "Wed Jan 25 17:00:55 2017 -0800"
      },
      "message": "Fix @links in reference docs.\n\nChange-Id: I40cea46efd80c448640ff69753698fe8404da40b\n"
    },
    {
      "commit": "2fa71dd04a2fbc683611fc5b8dad1cd312ce3d8c",
      "tree": "70805c6e05e96cb1688cd4a7231b4c8583a98f77",
      "parents": [
        "78fe2569337eb127330cf7fcf4c58c4eb915f52d",
        "ebc2c14b0777042f2325d437078b0e7815129b75"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jan 26 00:22:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 26 00:22:54 2017 +0000"
      },
      "message": "Merge \"AudioTrack: Enable deep buffer mode from Java\""
    },
    {
      "commit": "3416cc280034b4e617768ecb2d51f55fda7f576b",
      "tree": "6d2d7ea4f3c1d6b7cd077345116a356acfbb358d",
      "parents": [
        "5b15e376783861d451d9d8c05628131d5c0871c2",
        "23dfee521a7782bf901344beec6f94614e0b02b8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 21:53:29 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 21:53:32 2017 +0000"
      },
      "message": "Merge \"mediaplayer: add buffering settings API\""
    },
    {
      "commit": "ebc2c14b0777042f2325d437078b0e7815129b75",
      "tree": "369df4c30341bc3a62f7675a8a9c7183118bb830",
      "parents": [
        "0b0a6b63beaa20be9296f82f342cb6819a873434"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 12 19:20:29 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Jan 25 13:00:34 2017 -0800"
      },
      "message": "AudioTrack: Enable deep buffer mode from Java\n\nTest: AudioTrack CTS test, Play Movies\nBug: 30687201\nChange-Id: Id3a8d675966671ed13c488936228bd76dfc6c1fe\n"
    },
    {
      "commit": "23dfee521a7782bf901344beec6f94614e0b02b8",
      "tree": "d6c4e86b2192f9d1d49171eaed093eec139577e6",
      "parents": [
        "65e8f0adf31f8af2fea5d2ab9bdbf95ecf693852"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 16 10:18:15 2017 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 25 11:54:56 2017 -0800"
      },
      "message": "mediaplayer: add buffering settings API\n\nTest: compiles, ensured that params is passed all the way to source\nBug:32524218\n\nChange-Id: I90d65e10012ecc1a78989eba80d025d513ceaadf\n"
    },
    {
      "commit": "82d2ea4a4f2d6dc73c9e84bf0bdd6c79f8c20909",
      "tree": "714e8dceec1bc9e8f9fa9aeddc891e40656445af",
      "parents": [
        "b7cab6a19096458a7fafa905eed52db83759b6c6"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Mon Jan 23 13:23:17 2017 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jan 25 17:58:06 2017 +0000"
      },
      "message": "media: Relax the filedescriptor check to allow write-only mode.\n\nTest: Use the MMS app to record video.\nBug: 34594319\nChange-Id: I0680c48f5f240e2b18264dbf952622ad0497130b\n"
    },
    {
      "commit": "b7cab6a19096458a7fafa905eed52db83759b6c6",
      "tree": "2afce756d27e0d5efd92e6f9ec3ca35a084cc336",
      "parents": [
        "b08655764bea5ab0c2042c0cf59d4b2a602f6584",
        "6e2b01ce75fb1d5647d5d788d8a5644c30cb3068"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 25 01:16:28 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 25 01:16:32 2017 +0000"
      },
      "message": "Merge changes from topic \u0027bisto-request\u0027\n\n* changes:\n  Allow privileged app to set media key event listener\n  Allow privileged app to set volume key long-press listener\n"
    },
    {
      "commit": "08bbfa9498db5b521e4e648a30cc1032e89022bc",
      "tree": "126e5cf6a55cec0fefec640faded4183a1582aa0",
      "parents": [
        "59138c00043f3cfe185b405e86871e7efb83d4d3",
        "824413871a30ad0794bc62a42e4bfcdfa2d02115"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 24 19:19:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 19:19:18 2017 +0000"
      },
      "message": "Merge \"TIF: Add new TvContract fields for guide view on launcher\""
    },
    {
      "commit": "59138c00043f3cfe185b405e86871e7efb83d4d3",
      "tree": "9704769333100f046e61daf40c8385888710f8c3",
      "parents": [
        "e19a36ec12e5e4472de2746e3db6dfcdef1ee7cf",
        "e0712b2661e5ec14fdd0ddf91dc42367d3598dc0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 24 19:15:27 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 19:15:30 2017 +0000"
      },
      "message": "Merge \"Add intent to browse recording schedules\""
    },
    {
      "commit": "6e2b01ce75fb1d5647d5d788d8a5644c30cb3068",
      "tree": "83df9116a274617897b06369a3c0fc8d9e3b34ba",
      "parents": [
        "5026936e49540449165fd5881231f8970a29ea91"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Jan 19 16:33:14 2017 -0800"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 24 09:41:54 2017 -0800"
      },
      "message": "Allow privileged app to set media key event listener\n\nIf the media key listener is set, the listener will receive the media key\nevents before any other sessions, but after the global priority session.\nIf the event is handled by the listener, other sessions cannot get the event.\n\nPrivileged app needs permission android.permission.SET_MEDIA_KEY_LISTENER\nto set the listener.\n\nBug: 30125811\nChange-Id: I2b2cf4ac7873b70899194701c6921990dcb9de02\n"
    },
    {
      "commit": "5026936e49540449165fd5881231f8970a29ea91",
      "tree": "67fc01a29dbe5ebd1132e17e4151eeabee62ad4c",
      "parents": [
        "70c5c30afa1379d4c3c856f08a3b5a0fdb5f9d92"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Dec 23 11:22:02 2016 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Jan 24 09:41:43 2017 -0800"
      },
      "message": "Allow privileged app to set volume key long-press listener\n\nIf the volume long-press listener is set, the listener will receive\nthe volume key long-presses instead of chaging the volume.\n\nPrivileged app needs permission\nandroid.permission.SET_VOLUME_KEY_LONG_PRESS_LISTENER to set the listener.\n\nBug: 30125811\nChange-Id: I5e8fafbb950e5e11522da0f14004648d0877bf3e\n"
    },
    {
      "commit": "110dad7c782c4388906dccb1d1891d4b6fc3e49f",
      "tree": "d8cab77d217927820d3ad7a3bc7a199f32682daf",
      "parents": [
        "1f50fa6df50e6b3fb40c037aa2ee1dd36077f610",
        "7bdc6d80efe0176d5c708a310ce756bc3c42b6f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 24 15:05:22 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 24 15:05:26 2017 +0000"
      },
      "message": "Merge \"[SettingsProvider] Auto disable ringtone sync\""
    },
    {
      "commit": "7bdc6d80efe0176d5c708a310ce756bc3c42b6f7",
      "tree": "57daf281ac1a044efa498f6fb7ab86eb1605dc29",
      "parents": [
        "3e6041557ad0fc0f32c94f0d9c7a93f72d3e74a5"
      ],
      "author": {
        "name": "Andre Lago",
        "email": "andrelago@google.com",
        "time": "Thu Sep 22 18:00:41 2016 +0100"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Tue Jan 24 11:12:02 2017 +0000"
      },
      "message": "[SettingsProvider] Auto disable ringtone sync\n\nDisable the SYNC_PARENT_SOUNDS setting if a work profile ringtone is set\n\nTest: cts-tradefed --test com.android.cts.devicepolicy.ManagedProfileTest\nBug: 30658854\nChange-Id: I172f5396b47f03ac8afa365db0ec90f3a2dd0e29\n"
    },
    {
      "commit": "e0712b2661e5ec14fdd0ddf91dc42367d3598dc0",
      "tree": "3515da515e9abede696eeec4b3f5d2a24f872daa",
      "parents": [
        "78b09a00a875d62e055c0d206fb1128015b4a5f2"
      ],
      "author": {
        "name": "Chulwoo Lee",
        "email": "chulwoo@google.com",
        "time": "Mon Jan 23 13:58:31 2017 -0800"
      },
      "committer": {
        "name": "Chulwoo Lee",
        "email": "chulwoo@google.com",
        "time": "Mon Jan 23 21:14:05 2017 -0800"
      },
      "message": "Add intent to browse recording schedules\n\nTest: Cts passes. Will add tests to Cts-Verifier.\nBug: 30843557\nChange-Id: If84b3ae862f204a25343b0ad3b1c262826e6130e\n"
    },
    {
      "commit": "824413871a30ad0794bc62a42e4bfcdfa2d02115",
      "tree": "e5929087641ae11d370a981924c01e074d4bfd09",
      "parents": [
        "458c4115ecd65a9e2b2071a68cb783c66367f952"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 09 11:34:12 2017 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Jan 23 16:10:44 2017 -0800"
      },
      "message": "TIF: Add new TvContract fields for guide view on launcher\n\nTest: cts-tradefed run cts -m CtsTvTestCases\nBug: 34160270\nChange-Id: Ifaa0ef4bdc52623a6c686f1017340fdfab74872e\n"
    },
    {
      "commit": "644e1375e80738d3c14108406937d5317b02ce2e",
      "tree": "de9c68fc5f8400e5e0fc7d3cfc36021711c81ec5",
      "parents": [
        "f67d4498cebab5f6da557fa2f48742405ddcb96c"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jan 23 10:43:50 2017 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Jan 23 10:59:37 2017 +0900"
      },
      "message": "ExifInterface: Accept decimal values for RATIONAL formats\n\nPrior to android N, ExifInterface.setAttributes() accepted the\ndecimal values for SRATIONAL/URATIONAL formats. However in android N,\ndecimal values for RATIONAL formats are rejected. Since this behavior\nbreaks the backward compatibility, we should make setAttributes()\naccept decimal values as before.\n\nBug: 34269464\nTest: flashed modified build on angler and tested with an app\nChange-Id: I9a77ce341c8c8c3ea74c8592b5a821243eb0257d\n"
    },
    {
      "commit": "e9630038872065874c66c8f120555cf09d1ee060",
      "tree": "2a1f74a8714f6b048db321f390540b4f8d389732",
      "parents": [
        "9a33bda0709f112d67635dbd72cb82d306726200"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jan 21 15:53:11 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jan 21 15:53:11 2017 -0800"
      },
      "message": "PlayerBase: unregistration in player release\n\nThe player state of PlayerBase was not kept in sync with its\n  corresponding AudioPlaybackConfiguration. This caused\n  the configuration to never be removed and gc\u0027d because\n  the state of PlayerBase when released was always the\n  unitialized state of 0 \u003d\u003d released state.\n\nTest: use a MediaPlayer then call release, verify the player\n  is not showing in the AudioService dumpsys\nBug: 30258418\n\nChange-Id: I9a6704147949e1e45752e646648c8c882376752f\n"
    },
    {
      "commit": "9deb7b5e734c1d1e0f647b7a393a711562bdd4f6",
      "tree": "e30f6947c5abbeb0d8d20567f12fdf8497004e48",
      "parents": [
        "0ae1a7d9e97b99b63397030fee4deec3f5eb47b2",
        "e176ee1222931d67aaea0a3df96262728cc31031"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Jan 19 18:17:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 18:17:45 2017 +0000"
      },
      "message": "Merge \"media: Add new API to set next output file.\""
    },
    {
      "commit": "56a2ae1056a5692071ee1b507b07c8e828ec2e8d",
      "tree": "3b7ee89170872811059c86d12695f3d87c604971",
      "parents": [
        "f8afe45d898c0431e53578e371e04f316886fc8b",
        "ab62fd67d8e7bd0ddad87df2b26c2d033f9dc4ef"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jan 19 11:44:56 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 19 11:44:56 2017 +0000"
      },
      "message": "Merge \"Prepare for removal of legacy-test from default targets\" am: c74ccf1588\nam: ab62fd67d8\n\nChange-Id: I923de1762a15fca7dc255f9dfe0ecce6f54d333c\n"
    },
    {
      "commit": "ccb04450279c53eda250ac3e20b75cd07bcd1f7e",
      "tree": "b7465ccb8c71931bcc64f3fa19c90be70d6baf54",
      "parents": [
        "0ac7232b7cd55806b4fd231899a57a20c7f7bdd8"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 10 12:08:23 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jan 19 09:43:05 2017 +0000"
      },
      "message": "Prepare for removal of legacy-test from default targets\n\nIn preparation for removing junit classes from the Android API\nthe legacy-test target will be removed from the\nTARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit\ndependencies on junit and/or legacy-android-test to ensure that\nmodules will compile properly once it is removed.\n\n(cherry picked from 6387604f9e672ece85e07c4bcbd7be396867f06f)\n\nBug: 30188076\nTest: make checkbuild\nMerged-In: I13e88297731253420e4e5f5291d503f13a39a156\nChange-Id: I58446eb8c45d8ac2bcdbc9fa40d1321e811bdd4b\n"
    },
    {
      "commit": "648abd31e84ab46173d92351526fe81a48af037d",
      "tree": "ca7b78cbc62623dd7991ca03f4056175261d36b0",
      "parents": [
        "b5fe748c69df170dddea6529c80956fede61d59d",
        "8aeb59ebcd50a510d024dc082fa17b192074c63d"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Thu Jan 19 09:34:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 19 09:34:19 2017 +0000"
      },
      "message": "Merge \"Prepare for removal of legacy-test from default targets\""
    },
    {
      "commit": "e176ee1222931d67aaea0a3df96262728cc31031",
      "tree": "a22a73fc117c7dd5ed36d07d04264db54f7a37d3",
      "parents": [
        "11fa7f3d0b65031b0d4909f3e4917679ac7769cf"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Tue Jan 03 17:25:50 2017 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Jan 18 17:32:17 2017 -0800"
      },
      "message": "media: Add new API to set next output file.\n\nOnly support recording to MP4 file now. When the recorded file is approcaching\nfile size limit, application will receive\nMEDIA_RECORDER_INFO_MAX_FILESIZE_APPROACHING callback from mediarecorder.\nApplication could use setNextOutputFile to set the next output file before or\nafter receiving this callback. Upon reaching filesize limit, recorder will swap\nthe output file internally and notify application with\nMEDIA_RECORDER_INFO_NEXT_OUTPUT_FILE_STARTED.\n\nTest: Hack camera app to record more than filesize limit.\nBug: 28150626\nChange-Id: I2daf8f798fe3631d6b7ef48ebea3a64ab4566f2d\n"
    },
    {
      "commit": "cc2a4210d7e1476d030d11e5055016af6f2753c7",
      "tree": "0df5a6b2a05be56bcee29b2d4d83e6710422fa9d",
      "parents": [
        "57c45562cd2f889456343156e9025f31fe0d2b61",
        "cab79f7d5982bda4e80821b6620c3249764c613f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 18 23:35:24 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 18 23:35:29 2017 +0000"
      },
      "message": "Merge \"Revert \"MediaBrowserService: Add a constant for suggestion keywords\"\""
    },
    {
      "commit": "8aeb59ebcd50a510d024dc082fa17b192074c63d",
      "tree": "b7f3e92f4eebc63df03fd63d35b0eafc18ccc81c",
      "parents": [
        "57b8eb3da0c4692ac4f39a9c73aa090af475d14a"
      ],
      "author": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Tue Jan 10 12:08:23 2017 +0000"
      },
      "committer": {
        "name": "Paul Duffin",
        "email": "paulduffin@google.com",
        "time": "Wed Jan 18 16:39:34 2017 +0000"
      },
      "message": "Prepare for removal of legacy-test from default targets\n\nIn preparation for removing junit classes from the Android API\nthe legacy-test target will be removed from the\nTARGET_DEFAULT_JAVA_LIBRARIES. This change adds explicit\ndependencies on junit and/or legacy-android-test to ensure that\nmodules will compile properly once it is removed.\n\nBug: 30188076\nTest: make checkbuild\nChange-Id: I13e88297731253420e4e5f5291d503f13a39a156\n"
    },
    {
      "commit": "70efb526915d437b72a51a957293dd1e1ce7fd7d",
      "tree": "741a83535842db96cd408252271a5e1300f713f5",
      "parents": [
        "c25be09cfc016cb243dfa74578c54a3aacf2d76b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jan 16 15:09:14 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 17 15:42:42 2017 -0800"
      },
      "message": "System API for a proxy for registered players\n\nPlayerProxy is a wrapper on IPlayer for system components\n  to control players.\n\nTest: use vendor/google_toolbox/team/audio/cmds/ClPlaybackActivity\nBug 30258418\n\nChange-Id: I6a40290c7f711fc0242597a5c016fc71cb4baa10\n"
    },
    {
      "commit": "c1fdd5df4a18bbf70a57676a87fa7580ec6b740a",
      "tree": "8ebd071bc136870a229edb673c1aa09346764209",
      "parents": [
        "18de051c986b0871848a77d2c2dd11659af365c9",
        "9dc22c227cb5c01136a6aa1b52c7dfa3383c0bd7"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sat Jan 14 23:39:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jan 14 23:39:12 2017 +0000"
      },
      "message": "Merge \"AudioPlaybackConfiguration has a player control interface\""
    },
    {
      "commit": "9dc22c227cb5c01136a6aa1b52c7dfa3383c0bd7",
      "tree": "93f20df7ed85a132721905616d60ff57fac48645",
      "parents": [
        "d02e1c3024134f5ae15dfcf658416934e3f3a1b8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Jan 05 18:06:03 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Jan 13 23:49:29 2017 +0000"
      },
      "message": "AudioPlaybackConfiguration has a player control interface\n\nAn AudioPlaybackConfiguration contains an IPlayer\n  interface for system control of a player. It is not\n  exposed to non-system signature components.\nAudioService, through PlaybackActivityMonitor, is monitoring\n  the death of the IPlayer so the matching player can get\n  unregistered  in case it meets its maker.\n\nTest: use vendor/google_toolbox/team/audio/cmds/ClPlaybackActivity\nBug: 30258418\n\nChange-Id: Ibf3bceba91882ff16bffbf1219c55a1f89ccb13f\n"
    },
    {
      "commit": "db15537e6e0d35c7ed3b1bef45e421760be70683",
      "tree": "a37853e5f3889f478cbcd204b46d1c8c640215f2",
      "parents": [
        "505d8262ab8702fea19c926bdff4d66bbbaa766a",
        "082a1721b5165420e11319b98eefaa35d0feb844"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 08:30:03 2017 -0800"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 08:30:17 2017 -0800"
      },
      "message": "resolve merge conflicts of 082a1721b516 to master\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: I17f178f425975c1c0dbd48091d25b101956d505e\n"
    },
    {
      "commit": "ef8ccc8510d2c66c4807f15962c3d53235af5fc5",
      "tree": "eeed237443ea2350067ec9501fde2d07c65b2f39",
      "parents": [
        "d544a4c682232f5bd3ae5d6eb5a11c978ddcf6aa",
        "6143cbf1e5ab5e879044748c497e05b36ad4c36a"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jan 11 15:40:24 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 11 15:40:24 2017 +0000"
      },
      "message": "Merge \"Replace cutils/log.h and log/logger.h with log/log.h\" am: e7fcbcb991\nam: 6143cbf1e5\n\nChange-Id: Id192d8dd973fe9e70acab72bae9856bc8a62ac75\n"
    },
    {
      "commit": "52eb4e01a49fe2e94555c000de38bbcbbb13401b",
      "tree": "a8bcb3cefc94c7366632782f10bfe03880bf189c",
      "parents": [
        "ccda81e58f8456a19b02573d6787f11729904a7b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Sep 28 16:15:30 2016 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jan 09 14:31:34 2017 -0800"
      },
      "message": "Replace cutils/log.h and log/logger.h with log/log.h\n\nTest: compile\nBug: 26552300\nBug: 31289077\nChange-Id: I578b15b48f0fc2807a92abbc69a377c3d2191496\n"
    },
    {
      "commit": "4d1d84e8a05a35673d76db0eb4f7954015a24d18",
      "tree": "91adf8c237076fd05c59232a79588d0d269d054e",
      "parents": [
        "1dbb3f1135de764a81f6f52de201d78a6b054aed"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Jan 04 09:37:49 2017 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Sat Jan 07 23:59:40 2017 -0800"
      },
      "message": "Pass application packagename to drm plugin.\n\nGet the application packagename to be used as part of a unique\nidentifier for drm plugin.\n\nTest: Stream movies through Play Movies, Netflix and\nGts MediaCodecCencPlayer tests.\nVerify the application\u0027s packagename is reachable in the drm plugin\u0027s\ndebug log.\n\nbug: 27101531\n\nChange-Id: I6473b58d78bc34191aca5896bb1f5fb79107ae47\n"
    },
    {
      "commit": "677e297537d6d8dff04ab94fc0df3b74472c4698",
      "tree": "86567bebcfe2f0a4b6c845cad566d9afac254be0",
      "parents": [
        "bc1d78606c40470e6064a1323d64489535d5553b",
        "dc50b548ff68af057ea7768ad67c17aff1b5f7d8"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 06 19:35:54 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 06 19:35:59 2017 +0000"
      },
      "message": "Merge changes from topics \u0027List parent profile custom ringtones from managed profile\u0027, \u0027Add/delete custom ringtones from storage\u0027\n\n* changes:\n  [RingtoneManager] Option for cursor to list parent sounds\n  [RingtoneManager] API to delete custom ringtones\n  [RingtoneManager] API to add custom ringtones\n"
    },
    {
      "commit": "bb983d20d2cacebdf81efe88f8ff4aa7304fbff7",
      "tree": "ef06cd8988ad94e50d820f2c432cb0691aad7598",
      "parents": [
        "496777de7d50ce04342d59c029acf53db3086cda"
      ],
      "author": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jan 06 09:54:20 2017 -0500"
      },
      "committer": {
        "name": "Julia Reynolds",
        "email": "juliacr@google.com",
        "time": "Fri Jan 06 15:59:45 2017 +0000"
      },
      "message": "Use internal volume controller and status bar.\n\nRemove code that let these components be replaced by external\nprocesses.\n\nBug: 33006669\nBug: 34106436\nTest: manual. reboot device, play music, change volume,\nview notifications\nChange-Id: I458f11537ab9db6f23735487513815553004613f\n"
    },
    {
      "commit": "dc50b548ff68af057ea7768ad67c17aff1b5f7d8",
      "tree": "0a95b204c4a8e943a38189e6f2ee707bf83d234b",
      "parents": [
        "178693a5df46dfe09ac93c816a7b99e0820846d1"
      ],
      "author": {
        "name": "Andre Lago",
        "email": "andrelago@google.com",
        "time": "Thu Aug 25 15:21:07 2016 +0100"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Jan 05 19:06:35 2017 +0000"
      },
      "message": "[RingtoneManager] Option for cursor to list parent sounds\n\nModify RingtoneManager.getCursor so that the cursor returned also\nretrieves the parent profile\u0027s ringtones, adding the parent\u0027s id to\nthose ringtones\n\nTest: manual (use ringtone picker in associated CL)\nBug: 30658854\nChange-Id: I3b52b0dc41a5a3ff1a71a89fd8a0d33023021aba\n"
    },
    {
      "commit": "178693a5df46dfe09ac93c816a7b99e0820846d1",
      "tree": "295991187a98f69481b1a6ff3b3ffad581a27d7e",
      "parents": [
        "7c8ccb3ce4943a0e69db536058b97e8c0ffebb71"
      ],
      "author": {
        "name": "Andre Lago",
        "email": "andrelago@google.com",
        "time": "Fri Sep 30 17:02:57 2016 +0100"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Jan 05 19:06:34 2017 +0000"
      },
      "message": "[RingtoneManager] API to delete custom ringtones\n\nGiven a Uri, if it is a media file in one of the external ringtone\nstorages, this API deletes its file and database entry.\n\nTest: manual - associated CL\nBug: 30658854\nChange-Id: I987bd18577960f9a2b02ce37a4a2d5d033d7a969\n"
    },
    {
      "commit": "7c8ccb3ce4943a0e69db536058b97e8c0ffebb71",
      "tree": "eaa4b687143504cff943f875f4e8315ddf097212",
      "parents": [
        "97a8d7038646c34b25619d2e2ae9d6c7c8104f35"
      ],
      "author": {
        "name": "Andre Lago",
        "email": "andrelago@google.com",
        "time": "Mon Sep 12 09:57:52 2016 +0100"
      },
      "committer": {
        "name": "Robin Lee",
        "email": "rgl@google.com",
        "time": "Thu Jan 05 19:06:14 2017 +0000"
      },
      "message": "[RingtoneManager] API to add custom ringtones\n\nSo far, the only way for users to add custom ringtones was to either use\na 3rd party app or copy files to a specific directory in the storage,\nand there was no API to make it easier to add custom ringtones.\n\nThis CL creates a hidden API in RingtoneManager that allows adding any\naudio file as a custom ringtone, by copying that file into the ringtone\nstorage and asking MediaScanner to scan that file.\n\nThis API is not intended to be used by existing apps, but an associated CL\nuses it in RingtonePickerActivity\n\nTest: make \u0026\u0026 vendor/google/tools/flashall, plus manual testing with associated CL\nBug: 30658854\nChange-Id: I2b291847c5430e1fc2c3fc6a351b6111a49fcbf3\n"
    },
    {
      "commit": "6e3c246e2bdc7c4394c5d9bb3613235ec7d88efa",
      "tree": "a940c552a057c6c6e1a0346ad964ab25d7d12916",
      "parents": [
        "64593c699337e6ff742b437b5635f3842ebebf3d",
        "359b91dc68810a672551452e39e5ec80857f80f7"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 20:02:23 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 20:02:28 2017 +0000"
      },
      "message": "Merge \"Fix typo in comment in IAudioService.aidl\""
    },
    {
      "commit": "d61d501a06793d2914e087140bd1350acac1a16e",
      "tree": "ff92d0182a0d014c157c836933c870e32d4fd2e1",
      "parents": [
        "8a86825e7ee772446623a460af8c779b7a34df77",
        "44a8f53f94808fdc5ac35a249d21ff2ba23e9419"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 04 18:37:40 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 04 18:37:43 2017 +0000"
      },
      "message": "Merge \"Player activity notification: move some intialization server-side\""
    },
    {
      "commit": "359b91dc68810a672551452e39e5ec80857f80f7",
      "tree": "c8f7d209deb4822fb450083dc523606593d8a7f1",
      "parents": [
        "2bb0099b0a0703dc70f1e3a22d4b85a6f2efdf11"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 04 10:20:14 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Jan 04 10:20:14 2017 -0800"
      },
      "message": "Fix typo in comment in IAudioService.aidl\n\nTest: none, typo in comment\nChange-Id: I6f8803d3d551649fc322414980b2b4bf7d437d9d\n"
    },
    {
      "commit": "e5fb79bb2def5a17d158193c2e668224dc5ad5c1",
      "tree": "e1ca67e37c0745d2580d9b1cb30c19abf7658bd0",
      "parents": [
        "a5e50e2612fefd0c50595445dd4f2a68cfa33377",
        "cec9c42498793d69181d4f21a677405ca5c4b247"
      ],
      "author": {
        "name": "qinzhichao",
        "email": "qinzhichao@xiaomi.com",
        "time": "Wed Jan 04 17:41:53 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 04 17:41:53 2017 +0000"
      },
      "message": "Merge \"Fix NullPointerException in MediaPlayer\" am: c7c899bbe2 am: 15c9c1f8d1 am: 80713e98f7\nam: cec9c42498\n\nChange-Id: I19ca9ac969eca57981fd00dcc89f6fa1c724650a\n"
    },
    {
      "commit": "80713e98f7b87749e7691b9c3d123eaf6c3fa59a",
      "tree": "e025756007beb7934e0d845ed1b549a52add609c",
      "parents": [
        "8be80273b88afc85bd106af73bc3f91f6e3c3121",
        "15c9c1f8d13ab7103e27f015eacc42166eb6f717"
      ],
      "author": {
        "name": "qinzhichao",
        "email": "qinzhichao@xiaomi.com",
        "time": "Wed Jan 04 17:32:20 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 04 17:32:20 2017 +0000"
      },
      "message": "Merge \"Fix NullPointerException in MediaPlayer\" am: c7c899bbe2\nam: 15c9c1f8d1\n\nChange-Id: I313f483e69e098252cf1b753aa5f6b38945d9669\n"
    },
    {
      "commit": "30d4a498c4bb99eb16d8bfd8ccfdd413c1dad881",
      "tree": "a87d0044a8da7b712ba09166e98e336b68daee5b",
      "parents": [
        "6c5cc261f804fb6bf549b6ef65d53cfef60b6244"
      ],
      "author": {
        "name": "qinzhichao",
        "email": "qinzhichao@xiaomi.com",
        "time": "Wed Jan 04 14:51:33 2017 +0800"
      },
      "committer": {
        "name": "qinzhichao",
        "email": "qinzhichao@xiaomi.com",
        "time": "Wed Jan 04 14:51:33 2017 +0800"
      },
      "message": "Fix NullPointerException in MediaPlayer\n\nIssue detail:\nhttps://code.google.com/p/android/issues/detail?id\u003d231417\n\nsetSubtitleAnchor() is a synchronized method and has checked\nmSubtitleController. So checking for null pointer is not\nneeded in scanInternalSubtitleTracks() method.\n\nSigned-off-by: qinzhichao \u003cqinzhichao@xiaomi.com\u003e\n"
    },
    {
      "commit": "858ab9907152b2391063f11706e22d9308cb0454",
      "tree": "4ba367ebffb9bf476b24cb69d27c6973db2863ec",
      "parents": [
        "8e514b7864b645b56a6d3eee8038db778cf0965d",
        "62c5226e9c9d5a85689e40b00eacc41e5e90f671"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 04 03:54:18 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 04 03:54:18 2017 +0000"
      },
      "message": "Merge \"Add a mechanism for configuring the A2DP Source codecs\" am: 63270f2b96 am: 8b46f87e7e am: da3de76bdb\nam: 62c5226e9c\n\nChange-Id: I14d4cc2dc91cb1ab431eda32d5066ac8f471c3a6\n"
    },
    {
      "commit": "da3de76bdb523e29359859002b6b7e5cdc9cf0e6",
      "tree": "021cf73d01c96f02b13686fc13f8aff78c9cc5b0",
      "parents": [
        "c580c3401a194c7f71e6e8fda46e1af33fe7043d",
        "8b46f87e7efe918aeb0dd1908e0d2b731fb2c39b"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Jan 04 03:44:40 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 04 03:44:40 2017 +0000"
      },
      "message": "Merge \"Add a mechanism for configuring the A2DP Source codecs\" am: 63270f2b96\nam: 8b46f87e7e\n\nChange-Id: I39e4b90491f646887200649954b652d9f5439925\n"
    },
    {
      "commit": "44a4ef0aa93ebb2912f36d65af42ffbb1bcdbc0f",
      "tree": "2283988818629000f51e24f76189c12868cff37e",
      "parents": [
        "f8720b95bedeef8dd7397d3926f19ce7b9eaa7f2"
      ],
      "author": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Wed Dec 21 12:05:51 2016 -0800"
      },
      "committer": {
        "name": "Pavlin Radoslavov",
        "email": "pavlin@google.com",
        "time": "Tue Jan 03 17:52:52 2017 -0800"
      },
      "message": "Add a mechanism for configuring the A2DP Source codecs\n\n* Added a new class BluetoothCodecConfig that contains codec-related\n  configuration or capabilities: codec type, priority, sample rate,\n  bits per sample, channel mode, and codec specific fields.\n\n* Extended the Bluetooth A2DP AIDL interface to get/set the current\n  codec configuration\n\n* Added new call handleBluetoothA2dpDeviceConfigChange() to the Media\n  Framework that is called when there are changes in the\n  Bluetooth A2DP device configuration - e.g., the A2DP codec is changed.\n\nTest: A2DP streaming to headsets, TestPlans/71390\nBug: 30958229\nChange-Id: I9a82716cbc2a5efbe77352a031ac80c88f6a2459\n"
    },
    {
      "commit": "44a8f53f94808fdc5ac35a249d21ff2ba23e9419",
      "tree": "9d05cec6e07e7afdba309222c0ca4245b1f382d7",
      "parents": [
        "9bc2a4628844d7a43bedc9b2765fe347cf681ace"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Jan 02 14:36:43 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 03 14:45:26 2017 -0800"
      },
      "message": "Player activity notification: move some intialization server-side\n\nMake beginning of player tracking synchronous, init uid/pid/piid\n  on the server side, and return the piid.\nAnonymize configurations in the getter of active configurations\n  when the client isn\u0027t privileged.\n\nTest: run cts -m CtsMediaTestCases -t android.media.cts.AudioPlaybackConfigurationTest\nBug: 30955183\n\nChange-Id: I1610ae0067fd26d297057663352e679c8963a2d7\n"
    },
    {
      "commit": "791c48458e03a7f884abc19a398fb766d4480133",
      "tree": "0ac7e3f8aab42fb423be5b285efcd700ff7f5ea5",
      "parents": [
        "196bbe7a4b0640a62bd0595ce8b89b95817e8106"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 03 12:53:36 2017 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jan 03 12:53:36 2017 -0800"
      },
      "message": "MediaPlayer: do not crash when there is no context\n\nPrevent NPE when the instance is running without a context.\n  This enables writing command-line test apps.\n\nTest: vendor/google_toolbox/team/audio/cmds/ClMediaPlayer\nChange-Id: Ie74112334675c5d9d3efdb28c7178c49d8729acb\n"
    },
    {
      "commit": "0c8855d0f27ae2b88626d70e64075cce290ff638",
      "tree": "b0ab14e8ab63e3f66fe5467bac8b8d3b433cd534",
      "parents": [
        "17f739d924667cc56b2ecb38f93bb38eccdfcf38"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 29 10:33:29 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 29 12:09:15 2016 -0800"
      },
      "message": "New AudioAttributes usage for \"assistant\" use case\n\nDefine USAGE_ASSISTANT for new use cases involving audio help,\n  query responses and more.\n\nTest: make offline-sdk-docs\nBug: 30947943\n\nChange-Id: Idf93ce4c0f014dbc9b491244cbad9e643cc03413\n"
    },
    {
      "commit": "807313917f269be8d2ed0ba6942775c3b85ba3a9",
      "tree": "16db4de86ed7ab03972cabd1dd309add96b52847",
      "parents": [
        "2c80a03823d114f968039fb5d09948d76352e03c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 26 15:20:21 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Mon Dec 26 16:03:22 2016 -0800"
      },
      "message": "New player type values for Open SL ES\n\nDefine new player types to describe the two types of AudioPlayer\n  in OpenSL ES: those with a buffer queue source, those that\n  play from a given URI or FD.\nAdd a warning in the interface description of AudioService\n  that changes should be reflected in the native interface too.\n\nTest: make, NDK tests to follow\nBug: 30955183\nChange-Id: I7b530ea6e3b13f238f662ce8b9612e7df574a9c5\n"
    },
    {
      "commit": "c0a0c2bdd1bd390a6fd71b7ee2c2731b59d47e0a",
      "tree": "91c38b23f1d26d58aeff1306f8623e15d7696840",
      "parents": [
        "0464e07159e0fa1e673b85b14faa0cf7b9f70152",
        "292a6a4e9934a94eea97b018befde3baed895f7d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 22 22:08:17 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 22 22:08:21 2016 +0000"
      },
      "message": "Merge \"Notification of playback activity\""
    },
    {
      "commit": "f271c6d266f37d600b65ada8e4e4a32d5044a49a",
      "tree": "4869bc6ef8a2d8030de2bd74b84399de86a367a8",
      "parents": [
        "dfd504924642c23ac105c2f75a1531eaceda22bc",
        "b53d98413261c22e26d5bde635ac52012b78b8cf"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Dec 22 12:00:24 2016 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Dec 22 12:00:24 2016 -0800"
      },
      "message": "resolve merge conflicts of b53d984 to master\n\nChange-Id: I3fe63a5c0193c720b8ec4ca53834096de8433f26\n"
    },
    {
      "commit": "8e23aa4ee6ca559fc51e519225193841fce37318",
      "tree": "ded8b7f1a55f967184c5ae813dfa1b240b9adfd4",
      "parents": [
        "43e86c1ca6b6855df83d0ebe3848310648f0624a",
        "e988e8f1f680e7820bf3c9dcf59fe7a64493d581"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Thu Dec 22 19:22:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 22 19:22:46 2016 +0000"
      },
      "message": "Merge \"Make users of MtpServer fill in DeviceInfo field values\" am: 933ea68aca\nam: e988e8f1f6\n\nChange-Id: Icce6e31723d4dac12cf2c2e389e69c067dd66a91\n"
    },
    {
      "commit": "292a6a4e9934a94eea97b018befde3baed895f7d",
      "tree": "ccef5b540cc0d4fcdde69ef86047a71462ee7681",
      "parents": [
        "fe9a2a799f0f388c7c531454b8ec964ed8497499"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Dec 01 08:32:15 2016 -0800"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Dec 21 13:58:08 2016 -0800"
      },
      "message": "Notification of playback activity\n\nAudioService keeps track of status of implementations of PlayerBase.\nAudioService\u0027s PlaybackActivityMonitor maintains a list of\n  playback configurations for each PlayerBase, and a list\n  of clients that want to receive updates about the playback.\nPlayback activity clients can query the playback configuration\n  of the system through AudioManager, or register a callback\n  for updates. For clients with MODIFY_AUDIO_ROUTING permission\n  (system), the playback configurations contain more information\n  about each player (player type, uid, pid, state), and can see\n  all players, not just the \"active\" ones. The act of stripping\n  off data about the players that is not supposed to be seen\n  by non-system clients, is referred to as \"anonymization\". It\n  is implemented in system server, so no system data is ever\n  sent to playback activity clients without system permission.\nMore information about the AudioPlaybackConfiguration is\n  available in the SystemApi (uid, pid, player type, player state).\n\nTest: run cts -m CtsMediaTestCases -t android.media.cts.AudioPlaybackConfigurationTest\nBug: 30955183\n\nChange-Id: I85997594c0378216419f5f0fdaa0714996fd3573\n"
    },
    {
      "commit": "abdc2b47b3b6736e202663dee93f37e53f4e3ebf",
      "tree": "38aebbc08d7c69086a599c0a7069aab8b5f7ac86",
      "parents": [
        "26e50963641189733f32362b8db39a3a6f1e19fd"
      ],
      "author": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Dec 21 11:19:52 2016 -0800"
      },
      "committer": {
        "name": "Alex Klyubin",
        "email": "klyubin@google.com",
        "time": "Wed Dec 21 13:56:28 2016 -0800"
      },
      "message": "Make users of MtpServer fill in DeviceInfo field values\n\nThis is part of weaning apps off accessing system identifiers via\nsystem properties API. Apps should use android.os.Build API instead.\n\nBug: 33700679\nTest: Enable MTP mode then check that mtp-detect output same as before this commit\nChange-Id: I4e6696cdee18b9c3e987c432c095911e85a997db\n"
    },
    {
      "commit": "48d25dc7bde9e4a4b3a45f73c26fa8649a7908dd",
      "tree": "22627f73d2f5e5a06587a3d7947372fb9744048c",
      "parents": [
        "1065734635cd87fe7fac60242c7634c30c3296a4",
        "8fb6addcbee93c57a2fc4e7073c13d502856aad5"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Dec 15 06:39:59 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Dec 15 06:40:03 2016 +0000"
      },
      "message": "Merge \"MediaBrowser: Introduce the search API\""
    },
    {
      "commit": "56489bd5d0d0e5696d764bd1dc75547098359dc5",
      "tree": "72285be361e3c82ad3016236727b93abec858939",
      "parents": [
        "2292d9e891bf9bb9f5ccec195bbdf9512b2213b0",
        "9dfed40bd8ad90ebe8150d628d36ac8c3f1bd432"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Thu Dec 15 00:31:03 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 15 00:31:03 2016 +0000"
      },
      "message": "Merge \"Fix a memory leak.\" am: 1715678a89 am: 8f9c005fa9 am: 85785b557a\nam: 9dfed40bd8\n\nChange-Id: I35b03837734c4bab706faf99e8f9d3596e7ead92\n"
    },
    {
      "commit": "85785b557ac897cad031cff3f23e17731aecc260",
      "tree": "e284ac1cb81ee77352a2d2ab670b9cac3c219e8e",
      "parents": [
        "60cb82e8e68bf30e564f6ef65bd5a7c5f6411ee6",
        "8f9c005fa9ea1e7428308f97d108fbc02a45c746"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Dec 14 23:41:26 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 23:41:26 2016 +0000"
      },
      "message": "Merge \"Fix a memory leak.\" am: 1715678a89\nam: 8f9c005fa9\n\nChange-Id: I29afa8d1394feb57574ed527cda102405571fd65\n"
    },
    {
      "commit": "52d600769c57368c8c5f6fd8d6accde3b733b8c0",
      "tree": "6d892b47f3876c982f35b728908ec81fa32fb680",
      "parents": [
        "01c41ed8ed263d11cf633e50a968b3777095b80b",
        "283ae234f98106783e0d63142809833b491e57fe"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Dec 14 23:08:10 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 14 23:08:14 2016 +0000"
      },
      "message": "Merge \"Camera: Updates in preparation for HIDL\""
    },
    {
      "commit": "d194a782ba1278d23c663929564c5e3eaea355ac",
      "tree": "0a2a4a28c37f061372ef983e13d7cbd38aa6891d",
      "parents": [
        "9112c16e16eb5c74a6a3004c68bab9bef90d35e4",
        "10cb330d3ea6e3cf33352b95364f7c3c00dbd800"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 14 17:19:46 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 17:19:46 2016 +0000"
      },
      "message": "Merge \"Revert \"Remove AmrInputStream\"\" am: e2d8581529 am: 01cb199bed am: 8b1eed4ee8\nam: 10cb330d3e\n\nChange-Id: I5c97e47ff9a5f193645660c195ddd707b86ad025\n"
    },
    {
      "commit": "8b1eed4ee8d70bfebe88c0969309d025cc498c0e",
      "tree": "a713f89b33a2234493ca26539148d2bdbb227cf4",
      "parents": [
        "b5f056068d0eb2e3b603e950de73262d6e81d85d",
        "01cb199bed52621993c83f98d87f792bfddc3c47"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 14 17:05:59 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Dec 14 17:05:59 2016 +0000"
      },
      "message": "Merge \"Revert \"Remove AmrInputStream\"\" am: e2d8581529\nam: 01cb199bed\n\nChange-Id: Icafcabcc2b99dac4d897e0d68725c53e84fdd5c5\n"
    },
    {
      "commit": "a4efbf863ba7e9f02efacda4d073d7ba8ea2fb00",
      "tree": "0fba410a98585fd24abec0ae7e85efe1268b946a",
      "parents": [
        "0c3518cc7724df29b790d9d81af9a105e7958cf7"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 14 16:44:12 2016 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 14 16:44:12 2016 +0000"
      },
      "message": "Revert \"Remove AmrInputStream\"\n\nThis reverts commit 0c3518cc7724df29b790d9d81af9a105e7958cf7.\n\nChange-Id: I250d86d2d6ce462cb5f29bc6c312d88a49ac24a4\n"
    },
    {
      "commit": "0c57bd90b6bfb7b925bc1ad1e2ab94d70d5830a5",
      "tree": "627e66d3c41a028be78570d69b2f8565c62cd1e5",
      "parents": [
        "68a9dd8c88869fa47aa7d3c2e9ecce5077452f57",
        "688fa0e9f0aebd03bc05836ce36fd40647829d82"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 13 23:42:21 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 13 23:42:21 2016 +0000"
      },
      "message": "Merge \"Remove AmrInputStream\" am: 70b262b0f2 am: e57b37e423 am: b10837952a\nam: 688fa0e9f0\n\nChange-Id: I95947386bda60d69b5fb76dc00b2e7fb82d55878\n"
    },
    {
      "commit": "5572d1607bf145c59b830b24e152e030094646bc",
      "tree": "dcc5c1720ecf90ae00567402671e4b2a060e90b6",
      "parents": [
        "fbeacb02c0fe331242dd1815a28e2b2f1d5a42c6"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Dec 13 15:32:00 2016 -0800"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Tue Dec 13 15:32:00 2016 -0800"
      },
      "message": "Fix a memory leak.\n\nThis was caught by clang\u0027s static analyzer. Warning:\nframeworks/base/media/mca/filterfw/native/core/shader_program.cpp:1031:3:\nwarning: Potential leak of memory pointed to by \u0027attrib.owned_data\u0027\n    return StoreAttribute(attrib);\n\nBug: None.\nTest: The static analyzer no longer complains.\nChange-Id: Ibef0368dfa48ba57e38019a5a3e33d5bacd847a2\n"
    },
    {
      "commit": "b10837952a5659740a234996c30426642d834f15",
      "tree": "b1c9a8544c235d25e3c86a9ff6be15c3e510c956",
      "parents": [
        "4d2c60173e0d7691f92c4127b2c7f7dbaa1af35c",
        "e57b37e423ef7ff7f7a41019dc773c9a0277b4a5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 13 23:28:55 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Dec 13 23:28:55 2016 +0000"
      },
      "message": "Merge \"Remove AmrInputStream\" am: 70b262b0f2\nam: e57b37e423\n\nChange-Id: Ia95832144e831b91ba0f163db1da8ef8e7033446\n"
    },
    {
      "commit": "0c3518cc7724df29b790d9d81af9a105e7958cf7",
      "tree": "e131e56c90c0a3da705ed47b2d9aea9837def015",
      "parents": [
        "fbeacb02c0fe331242dd1815a28e2b2f1d5a42c6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 11 13:18:12 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Dec 13 13:31:10 2016 -0800"
      },
      "message": "Remove AmrInputStream\n\nBug: 32114618\nChange-Id: I55328e6f003377f4d3c2ba2266844047b1422f49\n"
    }
  ],
  "next": "283ae234f98106783e0d63142809833b491e57fe"
}
