)]}'
{
  "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": "a629bd13e9f224b8472365135757f0676636f8e2",
      "tree": "4bdce444fd726634f20803fd279ab254a478c262",
      "parents": [
        "752adf7f1a340cbb6599fcff1842cf3659c75612"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 05 16:03:53 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Jun 12 10:43:37 2020 -0700"
      },
      "message": "MediaMetrics: Prepare audio device usage protos for statsd\n\nMediaMetricsAudioRecordDeviceUsageReported\nMediaMetricsAudioThreadDeviceUsageReported\nMediaMetricsAudioTrackDeviceUsageReported\nMediaMetricsAudioDeviceConnectionReported\n\nAdd track traits to identify static AudioTracks.\nFix AudioTrack/AudioRecord flag communication.\nMove debug logging to verbose (delivered protos show in dumpsys).\nUnknown strings which fail validation become empty.\nTest statsd type validation.\n\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics (after BT connection)\nTest: statsd_testdrive (294-297)\nBug: 149850236\nChange-Id: I53c5d18a346af54941007b9938a8ab10e34b7038\n"
    },
    {
      "commit": "64e16a7c0a0341ec3e759d9522c037606e49ce70",
      "tree": "4de10760a43ffb42233f3da48259a3dd403ccd31",
      "parents": [
        "72c3e0bbf62dbfd5e9ecabac3910f788e0b6b187"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Jun 01 13:25:51 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Tue Jun 02 14:48:16 2020 -0700"
      },
      "message": "audioflinger: fix FIXME in logBufferSizeUnderruns\n\nSome debug code was accidentally merged.\nThe hang was caused by a recursive lock of mLock.\nThe code now calls lockfree methods.\nAdded events for RELEASE and SETBUFFERSIZE.\n\nBug: 157916126\nTest: adb logcat | grep logBufferSize\nTest: launch OboeTester\nTest: disable MMAP checkbox\nTest: Tap OPEN and START\nTest: move bufferSize fader\nTest: expect to see no spam from logBufferSizeInFrames()\nTest: adb shell dumpsys media.metrics\nTest: expect to see entries like \"(bufferSizeFrames\u003d118, underrun\u003d1)\"\nChange-Id: I7d782ccea2c2470bc18a3a61cfb8767430a441d8\n"
    },
    {
      "commit": "ea84038803580b4c35ce4cb60918c0c384127417",
      "tree": "d8c91402af2f630e4f1c36f7798d161767d01301",
      "parents": [
        "38e65911a65a51edf2efd5ca63c4e00daac24852"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 05 21:50:17 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 13 11:15:49 2020 -0700"
      },
      "message": "MediaMetrics: Prepare statistics for protos\n\n1) Add AudioRecord to Analytics trigger.\n2) Log RecordThread statistics.\n3) Rename DURATIONNS to EXECUTETIMENS to avoid confusion.\n4) Use streamType from server not client.\n5) Split MMAP types to MMAP_PLAYBACK and MMAP_CAPTURE.\n6) Use string flags for AudioTrack and AudioRecord.\n7) Compute underrun frames for MixerThread.\n8) Log BT connection state.\n\nTest: adb shell dumpsys media.metrics\nTest: atest mediametrics_tests\nTest: adb shell dumpsys stats --metadata\nBug: 149850236\nChange-Id: Iacf3f117c00ec9f377e62862080252aef9dc084f\n"
    },
    {
      "commit": "5298998e5749ce5883cda027b0791d071c4c8b0b",
      "tree": "2d5cd73553f7795e4dae085e1bddad5bc48686d3",
      "parents": [
        "ad531ce5d938385330ec260d4049914b354d1c37"
      ],
      "author": {
        "name": "Joey Poomarin",
        "email": "poomarin@google.com",
        "time": "Thu Mar 05 17:40:49 2020 +0800"
      },
      "committer": {
        "name": "Robert Lee",
        "email": "lerobert@google.com",
        "time": "Thu May 07 12:25:59 2020 +0800"
      },
      "message": "MediaMetrics: Implement audio power usage metrics\n\n- Trigger audio power usage logging when\n   1. endAudioIntervalGroup event for track/record\n   2. setMode to NORMAL for telephony\n- Aggregate audio usage by type and device\n- Send audiousage data every 24hrs by default, using property\n  persist.media.audio_power_metrics.interval_hr to config the interval\n- Add property persist.media.audio_power_metrics.disable to disable\n  audio power metrics\n\nBug: 121318157\nBug: 140909217\nTest: atest mediametrics_tests\nTest: adb shell dumpsys media.metrics --all\nChange-Id: I94ff00a5609a49c96a14827d3260d481c1310abe\nSigned-off-by: Robert Lee \u003clerobert@google.com\u003e\n"
    },
    {
      "commit": "c2b11cbcb88c5970fb4ec6ff8a562b1465dfa70a",
      "tree": "dedee4f6e9c95af20ef76e79bddbc79ed850781a",
      "parents": [
        "199012b0c66d555207d81fedb7cce16305c865f8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 22 09:04:01 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 30 17:18:26 2020 -0700"
      },
      "message": "TrackMetrics: Add device-based statistics for audio\n\nCompute summary statistics based on the current device\nrather than the entire AudioTrack or AudioRecord duration.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: Ia3a5707c43c4530f5a6ac90f52901bd2e0bd0bab\n"
    },
    {
      "commit": "d203eb6b3cd99af3c9616df2bd0d982796b0f918",
      "tree": "0f2cfa6c24a30d32913de484c6dd52514b37a9a3",
      "parents": [
        "2578a95a57dd9796b55095dc22b8171dd5da73c3"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 09:12:46 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 23:42:41 2020 -0700"
      },
      "message": "MediaMetrics: Use AllowUid property for services to control client access\n\nRemove implicit first client uid access.\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nChange-Id: I4f953db4688bf5f174c3e1611f492f31d2926e96\n"
    },
    {
      "commit": "a6b270399fdacb09826e751657b7bb321652e3ac",
      "tree": "10091ff0524d2d29dcda00e63630d0f51b300655",
      "parents": [
        "669acb12c3092e581a1ecc347e6d573e96c8ca0e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 10:34:24 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Apr 27 11:41:38 2020 -0700"
      },
      "message": "MediaMetrics: Track AudioTrack and AudioRecord callers\n\nTest: adb shell dumpsys media.metrics\nBug: 149850236\nBug: 153658358\nChange-Id: If2b0a792cf4cc6c5b125513861b3dfb257bb3cbe\n"
    },
    {
      "commit": "d3813f35753a8ce43b289656de2649fdf1afaacc",
      "tree": "c13f9f04349fdfe3ad043c8bdafaa4757e3a30ff",
      "parents": [
        "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 23 16:26:15 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri Apr 24 11:13:09 2020 -0700"
      },
      "message": "audioflinger: add setCallerName() to AudioTrack\n\nAnd also to AudioRecord.\nThen log the callerName using MediaMetrics from the destructor.\n\nThis can be used to tell whether AAudio or OpenSL ES\nor Java created the object.\n\nBug: 154543374\nTest: adb shell dumpsys media.metrics --clear\nTest: Run an app that uses audio.\nTest: adb shell dumpsys media.metrics\nTest: Look for \"callerName\" in the dump.\nChange-Id: I000346e72f581d2e40ef4fd0410b579d2a1224e2\n"
    },
    {
      "commit": "cc40c5fa11767eb9a87cf6e1a5e8a99d6cec2847",
      "tree": "7d2a46abbe29eb5b8ce6afacdf673eab55823ba5",
      "parents": [
        "784745befac68d978fe7abf09f0aeea33fb0e4ff",
        "a9876703e89afa6db42913d48e2360b7dad98725"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 24 14:30:58 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 14:30:58 2020 +0000"
      },
      "message": "Merge \"aaudio: add MediaMetrics for MMAP streams\" into rvc-dev"
    },
    {
      "commit": "a9876703e89afa6db42913d48e2360b7dad98725",
      "tree": "4e51b01b2fa4be83868318a1619e3b7c2f42f36e",
      "parents": [
        "6e89a0704605f4750f87a3243495b175c67e6fbb"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Mon Apr 20 18:16:15 2020 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 23 18:00:10 2020 -0700"
      },
      "message": "aaudio: add MediaMetrics for MMAP streams\n\nLog events from service.\nLog start, stop, disconnect and other events.\nLog underruns and bufferSize.\n\nBug: 154543374\nTest: adb shell dumpsys media.metrics --clear\nTest: run an app that uses MMAP, like OboeTester\nTest: adb shell dumpsys media.metrics\nTest: Expect to see lots of \"audio.stream\" events.\nChange-Id: I690e5226b695d53d038d644f4438c759e08f9fbb\n"
    },
    {
      "commit": "7d391087f86cee1c4dc87c03e5549aa4359ddfe6",
      "tree": "e67969f57ea54f0beaa950d6f5c9351e5182ee72",
      "parents": [
        "369ad274564c02b79c15b13e8e69ccb73080d6fb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 18 15:03:51 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 22 16:32:38 2020 -0700"
      },
      "message": "MediaMetrics: Misc fixes\n\nRemove unneeded headers from MediaMetricsItem.\nOptimize map writes with emplace_hint.\n\nTest: atest mediametrics_tests\nBug: 149850236\nChange-Id: Ice6fddb8402a5ccbf1df6e6e02fa4aae4c1b42d5\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": "b744fafc831e1a13cc5e054aa4812281c3c5c7fc",
      "tree": "8ac63b4df77923f6a8ba054036b43dee8ef79211",
      "parents": [
        "cc39f3d7fe665dcb39ce6757f5811f7c9ab6c992"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 13:09:26 2020 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 13:09:26 2020 -0700"
      },
      "message": "MediaMetrics: Fix clang-tidy warnings\n\nTest: atest mediametrics_tests\nBug: 153658358\nChange-Id: Ic3c05de5466df24ffd37b224c97ac1138257a73c\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": "8f06962f2daccff7e5489bf4d9b6e9db91f0925c",
      "tree": "96260918ba2ae88fb4c78885e84e87b7a78d3b58",
      "parents": [
        "eeb2d61b7f123b87c1fdb359035ced62e5f0dbb9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Feb 10 15:44:01 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Feb 11 09:53:35 2020 -0800"
      },
      "message": "MediaMetrics: Change the duplicate logging suffix\n\nThe duplicate log allowed suffix ! (e.g. \"event!\") looked more like\n\"not equals\" so changing from ! to #.\n\nTest: adb shell dumpsys media.metrics\nBug: 138583596\nChange-Id: I642334770ed8f5ff0d1f1e187e25eca596603252\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": "b302ba7ff35576907617b7a43b1a42ca7174ee0e",
      "tree": "f6f4ef41d503306f76c613da6f38ec92fe9f9b6e",
      "parents": [
        "6d7fc8a5c9121800b3dbee4c0ddda2bb171cb2c3",
        "5bde28f5616e666f69e71820bbdb2a985d1cb7ac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jan 29 16:02:01 2020 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Jan 29 16:02:01 2020 +0000"
      },
      "message": "Merge \"Make \u003cmedia/MediaMetrics.h\u003e safe to use directly\""
    },
    {
      "commit": "5bde28f5616e666f69e71820bbdb2a985d1cb7ac",
      "tree": "782b93ac3eb659c2b5f31926e23928efea6f6baf",
      "parents": [
        "fbe4e735b472c5552405664c390f4898dbd566dd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jan 27 08:04:14 2020 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jan 28 14:02:15 2020 -0800"
      },
      "message": "Make \u003cmedia/MediaMetrics.h\u003e safe to use directly\n\nPreviously, it assumed that the user had included other header files.\nNow you can use it on its own, which is important for an API (\"include\nwhat you use\").\n\nTest: builds OK\nChange-Id: Ib64eec20576dcf5a5dffe1ed670465cb590ef9e3\n"
    },
    {
      "commit": "b68f5ebb53434e800c43715127e2d1032e3a9b54",
      "tree": "7e1c75e02cb63d4c9d1f0b7dc3322001e1463b33",
      "parents": [
        "3b4c1f0320efc7a54c4ab811727c432cda73dd37"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Dec 03 16:49:17 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Jan 28 13:03:22 2020 -0800"
      },
      "message": "MediaMetrics: Add AudioFlinger logging\n\nTest: atest mediametrics_tests\nTest: mediametrics dumpsys\nBug: 138583596\nChange-Id: I2086c5a780744d409052fde4c5ebc1dc92d95ea8\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": "7c96ea7ff84e1084332548583841735b694bfebd",
      "tree": "eb5d7c1bcb91cea21469e46b7c014ae44635a217",
      "parents": [
        "255f610f5ab71b5e36d93744dfe058daf6c96041"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 10 15:46:22 2020 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 16 15:55:18 2020 -0800"
      },
      "message": "Remove mediametrics include symlinks\n\nBug: 143245419\nTest: build\nChange-Id: I6c836e60c0fe078f5ab7370aec156bdd6e8dcbf0\n"
    },
    {
      "commit": "ea186fae038399fe8814543f62e9490c4854a960",
      "tree": "5bc96a7de31db2b9d936b8f9866eb6d55361457d",
      "parents": [
        "2cdae31e8bb09fbfe4b655987d25b6902bdc0211"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 09 18:13:15 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Jan 13 14:40:03 2020 -0800"
      },
      "message": "MediaMetrics: Add AudioAnalytics actions\n\nUnderrun handling\nLatency handling\n\nTest: adb shell dumpsys media.metrics\nBug: 138583596\nChange-Id: I4c0a5ba0f4f4ce9209146dab99433e33646d959b\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": "37de9b7193255993b6547b05792b611a87f18407",
      "tree": "41808006ac416ca7df42338542e1563c29ff6d07",
      "parents": [
        "692870bd73532e69a0f541496365cddc09f93418"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 13:54:05 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 17:27:00 2020 -0800"
      },
      "message": "MediaMetrics: Add Defer class\n\nThis is a helper which assists logging on exit of a method.\n\nTest: atest mediametrics_tests\nBug: 138583596\nChange-Id: I73c0e7e469dc9fd1b29934ef308f9d2f15146bec\n"
    },
    {
      "commit": "692870bd73532e69a0f541496365cddc09f93418",
      "tree": "d7edfa4c45b73056e58ff226a7329636341ca8c2",
      "parents": [
        "565cc485a0ec357c559acf458fc853ec69180be8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 13:46:06 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 17:25:20 2020 -0800"
      },
      "message": "MediaMetrics: Add Elem getter to Item\n\nAnd minor edits.\n\nTest: atest mediametrics_tests\nBug: 138583596\nChange-Id: I9161f98f4c17516ea04fc143eb1ccbd656f17796\n"
    },
    {
      "commit": "565cc485a0ec357c559acf458fc853ec69180be8",
      "tree": "ad48e2d839ab6471be87fbabebff8f8af1ad1094",
      "parents": [
        "2ecacc4ae54c9938ea432b933a6a33ec4d9ff232"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 13:40:04 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 17:02:46 2020 -0800"
      },
      "message": "MediaMetrics: Make Item final\n\nTest: atest mediametrics_tests\nBug: 138583596\nChange-Id: Ibab0eff8f1d4e9786b366dcc19589b0a8ec2137f\n"
    },
    {
      "commit": "2ecacc4ae54c9938ea432b933a6a33ec4d9ff232",
      "tree": "f6e4bdbcdb8a3b27d3829a26d381bb7fe42aa144",
      "parents": [
        "b7b2f5d8658b5d08831f91c25400c9717b05dac1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 13:29:50 2020 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Jan 02 16:38:20 2020 -0800"
      },
      "message": "MediaMetrics: Move Item::Prop to the start of the class\n\nThis improves clarity.\n\nTest: atest mediametrics_tests\nBug: 138583596\nChange-Id: Ib02e2c8f226278c627d5e0feac5a4ec7e7a6c49f\n"
    },
    {
      "commit": "611268d7a114200c46c517996617f15586108149",
      "tree": "d3bfae505dc6cbb00159081f3c9ce58eac7bbd5a",
      "parents": [
        "f1ba94795895e917e4046a26923a478c7a2cadd5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 19 13:54:02 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Dec 19 15:45:35 2019 -0800"
      },
      "message": "MediaMetrics: Unify bundle key naming for service set properties\n\nComment on relationship of MediaMetricsItem.h with MediaMetrics.java.\n\nTest: adb shell dumpsys media.metrics\nBug: 138583596\nChange-Id: Id535914a88e2814a6e1704267617761ed2e46087\n"
    },
    {
      "commit": "b7aadb3f772357d017ccb362eee67e0270dfb1c6",
      "tree": "7a8ff124e1c3c319df85782f23c0a626bbc31cf1",
      "parents": [
        "47e58d60fe1c5f78df382e744fefad45b86b3f22"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Dec 09 19:40:42 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 18 18:58:05 2019 -0800"
      },
      "message": "MediaMetrics: Use variant instead of union for properties\n\nTest: Verify media.metrics dumpsys, atest mediametrics_tests\nBug: 138583596\nChange-Id: Ic6e2a090b890f5bec1e818637f6e31150924add1\n"
    },
    {
      "commit": "47e58d60fe1c5f78df382e744fefad45b86b3f22",
      "tree": "800caf3a67827db68cc41505369d29d8b5a79668",
      "parents": [
        "9c7e2a51e2fb24bbf193b46a3f5e892af19cdfe5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Dec 06 18:40:19 2019 -0800"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Dec 18 13:52:52 2019 -0800"
      },
      "message": "MediaMetrics: Remove friend access, use STL map\n\nTest: Verify media.metrics dumpsys, atest MediaMetricsTest\nBug: 138583596\nChange-Id: I6b085553af3fd1a0c98261d133f251c2db27c93b\n"
    },
    {
      "commit": "ae88dd3b1f225b97bbfcf78a10e409a2ea72969b",
      "tree": "6f22f2762cd502a85faa8924fde1d250fee10f6d",
      "parents": [
        "94e872e6894dce7d89954d0515c140ec626d20ba"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 17 20:14:05 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 17 20:14:05 2019 -0800"
      },
      "message": "use namespace android::mediametrics to simplify types\n\nBug: 145780674\nTest: atest mediametrics_tests CtsNativeMediaMetricsTestCases\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": "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": "7f6cde9fa7db4fa3f3cf9264ff56be87f361098e",
      "tree": "d7d3b4045eb9b645db8f6f5b84370fe1ed0ef0bd",
      "parents": [
        "8acbb6ce1856c479014a8f870b6f8ec7c2fe3bca"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sun Nov 17 11:19:44 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Nov 19 10:45:46 2019 -0800"
      },
      "message": "TEST_MAPPING files for media metrics\n\nBug: 144649738\nTest: atest in affected directories\nChange-Id: I985ea253d3a99cdb09904e1474ffd4e0ee85b6d4\n"
    },
    {
      "commit": "3253f2d6f3c2b1b27871aa291b0efd5db97c8c48",
      "tree": "c9c75eda60ccc0ab5ea1bc71704ae0f954fd6fed",
      "parents": [
        "afa8feb251a71eebce8c659a25202037232fbe59"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 21 14:50:07 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Oct 31 17:43:51 2019 -0700"
      },
      "message": "MediaMetrics: Update Item serialization code\n\nAdd for bounds checking errors\nUpdate key checks to omit length, use C primitive types\n\nTest: atest mediametrics_tests, adb shell dumpsys media.metrics\nChange-Id: I1e6d5bd7a9611f6d59e15a1dbebc646405e5a018\n"
    },
    {
      "commit": "aeef788a3b322470da8e79c949a3861547998dd3",
      "tree": "352f95b00400ce8a1ae7c6b7e4ebcc3cf28b9eaf",
      "parents": [
        "a87e69cf8b4b2b58f5bbe2aa89632b36e1e533c4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Oct 18 15:18:14 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon Oct 21 12:28:09 2019 -0700"
      },
      "message": "MediaMetrics: Update to use fluent style recording\n\nMove methods into Prop class.\nUse const for getters.\n\nTest: mediametrics_tests and dumpsys media.metrics\nChange-Id: I76cdcce4f966ce74c44d4db019b4ce0096e567de\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": "c89c8dc5c05da392f3e6840fc909fc08c7e82978",
      "tree": "b09d5f0958a768588c6a7f78026b99ea6644001d",
      "parents": [
        "17dbaf280698e0a07c1391784e1045cf4d8d9d37"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Oct 16 17:48:21 2019 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Oct 17 13:45:41 2019 -0700"
      },
      "message": "MediaMetrics: Add unit tests\n\nDocument some interface differences.\n\nTest: mediametrics_tests\nChange-Id: Idf19827e79136dcca6522e6df53e28e3ea4a2231\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": "aba37b9a8f63a361bc58001eccb6c9ef8b23e350",
      "tree": "30a4f2828f933dfa28c93f00b41dfc2081851a09",
      "parents": [
        "15c19562110938cf1fab5af02aa6653a4ae84fc7"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 30 13:40:46 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Mon Sep 30 13:40:46 2019 -0700"
      },
      "message": "mediametrics: add cts path to the visibility section.\n\nTest: atest CtsNativeMediaMetricsTestCases\nBug: 141828720\nChange-Id: Ie66e257129f62512c1d110722aec1087d1de5384\n"
    },
    {
      "commit": "bf536ac5e2e415c735ba27b7879d580a0658e65d",
      "tree": "1a0a989f1d87aecef26f41cd49c5656aaffc599c",
      "parents": [
        "a05365157966870963a65db4ed1b70f005256240"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Aug 26 11:04:28 2019 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Aug 26 19:00:16 2019 -0700"
      },
      "message": "Mediacodec to use C interface to mediametrics\n\nUse stable C interface instead of C++ interface.\n\nBug: 123543273\nTest: compilation, boot, dumpsys\nChange-Id: I04935343917ce400d0df531e06b4d23ab7269fa6\n"
    },
    {
      "commit": "f5799637c9c5af1fe98a0d2e2bf3cd20c0aa5738",
      "tree": "279898758696a887c694401fa837e26ebfdb6c43",
      "parents": [
        "ce4b00e79f4bde61c3474ce001825eb34b4d1b58"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Aug 02 20:55:27 2019 -0700"
      },
      "committer": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Fri Aug 02 21:26:59 2019 -0700"
      },
      "message": "Limit visibility of libmediametrics.so\n\nTest: build\nBug: 138219814\nChange-Id: I63a93d4d13e63ff364e9d5ca4a53316bd9770663\n"
    },
    {
      "commit": "16f83255da1f56fae3d24223832b5175f39591af",
      "tree": "431075f4faabed31b65730d5c252c85936fd9278",
      "parents": [
        "f4ebe698379d087dca2c6685935b91ab7e82d003"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Aug 01 20:32:54 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Aug 01 20:32:54 2019 +0900"
      },
      "message": "Only public symbols of libmediametrics are ABI-checked\n\nUse symbol_file property to make only the public symbols of\nlibmediametrics are checked for ABI compatibility.\n\nBug: 138219814\nTest: development/vndk/tools/header-checker/utils/create_reference_dumps.py -libs libmediametrics -ref-dump-dir prebuilts/abi-dumps/platform\nChange-Id: I329b961d2d02e0c6d298562769324eeb5e49c9e3\n"
    },
    {
      "commit": "467b4fa1a085ac3a5e216a3982ae9b5e066ea403",
      "tree": "a9f64715a6e56a1a7387ec6c60f25839dd228a65",
      "parents": [
        "107fd5a178efdd977eaa1dbd0edbb1b72a3613e6"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Wed Jul 24 10:44:15 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Fri Jul 26 15:52:45 2019 +0900"
      },
      "message": "Dump ABI for libmediametrics\n\nIt\u0027s not an LLNDK library, but has # apex APIs which need to be kept\nstable.\n\nBug: 138219814\nTest: development/vndk/tools/header-checker/utils/create_reference_dumps.py -libs libmediametrics -ref-dump-dir prebuilts/abi-dumps/platform\n\nChange-Id: I93b494c13a46817719002e0028f4f80f0a55d512\n"
    },
    {
      "commit": "6a3052232c606bc2f74a849c6758fd44b6c01158",
      "tree": "529ee3bb94a17c06e19c8642daf9993f23d531f2",
      "parents": [
        "2637984613a75eb2640a73e186a6dd1f08cebbc0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Jan 28 20:33:18 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 31 11:19:44 2019 -0800"
      },
      "message": "use MediaAnalyticsItem::create() instead of new\n\nBug: 123543489\nTest: boot/logcat, select CtsMediaTests\nChange-Id: I92f8b9987b78466fae74ce4c0b177f8bb1e7dea8\n"
    },
    {
      "commit": "ba8c48429d82d22737a84d2713fa1880a4654cbd",
      "tree": "850a9fe47603d7d46a97220041c92f59e2149822",
      "parents": [
        "04a71420a809f8bf21ec5152d469c06161cd0a80"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Jan 18 11:35:33 2019 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 24 15:57:42 2019 -0800"
      },
      "message": "Further work on libmediametrics stable API\n\nimplement a missing method (for inflight metrics), enumerate exported\nsymbols.\n\nBug: 119675363\nTest: build, CTS media/codec tests\nChange-Id: Id92f1b331babacc0de6c0005d6ba0c97c91c0291\n"
    },
    {
      "commit": "37d73d1502db31e3542f1ce4de5c7cbed8d1e174",
      "tree": "979cc26d7ee3343a662bc742587c1617a8390e68",
      "parents": [
        "a308287ea13cbab40ad6892be20b1253b83c0e36"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 12:49:09 2018 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 20 15:18:12 2018 -0800"
      },
      "message": "Remove unused libraries from various media libraries\n\nTest: build\nChange-Id: I3bfb70a6ed3fe8f0e1683d456156517f8b992a33\n"
    },
    {
      "commit": "20147323b745dcc8ee395b6815082e456ee7d1d6",
      "tree": "6c009edb7320f4a4f5c287ecd536974e9e0e4ace",
      "parents": [
        "7763cf3b0eb9ae0ed5c375d19324fa068a070229"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Sat Nov 17 09:08:39 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Dec 12 14:08:06 2018 -0800"
      },
      "message": "C interface to MediaMetrics\n\nC interface is more stable across upgrades than C++\nand simplifies cross-package interfaces in upgradeable components.\n\nBug: 119675363\nTest: parallel metrics generation from nuplayer\nChange-Id: I36beeade82a208be64af0860eb6f175a2801b27f\n"
    },
    {
      "commit": "df7d3e08762a077ec6d5c909129472100c9a6649",
      "tree": "c5b6e36454a1d838d7ac56fb52c1a7cc5754cff8",
      "parents": [
        "0209452544dfd347de2ddb4e8cfaf89f51bc039c",
        "6671ea8a46da5cbeaba2da4c623353441758cf50"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 17:16:25 2018 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Dec 06 17:16:25 2018 -0800"
      },
      "message": "Merge \"Remove CFI diagnostics.\" am: 64ac8c6301 am: b89b976d77\nam: 6671ea8a46\n\nChange-Id: I4de33cfd8451cceab9ca234d884522e6e9489b08\n"
    },
    {
      "commit": "db19f572b941e62ffd688f2198da122977c55a28",
      "tree": "3713ab1298069be97a599b88c5cae6ef0900bee8",
      "parents": [
        "8c545704ea199e13c23f47cd8f4067bcdc25071f"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:33:28 2018 -0800"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Thu Dec 06 10:53:33 2018 -0800"
      },
      "message": "Remove CFI diagnostics.\n\nRemove diagnostics mode from CFI across the board. This should reduce\nperformance overhead and also allows the minimal runtime to work when\nother ubsan sanitizers are enabled. CFI stack dumps should include a\ncfi related function, so it should be apparent when a crash is CFI-related.\n\nBug: 117417735\nTest: make -j\nChange-Id: Id2cb6cb64425c4c89c031d93156fb1a20be5fa7b\n"
    },
    {
      "commit": "9db7b817bd5622c55f7db3218f199c7f624e96d5",
      "tree": "56fb4c0cabfe4a88002b2be92fdfd9b417a8e51a",
      "parents": [
        "c74fafab6db73b0ee7adbba937c502d1806df5b9"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Nov 15 12:42:19 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Nov 15 12:42:19 2018 -0800"
      },
      "message": "Fix cut/paste typo confusing double/string\n\nBug: 119623662\nTest: logcat\n"
    },
    {
      "commit": "9ce18f72203d523e7378ddb3f0432871973df561",
      "tree": "0b1ab53f1f35f531ac31abdf3c39e6c3b0488152",
      "parents": [
        "d9ed870e6402de3ec1253c5c2a43ed1d10078518"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon May 07 15:54:30 2018 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed May 09 15:45:24 2018 +0000"
      },
      "message": "Fix memory leak in media metrics primitives\n\ncode was clearing a pointer without having checked \u0026 reclaimed the\nreferenced memory.\n\nBug: 79352137\nTest: adb shell dumpsys meminfo --unreachable system\nChange-Id: I2b8faa806ac99d8e6390880d67b5bc090ef7c19b\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": "5b77bd22d66773891c7ade1606dde049f160d446",
      "tree": "3c352dc3bf26342a80f4f4b0860cfadf611b2b52",
      "parents": [
        "c01a25e1759549d90c8e9f2446bc3c0023a8cd83"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 23 16:11:06 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 23 16:11:06 2018 -0800"
      },
      "message": "Change media.metrics dump format for ALOG()\n\nchange a constant from -1 to PROTO_LAST so that we\u0027ll include any recent\nfields when we debug.\n\nBug: 72406222\nTest: manual, logcat examination\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": "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": "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": "7932c6d14b09c1eeaef4d76859ef18ef93b62bf4",
      "tree": "6c83b3f69cf945d43da0b21803f4f12bde75bb9a",
      "parents": [
        "69fe2e5e9699993b2166c2e5ec96a3ec73f6058d",
        "2ab3c43f0a73a534f79903e86284f5cabe3f5831"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Oct 04 03:34:36 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 04 03:34:36 2017 +0000"
      },
      "message": "Merge \"Monitor binder status to media.metrics service\" into oc-mr1-dev"
    },
    {
      "commit": "58f5873633ee9ed6b3ed54a18c196e0df20ea961",
      "tree": "15727b8406396a6e476670d34709f2b0eba173cb",
      "parents": [
        "73d0374fcb522fc5106c2c8f75d482cbc8a5e1c0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 02 10:56:18 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 02 11:02:05 2017 -0700"
      },
      "message": "Correct cleanup when compacting metrics attributes\n\nCorrect management of compacted media metrics attributes; ensure\nproper release of a stale reference after copying it down into\na spot vacated as part of a deletion.\n\nBug: 67110197\nTest: logcat to see it trip through the fix\nChange-Id: I19031ebf257e958141524458da6b808fa741cce7\n"
    },
    {
      "commit": "2ab3c43f0a73a534f79903e86284f5cabe3f5831",
      "tree": "8d7e673d036fba8ab30c744877527fa2b96bb49e",
      "parents": [
        "73d0374fcb522fc5106c2c8f75d482cbc8a5e1c0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 02 09:29:49 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Oct 02 09:29:49 2017 -0700"
      },
      "message": "Monitor binder status to media.metrics service\n\nAdd code to use binder\u0027s linkToDeath() so that our clients learn when\n(infrequently, we hope) the media.metrics service dies for some\nreason. When this happens, arrange for the client to re-establish\nits connection to the service.\n\nBug: 66948389\nTest: kill media.metrics, watch logcat for reestablishment messages\nChange-Id: Ic518b955ce6816698b21e6a9c844587cef2e2712\n"
    },
    {
      "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": "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": "ed56be2edfd2b7f18f8cd6ef5eba54738b53d95f",
      "tree": "732d3885e463b754c5a051263e70752e24295336",
      "parents": [
        "53f2035f1d78499df816e2ef6ddb90421b0bfd72"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 14:07:39 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Apr 27 16:25:30 2017 -0700"
      },
      "message": "Convert libmediametrics to Android.bp\n\nSee build/soong/README.md for more information.\n\nTest: m -j checkbuild\nChange-Id: I90852003668addebb709d81b0be4bca89cbefa78\n"
    },
    {
      "commit": "7b4f926ce4b0b298b5157186347a90dcbc543a70",
      "tree": "681f9de8e59d8b1c4f0e020e97d124b228329dec",
      "parents": [
        "e5640fec6944e8653e6e2d3287ccd823f568eea1",
        "fe898ee931983ab47204ee5e1c800c64ec065988"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Apr 25 07:07:47 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Apr 25 07:07:47 2017 +0000"
      },
      "message": "Suppress \u0027radio\u0027 processes to media.metrics am: 79a89ef4eb\nam: fe898ee931\n\nChange-Id: Ie1fed3bb2840eadb2a21b4fe7e0094c87e740725\n"
    },
    {
      "commit": "79a89ef4eb06a2d29fc3d083112de398111a9ddb",
      "tree": "ce803c8c4c5a4507842bb2627604c47386d18192",
      "parents": [
        "087f3af6ceee8fe61a27901c7c910218664265c0"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Mon Apr 24 15:52:54 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Apr 25 05:15:48 2017 +0000"
      },
      "message": "Suppress \u0027radio\u0027 processes to media.metrics\n\nWe suppress calls from radio processes (including the basic phone\nprocess) to the media.metrics service. This had started happening\nfor a particular video telephony application that ran within phone\ninstead of as some separate app with its own user id.\n\nWe do this here to speed up when a radio process learns that it\ncan not log to media.metrics. The existing sepolicy restrictions\nremain in place as a fallback. The use case that prompted this\nwas having issues with the 5-second timeout before we learned that\nradio wasn\u0027t allowed access to the media.metrics process.\n\nBug: 37552329\nTest: observe \u0027dumpsys media.metrics\u0027 and logcat\nChange-Id: I1824aa35860bb91dd796856453c1897ec21b496c\n"
    },
    {
      "commit": "b62e77b1e3037509988986b9df2a8889c1ed547c",
      "tree": "86d14a536970124171f1d95d877750992f583e14",
      "parents": [
        "85a33cf9e8c805ff02b973cf05f17c5dfb6da4e0",
        "a85c7351143e8943dad0a6c432a8fd5a68bae953"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Apr 06 03:19:34 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Apr 06 03:19:34 2017 +0000"
      },
      "message": "Merge \"Move MediaMetrics into its own library\" into oc-dev am: c668efcfd0\nam: a85c735114\n\nChange-Id: Ie7fb351c752fcbfdf6690c15d62c7c754b166213\n"
    },
    {
      "commit": "0f0c9b5007ff694d05a91c28359db0553e4dd061",
      "tree": "74669ec0fa61229d23b863b685bbf162e82ff32e",
      "parents": [
        "98e11c12e6f5bd64e5d6930a2bbd3522a309d6b1"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:00:23 2017 -0700"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Apr 05 14:41:03 2017 -0700"
      },
      "message": "Move MediaMetrics into its own library\n\nChanges for the new HAL structure have brought about a build time\ncircular dependency between libmedia and libmediadrm. This set of\nchanges the media metrics code into its own library and arranges\nfor the relevant consumers of the media metrics code to link\nto this new library (where they had previously picked it up by\nincluding libmedia).\n\nBug: 36990807\nTest: build, boot.\nChange-Id: I81768eecca88d5e59e6e6e547f29308a94e30c7b\n"
    }
  ]
}
