)]}'
{
  "log": [
    {
      "commit": "21b9616be90c88251ce1e7194c6e3868e43e477c",
      "tree": "cd32fd2063267f313be11a89798aa16f8f4f0dcb",
      "parents": [
        "14c577fac81b8fdcc75e4bf9243f16bd624ba58b"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:48:32 2018 -0800"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Dec 11 13:48:32 2018 -0800"
      },
      "message": "Fix cert-dcl16-c clang-tidy warnings in include.\n\nBug: 120614316\nTest: make with WITH_TIDY\u003d1 DEFAULT_GLOBAL_TIDY_CHECKS\u003d-*,cert-dcl16-c\nChange-Id: I7c62e6ff195ca35939da898872b69b0a4da59ec6\n"
    },
    {
      "commit": "331679c8a5cd21a0e6a7a1d851e965e4721f7420",
      "tree": "9e3835bb805631ca42a90ded01796b73307a4642",
      "parents": [
        "554e08c6b00b2a57348f4545d450915a9e8c870a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:03:16 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 17:08:06 2018 -0700"
      },
      "message": "Revert \"Revert \"audioflinger: implement silenced capture for mmap\"\"\n\nThis reverts commit 611ebb95e76c230214780b7b583b8a3c5277ac7a.\n\nBug: 78118584\nbug: 72134552\nTest: \u0027adb shell write_sine_callback -m3 -pl -s100 -x\u0027 and Plug headphones in and out.\nTest: AAudio CTS tests\nChange-Id: I7558ad7b9c6c2d352ebce105382fe914c26fd35e\n"
    },
    {
      "commit": "611ebb95e76c230214780b7b583b8a3c5277ac7a",
      "tree": "1c8ef30309a0954a51a6b4c872f30ca399f064d2",
      "parents": [
        "a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 19:43:59 2018 +0000"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 16 19:43:59 2018 +0000"
      },
      "message": "Revert \"audioflinger: implement silenced capture for mmap\"\n\nThis reverts commit a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9.\n\nBug: 78118584\nChange-Id: Ie0da3dea445f2474c7a889c5f9919305c1c96d40\n"
    },
    {
      "commit": "a2f478ca0b2bda8db9b321f0cfa9e9d3cf6130f9",
      "tree": "00e39e41acac99cc35c292c65c7bca60973fdd5a",
      "parents": [
        "9fc25229e0723c93b453ab34957f22a643e2b602"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 10 19:09:40 2018 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 11 19:07:45 2018 -0700"
      },
      "message": "audioflinger: implement silenced capture for mmap\n\nImplement silencing of audio capture for idle UIDs for\nMMAP streams.\n\nUse audio HAL setMicGain() API to silence the mmap buffer for\nexclusive mode and when only one client is active in shared mode.\n\nAdd new MmapStreamCallback method onStreamSilenced() for AAudio\nservice to selectively silence streams from silenced UIDs in\nshared mode.\n\nBug: 72134552\nTest: manual\nChange-Id: I7c92ba0002bc5ba003c1a3c887edddf9ae53b538\n"
    },
    {
      "commit": "3528c9330f481f236f16753cb0846c7d6ddcc7ee",
      "tree": "3fb6f04c3842c26e81a68fb847596aa237b713d9",
      "parents": [
        "12cc6e7a4162ea4137f9082a3e0fea551b21aae3"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Feb 23 17:17:22 2018 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 22 10:02:49 2018 -0700"
      },
      "message": "audio services: monitor execution time for binder commands\n\nAdd a mechanism to monitor execution time of incoming binder\ncalls to audio flinger and audio policy and cause native audioserver\nrestart in case of timeout.\n\nBug: 69250055\nTest: manual. audio smoke tests\nChange-Id: I01b5bf2599fb2a4cd265cbbe8d4e34b2b059aaf4\n"
    },
    {
      "commit": "a1a005fc01118685c92e723c8dcf7afeffc9d59c",
      "tree": "0182587d13b606180463f8e70fc8914c42720a9e",
      "parents": [
        "9d3824e06b07300a5b20b7d6bf024b3f3b0a177f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 06 12:44:24 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Mar 13 15:36:38 2018 +0000"
      },
      "message": "Remove 6 out of 8 RefBase references from mkv extractor\n\nBug: 67908544\nTest: CTS DecoderTest\nChange-Id: I04b6cda83861e70f1de70abc671dd791327be159\n(cherry picked from commit ba1f0ab5ce8aa3a96578f6fb372d28d56a687aef)\n"
    },
    {
      "commit": "4f8f900d3cb8ee117980705ac5df250f9df63bfc",
      "tree": "9cb144737b86c91e2053293b611589ec79946af0",
      "parents": [
        "547921396126d2e5e6387a04bc971e616250574b",
        "7d2c6e8be2c9a4f3c1364d243856a345f17f851e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 27 22:02:33 2018 +0000"
      },
      "message": "Merge \"Move mediadrm-related headers\""
    },
    {
      "commit": "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0",
      "tree": "4e73f99782f61c1d3d76767b9e03e2aae7ea6130",
      "parents": [
        "13cb23855c3b5242818725262d8822dd4f9be24e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 16 08:24:08 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 23 10:04:34 2018 -0800"
      },
      "message": "Remove RefBase from the extractor API\n\n- Add MetaDataBase base class that MetaData derives from, but which\n  does not derive from RefBase.\n- MediaBuffer::meta_data() now returns a MetaDataBase\u0026 rather than an\n  sp\u003cMetaData\u003e\n- Rename MediaSourceBase to MediaTrack.\n- MediaSource no longer derives from MediaSourceBase (or MediaTrack)\n- MediaTrack::getFormat(), MediaExtractor::getTrackMetaData() and\n  MediaExtractor::getMetaData() all take a MetaDataBase\u0026 parameter that\n  they fill out, rather than returning a MetaData directly (the\n  corresponding methods on MediaSource and RemoteMediaExtractor continue\n  to return MetaData)\n\nBug: 67908544\nTest: CTS MediaPlayerTest, DecoderTest, EncodeDecodeTest, manually record video\n\nChange-Id: Ib531ab309061290be33d40d6100c9a8127e22083\n"
    },
    {
      "commit": "7d2c6e8be2c9a4f3c1364d243856a345f17f851e",
      "tree": "3aab41fe8acce7056a1e7b01ebc2e8882e416b9a",
      "parents": [
        "987ac7056040ed1594dc975c8a9d7cee463fa834"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 16:14:59 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 17:04:00 2018 -0800"
      },
      "message": "Move mediadrm-related headers\n\nRelocate drm and crypto headers from media\nto mediadrm to have finer grained ownership\n\nbug:73556221\nChange-Id: I7d1b5944f261f9b1fdeed7605e4c0b4b4ca43e1a\n"
    },
    {
      "commit": "24aabf915e8252ab318d0df6888a0d61a4c7a904",
      "tree": "f4d8dcf0f150c6b63ebc741089b32025198c4bec",
      "parents": [
        "9e5be7f0dccf9dfd99e022527b01ea684c1dfddc",
        "2a243f08193fe9ff1afe018e9953f01c44ced9de"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 02 19:08:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 19:08:50 2018 +0000"
      },
      "message": "Merge \"Remove RefBase from plugin-side DataSource\""
    },
    {
      "commit": "2a243f08193fe9ff1afe018e9953f01c44ced9de",
      "tree": "80d5f40de50cd826248cfe4265b383677f25d0c0",
      "parents": [
        "58bce947568db8f6dd5e12e6548aff27af26ae96"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 30 08:29:57 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 02 07:52:05 2018 -0800"
      },
      "message": "Remove RefBase from plugin-side DataSource\n\nExtractor plugins now use DataSourceBase, which is not refcounted.\nFramework-side DataSource derives from DataSourceBase and RefBase.\nAlso remove MediaExtractor::release, because it is not needed\nanymore due to the way the extractor/track/datasource lifecycle\nis managed now.\nAlso add source and target pid to CallbackDataSource name, to\nmake the extractor dumpsys more useful.\n\nBug: 67908556\nTest: build, boot, CTS, skia test app for heif\nChange-Id: I6b9cbe903f76b0cf27ba87f4a456f424803efd08\n"
    },
    {
      "commit": "1de79cfe1031a1ea6b3ba9fd77ed8686c0b6f694",
      "tree": "75289e92ed05721a30dcf9761aaaa9e4a56f1204",
      "parents": [
        "c717e5e41ed866d3f156e15835150f898acba27d"
      ],
      "author": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Thu Feb 01 15:21:02 2018 -0800"
      },
      "committer": {
        "name": "rago",
        "email": "rago@google.com",
        "time": "Thu Feb 01 15:21:02 2018 -0800"
      },
      "message": "Fixes related to typo in audio.h\n\nBug: 64038649\nTest: Manual Testing and CTS tests.\nChange-Id: Id2650638f789d85116d780d87b19debd2a13a737\n"
    },
    {
      "commit": "de2c195a218cc24eaf3a7ced149f7eb723656a97",
      "tree": "90f7ece00616bf5c905fe14ae1b17ee864041685",
      "parents": [
        "4b8dbfc9e85ca7c2cc4acdcddca997f197fee718",
        "a70eef730d7665c9f4b2dfd25faf072785f80a2d"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Feb 01 16:46:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 16:46:08 2018 +0000"
      },
      "message": "Merge changes from topic \"fix-b-63901775-add-presentation\"\n\n* changes:\n  Audio presentation selection for AudioTrack native\n  Add presentation API interface\n"
    },
    {
      "commit": "cb30d8477cbd16dcef6acee1e07dedfa246e9456",
      "tree": "1d3aa1463ffd4718c13061bcf964e2562ea88c85",
      "parents": [
        "7d880c31d2079299000b036c6ae742dc695a5b19"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 26 15:29:02 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 29 23:33:18 2018 +0000"
      },
      "message": "Remove RefBase from plugin-side MediaSource\n\nExtractor plugins now use MediaSourceBase, which is not refcounted.\nFramework-side MediaSource derives from MediaSourceBase and RefBase.\n\nBug: 67908556\nTest: build, boot\n\nChange-Id: Ie33ca07f0d0ba783a504d7b7bf1a75ca4acdd745\n"
    },
    {
      "commit": "46a76fa5ffb88dbde2c67335dbc5cf20b75b10b6",
      "tree": "7215e85bae943107de3bf07537c28c98216f5690",
      "parents": [
        "6e075b43b0ba324a97fc0f89ef65196ed25be671"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jan 05 10:18:21 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jan 26 17:16:16 2018 -0800"
      },
      "message": "Add support for getting all available microphones characteristics.\n\nAdd MicrophoneInfo class in native side and native logic for supporting\nquery all available microphones.\n\nBug: 64038649\nTest: Run test and check the print log.\nChange-Id: Ic0a9cce55a1265a66ba08fe81b56b56cb88ba42f\n"
    },
    {
      "commit": "9ee64f139ceff98ea5f9afcc2eaab42901922d56",
      "tree": "e3e6fb7d52310b617c21d61bbd2b6cdc4feb8bc3",
      "parents": [
        "254d783c0db9d7af6b863ad1819f5c4a543a939d"
      ],
      "author": {
        "name": "Previr Rangroo",
        "email": "prang@dolby.com",
        "time": "Tue Nov 28 17:55:36 2017 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 25 12:33:52 2018 -0800"
      },
      "message": "Add presentation API interface\n\nThis adds AudioPresentationInfo interface to enable applications\nto query and receive audio presentation\ninformation from multiplexed data sources (e.g. MP4 or MPEG2-TS).\n\nBug: 63901775\nTest: make\nChange-Id: I3156cc8594ae153fe8cd2dedc191bfab207f5203\nSigned-off-by: Previr Rangroo \u003cprang@dolby.com\u003e\n"
    },
    {
      "commit": "f0e618d0ee16c63f918c7bb87ec1ff264d177746",
      "tree": "c57a89695d8305242ccacabc5e692606989d831f",
      "parents": [
        "38428ce1b306d8922778f4994d67f0ddffb4fcd2"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 17 19:20:41 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 24 17:24:43 2018 -0800"
      },
      "message": "Add EventMetric and a single use case.\n\nAdds an EventMetric class, associated unit tests, and an instance of the\nEventMetric to DrmHal. Also added a unit test for CounterMetric and\ncreated a class to hold all of the future metric instances.\n\nBUG: 64001676\n\nTest: Added and ran unit tests.  Also added a CTS test case.\nChange-Id: Ic94bedd5f8293a58a939613a4ae69ce656a772be\n"
    },
    {
      "commit": "aaf87dd09686bdb47df0a638b622a4c2ea37a331",
      "tree": "055e6f879ea604b1f66bc9cea091481308b17487",
      "parents": [
        "a13ac6c89d0246f081127eec11cd5eb467d168d3"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Jan 08 11:55:06 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Jan 23 16:51:17 2018 -0800"
      },
      "message": "Add CounterMetric and a single use case.\n\nThis adds a new class CounterMetric which is used to hold metric\ninformation.  It also adds a single use case for recording and\nreporting a counter metric.\n\nBUG: 64001676\n\nTest: Added and ran a new test for the specific CounterMetric use case.\nChange-Id: I39cab8328f135e579f80b6c2fab721da5f569795\n"
    },
    {
      "commit": "4e1af9fc9c1108d4514e92774f750bcd434dbbcc",
      "tree": "03dc781c49ae6b37c4661c591ece2c5a4eed8cfe",
      "parents": [
        "a11f9357196db29e6f8f05b91334524de4f3207e"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Jan 03 15:54:35 2018 -0800"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Jan 18 19:48:46 2018 -0800"
      },
      "message": "aaudio: implement sessionId for effects\n\nIf a sessionID other than AAUDIO_SESSION_ID_NONE is requested\nthen legacy data path will be forced.\n\nSessionID is implemented for MMAP data path but not used.\nIt is easier to implement it now then try to figure\nit out later.\n\nBug: 33268927\nTest: test_session_id.cpp will be moved to CTS when stable\nChange-Id: I3ea67f57c1cbe24a512980f1352b917ab3cb6387\n"
    },
    {
      "commit": "63a007198b64d551af1d27b81ee8fa8dd52a972a",
      "tree": "9860c46699647830d4af88e5b42160073a9e4c0b",
      "parents": [
        "21f6d6cbecf190724b044251576edf6ee6f48364"
      ],
      "author": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Fri Jan 05 19:07:53 2018 -0800"
      },
      "committer": {
        "name": "Peiyong Lin",
        "email": "lpy@google.com",
        "time": "Fri Jan 05 19:13:01 2018 -0800"
      },
      "message": "Remove bad symlink for media/IMediaCodecService.h and media/MediaDefs.h\n\nThe destination files of these symlinks no longer exist, remove symlink so that\nthe generated cmake file can be loaded by clion.\n\nTest: make\nChange-Id: I00afd6950c80869cb6fb7f01ec42300332002924\n"
    },
    {
      "commit": "0f27f00da936e1392ba1f86cd7e327be41c4438d",
      "tree": "bab130db129cb37ee80f022104ac613a680a03bf",
      "parents": [
        "be9b9730488a13add26e1c9f301f7ba3e4a26945"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 14 16:50:47 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Dec 14 16:50:47 2017 -0800"
      },
      "message": "fix bad symlink for media/AudioClient.h\n\nTest: make\nChange-Id: Ia011bfd61a4bb6a37bc666d80925d68eaca99b5d\n"
    },
    {
      "commit": "21da647792c0b78ab3943be0f32066015d5e8c34",
      "tree": "15ad0b64bf6eaabf24223d7fd376ef9ac00eb9cc",
      "parents": [
        "a4fa4760fa417473324e009b3f4117a2d539c486"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 09 16:29:26 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 16 11:33:12 2017 -0800"
      },
      "message": "refactor AudioTrack and AudioFlinger createTrack()\n\nRefactor the mechanism used by audio tracks to query and attach\nto an output mixer/stream in audio flinger. This will:\n- reduce the number of binder transactions needed to create a track\n- move sample rate, framecount and flags validations to audio server\nside\n- move audio session allocation to audio server side\n- prepare restriction of certain binder transactions to audioserver only\n\nTest: CTS tests for AudioTrack\n\nChange-Id: If4369aad6c080a56c0b42fbfcc97c8ade17a7439\n"
    },
    {
      "commit": "d91dc5a0602f54fc0d4d2187f37b5b8169bb62c3",
      "tree": "4a3b6fb269ae76af3c0567cc1d57780c17bd2c30",
      "parents": [
        "04ce1be860b40e18ca7f5fdf64ecb82567d7fe24"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 10 00:07:09 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Oct 17 13:43:59 2017 -0700"
      },
      "message": "Remove libmedia and libstagefright dependency from extractors\n\n- MediaSource, DataSource and MediaExtractor are moved to\n  libmediaextractor so that they can be used by extractor\n  implementations without depending on libmedia and libstagefright.\n- XXXFactory classes has been added in order not to expose CreateXXX\n  methods in libmediaextractor.\n- avc_utils is moved to libstagefright_foundation since most of\n  extractor implementations are relying on that.\n\nTest: build + post submit media CTS tests\nBug: 65851881\nChange-Id: I7d5cf18dd25abc10478ac3f6e7d1828ad023e3fb\n"
    },
    {
      "commit": "158482dcc8a81172ef6ac5725bee2bf7329b1e96",
      "tree": "08ce7b3f080f2f692305670e0a8bdc425f77d354",
      "parents": [
        "3463e1de5b6c4fc99724cdff249aa6abaa8ebdf5",
        "8589ce7045fd4f5520aabbc773f00c7136925fd7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Oct 03 15:53:43 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 03 15:53:43 2017 +0000"
      },
      "message": "Merge \"Split nblog off from nbaio\""
    },
    {
      "commit": "d0a98fa05f0f6719b93d000c4638230af06e0b99",
      "tree": "438b19e4d9bddffee72c9bab98772d99bd6b7cb1",
      "parents": [
        "5bb3cfe6f3591736a82ac8ede71ced1472e19700"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Sep 14 17:43:10 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Sep 18 18:34:59 2017 +0000"
      },
      "message": "stagefright: remove Miracast sender code\n\nThis has been deprecated for some time. Remove this from codebase\nto avoid introducing new HAL for HDCP. Log warning and return NULL\nwhen remote display is requested. \n\nbug: 62213914\nChange-Id: I3560b60fe83a01c51df0f2e715a8f2c760e57bf8\n"
    },
    {
      "commit": "8589ce7045fd4f5520aabbc773f00c7136925fd7",
      "tree": "a02b3ba722bc13f798c9c10cc51d19b670388452",
      "parents": [
        "f24d95960d85c891fc40db6f1e9644385efb4eb3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 08 17:03:42 2017 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 08 17:06:32 2017 -0700"
      },
      "message": "Split nblog off from nbaio\n\nnbaio is an acronym for \"non-blocking audio I/O\", and nblog means\n\"non-blocking logger\" so nblog does not belong with nbaio.\n\nThere are a lot of improvements planned for nblog, and having the\nrestructuring done will make it clearer as more files are added.\n\nTest: builds OK\nChange-Id: Ib28bada2566c1d64bdbe9f5d7a5ce40e080178ef\n"
    },
    {
      "commit": "0b8529fbacaa35634ac24bb62c5890cddcb623b6",
      "tree": "f2ae5de5ae80bb6f69b929172804410e3335abf8",
      "parents": [
        "f238bd3c57632b7f4eeb6b1a6a9542058e911a5b",
        "8cf3a0788df2ee184b498086b1b8da322eeadcca"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Sep 01 23:07:08 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 01 23:07:08 2017 +0000"
      },
      "message": "Merge \"Generate the IPlayer interface with AIDL.\""
    },
    {
      "commit": "8cf3a0788df2ee184b498086b1b8da322eeadcca",
      "tree": "1bd36129bbd4afa491689deca23977dbf30930f6",
      "parents": [
        "a5ec8b0ec9c94fd9474fae1d1d1dc798ae6c4d2d"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Aug 09 09:01:33 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Sep 01 10:14:30 2017 -0700"
      },
      "message": "Generate the IPlayer interface with AIDL.\n\nThis removes the manually rolled IPlayer implementation and instead uses\nan aidl generated implementation. The IPlayer aidl file is moved from\nframeworks/base/.\n\nTest: run cts --module CtsMediaTestCases\nBug: 64223827\nChange-Id: Ia609f7ba1cc6f71ce919d6174dd8b5e0e1b05575\n"
    },
    {
      "commit": "cc1895eb41723109cb62f00ea524baea408d6a70",
      "tree": "42e5b315e9be93acb64351dcafc71e185d1e8d8c",
      "parents": [
        "86bd71d753feb1e556d65d6d449635df366e92a6"
      ],
      "author": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Aug 24 16:02:22 2017 -0700"
      },
      "committer": {
        "name": "Shubham Ajmera",
        "email": "shubhamajmera@google.com",
        "time": "Thu Aug 24 16:02:22 2017 -0700"
      },
      "message": "Remove leftover of change ff6900d8f991aac0b67b625f8a1d4d0461b4\n\nTest: make\nChange-Id: I6a6d8cb9aff5e12c388d8d15cc8e03364671a9e3\n"
    },
    {
      "commit": "e48652674ebd4047363a79d38a6018978087223e",
      "tree": "4d7b5927da48cf1504b0b32fc01a88265dea717f",
      "parents": [
        "633adf69ae8f9aeb41bceb193afefe35e5550c7f"
      ],
      "author": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 14 16:24:15 2017 -0700"
      },
      "committer": {
        "name": "Sanna Catherine de Treville Wager",
        "email": "scwager@google.com",
        "time": "Fri Jul 21 15:52:40 2017 +0000"
      },
      "message": "Separate merge from dump and call merge periodically\n\nEvery time merge is called by the thread loop,\nthe data is also processed and written to\nPerformanceAnalysis. A call to dump retrieves\nthe FIFO of processed data in PerformanceAnalysis\ninstead of the unprocessed Reader FIFO, and prints\nthe result to the console.\n\nTest: dumpsys media.log\n\nChange-Id: Ic479f48e9e4fdf4523a8f15db514dbdd85b70434\n"
    },
    {
      "commit": "9fc83c5c30d110fdddb6ae5e436a0a6190203082",
      "tree": "dc078c5dfab8f3a2ac9a505e8d2f0dd7e434d90a",
      "parents": [
        "ad8ea9637aeb3e33d2bf8adb3e9ae074aaca8c78",
        "2be091cebb9462b63d7160d0fa2cfa8703973a69"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 03:26:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 03:26:45 2017 +0000"
      },
      "message": "Merge \"Move xmlparser to under libstagefright\""
    },
    {
      "commit": "971ec06dbc67a070009bdd775d8c97d91c442b64",
      "tree": "bd5d93ffff0836929bd2870fde31a8e7729bedaa",
      "parents": [
        "cd341a74087a951ae6dd6d05988792960b699a9c",
        "0c0ca185203f8c960a424965f14a2bcf588c6350"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Jul 20 03:26:31 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jul 20 03:26:31 2017 +0000"
      },
      "message": "Merge \"Remove unused symbolic links to OMX header files\""
    },
    {
      "commit": "2be091cebb9462b63d7160d0fa2cfa8703973a69",
      "tree": "2b1c84f801a6b9e61be1c10d8fb7f7c58164fd23",
      "parents": [
        "2ef71c5be307e98c6a0164e8b58cb716f9b31622"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Jul 10 17:31:11 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 19 15:04:48 2017 -0700"
      },
      "message": "Move xmlparser to under libstagefright\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev --module \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 37657124\nChange-Id: Ib78f983635586558b99850b2fd54143b0a418d1d\n"
    },
    {
      "commit": "0c0ca185203f8c960a424965f14a2bcf588c6350",
      "tree": "efea9ccf96f76729ad878911f1eb3b657fd0eef9",
      "parents": [
        "b25d3927c08503e68a213526a8f82d40eacde81b"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Jul 18 18:29:19 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 19 15:00:09 2017 -0700"
      },
      "message": "Remove unused symbolic links to OMX header files\n\nTest: Compiles\nBug: 63821829\nChange-Id: I11f29e5390470c0c8fe30683444d07d450f6fe23\n"
    },
    {
      "commit": "33ecc4f6b0e53ea7088ff4f151323e29183070c5",
      "tree": "4a174497fc23c8a5ee993d0e7e6d6316edd052a1",
      "parents": [
        "6133281c9b06c1d1176eca7f07401bba1067081e"
      ],
      "author": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Mon Apr 03 16:49:05 2017 -0700"
      },
      "committer": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Tue Jul 18 16:40:44 2017 -0700"
      },
      "message": "Marshal Metrics\n\nBecause DRM Plugins will not be allowed to call the AMI API under\nTreble, the mediadrmservice will need to marshal the metrics out of the\nplugin in protobuf format and report them to the AMI API instead. This\npatch implements the pulling and interpreting of metrics from DRM\nPlugins.\n\nBug: 36497276\nTest: Played Google Play Movies, verified that playback still worked and\n      Widevine metrics appeared in a dump of the system media metrics.\nChange-Id: If07717c1b87022bc1fcdedfbc62b9193899742d5\n"
    },
    {
      "commit": "b182515e9ce7c0819fb752f24b8063569b464e3c",
      "tree": "9afd6f20d337dcd7e62c4add01547a66bfa690b4",
      "parents": [
        "8280e4156628d53c0a90c405fa57d4c40c33b62b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 12:43:08 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Jul 12 12:43:08 2017 -0700"
      },
      "message": "media: add missing symlink to AudioClient.h\n\nBug: 62950008\nTest: make\nChange-Id: Ic5cd8babd5023ec72d246816e5f9f1b49f475d1f\n"
    },
    {
      "commit": "2c582f9dadb83b72a415d9235971eee356322720",
      "tree": "894de0b22ccc17a7115c696085be10153cdeda5d",
      "parents": [
        "4a8bc4de507573954844af991ad2c2ac949f1bef",
        "d2075e8b86dbf6d7c6af7de6f2f698b1acf4c6df"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jul 12 11:38:41 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jul 12 11:38:41 2017 +0000"
      },
      "message": "Merge \"Move headers in media/omx/1.0 to the right place\""
    },
    {
      "commit": "d2075e8b86dbf6d7c6af7de6f2f698b1acf4c6df",
      "tree": "eada73a1b4d244c1aaec535b2dbea1547d70ce46",
      "parents": [
        "eb29e9ce27cd34975d675a6ed43786e1cab1e5f7"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Jul 11 04:50:40 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Jul 12 02:50:51 2017 -0700"
      },
      "message": "Move headers in media/omx/1.0 to the right place\n\nTest: Compiles\nBug: 37657124\nChange-Id: I695def527a3149a36e5f010250bbb52e2d0ff99f\n"
    },
    {
      "commit": "a54f1283fdd9adbd64ecca4e14af56aaa0e8c825",
      "tree": "cdadd19276119f775480482778c2df15a6ae264f",
      "parents": [
        "20e6916035865710b7a30ac7f2eac1311e2c2e70"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Jul 01 19:39:32 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Jul 11 18:21:40 2017 -0700"
      },
      "message": "aaudio: indicate client UID and PID to audio flinger\n\nImplement correct indication of client UID and PID to audio flinger\nfor AAudio MMAP streams in both exclusive mode and shared mode.\n- Add start/stop client methods on MMAP streams used only when the MMAP\nstream is in AAudio service and carries a mix of shared streams.\n- Add \"In Service\u0027\" indication from \"client\" side to AAudioServiceStreamMMAP\nso that the behavior can be adapted accordingly.\n- Modify logic on audio flinger side with regard to mmap tracks and\naudio HAL stream activity:\n  - use same audio session for all clients on a same stream to match\n  audio policy logic to share same direct output stream for clients on same\n  session. This is also more consistent with current volume and effect\n  handling as all MMAP  clients sharing the same output stream have the\n  same volume and use case.\n  - start/stop the HAL when the stream is started/stopped with the initial client\n  handle (returned when the stream is opened) but do not create a track.\n  AAudioService implementation will always send an additional start command before\n  first client starts and a stop command after last client stops,\n  in both shared and exclusive mode.\n  - start/stop a track only if the start/stop stream command is received\n  with a handle different from the initial handle.\n- Allow more than one active client from the same UID on a MMAP input in audio policy.\n\nBug: 62950008\nTest: verify playback and capture in mmap mode\nChange-Id: I86151bbb637ff172d2fd5f813056eab13a7bcd3c\n"
    },
    {
      "commit": "6eb0c0e980c8ccd5c0cddfd0f1875f9501b293c7",
      "tree": "3be83b90dc9719351f5f6cac8a815f83d7038147",
      "parents": [
        "af3c24c938f2a0fa715918f1a6a73c794f0d5e60"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Jul 06 11:11:31 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Fri Jul 07 19:37:54 2017 +0000"
      },
      "message": "Split libnbaio into libnbaio + libnbaio_mono.\n\nWhen the vndk is enabled (BOARD_VNDK_VERSION\u003dcurrent),\nvendor libraries must only link against vendor variants\nin the build system. This also means that they receive restricted\nsets of headers and that automatic global headers are restricted.\n\nTest: mma -j BOARD_VNDK_VERSION\u003dcurrent\nTest: boots device, audio plays over YouTube\nBug: 37342627\nBug: 63269228\nChange-Id: Ifa9c96f6b98b456def485be6bc5046ee54c3c3ca\n"
    },
    {
      "commit": "26cd4e41c01ae0e1c1fa4037d7d670ab86e10415",
      "tree": "3498a5730aec0de86c67279fb4af92516137e38e",
      "parents": [
        "53fdc1d748735a82f05fa77d04ec08e4c5d43eaa"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 15:17:05 2017 -0700"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 15:17:05 2017 -0700"
      },
      "message": "Fix nbaio headers by moving them to include/media/nbaio\n\nBug: 63172425\nTest: Build target\nChange-Id: Idc8aecad00aa4d31125ff1026a2c7c8654dd1a9e\n"
    },
    {
      "commit": "53fdc1d748735a82f05fa77d04ec08e4c5d43eaa",
      "tree": "95f1fe2b71fe7a0efd373193c2f4fe20e22cb551",
      "parents": [
        "a48289c0f7dcc5a8f3e379c9d9fc0bee2916d9ef"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 14:43:09 2017 -0700"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 14:43:09 2017 -0700"
      },
      "message": "Fix audioprocessing headers by moving them to include/media\n\nBug: 63172425\nTest: Build target\nChange-Id: I7d28827f93133af6f94d9f48c2346ff5d4011df5\n"
    },
    {
      "commit": "a48289c0f7dcc5a8f3e379c9d9fc0bee2916d9ef",
      "tree": "c3595eac6dd49bb02c78a0957ac619236cc48f2e",
      "parents": [
        "cd6d380e4f526476a11adface7680b3981c6a7d7"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 14:20:00 2017 -0700"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Jun 30 14:36:50 2017 -0700"
      },
      "message": "Fix audiohal headers to be under include/media/audiohal\n\nBug: 63172425\nTest: Build target\nChange-Id: Iafe731d02a5c7ebd1a3a41143150a80a793ceb86\n"
    },
    {
      "commit": "d5a416a49d5074e2966f5fe255561cbaaf31a325",
      "tree": "1ea87bb5fe5ed45acf272e403d618cfe17cba499",
      "parents": [
        "2fdb0fff6c0f763841511308971444c1c920f35e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue May 16 11:16:34 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 23 16:15:49 2017 -0700"
      },
      "message": "cas: convert MediaCas to HIDL\n\n- Remove AIDL interfaces.\n- Replace usage with corresponding HIDL interfaces.\n- Move MediaCasService implementation from frameworks/av\n  to hardware/interfaces/cas.\n\nbug: 22804304\n\nChange-Id: I56ab22565a43e91481ac2759ce69462bcc194046\n"
    },
    {
      "commit": "093f0b7ab981049e7a6e6bbcf1e0712e1995ba68",
      "tree": "de2aca34ac8b08e1c70c1eaba592a56c2f1b3f65",
      "parents": [
        "4c2dd1c211b3671114aad0478fc6c6f7a8f7ee9f"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Apr 27 17:32:00 2017 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed May 24 14:50:40 2017 +0900"
      },
      "message": "provide libstagefright_foundation_vendor to vendors\n\nlibstagefright_foundation_vendor is a vendor-only variant of the\nlibstagefright_foundation. Vendor libs and other VNDK libs should link\nagainst this _vendor.so library. This vendor-only variant does not have\ndependency to libpowermanager which is not available to vendors.\n\nHeaders are moved from the global include dir to module-local include\ndir. This is because global include dir (e.g. frameworks/av/include) is\nnot provided when building with BOARD_VNDK_VERSION\u003dcurrent. Instead the\nheaders are exported via the module\u0027s export_include_dirs directive.\n\nShort summary on the directory movement:\n\n\"some\" libstagefright headers are moved from libstagefright/include to\nlibstagefright/include/media/stagefright. This is because the headers\nare included as \u003cmedia/stagefright/HEADER_NAME,h\u003e.\n\nlibstagefrigut_foundation headers are moved from\nlibstagefright/include/foundation to\nlibstagefright/foundation/include/media/stagefright/foundation. Again\nthis is because the headers are included as\n\u003cmedia/stagefright/foundation/HEADER_NAME.h\u003e.\n\nFurthermore, in order to prevent sudden breakage, symlinks to the\nmodule-local header directories are added to the global include\ndirectory.\n\nframeworks/av/include/media/stagefright -\u003e\n\u003clibstagefright\u003e/include/media/stagefright\n\nframeworks/av/include/media/stagefright/foundation -\u003e\n\u003clibstagefright_foundation\u003e/include/media/stagefright/foundation\n\nBug: 37462569\nTest: sailfish builds and boots\nTest: BOARD_VNDK_VERSION\u003dcurrent m libstagefright_foundation_vendor is\nsuccessful\n\nChange-Id: Iadfa594e885e0bd39837ccb282993d3ba5b62852\n"
    },
    {
      "commit": "2f35206b77dd7d8a8c761e0a81ea327c10787036",
      "tree": "314fad5639b5c762be3ec16f1b685056678edf44",
      "parents": [
        "dc4272365d1c875471097db907f659731c36b53c",
        "d906ad023d3608925c4afda5c3b70a24667db758"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 11 05:54:44 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 05:54:44 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Fixes for updated Cts test\" into oc-dev am: 2d12b8e367\nam: d906ad023d\n\nChange-Id: I27856718a4914e396a7c387da7b4f4e4b7c245e6\n"
    },
    {
      "commit": "d906ad023d3608925c4afda5c3b70a24667db758",
      "tree": "4fceb037dc74eb16098d5229944ed941253a0fa1",
      "parents": [
        "03e1f70c17238799081a9021589adf57c0f04713",
        "2d12b8e3677c2c6b620358fa7e4699dda8c0f0bc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 11 05:33:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 11 05:33:51 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Fixes for updated Cts test\" into oc-dev\nam: 2d12b8e367\n\nChange-Id: Ic4e567226fa649c425199e9068a3dac29809c980\n"
    },
    {
      "commit": "f370264dfa5237524a3535f5242a0c68cbbb13eb",
      "tree": "b0cab4fa2ae4243ce2a870c3d91e8124dc2d3510",
      "parents": [
        "549bd02a8421b0b53a1b5e8961a41cf551fce72d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri May 05 17:33:32 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 10 14:17:40 2017 -0700"
      },
      "message": "VolumeShaper: Fixes for updated Cts test\n\n1) Limit number of VolumeShapers that can be created.\n   a) 16 system VolumeShapers\n   b) 16 application/client VolumeShapers\n2) Return proper volume before VolumeShaper is started.\n3) Consistent xOffset definition used internally:\n   a) this is now always the position on the volumeshaper curve\n      which can go backwards if in REVERSE.\n   b) normalized time is always forward going and is scaled\n      to 0.f and 1.f depending on progress relative to\n      the curve\u0027s duration.\n4) Fix replace method.\n5) Add comments.\n\nTest: Use updated CTS VolumeShaperTest\nBug: 37536598\nChange-Id: I837ab2a481adc0abbd3f1338bfe2cb79831b11fa\n"
    },
    {
      "commit": "549bd02a8421b0b53a1b5e8961a41cf551fce72d",
      "tree": "2808091525a4d6ea242fe5dd38f48d3d5f733de8",
      "parents": [
        "abbb67724e5600c17450ed148fb2c214c5aac9ee"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 10:32:56 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 08 12:49:12 2017 -0700"
      },
      "message": "Fix -Wextra warnings in frameworks/av/include\n\nhardware/qcom/display includes frameworks/av/include headers\nwhile compiling with -Wextra.  Fix warnings that were hidden\nby -isystem.\n\nBug: 31751828\nTest: lunch bullhead-userdebug \u0026\u0026 m -j checkbuild\nChange-Id: Ib1ee7165882ff3cc1d85c123815604079483f725\n"
    },
    {
      "commit": "11280a15cb66d03f5ce020036e17d2defee311e2",
      "tree": "54fa53d9b8c8764e5520ee8c9066422ceddfecf6",
      "parents": [
        "13e4027421830f9f40ae2994480efa862b6940e8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 10:32:56 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 01:09:41 2017 +0000"
      },
      "message": "Fix -Wextra warnings in frameworks/av/include\n\nhardware/qcom/display includes frameworks/av/include headers\nwhile compiling with -Wextra.  Fix warnings that were hidden\nby -isystem.\n\nBug: 31751828\nTest: lunch bullhead-userdebug \u0026\u0026 m -j checkbuild\nChange-Id: Ib1ee7165882ff3cc1d85c123815604079483f725\n(cherry picked from commit 27d3c6a32919b5773c0cb8eed6ebe8563954aeff)\n"
    },
    {
      "commit": "4e399991097e4d7180ab1e276e15f546705aa6f3",
      "tree": "a0adfa530b793dce1d8f80f154f2243c7c4caac1",
      "parents": [
        "1759bb5511fe1b6648e3da1b1e7ee98ca7aa2b1b"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:15:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 14:51:13 2017 -0700"
      },
      "message": "Fix trivial warnings hidden by -isystem\n\nFix the trivial warnings that are hidden by the use of -isystem to\ninclude frameworks/av and caught by -Werror.\n\nTest: m -j checkbuild\nBug: 31751828\nChange-Id: I155f9f772ce0a84b364313814cb7cf528b9de4eb\nMerged-In: I155f9f772ce0a84b364313814cb7cf528b9de4eb\n(cherry picked from commit b8c35f94470d1518e2def0582aaec4e038c92af0)\n"
    },
    {
      "commit": "1759bb5511fe1b6648e3da1b1e7ee98ca7aa2b1b",
      "tree": "e77a76120041ad62d86b6ad5e96070123d1278d1",
      "parents": [
        "5d4a63d87137d9cbf532d4756283703ed95707c9"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 12:46:17 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 14:49:53 2017 -0700"
      },
      "message": "Fix non-trivial warnings hidden by -isystem\n\nThese warnings were hidden by -isystem.\n\nBug: 31751828\nTest: m -j checkbuild\nChange-Id: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\nMerged-In: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\n(cherry picked from commit 6f51c153ea5e4187a313e47ac8bad9a1a999d4e1)\n"
    },
    {
      "commit": "27d3c6a32919b5773c0cb8eed6ebe8563954aeff",
      "tree": "ab29dae2086dd351b720b89f1da153d6ad799d7a",
      "parents": [
        "4577c2b3f0e06a6b9a11ff7eceecb4760b37dae7"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 10:32:56 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue May 02 12:32:34 2017 -0700"
      },
      "message": "Fix -Wextra warnings in frameworks/av/include\n\nhardware/qcom/display includes frameworks/av/include headers\nwhile compiling with -Wextra.  Fix warnings that were hidden\nby -isystem.\n\nBug: 31751828\nTest: lunch bullhead-userdebug \u0026\u0026 m -j checkbuild\nChange-Id: Ib1ee7165882ff3cc1d85c123815604079483f725\n"
    },
    {
      "commit": "b8c35f94470d1518e2def0582aaec4e038c92af0",
      "tree": "0ef68bf31016198ef4a9f26d33025fa332c2abd4",
      "parents": [
        "6f51c153ea5e4187a313e47ac8bad9a1a999d4e1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:15:51 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:41:36 2017 -0700"
      },
      "message": "Fix trivial warnings hidden by -isystem\n\nFix the trivial warnings that are hidden by the use of -isystem to\ninclude frameworks/av and caught by -Werror.\n\nTest: m -j checkbuild\nBug: 31751828\nChange-Id: I155f9f772ce0a84b364313814cb7cf528b9de4eb\n"
    },
    {
      "commit": "6f51c153ea5e4187a313e47ac8bad9a1a999d4e1",
      "tree": "ca8da064baf8dd1602966a377d6c5ae804e663db",
      "parents": [
        "f461f38e08ca8afb89e1dc33beae43905f47f9f8"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 12:46:17 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Apr 28 16:41:36 2017 -0700"
      },
      "message": "Fix non-trivial warnings hidden by -isystem\n\nThese warnings were hidden by -isystem.\n\nBug: 31751828\nTest: m -j checkbuild\nChange-Id: Ibb1aa07a6827fcbd29fc15291fcd90280c0f608d\n"
    },
    {
      "commit": "01e0ee177ff9f9e66b606c440fffeeb1509634d9",
      "tree": "5308e363f659cdd783ffb85533389b69bf59f6c4",
      "parents": [
        "c856d7294dfbedb4ec22e4e1f69663bb69aa442a",
        "7dc9e283f1db2353bdbf1df84546f88a6bce08a9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 27 16:30:38 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 27 16:30:38 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Improve restore\" into oc-dev am: abbb67724e\nam: 7dc9e283f1\n\nChange-Id: If6df971ee7b860544e56ea90445fdfe650856b2f\n"
    },
    {
      "commit": "39399b6b08b4e9fd7eae50e58e93b07216ad697f",
      "tree": "04c78ddb6186a54c9e0118a0b8f5270cdfc9d720",
      "parents": [
        "94cfe137a105ec7db047e963e18483425e0d2272"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 21 15:07:45 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 26 10:45:25 2017 -0700"
      },
      "message": "VolumeShaper: Improve restore\n\nConsider whether VolumeShaper has been started or not when\nrestoring (position). If the VolumeShaper hasn\u0027t been started\nwe restore in that state.  If it has been started already,\nwe advance to the end assuming the duration has been played out.\n\nTest: CTS and headset / kill audioserver\nBug: 37536598\nChange-Id: I4b55dca6f6a859563fd20bad4c8f67d2c92321c0\n"
    },
    {
      "commit": "8be3dcd82c23e519667cd6b362d4864a1c44cb8e",
      "tree": "fbb25be8e442e3e35c4dae8e4e5f0968ae8f419d",
      "parents": [
        "93d7b51f52a9a5b44d4873f69feefc1709d872c8",
        "cc37107c575f86d8f03f4bac9115ea6b0b6ff80b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 17:13:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 25 17:13:00 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Clean up constructors\" into oc-dev am: 94cfe137a1\nam: cc37107c57\n\nChange-Id: If1bef0500c65aeea71433c46a15404e616685f70\n"
    },
    {
      "commit": "94cfe137a105ec7db047e963e18483425e0d2272",
      "tree": "cea5d65195c3b408943149c5a593d97a691cff08",
      "parents": [
        "9706527f86fc9895ffd0bf288bab6a2b5749a822",
        "7d712bb0916182cb73f05ec9144b39314ddd5eab"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 17:03:14 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 17:03:15 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: Clean up constructors\" into oc-dev"
    },
    {
      "commit": "93d7b51f52a9a5b44d4873f69feefc1709d872c8",
      "tree": "ea87e65e62200823b44853f6b63174e00a6fe9b8",
      "parents": [
        "7b4f926ce4b0b298b5157186347a90dcbc543a70",
        "db59802a59365408b19d95375b8b39fd0a05e002"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 16:30:51 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 25 16:30:51 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: improve logging and dumpsys\" into oc-dev am: 9706527f86\nam: db59802a59\n\nChange-Id: I119a0c5cf44a9efaa0190c33a302730a4c756970\n"
    },
    {
      "commit": "9706527f86fc9895ffd0bf288bab6a2b5749a822",
      "tree": "62bb529f4105eac6055ded032b44a90f355eebb3",
      "parents": [
        "79a89ef4eb06a2d29fc3d083112de398111a9ddb",
        "da540db0fc21bc9319d9602aefe1a109d00a7e6c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 25 16:23:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 25 16:23:16 2017 +0000"
      },
      "message": "Merge \"VolumeShaper: improve logging and dumpsys\" into oc-dev"
    },
    {
      "commit": "7d712bb0916182cb73f05ec9144b39314ddd5eab",
      "tree": "44476f17a84bfc14124163cc0311c5f761113c7e",
      "parents": [
        "da540db0fc21bc9319d9602aefe1a109d00a7e6c"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 20 14:23:41 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 24 15:23:03 2017 -0700"
      },
      "message": "VolumeShaper: Clean up constructors\n\nExplicit only for single argument constructors\n\nTest: instrumented ducking, CTS\nBug: 37536598\nChange-Id: I78776f500513a40c8daf7af78cbaec4b153e9ea2\n"
    },
    {
      "commit": "da540db0fc21bc9319d9602aefe1a109d00a7e6c",
      "tree": "4d2bf652c1c8e523ae1bf28bf5e67e20289be6c8",
      "parents": [
        "5551797eb2d813ef01e23eb93fd680bc1e0dd886"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 20 14:06:17 2017 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 24 15:22:44 2017 -0700"
      },
      "message": "VolumeShaper: improve logging and dumpsys\n\nTest: CTS and dumpsys\nBug: 37536598\nChange-Id: I9a838a8605defde3aaf42a872e48f01425df0f0e\n"
    },
    {
      "commit": "f72cefddf378909f360998852e41f49042711299",
      "tree": "88eec98dcb8b77b8fe27c52acd4ff0b7f7c969c8",
      "parents": [
        "cbe1bfea6415902af50a138df1a227f6b49afafc"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Wed Apr 05 11:07:08 2017 -0700"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Fri Apr 21 17:09:05 2017 -0700"
      },
      "message": "media: Support getStopTimeOffsetUs in GraphicBufferSource.\n\nSo MediaCodecSource could use the stopTimeOffset to adjust the stop timeout\ndynamically.\n\nTest: Camera recording with video stream delay.\nBug: 35925528\nChange-Id: Ic186971992bdc03155e9993cb44027002f71a457\n"
    },
    {
      "commit": "22dc508717c7767927064ec7c152def99e54adcb",
      "tree": "7590c5e895632e3a7e8bf20f7a09299f6a1b8dca",
      "parents": [
        "24059088a46160f731903cc66404184a531d0478"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 20 05:12:55 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 20 18:35:08 2017 -0700"
      },
      "message": "Make IGraphicBufferSource::setTimeLapseConfig take fps\n\nTest: Manual use of Camera, Movies, Photos and YouTube apps.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\n\nBug: 37302530\nChange-Id: Id0d4f7fed57349a2f5484f6b6264981471e8f022\n"
    },
    {
      "commit": "005f9e289f2db7fb2ce9a8a807d5a716917a722d",
      "tree": "2bd74a50bd7b6e7ca063504654ef2716267cb9db",
      "parents": [
        "af4dd44c88067ae4720901730435698e670ff7a5",
        "8253f44c3d0d8a7003dd2e6f728f9e3d63927727"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 13:06:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 13:07:01 2017 +0000"
      },
      "message": "Merge \"Fix libmedia includes.\" into oc-dev"
    },
    {
      "commit": "af4dd44c88067ae4720901730435698e670ff7a5",
      "tree": "0087bcd63ca37242daafc1b17ab8a7d37739e1f5",
      "parents": [
        "11c0013ecdc3621f4651475381a8ef1b282f6af8",
        "a3b4ef8b5f99e3161684bb56b1e77f94903e194a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 18 13:06:59 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 18 13:07:01 2017 +0000"
      },
      "message": "Merge \"Add libeffects_headers.\" into oc-dev"
    },
    {
      "commit": "a3b4ef8b5f99e3161684bb56b1e77f94903e194a",
      "tree": "a00d29e667810c29d610eef214bd36a943324e6a",
      "parents": [
        "89d950d331ef55d5cc68461d58101bee2515c895"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 15:42:49 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 21:28:32 2017 -0700"
      },
      "message": "Add libeffects_headers.\n\nAlso had to fix the location and symlink of them.\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: Idcfe1eaaf7be10a183b69bafa07f035ab9ca1e4e\n"
    },
    {
      "commit": "8253f44c3d0d8a7003dd2e6f728f9e3d63927727",
      "tree": "f3891c8d9aa0da7fdc41a667006a9818a0decf77",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 15:55:59 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 18 02:31:12 2017 +0000"
      },
      "message": "Fix libmedia includes.\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: Idb6319563dfe83807d32ee54eb2fe66346c9f54a\n"
    },
    {
      "commit": "25a9e5561a7f14e79b04f713a515a9464b9ea077",
      "tree": "ea551e17c5a57e4615e474feb60ebc8366f2e133",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 14:30:39 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 18 02:31:04 2017 +0000"
      },
      "message": "Add libaudioclient_headers\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: I31cf7e7cd89fe6e71d4e52f7682990146a12b2fb\n"
    },
    {
      "commit": "9e7dd63dfff0cc967f025ea9e27a299aaa99fd69",
      "tree": "4393a809535f09ae5b09493776f280740f85ba0e",
      "parents": [
        "7faba5ea99bfa9f76be3f38fd26193fdd56e9485",
        "a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Apr 13 06:23:45 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 13 06:23:52 2017 +0000"
      },
      "message": "Merge changes from topic \u0027api-review\u0027 into oc-dev\n\n* changes:\n  MediaCas: combine openSession methods\n  MediaCas: changes to address API review comments\n"
    },
    {
      "commit": "0de04e850beced076e4b1fcf0e513255f62a7d85",
      "tree": "0d373eb677443a20d7bdccf70d2f3b41cad0ced8",
      "parents": [
        "f4b7240b9d7095545d1ee1a772edacdeec1f6610",
        "6ed07dc02d4240f94e7fb0786fb263bdc7a610ba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 12 18:55:05 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 12 18:55:07 2017 +0000"
      },
      "message": "Merge \"Remove setQuirks() from IOMXNode and IOmxNode.\" into oc-dev"
    },
    {
      "commit": "a78c1cc9773532b1f9d066ed8fa0d9414c1bb8bb",
      "tree": "1a786e3a193f4fd9e34a06e5d771dacb4e4633af",
      "parents": [
        "bc7aae4ff7e72e5bf0fa888f946835840a4357bb"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Mar 31 17:36:26 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 11 12:22:23 2017 -0700"
      },
      "message": "MediaCas: combine openSession methods\n\nCombine the two openSession methods into one that doesn\u0027t take any\narguments. This gives the client more flexibility on creating\nsessions efficiently. They can better decide whether to share one\nsession for multiple streams, or create one session per stream.\n\nbug: 22804304\n\nChange-Id: I9634f4dd4fc437229068103b54555cc28a818937\n"
    },
    {
      "commit": "ef0b6b64144b6e062bbb445a6df73c365b66646d",
      "tree": "7a531f1f9ec8cf35626be78de87b063b9db35584",
      "parents": [
        "0b26f855c9256415806d8d463d9c02e3d23a6f2a",
        "b01fb48fcc755d6bfad9bc94d8c227349155e1b5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 07 03:15:49 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 07 03:15:50 2017 +0000"
      },
      "message": "Merge \"MediaCas: fixes for playback tests\" into oc-dev"
    },
    {
      "commit": "6ed07dc02d4240f94e7fb0786fb263bdc7a610ba",
      "tree": "8bb3d3acf1e48dcb2d9c9cee6bdb090073f8b4ec",
      "parents": [
        "549f208855372bd0913ffbcbb67ea6abc98193e2"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Apr 05 06:26:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Apr 06 19:29:09 2017 -0700"
      },
      "message": "Remove setQuirks() from IOMXNode and IOmxNode.\n\nTest: Media post-submit tests on Pixel phone.\nTest: Manual use of Camera, Photos, Play Movies and YouTube apps.\nBug: 36952714\nChange-Id: I230df51c2d658e29cffec369ba622e336c3402d2\n"
    },
    {
      "commit": "b01fb48fcc755d6bfad9bc94d8c227349155e1b5",
      "tree": "f4bb52aabaa89f35f196f06263fc2f779fe23133",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 23 18:42:51 2017 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 06 18:29:35 2017 +0000"
      },
      "message": "MediaCas: fixes for playback tests\n\n- Set crypto mode to kMode_AES_CTR, since kMode_AES_CBC is not defined\n  on Java API, and is rejected when the sample is queued to MediaCodec.\n\n- Wrap the plugin object in a RefBase, and hold a strong ref to it\n  when executing any API calls in CasImpl. This is needed because\n  CasImpl could be released by Java API, while MediaCodec native is\n  still trying to access it.\n\n- Fix build warnings.\n\nTests: cts-tradefed run cts-dev --module CtsMediaTestCases --test android.media.cts.ClearKeySystemTest\n\nIt should not fail.\n\nbug: 22804304\nChange-Id: Id4ef037d57dd741d2bb22b1de3d04c8d078b69fb\n"
    },
    {
      "commit": "0f0c9b5007ff694d05a91c28359db0553e4dd061",
      "tree": "74669ec0fa61229d23b863b685bbf162e82ff32e",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:00:23 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:41:03 2017 -0700"
      },
      "message": "Move MediaMetrics into its own library\n\nChanges for the new HAL structure have brought about a build time\ncircular dependency between libmedia and libmediadrm. This set of\nchanges the media metrics code into its own library and arranges\nfor the relevant consumers of the media metrics code to link\nto this new library (where they had previously picked it up by\nincluding libmedia).\n\nBug: 36990807\nTest: build, boot.\nChange-Id: I81768eecca88d5e59e6e6e547f29308a94e30c7b\n"
    },
    {
      "commit": "e9fec5451704893412c8e707940483a6bdb5f238",
      "tree": "0cf8ca3f939aa1f42bb85c131b7c2963b335f6a2",
      "parents": [
        "6480d09eec2b8188b623030c971032334739b4e4"
      ],
      "author": {
        "name": "John W. Bruce",
        "email": "juce@google.com",
        "time": "Mon Mar 13 16:29:28 2017 -0700"
      },
      "committer": {
        "name": "John Bruce",
        "email": "juce@google.com",
        "time": "Wed Mar 29 18:10:44 2017 +0000"
      },
      "message": "Add Flag for Enabling 64-bit Media DRM Server\n\nWe are ready for devices to begin migrating to a 64-bit Media DRM\nServer. However, not all devices are ready to make this jump yet. A\ndevice needs to have all of its DRM Plugins ready to run as 64-bit\nbefore it can do this. This includes having 64-bit hardware\nintegrations.\n\nSo that devices can turn on 64-bit support as they get ready, I am\nadding flags that can be set in a device\u0027s device.mk file. There are two\nparts:\n\n* ENABLE_MEDIADRM_64 enables building the mediadrmserver as 64-bit.\n\n* Setting drm.64bit.enabled\u003dtrue in PRODUCT_PROPERTY_OVERRIDES switches\n  mediadrmserver to searching for DRM Plugins in the 64-bit directory.\n\nTest: Validated that turning on these flags enables a 64-bit\n      mediadrmserver that loads 64-bit DRM Plugins from the lib64\n      directory (after setting DISABLE_TREBLE_DRM to true to load this\n      code as opposed to the Legacy DRM Plugin HAL)\nBug: 36076017\nChange-Id: I141cfd57ff75b40c8b0cb40a5bf1439a1ab5b766\n"
    },
    {
      "commit": "04563aafa0debc95d50951ca944abf37ef2777ce",
      "tree": "27f23c70a302d8d8740b62c569a7d5ee48418aad",
      "parents": [
        "0e4b8e9cb1b422195c49be49b48d039aa0814acf"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 09 07:02:01 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Tue Mar 14 17:13:37 2017 -0700"
      },
      "message": "Move hybrid interface from libbinder to libhidl/transport.\n\nAlso, merge android.hardware.media.omx@1.0-impl into libstagefright_omx.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Manual use of Camera, Photos, Play Movies and YouTube apps.\nTest: Manual use of screen mirroring.\n\nBug: 33854657\nChange-Id: Ie927bcafd86dc7e9509bb8b76bb3b51f9a423cc7\n"
    },
    {
      "commit": "0e4b8e9cb1b422195c49be49b48d039aa0814acf",
      "tree": "6892ad7ab0b0c8decd1d5e72e74a7bef1e7fb5b5",
      "parents": [
        "c7700a8abb2102c41bc4778a54143818c45e220f",
        "694ebf6734cc7af6b8cf9c032fa3e5a00a54dc84"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 11 10:43:53 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 11 10:43:54 2017 +0000"
      },
      "message": "Merge changes from topic \u0027fix omxnode fd leak\u0027\n\n* changes:\n  Fix Omx emptyBuffer fd leak in GraphicBufferSource\n  Revert \"Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\"\n"
    },
    {
      "commit": "d095e65c8c125c555046c60539a0f7abf0ccf271",
      "tree": "ea1e88f82d5921fe1515f434d7dfb91d641a175f",
      "parents": [
        "a6331ba30928fac713f9d6ce94e1d5f0d008b501"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Mar 11 01:20:43 2017 +0000"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Mar 11 01:20:43 2017 +0000"
      },
      "message": "Revert \"Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\"\n\nThis reverts commit a6331ba30928fac713f9d6ce94e1d5f0d008b501.\n\nBug: 36110748\nChange-Id: I56260ae0cc13c17b0edb31c39d22f3fbd6708d34\n"
    },
    {
      "commit": "3ecd658d0e403726cc8e03a4b4a4fdc81a0ec5d3",
      "tree": "74a81b5825ce41194ed9141dafb6515fe249a837",
      "parents": [
        "e298642503ab2e01add43351a7385c9288afa52a",
        "a6331ba30928fac713f9d6ce94e1d5f0d008b501"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 10 23:32:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 10 23:32:20 2017 +0000"
      },
      "message": "Merge \"Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\""
    },
    {
      "commit": "a6331ba30928fac713f9d6ce94e1d5f0d008b501",
      "tree": "259600cbdcbed440acd90f678896ad62314fabb3",
      "parents": [
        "3d32c95e94f2672d23b58196beafddacba07c5e8"
      ],
      "author": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Fri Mar 10 20:54:33 2017 +0000"
      },
      "committer": {
        "name": "Rachad Alao",
        "email": "rachad@google.com",
        "time": "Fri Mar 10 21:49:55 2017 +0000"
      },
      "message": "Revert \"Refactor GraphicBufferSource wrappers for OMX HAL\"\n\nThis reverts commit 3d32c95e94f2672d23b58196beafddacba07c5e8.\n\nBug: 36110748\n\nChange-Id: I6d0cd5924b3e1e00cdcf844c638bb0acf4fae2ac\n"
    },
    {
      "commit": "89e5a2b102b484fe19dbda2a0b118edfefc70241",
      "tree": "7d569d72d3a2e16c77a10e08de04746fab6ad52e",
      "parents": [
        "ca47e6d574cd3d02821b87657a80d84b328d4f26",
        "dcdfaecc1fa630a799e1fdb508a9b92da55abc36"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 22:55:06 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 09 22:55:06 2017 +0000"
      },
      "message": "Merge \"NBLog periodic merging thread\""
    },
    {
      "commit": "dcdfaecc1fa630a799e1fdb508a9b92da55abc36",
      "tree": "407138ab3b7cef085ca4f283ea24378910ce775e",
      "parents": [
        "cca34c05ca2d5e7ac6c2fbee3ac2db88f059143d"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Tue Feb 14 10:18:39 2017 -0800"
      },
      "committer": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Thu Mar 09 12:30:24 2017 -0800"
      },
      "message": "NBLog periodic merging thread\n\nBug: 35468674\nTest: no change in functionality, everything works as before\nChange-Id: Id2cea243bc15767ca6803c9505bf23a18411500e\n"
    },
    {
      "commit": "22fd9de35b387f1ed808f4fe6e0b87eac3e82690",
      "tree": "693af83a6fce5b6bcab600a3b9c3c279c9a7d16f",
      "parents": [
        "f687b91129586fd1212bcb041d3f9aeb84635eb5",
        "18b570146c971fe729c391bfbb869391084e623d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 08 16:42:33 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 08 16:42:34 2017 +0000"
      },
      "message": "Merge \"audioflinger: add standby() method to MmapStreamInterface\""
    },
    {
      "commit": "18b570146c971fe729c391bfbb869391084e623d",
      "tree": "44427ed969851fc0e8638b508e265d6d039556b9",
      "parents": [
        "421c434e615a417d9f5443af9e52a30e3b29c256"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Feb 13 16:23:52 2017 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 08 00:33:34 2017 +0000"
      },
      "message": "audioflinger: add standby() method to MmapStreamInterface\n\nBug: 33398120\nTest: open/start/stop/close MMAP no IRQ stream for capture and playback\n\nChange-Id: I48ec202a71565f759c441c2a835d8c8190e76334\n"
    },
    {
      "commit": "3d32c95e94f2672d23b58196beafddacba07c5e8",
      "tree": "ea1e88f82d5921fe1515f434d7dfb91d641a175f",
      "parents": [
        "622761ea1155d31aa9e2bdb13fe096800a11f091"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Feb 23 12:09:30 2017 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Mar 03 21:55:14 2017 +0000"
      },
      "message": "Refactor GraphicBufferSource wrappers for OMX HAL\n\nBug: 35449087\nTest: Manual\nChange-Id: I0cf70526d820999902707af466ebb4e8a2c932ab\n"
    },
    {
      "commit": "ac7d4125516299b8a3e6f2b25822a692bdd96311",
      "tree": "ec382c07861eb03439ee4e1e97918b767a2e56f3",
      "parents": [
        "881fc5c65fc7d8c56af0dea181d751fcec3a2b1c"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 01 05:48:42 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 01 22:34:46 2017 -0800"
      },
      "message": "Use tokens for IOmxNode.\n\nTest: Mirroring, Camera, Photos, YouTube and Play Movies apps.\nBug: 35442034\nChange-Id: I0e43ec57d0f37c71d41652fd9883b72650433e20\n"
    },
    {
      "commit": "4ef88d7106c01f81109ee163cb6789073d80c6ae",
      "tree": "b851ebaf0b55c4d8174dd4a744352a3d4513beee",
      "parents": [
        "10cbff139360f3f642e0e3b3ccf2d463dbed22cf"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 21 19:47:53 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 24 21:05:58 2017 -0800"
      },
      "message": "VolumeShaper: Add AudioTrack restore\n\nMediaPlayer VolumeShaper can now be set before start().\n\nTest: CTS and Ducking\nBug: 31015569\nChange-Id: Idf63c167e164161b200e2467fbeb9409b3097dbe\n"
    },
    {
      "commit": "10cbff139360f3f642e0e3b3ccf2d463dbed22cf",
      "tree": "85bef4f57dd8ff375059a1682c64941da884d0d5",
      "parents": [
        "1e50d1daa696e159d1ed0606de373c1cccef2c84"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 21 17:30:14 2017 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Feb 24 18:56:55 2017 -0800"
      },
      "message": "VolumeShaper: Enable for offload and direct tracks\n\nTest: Play Music in offload mode\nBug: 31015569\nChange-Id: I00bb59e3e6809d4682f42057b1cc083f4fa9b9d1\n"
    },
    {
      "commit": "e2b43843fd12783188edd2c54188ea8d26864788",
      "tree": "baab518964134359128ed35e5ebfc36cf977cde4",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Thu Feb 02 13:35:37 2017 -0800"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Feb 24 11:47:45 2017 -0800"
      },
      "message": "Moved headers from include/ to appropriate libs\n\ninclude/camera -\u003e camera/include/camera\ninclude/media/audiohal -\u003e media/libaudiohal/include\ninclude/media/AudioResampler*.h -\u003e media/libaudioprocessing/include\ninclude/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -\u003e media/libaudioclient/include\ninclude/media/EffectsFactoryApi.h -\u003e media/libeffects/include\ninclude/media/stagefright -\u003e media/libstagefright/include\ninclude/media/nbaio -\u003e media/libnbaio/include\ninclude/media/\u003crest of files\u003e -\u003e media/libmedia/include\ninclude/cpustats -\u003e media/libcpustats/include/cpustats\n\nAdded symlinks from old location to new ones\n\nBug: 33241851\n\nTest: VNDK linked modules will need to add explicit lib dep.\nAll other modules should compile the same\n\nChange-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669\n"
    },
    {
      "commit": "9dbe9a57bf0ae2494ec312d6c1b06feec20e9ec9",
      "tree": "cd5c27963da0e52e42efe6bb0a5e8d97b6af6f41",
      "parents": [
        "a146a0c499e53a4f064777ab2b45407c14429fa0"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jan 03 11:35:15 2017 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Feb 18 00:57:33 2017 +0000"
      },
      "message": "MediaCas: add MediaCasService\n\nThis CL adds API only without implementation.\n\nbug: 22804304\nChange-Id: Ibb5a29cc616ec0af81957b2bfe1419c482591753\n"
    },
    {
      "commit": "cd01db5572f07e30c8b0b08e8b50b89c69ae14c1",
      "tree": "97b959d2f94653960859cdd5222e58446b7f9a7c",
      "parents": [
        "ea42da480ddd116cb70f2c8a7642df7c12b996af",
        "3cb5316c442d182ada75a1394e1505a017400526"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 23:30:15 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 23:30:16 2017 +0000"
      },
      "message": "Merge \"Support multiple codecs per crypto instance\""
    },
    {
      "commit": "ea42da480ddd116cb70f2c8a7642df7c12b996af",
      "tree": "a1acf6c39eb4ff9c9cea984bca17ade294937405",
      "parents": [
        "c0a3f679109769d8fb43b66fccbe47f8c505d12e",
        "ac4e4189db77dc0af7671b162d11be5ccec69339"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Feb 17 22:39:35 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:39:36 2017 +0000"
      },
      "message": "Merge \"Media metrics for android.media.MediaRecorder\""
    },
    {
      "commit": "c0a3f679109769d8fb43b66fccbe47f8c505d12e",
      "tree": "295739e8105bab75348d97544fca85d6e1d95008",
      "parents": [
        "0e701fd27a2daad2eadf83f904c68a418f93cf92",
        "13a926879249276771b0097538459c7550e2f5ce"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 22:26:19 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:26:19 2017 +0000"
      },
      "message": "Merge \"Use hidl.allocator for IAllocator.\""
    },
    {
      "commit": "0e701fd27a2daad2eadf83f904c68a418f93cf92",
      "tree": "1366c91c9df6dddc28c098e8d57e8009f673cd4c",
      "parents": [
        "c01ea695f5e55137834b5217c30ff71dccfcc989",
        "bc1713d3b85d7ce656e032da6e4b6b342f14db03"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 17 22:21:01 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:21:03 2017 +0000"
      },
      "message": "Merge \"fallout of splitting rect.h out of libandroid.\""
    },
    {
      "commit": "c01ea695f5e55137834b5217c30ff71dccfcc989",
      "tree": "998b024e0cbec3a4f3262956584d342379cfe944",
      "parents": [
        "ccaeb5f08d037cc0ec7a9ab69bf03364b3fad452",
        "cd5dd016657b351d9c74dcdff87547a781108ccb"
      ],
      "author": {
        "name": "Nicolas Roulet",
        "email": "nicoroulet@google.com",
        "time": "Fri Feb 17 22:08:37 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 17 22:08:37 2017 +0000"
      },
      "message": "Merge \"Implement entry iterators\""
    },
    {
      "commit": "3cb5316c442d182ada75a1394e1505a017400526",
      "tree": "cba6c593af42f45211dd149d66975c06b2185fa0",
      "parents": [
        "09b92c347ddcaf751571363e54a769eb4b95edd3"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 16 12:06:32 2017 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 17 13:04:02 2017 -0800"
      },
      "message": "Support multiple codecs per crypto instance\n\nThe initial drm hidl hal implementation assumed one\ncodec per crypto instance, but in fact there can be\nmultiple codecs per crypto instance. This change\nextends the drm hal to allow multiple memory heaps\nper crypto plugin. It fixes the issue of mapping\nmemory frequently during playback.\n\nbug:35275191\n\nTest: manual verification with Play Movies on angler\nin passthrough mode and on marlin in binderized mode.\n\nChange-Id: Icada005f515483d7bc214b08caf6eea46ca354a7\n"
    },
    {
      "commit": "bc1713d3b85d7ce656e032da6e4b6b342f14db03",
      "tree": "df2747b33b188cf3b5af2505d1076984120ddc8d",
      "parents": [
        "87251eee475a53599b980334df777326fa8e1527"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 13 18:37:50 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Fri Feb 17 12:25:14 2017 -0800"
      },
      "message": "fallout of splitting rect.h out of libandroid.\n\nA lot of media makefiles didn’t specify libui or\nlibgui but included headers from these libraries\ndirectly. \n\nIt works because these headers are on the global\ninclude path. With this change, though, rect.h\nis not anymore (albeit exported from libui).\n\nTest: built and booted device\nBug: 35164655\nChange-Id: I72e8f0b7bd25c6a67eedc17afe52c4c484a147fe"
    }
  ],
  "next": "13a926879249276771b0097538459c7550e2f5ce"
}
