)]}'
{
  "log": [
    {
      "commit": "9e0302fcc104bbeddc4c9c0f913b9f633de84dc1",
      "tree": "fa3f75ad3291885bb054ea2bd8a310c16679f58a",
      "parents": [
        "4c6d99520c95386e5a4f4a94aafe9c63053ae734"
      ],
      "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": "Wed Jul 17 14:30:10 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\nChange-Id: If5803cb6fcb6f4800032069872daaeac1cd36ed2\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "ebca5b9862df0175b913f172384d80123a3865e3",
      "tree": "4a579fbe83201ceaec472df2a9d9cf6c39ebb3bb",
      "parents": [
        "265eb9954ebf6ded1fc10577a29fa49081af9f9b"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jul 01 13:18:17 2019 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Jul 01 13:30:21 2019 -0700"
      },
      "message": "AImageReader: make sure ~AImageReader isn\u0027t called with FrameListener::mLock held.\n\nThe following sequence of events is possible:\n\nt1: FrameListener::onFrameAvailable callback is called, mReader is\n    promoted from wp\u003c\u003e to sp\u003c\u003e, t1 holds mLock.\n  t2: AImageReader_delete is called, decStrong is called on AImageReader,\n      but since its refcount isn\u0027t 0, ~AImageReader isn\u0027t called\n    t1: onFrameAvailable completes, ~AImageReader is called with mLock\n        held, ~AImageReader-\u003e\n        setImageListenerLocked-\u003eFrameListener::setImageListener-\u003etries\n        to lock mLock again, t1 deadlocks.\n\nWe move the locking mLock to after the promotion of mReader to sp\u003c\u003e so\nthat it gets destructed before ~AImageReader is called.\n\nThe same is done for BufferRemovedListener.\n\nBug: 136193631\n\nTest: Auth; unlock\n\nChange-Id: I8bb8c7d59f3711fd9fe434159095938eb5db9153\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "55baca288135ca376df973219f71525a3b72fc4c",
      "tree": "2090c4fd22f90c34f8e29c5ca1fb576f6e30cbef",
      "parents": [
        "51460e50ad3849345a614ff060b3db938975b9b5"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 07 13:54:13 2019 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Jan 07 13:54:13 2019 -0800"
      },
      "message": "AImageReader: avoid edit during traversing\n\nTest: HWAsan build + CTS NativeImageReaderTest\nBug: 119839845\nChange-Id: Ic22dba944e233fc55b5fe35004148867348f951a\n"
    },
    {
      "commit": "32b4f494fb4c032a8c9e8f3b8c9ed1d7ccd8ef22",
      "tree": "be0513d33052df294b4bf98f466e789c47377494",
      "parents": [
        "6fdd7d07da60c4c846e4a0a5af900982f65ac551"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 14 18:38:21 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Wed Nov 21 12:06:27 2018 -0800"
      },
      "message": "libmediautils: move AImageReader_getHGBPFromHandle from libmediandk.\n\nThis allows us to remove camerserver\u0027s dependency on libmediandk,\nthereby reducing its vss increase (brought about due to many of\nlibmediandk\u0027s dependencies, which cameraserver does not need)\n\nBug: 119582723\n\nTest: mm -j64\nTest: showmap \u003cpid of cameraserver\u003e vss before change: 50628\nTest: showmap \u003cpid of cameraserver\u003e vss after change: 31256\nTest: AImageReaderWindowHandleTest\n\nChange-Id: I8dec6430adda538cb293cdd0d087b9ae1767b900\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "1398159d4f2cc29f20f562cd75e0b4d01166092e",
      "tree": "2ae65aa583c5f99a05adc387d402037f6c1e1e07",
      "parents": [
        "9b9ac44fbe27e0f4d2096cbe37497ff70343ed44"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 06 11:45:58 2018 -0800"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Tue Nov 06 11:49:34 2018 -0800"
      },
      "message": "Clarify documentation for AImageReader_getHGBPFromHandle.\n\nExplicitly state that the native handle taken by AImageReader_getHGBPFromHandle must have been\nobtained from the llndk api : AImageReader_getWindowNativeHandle().\n\nBug: 110364143\n\nTest: mm -j64\n\nChange-Id: I75312b29b25cb79499a5c1a86f2d0ebbff2c3d67\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "249e1f25e56c642dda70e1e7f48c9eef892c50f5",
      "tree": "363b751a1b0943a59efbfe09afc30f7b3c029796",
      "parents": [
        "1e91e0ea18e4c267b54ae2e14c8c9f0a013188a7"
      ],
      "author": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Mon Sep 24 15:07:45 2018 -0700"
      },
      "committer": {
        "name": "Jayant Chowdhary",
        "email": "jchowdhary@google.com",
        "time": "Thu Oct 11 10:44:23 2018 -0700"
      },
      "message": "Add an llndk api to get a native handle corresponding to ANativeWindow in AImageReader.\n\nSince vendor modules sometimes might need to transfer ANativeWindow(specific to\nAImageReader) over hidl to system processes, here, we introduce an llndk\nfunction to convert the ANativeWindow owned by AImageReader into a\nnative_handle_t which may be transported over hwbinder.\n\nWe also introduce a platform only api to retrieve an HIDL\nIGraphicBufferProducer from the handle received.\n\nBug: 110364143\n\nTest: mm -j64\nTest: AImageReaderWindowHandleTest\n\nChange-Id: I5f2aec41d9c67c619413c02e48cd97933e3b2986\nSigned-off-by: Jayant Chowdhary \u003cjchowdhary@google.com\u003e\n"
    },
    {
      "commit": "b29fce7b7e2220e6d0feb3597a35216c89c9f412",
      "tree": "db207e9d4af2b8519d67fafbef0854186e622165",
      "parents": [
        "068ba821bca6f2d7a2a8335e85fcdb059ea85274"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Nov 06 17:16:22 2017 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Mon Nov 06 17:57:36 2017 -0800"
      },
      "message": "Camera NDK: fix bug in lock order\n\nAImage::close() can be called by AImageReader while holding\nAImageReader::mLock.\n\nTest: AR test app + CTS stress\nBug: 68885255\nChange-Id: I17037e3e30e0f53b35ca538a3f321693c539cbdc\n"
    },
    {
      "commit": "55ec25693db12f8f342378aac1f6a55ec4dd4957",
      "tree": "3c700af07b550aa04547d709d5b7c518b3c113ac",
      "parents": [
        "2eddd660f9140d50f4e49e7981580dee2356ff54"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Apr 12 15:56:41 2017 -0700"
      },
      "committer": {
        "name": "Ranjith Kagathi Ananda",
        "email": "ranjithkagathi@google.com",
        "time": "Tue Aug 01 21:03:46 2017 +0000"
      },
      "message": "AImageReader: Add support for private format\n\nThe private format was unsupported in API24, but since API26 added\ngetAHardwareBuffer for AImageReader, the format becomes useful now. It\nmaps to HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED defined in\n\u003csystem/graphics.h\u003e.\n\nThis CL also updates the supported format/usage combination with the\nrule that if format is AIMAGE_FORMAT_PRIVATE, neither CPU_READ or\nCPU_READ_OFTEN is supported.\n\nBug: 37097572\nTest: AImageReaderCts, Graphics CTS\nChange-Id: Ide3db8c6ceb4504d6f198ea1d9526edecc3a56ad\n"
    },
    {
      "commit": "7e8d4ba5887affda749978d787b898bf31fda729",
      "tree": "50f55dd31df7fe969fc901b791a2b8c3a694d856",
      "parents": [
        "ab37fbfcdc197429d59f6926ba970b3e68bbbadf"
      ],
      "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": "Thu May 04 17:55:07 2017 -0700"
      },
      "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"
    },
    {
      "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": "724e04107548bfdb67f4be5772c0f08a0bd65f3e",
      "tree": "e865d173e709e8c9e09bd838e3eba06b3a811e55",
      "parents": [
        "1567662f5a709398004cf509fb3f382f0c76f5b1"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:22:17 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Aug 29 14:22:17 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings in media.\n\n* Add explicit keyword to conversion constructors.\nBug: 28341362\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I141b22bcb3caf386400b6b0403d1b231a8e7e6c4\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"
    }
  ]
}
