)]}'
{
  "commit": "36cc22b90543e5a11fe7eb202a81d563d970dbc8",
  "tree": "e43d9c769a362f0ae0baa531a00ab85046522a3f",
  "parents": [
    "f7d9b3fb2901410ec6267174d5819d09fa3c6521"
  ],
  "author": {
    "name": "Ray Essick",
    "email": "essick@google.com",
    "time": "Fri Jun 09 11:44:05 2017 -0700"
  },
  "committer": {
    "name": "Ray Essick",
    "email": "essick@google.com",
    "time": "Thu Jul 13 20:00:44 2017 +0000"
  },
  "message": "have media.codec hold dlopen() codecs forever\n\nuse RTLD_NODELETE so that the any codecs are kept forever.\nThis dramatically shortens the time for a subsequent dlopen()\nfor the same library. It turns the dlclose() of that library into a NOP.\n\nThis eliminates most dlopen/dlclose cpu time as media.codec processes\nthe same content type without restructuring the registration and de-registration\nlogic that is in place.\n\nBug: 36727951\nChange-Id: If92bc2898f8c73f89f164524daffab81da17002e\nTest: getting continued video/sound across multiple invocations\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fccb12ba7e8fcc1ed6a63473842370ceeebe38b1",
      "old_mode": 33188,
      "old_path": "media/libstagefright/omx/SoftOMXPlugin.cpp",
      "new_id": "0bc65e175cc239d6ce03cf0b02d662cb53fe62a1",
      "new_mode": 33188,
      "new_path": "media/libstagefright/omx/SoftOMXPlugin.cpp"
    }
  ]
}
