)]}'
{
  "log": [
    {
      "commit": "9ddd6e8d9e472e9bc9e023444a4715466d1e9390",
      "tree": "70a01e42210c8474df369161a11647db1bbcf83f",
      "parents": [
        "c65f56f5a1c3d1b9600d5fbe43b53a875bf9b5f6"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Jul 16 11:04:06 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Oct 07 18:14:18 2019 -0700"
      },
      "message": "AImage: don\u0027t allow ~AImageReader to run before AImages are deleted.\n\nWe can never be sure whether ~AImageReader() has run to completion or\nnot in AImage::close(). So we move clean up to another AImageReader\nmethod and make sure that\u0027s called when in AImageReader_delete. AImage\nnow contains an sp\u003c\u003e to AImageReader so we can be sure that its members\nwouldn\u0027t have been destroyed by ~AImageReader and we can check whether\nAImageReader_delete has been called on it.\n\nThis also prevents us from deadlocking since AImage_delete could also cause\n~AImageReader to run with AImageReader::mLock held in AImage::close().\n\nBug: 137571625\nBug: 137694217\n\nTest: enroll; auth\nTest: cts native AImageReader, camera, graphics tests\n\nMerged-In: If5803cb6fcb6f4800032069872daaeac1cd36ed2\nChange-Id: If5803cb6fcb6f4800032069872daaeac1cd36ed2\n(cherry picked from commit 9e0302fcc104bbeddc4c9c0f913b9f633de84dc1)\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "1861819f4d0c52617039ff5e4abdffb1e69c166b",
      "tree": "ec115037fe2937f9abb4db010853787df512e6bf",
      "parents": [
        "af4d169e3f3ed1f0ed474e56c01cd57678e00d0a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu May 04 16:17:42 2017 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri May 05 20:02:58 2017 +0000"
      },
      "message": "Move libmediandk and libcamera2ndk headers\n\nMove libmediandk and libcamera2ndk headers into their module\nand export them from there.  Also move them to the same path\nrelative to the export as used in the NDK, media/ for\nlibmediandk and camera/ for libcamera2ndk.\n\nTest: builds\nChange-Id: I0b424e0e48bfb5e2b762694a97d799de08f5dda3\n(cherry picked from commit 7e8d4ba5887affda749978d787b898bf31fda729)\n"
    },
    {
      "commit": "e31bc87213619054f18fcc8462641767e82a7eaf",
      "tree": "f8cbb1e538a2b9a55ee7241ec45cb7d305d1db5d",
      "parents": [
        "64f9ce291f2a8e8b89ba1682660299312148c1de"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Apr 21 17:13:18 2017 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon May 01 11:03:33 2017 -0700"
      },
      "message": "Minor updates AHardware accessor in AImageReader\n\n1/ Be more explicit about what usage/format combination is supported.\n2/ Get rid of usage1 following the same change in AHardwareBuffer.\n3/ No more gralloc1 usage, so don\u0027t call android_convertGralloc1To0Usage\nanymore.\n\nBug: 35114769\nBug: 37097572\nTest: Ran AImageReaderCts\nChange-Id: Ic712d0ac5bd86b2c4c68815125ba9037212dfd65\n"
    },
    {
      "commit": "e168996c51cbbc78790c2b3282c9455a5c7b667c",
      "tree": "26d1799dfee6a0fc5b00402cc71af1c260a768d8",
      "parents": [
        "355d99044ff82d943792f52b83d9aa2b1c42fc8e"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Feb 20 16:59:05 2017 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Mar 20 16:05:37 2017 -0700"
      },
      "message": "Implementing new NdkImageReader APIs\n\nBug: 35114769\nTest: Build (should have no functional change from headers change), and\n      run CTS test CtsNativeImageReaderTestCases on a Pixel.\nChange-Id: Icb40196363d9f10a5d853c17f0bc378b6c27b3f6\n"
    },
    {
      "commit": "2f1a4737c997d9589447a51974e3aaecafee2937",
      "tree": "606e0c4b811c8cf30b8ce83ea3a361a8ff402337",
      "parents": [
        "ddb459198eeaea80b04b2b345d719cc64c8c1b05"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Sat Feb 04 17:31:55 2017 -0800"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Mar 13 11:38:21 2017 -0700"
      },
      "message": "Refactor AImage/AImageReader\n\n1/ Use BufferItemConsumer instead of CpuConsumer for AImageReader.\n2/ Delay lock image in AImage until the first time getPlaneXXX functions\nget called.\n3/ Add libmedia_jni as dependency so that we can reuse existing code\nfrom android_media_Utils.h\n\nBug: 35114769\nTest: Ran the following CTS test case from CtsCameraTestCases:\n      NativeCameraDeviceTest, NativeCameraManagerTest,\n      NativeImageReaderTest, NativeStillCaptureTest\n\nChange-Id: Ia8dc451ea873e8290592deacc7f8d40360382f86\n"
    },
    {
      "commit": "c360382bf257d815b2a411152485d3c3b37a9f46",
      "tree": "c3e4607fd638aa585f3209d6bb7c122297347f2d",
      "parents": [
        "ead9146f844ee194a4f4244ba8ae1a3aece12b63"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 18 22:11:19 2016 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed Jan 27 14:46:10 2016 -0800"
      },
      "message": "NDK: AImageReader implementation\n\nBug: 23012001\nChange-Id: I14341de141e6fc5817f397e849af35ccdb80d644\n"
    }
  ]
}
