)]}'
{
  "log": [
    {
      "commit": "174e1094a41828111c86793232d9492ab8e29395",
      "tree": "5953220a17f0194dc236c61a720a155db6401bb4",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 23 15:14:50 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: *CNT and *MAX are no longer part of the enum\n\naudio.h used to have *_CNT and *_MAX values in its enum\nmostly for enum iteration.\n\nThis was not compatible with Treble as it denied any enum\ninheritance.\n\n*_CNT and *_MAX are now implemented with macro that can\nbe updated and are not part of the API.\n\nBug: 38184704\nTest: Compile\nChange-Id: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nMerged-In: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e",
      "tree": "a6f501e0ab021946977d8d395ed254e9f36e9283",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Jan 21 17:41:16 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:56:57 2018 -0800"
      },
      "message": "nuplayer2: port GenericSource2 to NDK APIs\n\nBug: 63934228\nChange-Id: I8bddacf5ce9eb8f22f3d4a945e0a7db1b52628d3\n"
    },
    {
      "commit": "d83d4f4a43616f38217591ba2d3f10d77fd4e748",
      "tree": "8c4c462635c15290a3436b01dc2614caade4ff84",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Feb 24 19:02:46 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:36:13 2018 +0000"
      },
      "message": "NdkMediaExtractor: per-sample format metadata API\n\nBug: 63934228\nTest: MediaPlayer2Test\nChange-Id: I8ac081ba91152b1bb2e7bb61bf6977f90bcb8e3c\n"
    },
    {
      "commit": "7c9123d1bc697dc0496374908281b7a76914574a",
      "tree": "5cfe914cb04a18b9bb9564595c15519e3deeab52",
      "parents": [
        "baea52472c0e8b1dd2f63b2c39539fd477552abd",
        "a1d39ba72fd92df6b447939b1bbede5c56df17e6"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 02 04:46:55 2018 +0000"
      },
      "message": "Merge \"Revert \"NdkMediaExtractor: per-sample format metadata API\"\""
    },
    {
      "commit": "a1d39ba72fd92df6b447939b1bbede5c56df17e6",
      "tree": "54fff7206b48bd7123929128a4fc1e2b1d0a44d4",
      "parents": [
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "committer": {
        "name": "Guang Zhu",
        "email": "guangzhu@google.com",
        "time": "Fri Mar 02 04:33:02 2018 +0000"
      },
      "message": "Revert \"NdkMediaExtractor: per-sample format metadata API\"\n\nThis reverts commit 062ffd042fcbd237f445d499bc8ea8c5baf61d98.\n\nBug: 63934228\nBug: 74089496\n\nReason for revert: original change bypassed presubmit, causing mediaextractor crash, \n\nChange-Id: Iac4c49659dfa7415908d60da98a2285c583a1196\n"
    },
    {
      "commit": "ca791b98577f2843c9fe8bc7ed28aadf02fb255c",
      "tree": "b95cfa1ec40d713a937b0105bb48e38141d5dc82",
      "parents": [
        "b66d56699b899ebc19d662abb0b1a3dbc3736e22",
        "062ffd042fcbd237f445d499bc8ea8c5baf61d98"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 01 23:51:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 01 23:51:40 2018 +0000"
      },
      "message": "Merge \"NdkMediaExtractor: per-sample format metadata API\""
    },
    {
      "commit": "062ffd042fcbd237f445d499bc8ea8c5baf61d98",
      "tree": "689681687a4f67f44b6532a904718eb984919c25",
      "parents": [
        "006b7eebe4c86eba7a67471d99b061b6b76177f5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sat Feb 24 19:02:46 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Mar 01 14:11:11 2018 -0800"
      },
      "message": "NdkMediaExtractor: per-sample format metadata API\n\nBug: 63934228\nTest: MediaPlayer2Test\nChange-Id: I3e6dc40d39bcb6d939ef7c555c2373995a9b6ae4\n"
    },
    {
      "commit": "5830c5a1b0e10057589eff3b4d0015fe849374a2",
      "tree": "462b34e8cd776cacb9385910b09ead013a64e80c",
      "parents": [
        "006b7eebe4c86eba7a67471d99b061b6b76177f5",
        "28f27c3bee88b0f47b1086feeaa904bcdec37af6"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Feb 28 03:21:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Feb 28 03:21:26 2018 +0000"
      },
      "message": "Merge \"Adds HAL metrics support for Media Drm\""
    },
    {
      "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": "28f27c3bee88b0f47b1086feeaa904bcdec37af6",
      "tree": "0f2822d51fbe3186bf5b67f20efd27205b1de14b",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 05 15:07:48 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 26 20:23:30 2018 -0800"
      },
      "message": "Adds HAL metrics support for Media Drm\n\nAdds support to fetch metrics from vendor and convert them to a proto\nbundle returned from a call to getMetrics.\n\nBug: 64001676\n\nTest: CTS test for metrics and GPlay test\nChange-Id: I05634dd1bf092e64e2d0e77c4c0e243340af48e3\n"
    },
    {
      "commit": "4c96b75c87bc3f8dd2da7f76b08a81333b43ce22",
      "tree": "f0e8dfb12a8edcb837c59cc793467c7762b13ac3",
      "parents": [
        "54c28999afa7834a8dbc6079a2707598a37db56f",
        "3d21ae3fad5a894cf15f2e7e7a1d54d0f3d19db0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 26 22:12:54 2018 +0000"
      },
      "message": "Merge \"Remove RefBase from the extractor API\""
    },
    {
      "commit": "78165d3f45797079b06c876042b9b78039378121",
      "tree": "bef9734c3abc137dfc52d17820681065b3916b25",
      "parents": [
        "29cf87f9a706f54e014682e381a47647a9d98f02"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Jan 24 14:48:03 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Feb 23 14:26:28 2018 -0800"
      },
      "message": "codec2: list c2.* components in MediaCodecList\n\n- Set proper media type for component interface and read them in\n  CCodec instead of current hack.\n- Define debug.stagefright.omx_default_rank to override default OMX.*\n  rank value (currently set to be preferred over c2.*)\n- Move MediaCodec::CreateByType logic from ACodec to MediaCodec.\n\nTest: am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: setprop debug.stagefright.ccodec yes\nTest: killall mediaserver\nTest: cts-tradefed run cts -m CtsMediaTestCases -t android.media.cts.MediaCodecListTest\nChange-Id: I55bd10d2d8c65867eae654e5bd64ef545689e699\n"
    },
    {
      "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": "81b4dff2763c795792f524e1e4cb068b64e659ad",
      "tree": "df6fdda0f8fc8f342458de2245eed1744389c30d",
      "parents": [
        "d2ce2b807b26a46570cb823544a86c0589ceddc6",
        "7dfe28f246bce404778f94e977b52699adfcb4ea"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Feb 16 20:07:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 16 20:07:49 2018 +0000"
      },
      "message": "Merge \"Fix missing check of hidl return status\""
    },
    {
      "commit": "81be7d85ab3e1a5897be623d040a26d4d9ede207",
      "tree": "1161cef3aa4aca94ac6625369d5adde614cf2359",
      "parents": [
        "46b5c79e2f02b946a58e8c501f7930d439d42771",
        "1889c3edad32995c0cf26ae2248fe7c957b7ec84"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 15 23:07:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 15 23:07:17 2018 +0000"
      },
      "message": "Merge \"Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\""
    },
    {
      "commit": "7dfe28f246bce404778f94e977b52699adfcb4ea",
      "tree": "13c730c428948f355ffc46da6c8e8032ccc98311",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 12:17:40 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Feb 15 12:17:40 2018 -0800"
      },
      "message": "Fix missing check of hidl return status\n\ncloseAllSessions() was calling into the hidl interface closeSession\ndirectly, and neglected to check the return status which resulted in\nan abort. Instead, call the DrmHal::closeSession() method which handles\nthe hidl return status correctly.\n\nTest: gts media tests\n\nbug:72400509\nChange-Id: I697997eb73ef6d8746fe695509671c4695124cee\n"
    },
    {
      "commit": "8ff8cab83dacf0263d7675d265c30bc1b8fd5dfd",
      "tree": "f2924f58b9d6a547caef4249feaebfe6ce877197",
      "parents": [
        "f51cb69506670403cf1da2c66a3290c2f47344b6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 13 13:50:22 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 15 10:12:48 2018 -0800"
      },
      "message": "Remove dead code\n\nRemove code that was unreachable or never called.\n\nTest: build\n\nChange-Id: I82da1a3a046a7fe66bf012aa749d5a2de669d807\n"
    },
    {
      "commit": "fb679e38bbc91614faa917024adddeb51ff07d0a",
      "tree": "71c39782f7a5378ab9f383d31e053bff59ef41d2",
      "parents": [
        "8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Feb 07 10:25:48 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Feb 13 12:57:37 2018 -0800"
      },
      "message": "Add logging support for FW metrics\n\nAdds proto serialization and logging support for media drm framework metrics.\n\nBug: 64001676\n\nTest: Ran CTS tests, unit tests and Google Play.\nChange-Id: Ie350ac93caa6b35610eb63e4acc860c8e8a5cf5b\n"
    },
    {
      "commit": "8cc97b178bc6c744eaeef526eca7a4e3f24a1a0e",
      "tree": "5a094043d266c0c87b0292e659eab22ae7d034be",
      "parents": [
        "031b695b8e37ca3591ac2f5eb952f6c21439d445",
        "568b3c45d48fab64c80b2780e8547564d35722e9"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Feb 13 18:14:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 18:14:40 2018 +0000"
      },
      "message": "Merge changes from topic \"media-drm-fix-list-metrics\"\n\n* changes:\n  Fix Metrics with PersistableBundle support\n  Fix DrmHal implementation to return all metrics\n"
    },
    {
      "commit": "04ce77ffc7d7466c40c226d995c0f6d389e8bbe6",
      "tree": "710d87b8b1a85db69b7ed39deba6a1f18dbe4aa1",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 13 00:27:24 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Feb 13 17:50:29 2018 +0000"
      },
      "message": "Initialize mDataSource in MidiIoWrapper c-tors.\n\nTest: App in question works well.\nBug: 73105500\nChange-Id: I6ffd52bf10e23c8ee144bbc74e157a6a7b26168c\n"
    },
    {
      "commit": "1889c3edad32995c0cf26ae2248fe7c957b7ec84",
      "tree": "5a4bd7fec36d039f75d04124b46d6295ac65e200",
      "parents": [
        "405b3c70ccf6c6671fbbe72557a8493e4e0f6097"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Feb 01 13:44:57 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Feb 12 23:59:34 2018 -0800"
      },
      "message": "Add MediaBufferBase and use it in MediaSource and MediaBufferGroup.\n\nMediaBuffer class exposes internal classes, ABuffer and IMemory, which\nwe don\u0027t want to expose to plugins. This change introduces\nMediaBufferBase which does not expose any classes from system library.\n\nTest: build and post-submit media cts tests\nBug: 67908556\nChange-Id: Ic9ee239caf9b84b2b3740e2d533257afa25c8784\n"
    },
    {
      "commit": "6c17751f5f85303e4300b11a716d2c7e009a1452",
      "tree": "87f9f48f4f2aeaf80a8992f6f97ac47d4efdce08",
      "parents": [
        "46bf6bdab5a6f41ff42107907906647417edab7c",
        "dc31017ea51ee7ba0db2068f82305eb86e2967a2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 03:16:12 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 03:16:12 2018 +0000"
      },
      "message": "Merge changes I7ea9f150,Idd98a522\n\n* changes:\n  CCodec: Episode VI --- Set Persistent Surface\n  CCodec: isolate input surface buffer passing from CCodec\n"
    },
    {
      "commit": "c91ac47d242dc269f342edb470d738447fe25486",
      "tree": "defc1e18a4c1b167242ec35dd5c2e16e55b1be25",
      "parents": [
        "31832c60d57558c2d5ddb2e45e4c6111ce9e55bb",
        "d4faf9e7cec12cf85e5901e81b7e05301012351c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Feb 13 02:42:43 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 13 02:42:43 2018 +0000"
      },
      "message": "Merge \"Ndk wrapper: wrap new Ndk datasource/extractor APIs\""
    },
    {
      "commit": "568b3c45d48fab64c80b2780e8547564d35722e9",
      "tree": "18cb767806a83262cb74a7d1ab25bcd0e1334ab8",
      "parents": [
        "637b7855829920114a8863b93fe52203b7471eea"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 31 12:57:16 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Feb 12 14:35:27 2018 -0800"
      },
      "message": "Fix Metrics with PersistableBundle support\n\nSome metrics required a conversion to using PersistableBundle to support\nslightly richer structure (lists, and nested PBs).\n\nBUG: 64001676\n\nTest: Ran updated CTS test and verified Google Play works.\nChange-Id: I8f8d67ba04b234f2ac5ac348a8945e20837f98d6\n"
    },
    {
      "commit": "d4faf9e7cec12cf85e5901e81b7e05301012351c",
      "tree": "4d43046bd139d994757622b751e4ded3bd6b8cfc",
      "parents": [
        "9111804e9051b2888c66e26ee1a872bb3ef7a988"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Jan 21 17:52:25 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Feb 12 12:03:54 2018 -0800"
      },
      "message": "Ndk wrapper: wrap new Ndk datasource/extractor APIs\n\nBug: 63934228\nChange-Id: Id6200b5b5be3c7fa22cfb0233f749fc0e8ef2bc4\n"
    },
    {
      "commit": "e307dc4e7b2c9d3c4018a755db687309cf590369",
      "tree": "05cb67d957ee0b3f7f193df6914b4d6aa487fb8b",
      "parents": [
        "41d279a7f3bc55a63b510d4dce07e18964cda152"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 19:53:54 2018 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 12:52:11 2018 -0800"
      },
      "message": "Revert \"Revert \"Update drm hal to find drm@1.1 factories\"\"\n\nThis reverts commit d3eece8aa39560e8458ba8231b8684d99f11ee6b.\n\nChange-Id: I15ca1dba1a384ccc026406f0a9a02c2598873456\n"
    },
    {
      "commit": "41d279a7f3bc55a63b510d4dce07e18964cda152",
      "tree": "5d2c1f4a1ddabe93b57e6e3b0e616cab1f871645",
      "parents": [
        "c23849a8ea5d7e2939e9d8a0aa8b6da9c08ee625"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 19:52:08 2018 +0000"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sun Feb 11 12:51:19 2018 -0800"
      },
      "message": "Revert \"Revert \"Fix MediaDrm security level APIs\"\"\n\nThis reverts commit 5f5e43fa83551a3636b92871bd2ad6b260a8815b.\n\nChange-Id: I72d585fd3768730eef6ad9effdbda81b32418dea\n"
    },
    {
      "commit": "c23849a8ea5d7e2939e9d8a0aa8b6da9c08ee625",
      "tree": "c569b1e589dfb58fd73cc07c7824180770dcf55e",
      "parents": [
        "4afda1eaee1c954b08177fb18fe755c370a6637e",
        "5f5e43fa83551a3636b92871bd2ad6b260a8815b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Feb 11 17:16:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 11 17:16:14 2018 +0000"
      },
      "message": "Merge \"Revert \"Fix MediaDrm security level APIs\"\""
    },
    {
      "commit": "4afda1eaee1c954b08177fb18fe755c370a6637e",
      "tree": "5d2c1f4a1ddabe93b57e6e3b0e616cab1f871645",
      "parents": [
        "1a099eb7b58c3aab997b960030ea533a33006898",
        "d3eece8aa39560e8458ba8231b8684d99f11ee6b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sun Feb 11 17:09:07 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Feb 11 17:09:07 2018 +0000"
      },
      "message": "Merge \"Revert \"Update drm hal to find drm@1.1 factories\"\""
    },
    {
      "commit": "d3eece8aa39560e8458ba8231b8684d99f11ee6b",
      "tree": "e6010dce1f091847db51b7464c566af774a98f74",
      "parents": [
        "a3c77911df570d4378ae4869d1060915001f0eba"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:22:12 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:22:12 2018 +0000"
      },
      "message": "Revert \"Update drm hal to find drm@1.1 factories\"\n\nThis reverts commit a3c77911df570d4378ae4869d1060915001f0eba.\n\nReason for revert: build cop here. The original CL broke build git_master / walleye_asan, hence I\u0027m reverting.\n\nhttps://android-build.googleplex.com/builds/submitted/4597721/walleye_asan-userdebug/latest/view/logs/build_error.log\n\nIn file included from vendor/google/tools/security/fuzzers/libFuzzer/ICrypto_fuzzer/ICrypto_fuzzer.cpp:24:\nframeworks/av/include/media/CryptoHal.h:23:10: fatal error: \u0027android/hardware/drm/1.1/ICryptoFactory.h\u0027 file not found\n\nChange-Id: I185d5310cadb9990b864d71e42bba94f4740160c\n"
    },
    {
      "commit": "5f5e43fa83551a3636b92871bd2ad6b260a8815b",
      "tree": "e6010dce1f091847db51b7464c566af774a98f74",
      "parents": [
        "56134cc9e790f39b3b10a18b701b0607c20b6154"
      ],
      "author": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:00:57 2018 +0000"
      },
      "committer": {
        "name": "Tobias Thierer",
        "email": "tobiast@google.com",
        "time": "Sun Feb 11 15:04:10 2018 +0000"
      },
      "message": "Revert \"Fix MediaDrm security level APIs\"\n\nThis reverts commit 56134cc9e790f39b3b10a18b701b0607c20b6154.\n\nReason for revert: Build cop here. The CL topic that I\u0027m reverting broke several builds: Drm.h\u0027s openSession(Vector\u003cuint8_t\u003e \u0026sessionId) hides overloaded virtual function openSession(DrmPlugin::SecurityLevel securityLevel, ..) from IDrm.h.\n\nhttps://android-build.googleplex.com/builds/submitted/4598692/full-eng/latest/view/logs/build_error.log\n\nChange-Id: I0de7738748ab793249df68bcbf18232d6a2d120a\n"
    },
    {
      "commit": "fa84ada543c66b83e8328dc9bdf4982394fa4347",
      "tree": "05cb67d957ee0b3f7f193df6914b4d6aa487fb8b",
      "parents": [
        "d0e0b1a1262c80e71fa2a1bb0f4880389b1e985b",
        "56134cc9e790f39b3b10a18b701b0607c20b6154"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 03:28:04 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 10 03:28:04 2018 +0000"
      },
      "message": "Merge \"Fix MediaDrm security level APIs\""
    },
    {
      "commit": "51fbf99c725544b8511ec9613f9607ff68561055",
      "tree": "b2ff6ec3707c1ed185ece8749b745cbaf8a42fd0",
      "parents": [
        "ceeee83aaf61fc61e47773da0ac97659057e1c77",
        "a3c77911df570d4378ae4869d1060915001f0eba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 10 01:44:58 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 10 01:44:58 2018 +0000"
      },
      "message": "Merge \"Update drm hal to find drm@1.1 factories\""
    },
    {
      "commit": "637b7855829920114a8863b93fe52203b7471eea",
      "tree": "c33e93ec282c2d3f2c01581907dfdfc1fb63a0bf",
      "parents": [
        "ceeee83aaf61fc61e47773da0ac97659057e1c77"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Jan 30 12:09:36 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Fri Feb 09 16:13:49 2018 -0800"
      },
      "message": "Fix DrmHal implementation to return all metrics\n\nThis change in DrmHal allows us to transfer a PersistableBundle containing\npreviously unavailable metrics.\n\nBug: 64001676\nTest: CTS test for metrics and GPlay test\nChange-Id: I1fa87c76dd980a3f91b4e2d02b37329f6c0a88ec\n"
    },
    {
      "commit": "a3c77911df570d4378ae4869d1060915001f0eba",
      "tree": "8bca142feb4cb8a202611ab20a68247a6d25180d",
      "parents": [
        "1bfabb36f5d6f09d87e9d52778b5a1cca9512722"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Feb 07 12:30:20 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Feb 07 22:53:14 2018 +0000"
      },
      "message": "Update drm hal to find drm@1.1 factories\n\nbug:73072898\ntest: cts android.media.cts.MediaDrmClearkeyTest\nChange-Id: I80c7b8864dc86fda8aa6afc0ec74f6f068da6401\n"
    },
    {
      "commit": "dc31017ea51ee7ba0db2068f82305eb86e2967a2",
      "tree": "074f4820862e6407c5b839848bd6e06083547ecb",
      "parents": [
        "0fa28dcc1198d14b6bf34fb673c5603d225bcba5"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Jan 30 16:51:07 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Feb 06 14:17:12 2018 -0800"
      },
      "message": "CCodec: Episode VI --- Set Persistent Surface\n\n- Implement CCodec::setInputSurface().\n- Introduce InputSurfaceWrapper to handle both IInputSurface and\n  IGraphicBufferProducer.\n- Create C2OMXNode to wrap codec 2.0 component in IOMXNode, so that\n  it can be used in IGraphicBufferPrdoucer::configure().\n\nTest: setprop debug.stagefright.ccodec yes\nTest: screenrecord --codec-name c2.google.avc.encoder /sdcard/record.mp4\nTest: screenrecord --persistent-surface --codec-name c2.google.avc.encoder /sdcard/record.mp4\nChange-Id: I7ea9f150ae06996f03a78645d6e748d265b975df\n"
    },
    {
      "commit": "56134cc9e790f39b3b10a18b701b0607c20b6154",
      "tree": "51d3279074ad852d1c8ce03cb5f2f024542f1267",
      "parents": [
        "1bfabb36f5d6f09d87e9d52778b5a1cca9512722"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Feb 05 13:09:23 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Feb 06 10:27:45 2018 -0800"
      },
      "message": "Fix MediaDrm security level APIs\n\nVendors implementing the newly added MediaDrm.setSecurityLevel\nHAL found that it was difficult to implement properly. Also the\nsemantics are somewhat ambiguous from the Java platform API\nlevel. This CL binds the security level assignment to openSession\nwhich clarifies the API for apps as well as making it more\nnatural to implement in HAL modules.\n\nbug:72831697\nbug:64001680\n\ntest: VtsHalDrmV1_1TargetTest, GTS media tests\nChange-Id: Iaa07727be86ec2bc92be907d5a48c92136dc2014\n"
    },
    {
      "commit": "51b6956bc8e09eb2237a10a401baebb35096e6ab",
      "tree": "dfec915d73c7795b3b115037555c2160ebe69c72",
      "parents": [
        "65fdcf74e09717b6e67fa90ff78af45f2c9414cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 05 16:17:13 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Feb 05 16:22:13 2018 -0800"
      },
      "message": "MediaPlayer2: move MediaPlayer2 native code to libmediaplayer2\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Ibec6d15524510a4d8618d1f684456c6c24b79828\n"
    },
    {
      "commit": "65fdcf74e09717b6e67fa90ff78af45f2c9414cc",
      "tree": "79d751c9e4f91740a0e4aeee0a2c4a9eddeb63b2",
      "parents": [
        "a97e318d3fac9a47a7e0615473982f170148a52d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 02 17:43:04 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 02 17:43:04 2018 -0800"
      },
      "message": "MediaPlayer2: remove unused code.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I046c7be126a329dfd8f11cdc7471a7ec70a1c64f\n"
    },
    {
      "commit": "a97e318d3fac9a47a7e0615473982f170148a52d",
      "tree": "eaf2fdb9396ee6f73afe1a16b4c1b6f99ced74a3",
      "parents": [
        "226acb291cb25b41bc95a32afca0e7deec26fa18",
        "2409c87361b78ec733e2481c52198bea245fe1da"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Feb 03 00:22:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 03 00:22:26 2018 +0000"
      },
      "message": "Merge \"rename some files related to MediaPlayer2.\""
    },
    {
      "commit": "2409c87361b78ec733e2481c52198bea245fe1da",
      "tree": "16881e26e1c35941a5663ca0f0cb4135c77cf495",
      "parents": [
        "9e5be7f0dccf9dfd99e022527b01ea684c1dfddc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 02 10:34:33 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Feb 02 14:16:42 2018 -0800"
      },
      "message": "rename some files related to MediaPlayer2.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I6def3f7f0aadabdbd9c8d6e722e7b8056a55aade\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": "9e5be7f0dccf9dfd99e022527b01ea684c1dfddc",
      "tree": "76e0cb0d6f9a3e4337fc29a67c6d8a8ccc66824c",
      "parents": [
        "df9e45cc7dc78113aa790f1b6574ffbcc39a1da2",
        "c2636035f0a7990cf9da95d2531f9f1c03b8c172"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Feb 02 18:45:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 02 18:45:50 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: add native DataSourceDesc.\""
    },
    {
      "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": "c2636035f0a7990cf9da95d2531f9f1c03b8c172",
      "tree": "079818a0f400ab799c797860707c945e3ecc3199",
      "parents": [
        "4b8dbfc9e85ca7c2cc4acdcddca997f197fee718"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 01 09:15:25 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Feb 01 10:30:36 2018 -0800"
      },
      "message": "MediaPlayer2: add native DataSourceDesc.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Idd5bda81c2cc26c7aac8e64a21ccc2f6b3ac8a39\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": "54f957b1d0ee1050218bb1f7569afa1d0b5cae91",
      "tree": "b272648e6c226de46e49458c442800ea13a733a6",
      "parents": [
        "839daf18d567c0cd5982ba7baf4c433d55e875a5",
        "609850df59219845a8c4ebe18a2687447ea570cc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 01 07:52:55 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 01 07:52:55 2018 +0000"
      },
      "message": "Merge \"Support query active microphones in MediaRecorder.\""
    },
    {
      "commit": "31067d4b87475dd0a90145d4849cf66f7bf93f86",
      "tree": "61656e49f84e02ae6382e94169916356f65c8e1f",
      "parents": [
        "e9ba24a984610b09d33a739034caf8949bb53f7e",
        "92d23b433bd770c22c2d4a30b573602f5565de1b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 31 22:37:49 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 31 22:37:49 2018 +0000"
      },
      "message": "Merge \"Remove finalized concept from media.metrics\""
    },
    {
      "commit": "48843255503e162706279a417c0bd4282a63dffe",
      "tree": "afe3c913fa89e404a5ef36d30bf0c2e63cad01d8",
      "parents": [
        "9111804e9051b2888c66e26ee1a872bb3ef7a988"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jan 09 15:24:07 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jan 30 15:11:39 2018 -0800"
      },
      "message": "Remove parcel reference from NuPlayer2Drm::retrieveDrmInfo\n\nBug: 63934228\nChange-Id: Iaa66fb613006c4de67d20c76f4ecbcf6d2cfbae1\n"
    },
    {
      "commit": "9111804e9051b2888c66e26ee1a872bb3ef7a988",
      "tree": "4d52f31286ea8aa6b1539e801169d75621416fe9",
      "parents": [
        "d24be7ca2491048892905734cb8a1e77440df948",
        "33abcc7f15ef40a7d57a2f49dd8cce231c405016"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 22:10:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 22:10:14 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: remove MediaPlayerHWInterface\""
    },
    {
      "commit": "33abcc7f15ef40a7d57a2f49dd8cce231c405016",
      "tree": "1fac600bfbc48657e59a63ebb3122e3fed52ffb4",
      "parents": [
        "678c54ce82b41e3232c9e0c96cd84323fff653b2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 30 09:47:38 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 30 09:47:38 2018 -0800"
      },
      "message": "MediaPlayer2: remove MediaPlayerHWInterface\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Ia9a75e49938f63a02c240f6aa98185d74f9f4656\n"
    },
    {
      "commit": "4778250a89a7a74c187dca45186a501a97b003c3",
      "tree": "ffa8876f386f468976bc8a9debe128bd378ada70",
      "parents": [
        "9fc650091ca868202644176308f1834b9968bd01",
        "678c54ce82b41e3232c9e0c96cd84323fff653b2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 17:26:38 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 17:26:38 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: remove factory\""
    },
    {
      "commit": "678c54ce82b41e3232c9e0c96cd84323fff653b2",
      "tree": "e4be5626a611958253584d3eb084f3de6312ced2",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 29 18:30:07 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 29 18:30:07 2018 -0800"
      },
      "message": "MediaPlayer2: remove factory\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: Idc6fb33b4bb69bb65dca34d2b8fc9e3595a05774\n"
    },
    {
      "commit": "edab478b7490f6519a0b44b9dc99b47c2ee78d09",
      "tree": "de4b4dc15ade9b47ddadc8b2ae5d48530751ed55",
      "parents": [
        "fc70138c8841ef5479580ba5efd35b30229db9a2",
        "15177d7eab8c2300b4f1d577267e528bd7e4eedc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 30 02:16:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 30 02:16:44 2018 +0000"
      },
      "message": "Merge \"Add new secure stop methods\""
    },
    {
      "commit": "92d23b433bd770c22c2d4a30b573602f5565de1b",
      "tree": "e2ff902f2be5d131e8a1cd4af09868d3a5af2794",
      "parents": [
        "3923b1b71628e668f9b11ed4891ed2840dd331cd"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 29 12:10:30 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 29 14:38:27 2018 -0800"
      },
      "message": "Remove finalized concept from media.metrics\n\nthe \u0027finalized\u0027 concept didn\u0027t pan out -- remove references to it.\nSimplifies the code flow.\nAlso purged some uses of generateSessionID().\n\nBug: 71874686\nTest: logcat/dumpsys\nChange-Id: I39e48526a5696158d8195f47154881ca6ecda266\n"
    },
    {
      "commit": "609850df59219845a8c4ebe18a2687447ea570cc",
      "tree": "909d46e051bb0569796992c9ffa15b86b7fe98ac",
      "parents": [
        "653cc0ab6d5b714d1f26adcd08f9bc3269b62fa0"
      ],
      "author": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Tue Jan 23 10:56:49 2018 -0800"
      },
      "committer": {
        "name": "jiabin",
        "email": "jiabin@google.com",
        "time": "Fri Jan 26 17:51:56 2018 -0800"
      },
      "message": "Support query active microphones in MediaRecorder.\n\nThis is part of device enumeration. With the new add API, developer\ncould get the active microphones information for each channel.\n\nBug: 64038649\nTest: Run cts and check the print log.\nChange-Id: I01941d8d1ca0f49d0af48210ef8b1149de31676a\n"
    },
    {
      "commit": "15177d7eab8c2300b4f1d577267e528bd7e4eedc",
      "tree": "d3032e8309d53cabd47ada0ad50607b899829534",
      "parents": [
        "5f07c65af5356a4a95410804ce19fc017d6478f8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Jan 25 12:57:55 2018 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Jan 26 16:02:04 2018 -0800"
      },
      "message": "Add new secure stop methods\n\nMethods are needed to release a secure stop by ID and\nreturn a list of secure stops.\n\nTests: gts media tests\n\nbug:67361434\nbug:64001680\nChange-Id: If6cb180cb4d2e3b655028955d105aee0cb8d70b6\n"
    },
    {
      "commit": "49ce671c4efa4c5d038351ca441e34c5afa5241f",
      "tree": "f269ef96d9f6dbcb169e29accb4f9f1f54830e3e",
      "parents": [
        "d21fb560b26be64a588ff96979022ae4d52f5d3a"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 24 10:16:25 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 26 08:48:56 2018 -0800"
      },
      "message": "Remove unused includes and forward declarations in libmediaextractor/include\n\nTest: make checkbuild\nBug: 67908556\nChange-Id: If840305af5c043bb8014590eb208cf11c99e61ee\n"
    },
    {
      "commit": "bc8f53b8c1c220d9ce01526b6e3834f14af98ed5",
      "tree": "0742ac2262f28acb9c827f5ad96fae12f13fb354",
      "parents": [
        "de9a7b5caa3cd8b59630b2bc13e1cb4420618940"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 17:01:44 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 18:11:38 2018 -0800"
      },
      "message": "Revert \"Revert \"Move MediaBufferXXX from foundation to libmediaextractor\"\"\n\nThis reverts commit 95a8bfab98a73a75eb60ecf2cc8683f4a1f04b35.\nPlus, keeps \u0027virtual\u0027 keyword for ~MediaBuffer which has a child class.\n\nTest: cts-tradefed run cts-dev --module CtsMediaTestCases --compatibility:module-arg\nCtsMediaTestCases:include-annotation:android.platform.test.annotations.RequiresDevice\nBug: 67908542\nChange-Id: Ib94d574d6bbd6245c174dd1c9bcca379015724cc\n"
    },
    {
      "commit": "81e6eb80ec340d91d20cb29f036288f23f84ce02",
      "tree": "3a0dc701806996d279292c274a7ad7488cf7738b",
      "parents": [
        "6e075b43b0ba324a97fc0f89ef65196ed25be671",
        "787ed44fe9d26ef1603819c699ad32823ded70fb"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 26 01:00:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 26 01:00:18 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2Factory: use on demand initialization for static variable.\""
    },
    {
      "commit": "787ed44fe9d26ef1603819c699ad32823ded70fb",
      "tree": "205214b04bdf7eb30a8fd72b849b205237968c1b",
      "parents": [
        "0defd00c221a5e96cdd699a6f0f682b421c69897"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jan 24 18:03:04 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jan 25 14:36:08 2018 -0800"
      },
      "message": "MediaPlayer2Factory: use on demand initialization for static variable.\n\nTest: MediaPlayer2 plays\nBug: 63934228\nChange-Id: I0eb42a9eaf61ba2d4d49900d2926288e932e65cb\n"
    },
    {
      "commit": "a70eef730d7665c9f4b2dfd25faf072785f80a2d",
      "tree": "3139b8b7898a5a539b9c1ee0533e1a386da459e9",
      "parents": [
        "9ee64f139ceff98ea5f9afcc2eaab42901922d56"
      ],
      "author": {
        "name": "Dean Wheatley",
        "email": "dwhea@dolby.com",
        "time": "Thu Jan 04 14:23:50 2018 +1100"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Jan 25 12:33:52 2018 -0800"
      },
      "message": "Audio presentation selection for AudioTrack native\n\nBug: 63901775\nTest: make\nChange-Id: I63c9bdef880c7c387fd05f093b8d1094307a2754\nSigned-off-by: Previr Rangroo \u003cprang@dolby.com\u003e\n"
    },
    {
      "commit": "4b780702948d19caef60617666c69b6d7f64aa29",
      "tree": "a92a9693b7b424dc973c3d541d7739d26aa14a18",
      "parents": [
        "047b5872d4278ee0426db3ba78d0f3fefabaaabd"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 11:21:26 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jan 25 11:34:48 2018 -0800"
      },
      "message": "Revert \"Move MediaBufferXXX from foundation to libmediaextractor\"\n\nThis reverts commit f03606d9034730bea1a394e6803f9ebc36f3d2eb.\n\nTest: build and plays the file attached in the bug.\nBug: 72479511\nChange-Id: Ifdb8225a7140480649cecd52668ac7dcdd489252\n"
    },
    {
      "commit": "566a7290c6af684947c1a757a60eae5da8ab9dee",
      "tree": "eb7f393fbc1f50f400c92439d64d4e4fbc8fcbe7",
      "parents": [
        "eefbdd95b6c0614527bddc188fb112b9b486212e",
        "cea91ce60260d7ebb94449ad7674150fdc227886"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Thu Jan 25 14:00:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 14:00:17 2018 +0000"
      },
      "message": "Merge \"Adds most remaining framework metrics\""
    },
    {
      "commit": "eefbdd95b6c0614527bddc188fb112b9b486212e",
      "tree": "fde2a92d37f28b4114ccf6144d4196a549459db4",
      "parents": [
        "227d7bd4a05039a06db70513c55e0b658a2eb86a",
        "f0e618d0ee16c63f918c7bb87ec1ff264d177746"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Thu Jan 25 11:20:57 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jan 25 11:20:57 2018 +0000"
      },
      "message": "Merge \"Add EventMetric and a single use case.\""
    },
    {
      "commit": "cea91ce60260d7ebb94449ad7674150fdc227886",
      "tree": "4330319ec2121bdcc33f6014ddca527e334f73eb",
      "parents": [
        "f0e618d0ee16c63f918c7bb87ec1ff264d177746"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Mon Jan 22 19:23:28 2018 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 24 17:41:44 2018 -0800"
      },
      "message": "Adds most remaining framework metrics\n\nAdds nearly all of the remaining specified framework level metrics.\nAlso adds a basic unit test to verify that metrics are exported\ncorrectly. A follow-up CL will update the CTS test to touch all metric\nvalues in DrmHal.\n\nBUG: 64001676\nTest: New unit test. Smoke tested with GPlay/Walleye.\nChange-Id: I4df90675ae304d3c62b7886537328b3d848fd77c\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": "f6f36868691e7c1a0cda39b088386cb1edded683",
      "tree": "1ffbaf34fa1571c1be98a6431cb83f7176cc6dd9",
      "parents": [
        "c6116926de37cabb1d35ddd57eaff0e19fcec8bc",
        "ee54eeffbd021ec267d58cdf5f41dd9329862e02"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Jan 24 23:25:41 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 23:25:41 2018 +0000"
      },
      "message": "Merge \"Nuplayer2 metrics under \u0027nuplayer\u0027\""
    },
    {
      "commit": "ee54eeffbd021ec267d58cdf5f41dd9329862e02",
      "tree": "7b8e7a48806c40a18753dc73b7abc6253758a595",
      "parents": [
        "c01a25e1759549d90c8e9f2446bc3c0023a8cd83"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 24 11:16:54 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 24 11:16:54 2018 -0800"
      },
      "message": "Nuplayer2 metrics under \u0027nuplayer\u0027\n\nWe should be logging the nuplayer2 metrics under \u0027nuplayer\u0027, not\n\u0027nuplayer2\u0027.  I had made the poor suggestion that they be nuplayer2.\n\nBug: 72445608\nTest: build\n"
    },
    {
      "commit": "e05a10f6d8783f7bc3cd2f78a9115bf3ab63efff",
      "tree": "e6774ea67b3f60541fbf9295c5c58227d82df350",
      "parents": [
        "c3c1fc630e21f36d2e3f56fac3503c471fbc3a15",
        "aaf87dd09686bdb47df0a638b622a4c2ea37a331"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Jan 24 17:54:36 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 17:54:36 2018 +0000"
      },
      "message": "Merge \"Add CounterMetric and a single use case.\""
    },
    {
      "commit": "254d783c0db9d7af6b863ad1819f5c4a543a939d",
      "tree": "592b2f1674cc677139d67186732e581aac73a7bd",
      "parents": [
        "9ae88bd5135a2612db3e938546a8304f1a0f1d14",
        "f03606d9034730bea1a394e6803f9ebc36f3d2eb"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Wed Jan 24 16:46:46 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 16:46:46 2018 +0000"
      },
      "message": "Merge \"Move MediaBufferXXX from foundation to libmediaextractor\""
    },
    {
      "commit": "34abab103a6eb3fc7417c9e9169ee172b2303952",
      "tree": "df4065ab25ab83d7380715b42ad7c79d0d436873",
      "parents": [
        "fe4e4db4615585fd70a55d52f21c55dd517d2bfa",
        "07be14fb96fc5c106ea2b874faf2b768f468eb8e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:26:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 06:26:16 2018 +0000"
      },
      "message": "Merge \"Revert \"Audio V4: Split system and vendor Audio.h\"\""
    },
    {
      "commit": "07be14fb96fc5c106ea2b874faf2b768f468eb8e",
      "tree": "01cd8f75542d7581505bef8a5b9e2f09790ac0e1",
      "parents": [
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "message": "Revert \"Audio V4: Split system and vendor Audio.h\"\n\nThis reverts commit f8ad7f85e9891b2614338330c75ae9e946fccc5a.\n\nReason for revert: Breaks the build of multiple devices\n\nChange-Id: I24f17a0fa0c7ba171c4a3639f890e7f4e42f6b1e\n"
    },
    {
      "commit": "6a784e71ca122347789faa73367877d41831592f",
      "tree": "de25d71706442e18346a5785f4174aba5604454d",
      "parents": [
        "f7a14c051ee9bd5f288963f3c190642e4915250b",
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 04:04:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 24 04:04:48 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-hal-v4-tmp\"\n\n* changes:\n  Audio V4: Split system and vendor Audio.h\n  Audio V4: Use the framework audio.h instead of the HAL\u0027s\n"
    },
    {
      "commit": "981fff0065d95fa52bb151ce10ea909cfcf2c86a",
      "tree": "d2590cce92d113d0818b4001d01a1317f5b09d7a",
      "parents": [
        "061ee8fd486658446d27048939e557f899f31def"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 23 19:09:58 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 23 19:09:58 2018 -0800"
      },
      "message": "NuPlayer2: explicit dependency on libmedia_helper\n\nTest: compiles\nBug: 72411788\nChange-Id: I32e41c6de8aa429e2598cbdc3f8f085db3755821\n"
    },
    {
      "commit": "f03606d9034730bea1a394e6803f9ebc36f3d2eb",
      "tree": "839c704657518a5442389de9bc7a9c0f719be242",
      "parents": [
        "ae73ce1d0338e0ae3054b9c2458836f6bf4a88fe"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 23 15:38:53 2018 -0800"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Tue Jan 23 19:03:54 2018 -0800"
      },
      "message": "Move MediaBufferXXX from foundation to libmediaextractor\n\nRemoved MediaBufferBase in favor of MediaBufferHolder\nwhich contains a MediaBuffer inside. Instead of set/getMediaBufferBase,\nnow it set/finds MediaBufferHolder in ABuffer-\u003emeta().\n\nTest: build. pass MediaPlayerDrmTest and EncodeDecodeTest.\nBug: 67908542\nChange-Id: Icb4f7ac350a7876f5e4596bae8be2a9e95956c2f\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": "ab7429b4cec5e619f0ed77d13363da4167212874",
      "tree": "0422b04eca116f462e5b29345934cbd8a0bec9d3",
      "parents": [
        "1c838c481692c45b96786dcdd520296b73a71809",
        "74065036f03cb9f96acb43c6e4f105ec91132395"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 19:17:44 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 19:17:44 2018 +0000"
      },
      "message": "Merge \"Remove unnecessary includes and forward declarations\""
    },
    {
      "commit": "1c838c481692c45b96786dcdd520296b73a71809",
      "tree": "654d3e1aa9989216316d2d6eba385e5f72e8a17e",
      "parents": [
        "c42670b837dc6e0d63dad891f66735fd7cb3d969",
        "3d4d19e61b593909f1e1bcc2e04172d215f7990d"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 17:17:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:17:34 2018 +0000"
      },
      "message": "Merge \"Fix incall music flag entry in type converter\""
    },
    {
      "commit": "c42670b837dc6e0d63dad891f66735fd7cb3d969",
      "tree": "0ea6e2a4a47671977c8099c1f8c248971622b588",
      "parents": [
        "164071326bcc752214ed800cba3d07206398f53d",
        "6d998b67be330843f633a563c23c606593060165"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 17:07:40 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 17:07:40 2018 +0000"
      },
      "message": "Merge \"Implement new MediaDrm methods\""
    },
    {
      "commit": "164071326bcc752214ed800cba3d07206398f53d",
      "tree": "ac96bab2b8167c1e92c78ddb964f0e1698e395ce",
      "parents": [
        "3e20fdd61fba228edaa2f1f4f4c6c69b02ae5111",
        "4049f13fb3d1c588d3e4dc518ede15d45dca4c9e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 23 16:37:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 23 16:37:25 2018 +0000"
      },
      "message": "Merge \"MediaPlayer2: build static libs for some components\""
    },
    {
      "commit": "74065036f03cb9f96acb43c6e4f105ec91132395",
      "tree": "d7d742dd47b2ec50224f37dc35899f62c93ab0b5",
      "parents": [
        "da60340a9e5ce64270f1106239b736296f280df4"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 08:16:29 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 23 08:16:29 2018 -0800"
      },
      "message": "Remove unnecessary includes and forward declarations\n\nBug: 67908544\nTest: build\nChange-Id: I824625940ba562571b16ed21e351ee17807d7d30\n"
    },
    {
      "commit": "3d4d19e61b593909f1e1bcc2e04172d215f7990d",
      "tree": "d051b3c0a34ecf7d14927fc2c797d80df7c511ec",
      "parents": [
        "bd1f998721a5c17623043c415fa2a0bb3e57601f"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Tue Jan 23 11:59:16 2018 +0200"
      },
      "committer": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Tue Jan 23 11:59:19 2018 +0200"
      },
      "message": "Fix incall music flag entry in type converter\n\nFix an issue that was introduced in the latest commit due to the\ntemporary definition of AUDIO_OUTPUT_FLAG_INCALL_MUSIC as a MACRO.\nThis change explicitly adds the flag in TypeConverter.\n\nBug: 69973354.\nTest: Tested manually.\nChange-Id: Id56f746a481a246b109ac1b8458d494575263f99\n"
    },
    {
      "commit": "4049f13fb3d1c588d3e4dc518ede15d45dca4c9e",
      "tree": "3f0566fb3f3f9cb441e3b466f95341c600c9c1ef",
      "parents": [
        "205266aacc675dfb7a7f9f985c4ca973163cb59e"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 10:37:31 2018 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon Jan 22 18:48:46 2018 -0800"
      },
      "message": "MediaPlayer2: build static libs for some components\n\nTest: compiles\nBug: 63934228\nChange-Id: I1791b40a67c87ea3146825767699e5022444e433\n"
    },
    {
      "commit": "766fb020a50b64bf9a808bd80df60c54c2ca8cc3",
      "tree": "acb92cb201889d2b56f41bc2a437da1aaae72c4e",
      "parents": [
        "652f9299bb8a7a50148d57a75de6ede831bfed85"
      ],
      "author": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Sun Jan 07 12:18:03 2018 +0200"
      },
      "committer": {
        "name": "Nadav Bar",
        "email": "nadavbar@google.com",
        "time": "Mon Jan 22 23:05:23 2018 +0200"
      },
      "message": "Support routing audio playback to telephony uplink\n\nThis change enables phone apps to play audio to the uplink stream\nduring a call.\nThis change maks the AUDIO_OUTPUT_FLAG_INCALL_MUSIC_UPLINK flag to be added to the flags that are sent to the HAL when an ongoing call is active, the chosen output device is the TX telephony device, the stream type is music, and the calling app has the MODIFY_PHONE_STATE permission.\nFor this change to take place, the following changes were made to the signature of getOutputForAttr in IAudioPolicyService:\n  1. Add pid (process id) parameter to getOutputForAttr.\n  2. Make the flags parameter a pointer so changed value can be\n  examined by calling function.\n\nBug: 69973354.\nTest: tested manually.\nChange-Id: I74cef3f8b66de6e0e8f87b6235130c2cdf423da7\n"
    },
    {
      "commit": "6d998b67be330843f633a563c23c606593060165",
      "tree": "c9bfa7867b2610593e81ca8bf6d13b4b18501e14",
      "parents": [
        "e18835269d8e875297603d889b3f928a13f93d6c"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Dec 18 14:37:43 2017 -0800"
      },
      "committer": {
        "name": "Rahul Frias",
        "email": "rfrias@google.com",
        "time": "Mon Jan 22 01:29:32 2018 -0800"
      },
      "message": "Implement new MediaDrm methods\n\nMethods for querying HDCP, security levels and\nnumber of sessions\n\nbug:64001680\nbug:33657579\n\nTest: cts: MediaDrmMockTest, ClearKeySystemTest\ngts: GtsMediaTestCases\n\nChange-Id: I7c84df02ec33d305b6bd5ac7479922f87aa64863\n"
    },
    {
      "commit": "652f9299bb8a7a50148d57a75de6ede831bfed85",
      "tree": "76804bc03c444867871a07eccfd7d8a37e78270f",
      "parents": [
        "84e2145289fae9e16a374a2d68007d17231ef53a",
        "904183eeeeb8e9f7345c3e5f517719d6b5c93128"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Jan 22 06:36:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jan 22 06:36:27 2018 +0000"
      },
      "message": "Merge \"JAudioTrack: Add getRoutedDeviceId() and other methods\""
    },
    {
      "commit": "904183eeeeb8e9f7345c3e5f517719d6b5c93128",
      "tree": "7216749c4810ce6f33680182ac56087253842249",
      "parents": [
        "aa50659081021a1708d9692be1c1576a939245b6"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Sun Jan 21 20:43:41 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Sun Jan 21 21:49:01 2018 +0900"
      },
      "message": "JAudioTrack: Add getRoutedDeviceId() and other methods\n\nThis CL adds following methods:\n - getRoutedDeviceId()\n - latency()\n - dump()\n\nBug: 70363744\nTest: build successfully\nChange-Id: I31d2299828a3e389b070f5d9b2c4240dfb98c57d\n"
    },
    {
      "commit": "f8ad7f85e9891b2614338330c75ae9e946fccc5a",
      "tree": "957d47ddc7419c688dda1d4c1ac3068eda6d894f",
      "parents": [
        "6d7582e9ad858301b3eeff7b187af6c34808cb7e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 17 15:57:39 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 21:39:40 2018 -0800"
      },
      "message": "Audio V4: Split system and vendor Audio.h\n\naudio.h and its dependencies (audio-effect.h, sound_trigger.h...)\nused to be shared between system and vendor code.\n\nThis led to multiple problems:\n\n1) Such sharing contradicts the Treble policy of\nstrict independence of framework and vendor code.\n\n2) When audio.h was changed, every vendor needed to update\nits code in the next release. This meant that audio*.h\nheaders were mostly changed in backward compatible manner.\nNevertheless, for P the HIDL interface and thus the audio.h\ninterface are changed in backward incompatible way.\n(Some enum are becoming 64 bit long).\n\n3) As the headers were common, some API used only by the framework\nneeded to be visible to the vendors (mostly enum values).\n\n4) Treble policy is to support at least one previous HAL version\n\nAs a result the audio*.h headers are now duplicated,\none set for the framework, and one for the vendor.\n\nEach set will evolve independently. After this split,\nthe framework-only APIs will be removed from the vendor headers\nand vice versa.\n\nThe split is implements as such:\n\n + for system code\n\n    - NOT moving the libaudio_system_headers\n      Eg: system/audio.h and system/audio_effects/effect_equalizer.h\n          are still in system/media/audio\n\n    - the legacy audio HAL API that were in libhardware headers\n          are now in libaudiohal_legacy_headers\n      Eg: hardware/audio.h and hardware/audio_effect.h\n          are now in frameworks/av/media/libaudiohal/legacy/\n\n + for vendor code\n\n    - moving libaudio_system_headers and the legacy audio HAL API\n          that were in libhardware_headers in\n          android.hardware.audio.common.legacy@2.0\n      Note that those headers are now versioned, so migrating to a @4.0\n          HIDL HAL will mean changing the legacy dependency too.\n      Eg: system/audio.h, system/audio-effect.h, hardware/audio.h\n          are now in hardware/interfaces/audio/common/2.0/legacy\n\n    - the legacy audio effect HAL API that was in libaudioeffects\n          is now moved in android.hardware.audio.effect.legacy@2.0\n      Eg: audio_effects/effect*.h are now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\n    - the legacy sound trigger HAL API that were in libhardware_headers\n          is now moved in android.hardware.soundtrigger.legacy@2.0\n      Eg: hardware/sound_trigger.h is now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\nlibaudioutil being used by both system and vendor, had\nto be renamed for system to libaudioutil_system.\n\nVendor libs that now depend on the audio.h of a specific\nversion and are not extensively referenced in non google code,\nappend @2.0 to their name.\n\nNote that headers that are not expected to change in the 4.0 HAL are\nleft in all-versions folder to avoid duplication.\nThis is an implementation detail as the versioned libraries export\nthe all-versions headers.\n\nNote that strict vendor-system separation is enforced by the\nbuild-system. The system headers are not available for vendor\nlibs and vice-versa.\n\nNote that this patch is split between numerous git repository (\u003e10),\nall the commits having the same Change-id for searchability.\n\nNote that audio_policy.h is no longer exposed to vendors\nas the legacy audio policy HAL API was never officially supported.\nAs a result the audiopolicy stub implementation has been removed.\n\nTest: compile taimen-userdebug walleye-userdebug\n              sailfish-userdebug marlin-userdebug\n              gce_x86_phone-userdebug gce_x86_phone\n              full-eng aosp_arm aosp_x86-eng\nTest: check that the emulator booted and played audio\nTest: full QA on sailfish-userdebug and taimen-userdebug\nBug: 38184704\nChange-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "da98abadbca65909dbd8b040eddd4b1a2b7633e8",
      "tree": "2471af8816ad4dfba9dc883254fed202620296ca",
      "parents": [
        "65a438c6429c7f46cb0ab056c7f672ea0aa9e7f5",
        "ab394d13bab3a84f23677357576cee7a6f0c7899"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Sun Jan 21 02:25:17 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Jan 21 02:25:17 2018 +0000"
      },
      "message": "Merge \"Add support for getMetrics to IDrm\""
    },
    {
      "commit": "ab394d13bab3a84f23677357576cee7a6f0c7899",
      "tree": "49544ed51667ba0850b776529294be75de491961",
      "parents": [
        "0b68d531017a66db63cc8c41ba28a4f15e9816f0"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Fri Dec 22 12:34:20 2017 -0800"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Fri Jan 19 16:29:47 2018 -0800"
      },
      "message": "Add support for getMetrics to IDrm\n\nAdds support for the new getMetrics call to the IDrm interface and the\nDrmHal implementation. The implementation currently returns a dummy\nmetric collection. Follow-up CLs will flesh out the implementation.\n\nBug: 64001676\n\nTest: Ran the new unit test created in a related CL; ran Google Play.\nChange-Id: Ia6a3af5b59a30ca55267f7e3ba278a510fc8c81e\n"
    },
    {
      "commit": "7ffa062a68c1b8ec41e79e480a23c01ab0b5d4a2",
      "tree": "8e3883ed00c46feae81fe33f553bdf2329014103",
      "parents": [
        "e18835269d8e875297603d889b3f928a13f93d6c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Dec 15 16:07:12 2017 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 18 12:43:27 2018 -0800"
      },
      "message": "Remove unnecessary exports from various libraries\n\nThis reduces library size by about 10-15%\n\nTest: build, run CTS\nChange-Id: I9ecb3f08a8bd6128e601656125e3523c0c52ddb6\n"
    },
    {
      "commit": "26477a994d438eb13569094a485093f25571374e",
      "tree": "7449073eecab24464d3a9947b7ae15dc5e29c019",
      "parents": [
        "f755f27697051d28556e7f23a38c8e4ec257d3d8",
        "fd328170d288e337cb779b2ef14f9e4c5e860c6a"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 17 07:31:19 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 17 07:31:19 2018 +0000"
      },
      "message": "Merge changes I30cb80e7,I790acca4,I51e05100\n\n* changes:\n  JAudioTrack: Add 6 more methods\n  JAudioTrack: Add 14 methods\n  Create constructor of JAudioTrack class\n"
    },
    {
      "commit": "fd328170d288e337cb779b2ef14f9e4c5e860c6a",
      "tree": "feb524d00c904dc0b4ef075f7d73aaf0bd110e99",
      "parents": [
        "9b26e9467a77e2ee03f1d19e1dbf9671c3770286"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Thu Dec 14 10:46:54 2017 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 17 14:37:26 2018 +0900"
      },
      "message": "JAudioTrack: Add 6 more methods\n\nThis CL adds following methods in JAudioTrack:\n - getTimeStamp\n - setPlaybackRate / getPlaybackRate\n - applyVolumeShaper\n - write\n - getBufferDuartionInUs\n\nTest: build successfully\nChange-Id: I30cb80e7f1c7597c583941966a4cfa0a6a2b5f4b\n"
    },
    {
      "commit": "9b26e9467a77e2ee03f1d19e1dbf9671c3770286",
      "tree": "9aae29e1899be7332457fd67d7fc7a050cf949ad",
      "parents": [
        "660a74ebf0a8b5b6c79f9a016b202ccfaf815d3b"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Thu Dec 14 10:46:54 2017 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 17 14:37:24 2018 +0900"
      },
      "message": "JAudioTrack: Add 14 methods\n\nThis CL adds following methods in JAudioTrack:\n - frameCount / channelCount\n - getPosition\n - setAuxEffectSendLevel / attachAuxEffect\n - setVolume (2 different versions)\n - start / pause / flush / isPlaying / stopped\n - getSampleRate\n - format\n\nTest: build successfully\nChange-Id: I790acca4405f41a94fbe14daf5824e82d1d67b4c\n"
    },
    {
      "commit": "660a74ebf0a8b5b6c79f9a016b202ccfaf815d3b",
      "tree": "f3f829a87ab0b3b8ad3a4d00cbeb826a5bd326b6",
      "parents": [
        "fddc1453b67977dac1c56f98399b6b988c232366"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Dec 13 11:29:45 2017 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Jan 17 14:37:19 2018 +0900"
      },
      "message": "Create constructor of JAudioTrack class\n\nBug: 70363744\nTest: Built successfully (mmm libmedia -j48)\nChange-Id: I51e0510039fca2e84d1ced103fea62156cd1e5c2\n"
    },
    {
      "commit": "41069f2ade1fb66c86973d4a241eeb52d2818330",
      "tree": "baa75d27abb90390582a9078a0f89af16165a555",
      "parents": [
        "0cde7e5863df60ece6986ad9b5b4358dc82380eb",
        "3e6d245e154f8a382fd88529c2572d1117685511"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Jan 16 22:46:26 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 16 22:46:26 2018 +0000"
      },
      "message": "Merge changes from topic \"load_plugins\"\n\n* changes:\n  Load extractor libs directly from update APK\n  Keep the in-use extractor plugins when updating.\n"
    },
    {
      "commit": "3e6d245e154f8a382fd88529c2572d1117685511",
      "tree": "c80af5c77faac575297581c4d82448f53e16609e",
      "parents": [
        "5e1897bbd25d8353d9567b746ce50d4b80d30564"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Jun 29 15:21:53 2017 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Jan 12 18:03:50 2018 -0800"
      },
      "message": "Load extractor libs directly from update APK\n\nTest: play MP4 file. install and uninstall media update apk.\nBug: 67908547\nChange-Id: I80c7772e25ba010be468834ce238f0fb86bc8d14\n"
    },
    {
      "commit": "66d3fc1ff54c855139a8af91d4927474e3b5b0dc",
      "tree": "46a0d2f19a353028870b0a4c4a98a679d7eb3598",
      "parents": [
        "e56fc185471f2d678af96a120cfd899bd6c8a42d",
        "ed30470cf0a20c0c1edb2b82075985ccaa6c75c1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 12 05:46:16 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 12 05:46:16 2018 +0000"
      },
      "message": "Merge \"collect media.metrics from audiotrack\""
    }
  ],
  "next": "ed30470cf0a20c0c1edb2b82075985ccaa6c75c1"
}
