)]}'
{
  "log": [
    {
      "commit": "49fb4521427825e4d443260d6395446536f778cc",
      "tree": "385c0b20550f72b02903c3d94b1e1e61901af88b",
      "parents": [
        "b44da94f383678f71f9adaeb3c340b3701a4e161"
      ],
      "author": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Fri Aug 07 13:48:45 2020 +0100"
      },
      "committer": {
        "name": "Santiago Seifert",
        "email": "aquilescanta@google.com",
        "time": "Fri Aug 07 18:55:07 2020 +0100"
      },
      "message": "Allow MediaMetrics entries from MediaParser\n\n- Make MediaMetrcis stable C API visible to the media mainline module.\n- Allow-list MediaMetrics entries from MediaParser.\n\nBug: 158742256\nTest: Manual.\nChange-Id: Icca73a9396195d8cf299eb03bc778a032aacc364\n"
    },
    {
      "commit": "087b37c360200e3e97935efd958ce4384a6675cd",
      "tree": "72d22173c3730582683e078d8e1a7192e3c8d94c",
      "parents": [
        "19d51164324653a7312c6d7bc0fd0ac43d581503"
      ],
      "author": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Jun 16 16:37:36 2020 -0700"
      },
      "committer": {
        "name": "Muhammad Qureshi",
        "email": "muhammadq@google.com",
        "time": "Tue Jun 16 18:05:47 2020 -0700"
      },
      "message": "Rename \"Westworld\" to \"Statsd\"\n\nBug: 158725651\nTest: N/A; trivial name change\nChange-Id: I39f8847059c6decac070aaea901b7d0d418c75e9\n"
    },
    {
      "commit": "1ea842e9b24b2e3fcb92afe90309ccd96a571a1d",
      "tree": "d795e6e97330a175fd197126045212f952146713",
      "parents": [
        "b4a3b65d297a8436ba48138ce7ce2ba6b7a652b8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 18 10:47:31 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 27 11:32:19 2020 -0700"
      },
      "message": "MediaMetrics: Update and clean proto formatting\n\nMake code compatible with both string\nand integer enumeration in the protos.\n\nTest: adb shell dumpsys media.metrics\nTest: atest mediametrics_tests\nBug: 149850236\nChange-Id: I0a1c21be711f82915f3bb403860b40c695a0587d\n"
    },
    {
      "commit": "3ab1b329780cdd4c93741128b0003bbaa4a7c938",
      "tree": "9d4002f18913fb752fc2e8f4aeb10c962fd38a6a",
      "parents": [
        "6296cc3b9c44867131e651ca058b56614cb4a472"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 18 10:47:31 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 21 09:36:52 2020 -0700"
      },
      "message": "MediaMetrics: Add and fix clang-tidy\n\nTest: adb shell dumpsys media.metrics\nTest: atest mediametrics_tests\nBug: 149850236\nChange-Id: Ia02fad2cbefdbfe3deba3897526a21dd88270c27\n"
    },
    {
      "commit": "ce9b66343a4bbd570bddbd8916279af612d6341f",
      "tree": "2285bebd7f0bd11fe8553a0e470ff993bba98747",
      "parents": [
        "25b1e25a724ac10547670382745789bdf8a18e0b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 28 20:15:17 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 05 17:46:17 2020 -0700"
      },
      "message": "MediaMetrics: Add device-based actions for Bluetooth\n\nLog summary group statistics by device.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: I31fef89fa020de175e59784049ef4741914f3a2c\n"
    },
    {
      "commit": "f7c14104673750445bd1c2553021fd61aaeb7f2c",
      "tree": "bbdef5be71641b2b894f543a36472f0f581e581a",
      "parents": [
        "a6127a935639f127db56974851abc2dda360eca2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 18 14:54:08 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 20 18:07:51 2020 -0700"
      },
      "message": "MediaMetrics: Add thread-safety checking\n\nTest: atest mediametrics_tests\nBug: 70398235\nBug: 149850236\nChange-Id: I288ef92e6444785e02043c2629355c229c14e85c\n"
    },
    {
      "commit": "709b91e1e8a646f17117fc5e9baa224182cbec64",
      "tree": "00f091b41d344a9ef0609d11e0a750bdeddb024a",
      "parents": [
        "1ad04e663d0f6eb86032b7c4ac7ef7b3dba01de1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 04 14:23:36 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 07 12:22:38 2020 -0700"
      },
      "message": "MediaMetrics: Update dumpsys parameters\n\nMake --prefix and --since work for analytics.\n\nTest: adb shell dumpsys media.metrics --all\nTest: adb shell dumpsys media.metrics --clear\nTest: adb shell dumpsys media.metrics --heap\nTest: adb shell dumpsys media.metrics --help\nTest: adb shell dumpsys media.metrics --prefix c\nTest: adb shell dumpsys media.metrics --prefix audio.volume\nTest: adb shell dumpsys media.metrics --since -100\nTest: adb shell dumpsys media.metrics --unreachable\nBug: 149850236\nChange-Id: Id3e0cb6fe789027b5d5c86cce93ce07f636736bf\n"
    },
    {
      "commit": "9099a1a58dfd8828381fe080a8c897d7d06c88be",
      "tree": "7d4741e9fa1d965cefd957d5aa9f6474e8ffae49",
      "parents": [
        "e9eb03e9db8f66c711e2824e0f96d1fdc8f727b5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 04 14:23:36 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 06 14:41:40 2020 -0700"
      },
      "message": "MediaMetrics: Use libmemunreachable for memory testing\n\nFull testing steps:\n\n// required for unreachable\n$ adb shell setenforce 0\n// set up debug malloc\n$ adb shell setprop libc.debug.malloc.program mediametrics\n$ adb shell setprop libc.debug.malloc.options backtrace\u003d8\n\n// kill media metrics\n$ adb shell pkill -f media.metrics\n// verify media.metrics has restarted with new pid\n$ adb shell pgrep -f media.metrics\n\n// now check media metrics heap (largest 100 items) and unreachable memory.\n$ adb shell dumpsys media.metrics --heap\n$ adb shell dumpsys media.metrics --unreachable\n\nTest: adb shell dumpsys media.metrics --heap\nTest: adb shell dumpsys media.metrics --unreachable\nBug: 149850236\nChange-Id: I269003485dd6933c399171fbd9d9a152cee50886\n"
    },
    {
      "commit": "ed416da90cd9d91c959d4dbd64b974aefd9b448b",
      "tree": "c11ee8428e14bbb1e1c4cd2079365c345b4e6644",
      "parents": [
        "831ed185aa1dd8211bc37a05c9af8ed6941bf809"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 05 18:42:55 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 06 14:35:21 2020 -0800"
      },
      "message": "MediaMetrics: Remove remaining BOOTTIME references\n\nUse SYSTEM_TIME_REALTIME instead.\nAs we always specify the time when the item arrives,\nthis has no real effect, just for internal consistency.\n\nTest: atest mediametrics_tests\nBug: 149850236\nChange-Id: I34d7bed0c4e25b288493ce1ecf3574c4d87334d9\n"
    },
    {
      "commit": "5d3f2d1e104ffc9133afd4f2befe8f2cff9797db",
      "tree": "b4b4b0bcfa5d20d781ab441198700cbae25f879e",
      "parents": [
        "084b328e1cf091a9eedda20ee92a41be3bdc978e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Mar 04 19:55:03 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 05 16:32:07 2020 -0800"
      },
      "message": "MediaMetrics: Garbage collection fixes\n\n1) Correct TransactionLog low water mark\n2) Limit number of items historically stored in any TimeMachine property.\n\nTest: Special instrumented atest\nBug: 150547711\nBug: 150598686\nChange-Id: I67b25c84b1fb62ce83caa5ec48b800cab85467c9\n"
    },
    {
      "commit": "8d188356677501759610c7fcca69aaf54738c295",
      "tree": "2f1378065ec0cbe85f622cee048dc341540a7797",
      "parents": [
        "18be13327912181099e2a3174664ce083bf63dba"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Feb 11 11:59:34 2020 -0800"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Wed Feb 12 11:05:44 2020 -0800"
      },
      "message": "Displays mediadrm and Widevine metrics in dumpsys\n\nMake the list of keys in allowedKey to match the\nstatsd_handlers[] in iface_statsd.cpp for dumpsys\nto display mediadrm and Widevine metrics.\n\nBug: 149246413\n\nTest: adb shell dumpsys media.metrics | grep -i drm\nTest: adb shell dumpsys media.metrics | grep -i widevine\nChange-Id: I7811eb3a4228a906bb3dbc615ce42d1947082a07\n"
    },
    {
      "commit": "333bb3d798380d17ebd652b244d4be58c745cd0a",
      "tree": "baff29f6041653b1e2d2ac3e1b0372b7e9825f26",
      "parents": [
        "9e89b4f032783fbbfb9169d51d8538674fe720ca"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 31 20:17:48 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Feb 05 14:42:51 2020 -0800"
      },
      "message": "MediaMetrics: Minor logging fixes\n\nRemove extraneous right brace in Time Machine dump.\nDo not suppress repeated EVENT properties in the Time Machine.\nUse \"--\" prefix instead of \"-\" for long dumpsys argv options.\n\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics\nBug: 138583596\nChange-Id: I874be909ac08641b14dd12fb2c83de7a276a1796\n"
    },
    {
      "commit": "3b4c1f0320efc7a54c4ab811727c432cda73dd37",
      "tree": "98e6951e1188db70e465b5a3330e04cf2176ed4b",
      "parents": [
        "6425bcd8d5698b44127550d00c0d3e8ea876f7d7"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 23 18:58:32 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 27 11:44:27 2020 -0800"
      },
      "message": "MediaMetrics: Change dumpsys format\n\nAs the dumpsys no longer needs to be parseable by a program\nconvert to a more human readable form.\n\n1) Make default time REALTIME consistently.\n2) Dump time as a human readable string.\n3) Remove dumpsys versioning code.\n4) Delimiter changes.\n\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics\nBug: 138583596\nChange-Id: I6ee7d81a18e0e220b258c722d232c05805118abb\n"
    },
    {
      "commit": "0f7ad8cd2c109b224e4f652d6c216e1105953d79",
      "tree": "3091563a5833d203a6816d1e294025e9c1c35ab6",
      "parents": [
        "9468f951e6b85446ddde11f2dfce060caaa5f261"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 03 13:24:34 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 07 15:32:39 2020 -0800"
      },
      "message": "MediaMetrics: Add AnalyticsActions and AnalyticsState\n\nFactor out common analytics code from audio specifics.\n\nAllow for saving and clearing analytics state if audioserver crashes.\n\nTest: atest mediametrics_tests\nTest: instrumented check on audioserver restart\nBug: 138583596\nChange-Id: I1073f3ef95f44a383a7f14b0c2ea6f978a84ee24\n"
    },
    {
      "commit": "a85efab79edd376e328559b3e2b45504a1a99f32",
      "tree": "9490b54b787f065aeae73acc1c3b32ba7fecdde7",
      "parents": [
        "370e94071d88ff787c26bdf49982d828ce484115"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 23 11:41:29 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jan 03 19:23:59 2020 -0800"
      },
      "message": "MediaMetrics: Move package name from uid to service utilities\n\nAllows sharing class with AudioFlinger.\n\nBug: 129355845\nBug: 138583596\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics\nChange-Id: I6654dc9456dcd7c93821a8d83dd75d96b658f254\n"
    },
    {
      "commit": "f27e987d277c186010e8bdd1d5e781158b31f9af",
      "tree": "87703f33fe40f06c2faa78daa4105bb6cb8db79d",
      "parents": [
        "b7b870db0c6cc0c6375b154400a813b84f5056b4"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat Dec 07 06:28:46 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 17 11:20:57 2019 -0800"
      },
      "message": "Naming consistency: MediaAnalytics to MediaMetrics\n\nBug: 145780674\nTest: build, boot, dumpsys media.metrics\nTest: atest mediametrics_tests CtsNativeMediaMetricsTestCases\nChange-Id: Icbfa98da9e61702aee9a1d807b5e126b4b9c6458\n"
    },
    {
      "commit": "40e8e5eff0ba7dd2712d02f0f4646ea1c7ecb1ab",
      "tree": "3b1c533277712929d36473e345ca5d2c7055a6d0",
      "parents": [
        "7d95f9010d782f3b80997d356cd389c892699770"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Dec 05 20:19:40 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Dec 06 09:53:43 2019 -0800"
      },
      "message": "change media analytics references to media metrics\n\npart 1: make directory names coherent.\n\nBug: 145780674\nTest: build\nTest: atest mediametrics_test\nTest: atest CtsNativeMediaMetricsTestCases\nChange-Id: If552a742df02206f703801a6530b66fe5addac53\n"
    },
    {
      "commit": "06f3aba65174f82783bdc388f465069b014c206e",
      "tree": "cc5d11104801437e5cf52e379e6df2ce2b9e3a12",
      "parents": [
        "55aaf525216c3dac8c95e5ccd71f85f4a51edc4d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 16:36:42 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 05 14:32:03 2019 -0800"
      },
      "message": "MediaMetrics: Add AudioAnalytics\n\nTest: mediametrics dumpsys, atest mediametrics_tests\nBug: 138583596\nChange-Id: I56c82e6c685a9fae21581f14d3b370a8e352f3f3\n"
    },
    {
      "commit": "55aaf525216c3dac8c95e5ccd71f85f4a51edc4d",
      "tree": "050ddf236857076bb2f8ede92647e6f856c8f121",
      "parents": [
        "ae3024f825e50d8ff0f8da579b3b04325e847155"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 15:07:51 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 05 12:08:42 2019 -0800"
      },
      "message": "MediaMetrics: Update service transaction security\n\nExpand trusted uids.\nNote calling pid is 0 for one-way transactions.\nMove time rounding to WestWorld proto generation so service has better\ninternal time accuracy.\n\nTest: mediametrics dumpsys, atest mediametrics_tests\nBug: 138583596\nChange-Id: I9909e79de34c398bdcfa536c43bb7ea6d43e680b\n"
    },
    {
      "commit": "82a074b191bd01f23f815c46090fcfec501f8778",
      "tree": "b624d81c1f7d829c338e7418eb356951ec9ce27f",
      "parents": [
        "1efc9c6f15b61040eb80a5d61b947cd0a6356ed9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 14:16:45 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 04 14:33:50 2019 -0800"
      },
      "message": "MediaMetrics: Add const correctness for items in service\n\nAllows multithreaded use of items without lock.\n\nTest: mediametrics dumpsys, atest mediametrics_tests\nBug: 138583596\nChange-Id: Ieb901076b9acc33a89737b320a4fc8ce82f2608d\n"
    },
    {
      "commit": "1efc9c6f15b61040eb80a5d61b947cd0a6356ed9",
      "tree": "c407dc522e6dc13de39c9e89099c2c80d41c84cd",
      "parents": [
        "d2572133b15cafb9f670e96f93edd4d6c3fb96a6"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 13:43:33 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 04 13:50:53 2019 -0800"
      },
      "message": "MediaMetrics: Add stack allocated Item\n\nEnable byte string submit for low overhead.\nAdd tests.\n\nTest: atest mediametrics_tests\nBug: 138583596\nChange-Id: Idce65fd270e8ad45ba754a660734368416c8d1b5\n"
    },
    {
      "commit": "eff0d0824c9c087c00153dece27e5dc3f8cd0c15",
      "tree": "4652bccc0062303e7c99bd6faec7cfb8328495b5",
      "parents": [
        "15ccc647468f14ffedf5a6e5eda7290f0131f358"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 12:23:45 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 12:48:44 2019 -0800"
      },
      "message": "MediaMetrics: Fix crash when logging during SystemServer stop\n\nTest: adb shell stop / start many times\nBug: 144864166\nChange-Id: Ieed2d6edcdc2a0ff92ae4a3a373c56788abff4d3\n"
    },
    {
      "commit": "a87e69cf8b4b2b58f5bbe2aa89632b36e1e533c4",
      "tree": "3c06f8f07fe275b50c4969f4ba6b356fbe8e1f52",
      "parents": [
        "2392e6d96d80c44a140a3ab5c45a17b48d8216c1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Oct 18 10:07:40 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 21 11:56:06 2019 -0700"
      },
      "message": "MediaMetrics: Make submit one-way\n\nRemove the unused session id to improve speed and clarity.\n\nTest: dumpsys media.metrics sanity, mediametrics_tests\nChange-Id: Ide5e9218811e110997fed19f43eb6a5fdc5812ec\n"
    },
    {
      "commit": "6c36c788dc200c063f4fe8be578d0b7ed4f63e6c",
      "tree": "f24d6d0d1d98144bfd9ecaa60a9852f0cfa4bc3a",
      "parents": [
        "49706acbd877e3d6e083442237482f682832e416"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Oct 18 06:27:56 2019 -0700"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Fri Oct 18 06:27:56 2019 -0700"
      },
      "message": "MediaMetrics: Don\u0027t read from move()d variable\n\n\u0027pkg\u0027 was std::move()d a few lines before, so we avoid reading\nfrom it for our logging statement.\n\nTest: TreeHugger\nChange-Id: Idd25360ee0b1fbfee3ae63fb8f6c06f95d302792\n"
    },
    {
      "commit": "17dbaf280698e0a07c1391784e1045cf4d8d9d37",
      "tree": "8d59ae7547792d26af41062a00615f6f45167dc0",
      "parents": [
        "dbfd6388dd4618c9a387790ae0e7dd591c7f3d8d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Oct 11 14:06:31 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 16 15:08:58 2019 -0700"
      },
      "message": "MediaMetrics: Update to use STL containers\n\nTest: dumpsys media.metrics sanity\nChange-Id: Ifcada098e755ef3d679715ed23fab9d793ebde3e\n"
    },
    {
      "commit": "a57869ab68a061728068b7bd72637e278c509f15",
      "tree": "dbabfdeb75da69e02f27e25f77313e673efd3c2e",
      "parents": [
        "85bf8a17045dde02a1895ff51697429948dce23a"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Aug 21 22:41:25 2019 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Aug 22 06:00:55 2019 +0000"
      },
      "message": "MediaAnalyticsService: trust AID_DRM\n\nBug: 134789967\nTest: adb shell dumpsys media.metrics | grep drmmanager\nChange-Id: I3fc94b475bb76f3776dc42f25e6cfc10e890ac8a\n"
    },
    {
      "commit": "23f4d6cc618576ac53da4ce9e761e9bee3109333",
      "tree": "96fa896900c3cf2aaab10f74d91cc95cf38dd812",
      "parents": [
        "0963d443b054ad3a83afbee1035f2d7a9db6086d"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jun 20 10:16:37 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jun 20 10:16:37 2019 -0700"
      },
      "message": "Enable count-based expiration for media metrics\n\nin addition to the time-based expiration, enable count based expiration\nand set it to 2000 records, about 5x the daily average. Caps the memory\nfootprint.\n\nBug: 135552978\nTest: boot, enough traffic to force expirations\nChange-Id: Ide96df24b00e8f115905678800c782f29a91bcba\n"
    },
    {
      "commit": "6ce27e5ffa056948b506bf7320a9f9c961150684",
      "tree": "d3c75842dba2db375a7b3b4413e902ecccbbb5ef",
      "parents": [
        "ef7eaaf8d873e9d832673fd0a8e07371fa47a0a0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Feb 15 10:58:05 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 06 11:35:11 2019 -0700"
      },
      "message": "connect mediametrics service to statsd\n\ntake the collected media.metrics (as they arrive) and push a copy over\nto statsd, the statistics logging subsystem.\ngather data, wrap in protobufs apppropriately, and submit it to statsd.\n\nBug: 118782504\nTest: statsd\u0027s test_drive app\nChange-Id: Ieb82c43633851075e9eaf65d2a95c8cba87441ea\n"
    },
    {
      "commit": "4f5d6fd75075a30bb387e8a15b118922cc188bd5",
      "tree": "6aa5680b41c5ed918cae36ee4d484c5d4d8c3b3d",
      "parents": [
        "e6e98e77198a68c812b81159f76de33b632c3d43"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 14 09:38:22 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 14 13:34:58 2019 -0700"
      },
      "message": "clean up compilation warnings\n\nchange from a blanket \u0027using namespace...\u0027 directive to a more\nexplicit qualification on the entities that prompted adding the using in\nthe first place.\n\nBug: 128606338\nTest: compilation\nChange-Id: Id8c8cfcd18801661b82b73d1c59952d1e75d3c7d\n"
    },
    {
      "commit": "58d4be5a5a5d24f18b7a207148c7caa317fef366",
      "tree": "37e0a5e790187815757bd906c7767cfcea0e1f74",
      "parents": [
        "6054a7765cfd65c34d49a5a435bee1d0cdfb2d32"
      ],
      "author": {
        "name": "François Gaffie",
        "email": "francois.gaffie@renault.com",
        "time": "Tue Nov 06 15:30:12 2018 +0100"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Feb 05 00:18:00 2019 +0000"
      },
      "message": "audio: get rid of hardcoded translation stream \u003c--\u003e attributes\n\nIMPORTANT NOTE:\n    CL depends on another CL in frameworks/base\n    https://partner-android-review.googlesource.com/c/platform/frameworks/base/+/1206275\n\nAudioProductStrategies offers the possibility to dynamically\ntranslate attributes to stream types (and vice versa) within\naudio policy engine.\nLegacy engine has hard coded rules to maintain the translation\nservice.\n\nThis patch removes the hardcoded translation within the helper\nand replaces them by AudioProductStrategy APIs.\n\nTest: AudioPolicyTests: AudioProductStrategiesAllStreamsTest\nIt loops on all stream types supported by strategy and ensures\ndevice selection matches. Hard coded stuff would prevent right device\nselection.\nTest: CTS: AudioTrackTest AudioRecordTest\nTest: audio smoke test on sailfish, walleye blueline\n\n\nChange-Id: I76589df5555136ed49dbacc7aac9b0b5e828bef2\nSigned-off-by: François Gaffie \u003cfrancois.gaffie@renault.com\u003e\n"
    },
    {
      "commit": "72a436b384a843e3623ec047c1b1d1c27aa64520",
      "tree": "130bd88d9b7415b8369da4cab314d7b8444d2a54",
      "parents": [
        "22efef5846f09d766eceb60cd304ffcfbea4c42a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jun 14 15:08:13 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Sep 21 16:54:21 2018 -0700"
      },
      "message": "Avoid very long media metrics deletion blocks\n\nCould see a large block of items expire, which were all done under a\nmutex. This blocks other media requests as well as causing long latency\nfor the current request. Change expiration so we do at most 50 at a\ntime, so the current thread can respond to its client. If more are due to expire,\nfork a separate thread to continue in similar 50-element bursts,\nallowing other clients insertion requests to enter between those bursts.\n\nBug: 109850816\nTest: with shorter timeout and limits\nChange-Id: I774a0a1bb7fbb81e12b14c540557d23fb055e3f1\n"
    },
    {
      "commit": "bc2a77308b7c197a30a3289e5b75d0f089e65982",
      "tree": "0ecd2a56a618c280fb7bb430ef143c4af66cb173",
      "parents": [
        "8d4991797071989e51b08dd58cbe2635ef544f95"
      ],
      "author": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Sep 06 12:04:44 2018 -0700"
      },
      "committer": {
        "name": "Eric Tan",
        "email": "taneric@google.com",
        "time": "Thu Sep 06 18:17:52 2018 -0700"
      },
      "message": "media.metrics: add new record type \"audiothread\"\n\nTest: compile\nBug: 68148948\n\nChange-Id: I8cf96fdc218bd09d90916f2c96fa343ddd4f873b\n"
    },
    {
      "commit": "84e84a5dd3b6d9ee4cf032e8d6206c70969b7107",
      "tree": "49fd8e4e911d62ac8be44ae91fdaf35902a234d9",
      "parents": [
        "527da4c9d30c977c0105a288b20a77f0f9e8d0d3"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu May 03 18:45:07 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 16:32:02 2018 +0000"
      },
      "message": "collect more media metrics around audio\n\nnew fields in the media metrics \u0027audiorecord\u0027 record for more detail\nlength of time recorded, error conditions\nadd new media metrics type \u0027audiopolicy\u0027 that describes attempts to get\nmicrophone access -- success, failure on contention, what type of access\nwas requested, and (important for the contention) which programs are\ndoing the requesting and holding of the microphones.\n\nwhitelist the \u0027audiopolicy\u0027 metrics type with the  media.metrics service.\n\nBug: 78595399\nTest: concurrent/serial recordings, dumpsys media.metrics\nChange-Id: Ia17860940d4c329b0215b4cf97c6dacacb6a8e32\n"
    },
    {
      "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": "8c22cb1cc76c37a3bba789fb78454173f6bf8429",
      "tree": "17d49448ae9ac8925bb4f56c4681f4353374974c",
      "parents": [
        "c01a25e1759549d90c8e9f2446bc3c0023a8cd83"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 24 11:00:36 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Jan 24 11:00:36 2018 -0800"
      },
      "message": "Open some more metrics from app-space\n\nallow some more metrics through that are now being generated from\napp-side contexts instead of within media services.\n\nBug: 71874383\nTest: logcat/dumpsys\n"
    },
    {
      "commit": "813b1b8e1e1fa3f00317f0218d78510bf9abf3ae",
      "tree": "2373a7f2e2e585faa1f7e402e10e0ce7c4d52693",
      "parents": [
        "0cde7e5863df60ece6986ad9b5b4358dc82380eb"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 15:10:06 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 15:10:06 2018 -0800"
      },
      "message": "Remove media metrics\u0027 unused \u0027summarizer\u0027 concept\n\nRemove the code from media metrics that provided a summarization\ncapability. It wasn\u0027t providing the information we wanted and\nconsumed more system RAM while being unhelpful.  If we figure out\na better way to do this, we\u0027ll re-implement.\n\nBug: 71874635\nTest: manual\n"
    },
    {
      "commit": "783bd0d74d142493b4ef0a15a2664535854e99f9",
      "tree": "60cbf56cb9d37670194d12cda8180767b6b5cfa9",
      "parents": [
        "734d186db7ec3d1f877001d71c71de6562ead7f7"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 11 11:10:35 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 09:25:15 2018 -0800"
      },
      "message": "media.metrics changes AString -\u003e std::string\n\nchange from AString to std::string for how media.metrics handles\nstrings.  This severs the dependency on libstagefright_foundation,\nwhere AString is implemented, so we can integrate into places\nwhich do not want to introduce a dependency on libstagefright_foundation.\n\nBug: 70805723\nTest: compilation/linking, CTS subset\nChange-Id: I66de971b6ec354444e06112607a2d7614084cef8\n"
    },
    {
      "commit": "4e2eeffb7d8cbe8add700ad699afc2614668706b",
      "tree": "dbacfe6599ba365eaa3e5c476f84689730daa2f5",
      "parents": [
        "62b3e7a87d1b0554cf347ba9b06978f9344c46f7"
      ],
      "author": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Mon Nov 27 14:01:29 2017 -0800"
      },
      "committer": {
        "name": "Dianne Hackborn",
        "email": "hackbod@google.com",
        "time": "Fri Dec 01 11:19:51 2017 -0800"
      },
      "message": "Update to support long version codes.\n\nBug: 64459786\nTest: manual\nChange-Id: I8b251f5238d6aeed51642bc7c4fc573b2a5a408e\n"
    },
    {
      "commit": "583a23aee1408815b5449aa96e2eccaf00ed8c32",
      "tree": "cbcb38788b527af3defdfa868b5372af40ee4c8c",
      "parents": [
        "6b0e0f0299748dad99dfb5f65c7203bef1abb757"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Nov 27 12:49:57 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Nov 27 12:49:57 2017 -0800"
      },
      "message": "\u0027dumpsys media.metrics -proto #\u0027 doesn\u0027t lose default\n\nmakes sure that using \"-proto #\" option for dumpsys of the metrics\nservice doesn\u0027t leave the protocol set there; we want it to come\nback to the defined default if there is no \"-proto #\" on subsequent\ninvocations.\n\nBug: 69797899\nTest: multiple dumpsys invocations\n"
    },
    {
      "commit": "e5db6dbc501685205c8fdbaf883e10ecf4475b52",
      "tree": "eab21b0091fa35203b63b9056fe876d51def0acf",
      "parents": [
        "dd97f52b3969ee8d6fb611e045ada26037e44e27"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Nov 10 15:54:32 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Nov 10 15:54:32 2017 -0800"
      },
      "message": "Avoid UAF in media metrics service\n\nRe-arranged several potential UAF accesses in the handling of saved\nmedia.metrics items. Also avoids possible \u0027save and immediately\ndelete\u0027 behavior in certain queue situations.\n\nBug: 69002257\nTest: watched dumpsys media.metrics\nChange-Id: I8ab056f14d845aa27f3e65a77bc6c7dbfac24e4f\n"
    },
    {
      "commit": "9bb7e3b88d9a2a1f86b83b00af5aae3e8d8ec644",
      "tree": "8550f87032b043660ceca37e3f2c115486314014",
      "parents": [
        "c56f27b269800c1e8441908c3d564c63e0257f56"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 23 13:01:48 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 23 14:18:19 2017 -0700"
      },
      "message": "Prevent Race condition in media.metrics\n\nChange scope of locking to avoid a window of vulnerability on queue\nmanipulation and item merging. Also cleans up a string manipulation\nerror exposed by the poc for the queue bug.\n\nBug: 68015343\nTest: repeated running of PoC without crash\nChange-Id: Iafa82936e6ec2e25793187e0fa17c2a23085f58f\n"
    },
    {
      "commit": "ac18a847a44ad16666f36e6e7ba43fc83b403faa",
      "tree": "738e256d4f7c888a60a2306cbff425a738f62497",
      "parents": [
        "17b7fa70425810f66e691d58c3dc3827542bbecb",
        "721b7a0dac6ede81d1d7de8ff490fdcedb3d2aab"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Sep 20 20:17:39 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 20 20:17:39 2017 +0000"
      },
      "message": "Merge \"Blur media.metrics timestamps for privacy\" into oc-mr1-dev"
    },
    {
      "commit": "fa149560f4f4b529de3df9e87923ff7f9a8e89ad",
      "tree": "fb398cdb6e0daaef022b16e090417b81bf5956c2",
      "parents": [
        "ad2e7b902c0432a0db40906a4b1f5b693ce439dd"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 19 09:27:31 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 19 17:01:51 2017 -0700"
      },
      "message": "trim packagename if sideloaded, get versioncode\n\nimplement policy of not uploading package info when sideloaded\nor through a non-playstore channel. Include versioncode information\nwhen we do include a particular package.\n\nBug: 65027506\nTest: watch logs and dumpsys for various package combinations\nChange-Id: I8e601c899070b57c25181ba705e997f10ea052b4\n"
    },
    {
      "commit": "721b7a0dac6ede81d1d7de8ff490fdcedb3d2aab",
      "tree": "5468632f04ca669aec6eff6a487e51a924bb3932",
      "parents": [
        "c75d97f20843388b9084561635996a01a53d0c0f"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Sep 11 09:33:56 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Sep 11 09:33:56 2017 -0700"
      },
      "message": "Blur media.metrics timestamps for privacy\n\nPrivacy workgroup recommended that we blur timestamps to\nfurther improve anonymity of metrics records.\n\nBug: 65539819\nTest: examination of dumpsys media.metrics\nChange-Id: I337a66a66df733b4ece222b5b69a5732e78a3e35\n"
    },
    {
      "commit": "21c721250cef7722217c1e952a6923fb79c84e37",
      "tree": "8e8fe4b4e90741607e4803b9098676049ddc6705",
      "parents": [
        "e4bf97fbf4302bdea149fba4114b96b6ab9a4799"
      ],
      "author": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Tue Sep 05 19:02:06 2017 -0700"
      },
      "committer": {
        "name": "Adam Stone",
        "email": "blueeyes@google.com",
        "time": "Wed Sep 06 22:21:14 2017 -0700"
      },
      "message": "Fix package name reporting in MediaDrm metrics.\n\nThe app package name was not previously reported in drm metrics. This\nchange reports the app package name as returned from the vendor metrics.\n\nThis is part of the fix. The other change will go into another project.\n\nBug: 64584568\n\nTest: Unit tests, GTS tests, and Google\tPlay.\nChange-Id: Iee36d5203364c5f80a8b0fe9d9bbf5c167abefd1\n"
    },
    {
      "commit": "6b6cd4d69d9bc0406d16adedf8a72ebdd5a1e127",
      "tree": "46daf2cf0c747a30f568610a2e55ac63d9c3e496",
      "parents": [
        "90153cae7ffd321338f90678a80abd62fb56e877"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 05 14:19:15 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Sep 05 14:20:43 2017 -0700"
      },
      "message": "Suppress chatty debug messages\n\nALOGD()-\u003eALOGV() and remove some other debugging.\n\nBug: 65027506\nTest: observed logcat output\nChange-Id: If84dc0cb7a80dc59f7b5ae6142b662c2dd64863e\n"
    },
    {
      "commit": "f65f421540d8d1e2aad17b86368405b83cb40a26",
      "tree": "6dce1fc64f88803e89369fe6d893c5700251b6f1",
      "parents": [
        "aba0e98b085cc613003bf42dbfe1ad0a3bb2348e"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Aug 31 11:41:19 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Aug 31 11:41:19 2017 -0700"
      },
      "message": "track pkgname/version in media.metrics\n\nEnhances the media.metrics subsystem to track the pkg name \u0026 version\nso analysis can move from \"error rate has climbed\" to \"error rate has\nclimbed within app X\".\n\nChanges include fields to hold package name/version, the dump protocol\nto emit those fields to upload, and better management of metrics data on\ndevice (time and quantity).\n\nBug: 65027506\nTest: review output of dumpsys media.metrics\nChange-Id: Ia55b859d903835c84f7d43883f959dc1cdefb081\n"
    },
    {
      "commit": "8caa24ebd05b6af52bc39905e2e358930496d462",
      "tree": "c190719f56f171392508cdb504071b5627dd7591",
      "parents": [
        "000896fcb6e4ce78dbf72ecba8364c6727640d1f"
      ],
      "author": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Tue Jun 06 16:18:31 2017 -0700"
      },
      "committer": {
        "name": "Yunlian Jiang",
        "email": "yunlian@google.com",
        "time": "Wed Jun 07 05:04:47 2017 +0000"
      },
      "message": "fix  a memory leak.\n\nThis fixes\n warning: Potential leak of memory pointed to by \u0027only\u0027 [clang-analyzer-unix.Malloc]\n\nBug: None\nTest: The warning is gone.\nChange-Id: I596f422c2409241a47aba381c35da0a874f38c59\n"
    },
    {
      "commit": "2e9c63b2fddfe313d1508118ff4f1bca65c0ffee",
      "tree": "47d3777126e2f3d29686a4634984a24df8eb4b8a",
      "parents": [
        "85697206ca71ec2965eb54b2ef3f152d245ec9d2"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Mar 29 15:16:44 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 30 16:50:55 2017 -0700"
      },
      "message": "Implement metrics \u0027summarizers\u0027\n\nThe summarizers collet similar records and bunch them to save space.\nSo a string of extractor operations that crack the same format audio\nwill be combined into a single record with a new \"count\u003d#\" attribute.\n\nSummarizers will sum appropriately. The current example is in the\nPlayer summarizer -- it knows to sum the frame counts and times\n(duration and playing) as part of the summarization.\n\nBug: 36736083\nTest: lots of \u0027dumpsys -summary\u0027 manual examination\nChange-Id: I325c2d2b25720d384bcc75b73c97e5b3d8fa9731\n"
    },
    {
      "commit": "35ad27fa15b3da0c63f218e5a88b8f7c7f3419b8",
      "tree": "06679c21ca7c1f3c42758c3713aa03f8bbdce018",
      "parents": [
        "bf3b18fbf4a68184cf65d9fa063ac457d5a2af5a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 30 14:04:11 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 30 14:59:03 2017 -0800"
      },
      "message": "clean up a fixed size buffer\n\neliminate the size of a fixed length buffer for a potentially very\nlong record.  Code was safe in that it didn\u0027t allow an overflow, but\nwe really wanted the information that was being truncated.\n\nalso some cleanup on parameters for \"dumpsys media.metrics\":\ntime units for \"-since\" and include a -help.\n\nBug: 34792286 34793404\nTest: invoke dumpsys with assorted parameters to see output\nChange-Id: If960afd52a509f277910e62c13d4ba60f9ed7e34\n"
    },
    {
      "commit": "d38e174ddbde8e7419ba01deaded4ff0ead1caaa",
      "tree": "cd62ea763bf947133d4fb6a66b693672294a2694",
      "parents": [
        "efbd36c8f57f41b0ef061cde5a88a3d384538fc9"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 23 15:17:06 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 24 09:46:01 2017 -0800"
      },
      "message": "Change from mediaanalytics to mediametrics\n\nreflect the change from \"media.analytics\" to \"media.metrics\" in\nwhat service names we use; bring the metrics service main code into the\nservice directory (vs an additional shared library).\nRemoved references to tentative binder functions that the service\nwon\u0027t be offering, at least not in the near future.\n\nBug: 34615027\nTest: build, boot, new services run, clients talking to said services.\nChange-Id: If17772a8f03c05b142e8d5779830d198710210c1\n"
    },
    {
      "commit": "b5fac8ef36b302c12f897d06c7e097981843f3a0",
      "tree": "cad2d297cf98424f0a53a60d45c335430f0d1e23",
      "parents": [
        "51ac35503501692300f9772c29c2d2f4dc43a245"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Dec 12 11:33:56 2016 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 20 14:36:27 2016 -0800"
      },
      "message": "Refine MediaAnalytics framework\n\nRework some interfaces to avoid unnecessary sp\u003c\u003e mechanisms;\ndocument which side of caller/callee owns pointers afterwards.\nRework internal attribute representation, add support routines.\n\nBug: 33547720\nTest: Boot, ran subset of CTS media tests\nChange-Id: Id0d65bd6a847704dc98d38be9aa5e1ce63c20e1c\n"
    },
    {
      "commit": "3938dc6363949ef126bb6188d26b5bef6db8be4d",
      "tree": "fe9553c997bd8a827cea887461895b7551085626",
      "parents": [
        "c2d29c48ea9314f1db836a906c95ee9bd6ef11c8"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Nov 01 08:56:56 2016 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Dec 02 16:25:42 2016 -0800"
      },
      "message": "initial mediasanalytics framework\n\nThis encompasses the basic framework files for mediaanalytics.  This\nincludes the library code to run in clients, the interface definitions\nto get to the service, and the mediaanalytics service.\n\nThis version of the patchset also incorporates a wholesale change from\n\"Media Statistics\" to \"Media Analytics\" -- which involved both textual\nchanges and file renaming\n\nThis does not include the changes to other entities that will be sending\ndata. We\u0027ll do those under separate per-entity commits.\n\nBug: 30267133\nTest: run through cts\u0027 media stress tests\nChange-Id: Iee7e722d10fd57c5d6b14e2947117ed0d3af4f2a\n"
    }
  ]
}
