)]}'
{
  "log": [
    {
      "commit": "96780e54781e217f355e00a1ad7f6e3781ba8977",
      "tree": "31933a7fefbcd18b6681e72828b291879b8da01b",
      "parents": [
        "0def48a29e185aec64563a339552e8833f1f1ecf",
        "f6b3dc2a356c3147a8b6525716439c2c773b13a0"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Tue Jan 15 23:11:04 2019 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jan 15 23:11:04 2019 +0000"
      },
      "message": "Merge \"Remove BufferHubBuffer:Poll function\""
    },
    {
      "commit": "f6b3dc2a356c3147a8b6525716439c2c773b13a0",
      "tree": "622b556710a6477c25cb5682ec66384f55946688",
      "parents": [
        "7ab76b1c7d7d3f667cb58789295f62e7eb9e26c6"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Jan 14 15:27:40 2019 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Jan 14 15:27:40 2019 -0800"
      },
      "message": "Remove BufferHubBuffer:Poll function\n\nIn the new eventFd design, BufferHubBuffer will only provide with the\neventfd itself, and user can decide what to do with it. Therefore, the\nPoll function is not needed any more.\n\nTest: BufferHub_test, GraphicBuffer_test\nBug: 118891412\nChange-Id: I5f5ff71bcedc20de81f246764e878d81b0768eb1\n"
    },
    {
      "commit": "876a049fd49f26dbb1607a285ed740ab8ffc8767",
      "tree": "8724022b257171cc489d7b12f7ebf154ab11fb06",
      "parents": [
        "7ab76b1c7d7d3f667cb58789295f62e7eb9e26c6"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 11:51:50 2019 -0800"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Jan 14 11:53:07 2019 -0800"
      },
      "message": "BufferHubBuffer.cpp: replace dup() with fcntl(F_DUPFD_CLOEXEC)\n\nReplace calls to dup() with fcntl(F_DUPFD_CLOEXEC). The only difference\nbetween the two is that O_CLOEXEC is set on the newly duped file\ndescriptor. This helps address file descriptor leaks crossing an exec()\nboundary.\n\nTest: compiles and boots\nBug: 120983106\nChange-Id: I2f705e0666c5276ad5239da283d5ee91561e8579\n"
    },
    {
      "commit": "021776e289849daf3b3c327d5b0a57ee55873225",
      "tree": "a8c639255ff3eb554e55354f7cda6094164aafbd",
      "parents": [
        "6b4b1e5b1f7ad32dcadc49a2455370003b20897a"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Dec 05 13:34:48 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Jan 11 18:28:53 2019 +0000"
      },
      "message": "Refactor BufferHubBuffer to use hwbinder\n\nEntirely move BufferHubBuffer off pdx dependency and using hwbinder\nbackend and rewrite test cases to fit in current behavior.\n\nRemove duplicated test cases in buffer_hub-test. Commented out\nBufferHubBuffer related parts and remove related include and using\nstatement.\n\nAdd hidl interface dependency to libs/gui build file to avoid compile\nerrors.\n\nTest: BufferHub_test, GraphicBuffer_test, buffer_hub-test\nBug: 116681016\nChange-Id: I9d8f734f681e04d3d50b7a02c27b17df8c66cbad\n"
    },
    {
      "commit": "ec97b76db1eda00fae7041ddb9f46f01b830071b",
      "tree": "7cfaf29228deacd6a5be7e79cc2fdfe0140588f9",
      "parents": [
        "30f231caa70687ffda713ea16613a9a3fd0110fc"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Jan 07 17:14:02 2019 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Jan 08 01:26:59 2019 +0000"
      },
      "message": "Post to all existing and non-existing clients of the buffer in BufferHubBuffer\n\nFix: 122483970\nTest: AHardwareBufferTest BufferHub_test BufferHubServer_test VtsHalBufferHubV1_0TargetTest\n\nChange-Id: Ia0d3119c34fb68573747948f38ecc3477c65fcd5\n"
    },
    {
      "commit": "2ceb320ea35a14ef8f6df460314f85a40a7581de",
      "tree": "8fbc201e92640ad93fc8617a93c6214de54f6d90",
      "parents": [
        "49c55bb850f814cd7032ca815201a597a74cca40"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Dec 17 12:58:34 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Dec 17 12:58:34 2018 -0800"
      },
      "message": "Check atomics in shared memory are lock free\n\nwhen they are created in bufferhub server side in BufferNode, and client\nside in BufferHubBuffer.\n\nFix: 117849512\nTest: BufferHub_test BufferHubServer_test\n\nChange-Id: Ifc5b681a6a86fa02cb598b33bf68dfefc07a76f9\n"
    },
    {
      "commit": "df9d91d0f822342d634d4d0b618a35fca100f1f4",
      "tree": "bbe7550d3c471ea25e3475b94860efbe36470a68",
      "parents": [
        "76dfac18f8c05fd60399f46cc0919678806a7b66"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Dec 17 10:48:54 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Mon Dec 17 10:49:56 2018 -0800"
      },
      "message": "Fix wrong log messages and format the code\n\nBug: None\nTest: build\nChange-Id: I86d91e44fd96f067151eae700b702ae6e0beaeb7\n"
    },
    {
      "commit": "a99f9114d15add6bf1d67264e2a60a73e13009fe",
      "tree": "706d3852bee81e83008adc789f0582f2be576384",
      "parents": [
        "7bd483a2ee8e6c2db596d95a690e452e1a7b43f3"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Dec 13 18:23:07 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Sat Dec 15 05:04:38 2018 +0000"
      },
      "message": "Change atomics in ashmem from uint64_t to uint32_t\n\nFix: 117849512\n\nTest: Blueline: atest AHardwareBufferTest BufferHub_test\n buffer_hub_queue_producer-test libgui_test\nlibsensor_test vrflinger_test buffer_hub-test buffer_hub_queue-test\ndvr_buffer_queue-test dvr_api-test dvr_display-test\nTest: in libui_test InputSurfacesTest are segfault on top of master already.\n\nTest: Vega: AHardwareBufferTest BufferHubBuffer_test\nBufferHubMetadata_test buffer_hub_queue_producer-test buffer_hub-test\ndvr_buffer_queue-test buffer_hub_queue-test dvr_api-test\nlibdvrtracking-test\n\nChange-Id: I55f91c21f7ac07615b5451b5413521d7938cf591\n"
    },
    {
      "commit": "7359dc9c9a66d04db438683ffa46ce8697dd2b57",
      "tree": "75d1bffe7cf9853570f4e4adfd0416f010205c6f",
      "parents": [
        "55ef412bc920b7e73e8be37665dc2f84f152288c"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Dec 13 11:22:28 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Dec 13 21:46:18 2018 +0000"
      },
      "message": "Replace android::dvr::BufferHubDefs with android::BufferHubDefs\n\nNew libraries in libui and bufferhub shall be using\nandroid::BufferHubDefs instead of android::dvr::BufferHubDefs.\n\nBug: None\nTest: atest AHardwareBufferTest BufferHubBuffer_test\nBufferHubMetadata_test buffer_hub_queue_producer-test libgui_test\nlibsensor_test vrflinger_test buffer_hub-test buffer_hub_queue-test\ndvr_buffer_queue-test dvr_api-test dvr_display-test\nTest: in libui_test InputSurfacesTest are segfault on top of master already.\n\ntested on Blueline and Vega\n\nChange-Id: Ia755022c96147969a401ed32544082a8c76936a0\n"
    },
    {
      "commit": "cfbe07453ebd7cde74a7ed75568ee2c81d726049",
      "tree": "ca279be9a83a1a78a93eaeed646fa38b49ee3071",
      "parents": [
        "faba0dc129e2d73bb8fc313bfa337baddb2582d6"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Nov 21 15:03:32 2018 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Dec 12 14:35:50 2018 -0800"
      },
      "message": "Move MetadataHeader to libui\n\nTo remove BufferHubMetadata off pdx dependency.\n\nNote that the __attribute__(packed) is removed as part of this CL, as\nit\u0027s not really needed and is triggering clang warnings.\n\nTest: build passed. Not test needed as no behavior changes.\nBug: 118893702\nChange-Id: Ifae94a143a2bedef68a653c57f089b95d166e6d7\n"
    },
    {
      "commit": "b08b72261ae14b76fc8bffe6ddd4cb344efdd34d",
      "tree": "ef3bf8d9889aebaf281f4761c5f11eee1dc8d302",
      "parents": [
        "1a079e7fd15352b68a8c09a1ea9366cb68673b0f"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Nov 16 17:55:26 2018 -0800"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Tue Dec 11 01:38:48 2018 +0000"
      },
      "message": "Implement changes of buffer state in Gain/Post/Acquire/Release methods in BufferHubBuffer.\n\nCreate shortcuts to atomics in BufferHubBuffer;\nImplement changes of buffer state in the four usages of the buffer;\nCreate 16 unit tests for the 16 buffer state transitions.\n\nTest: BufferHubBuffer_test\nBug: 118718711\nChange-Id: I2067cd141611e66732e28344f26d73f261072b8b\n"
    },
    {
      "commit": "2daf5189a8f9c28a804a550f3734c5617bac17aa",
      "tree": "bfc3d849ff634f06c98814a1a2f686d582b2cfba",
      "parents": [
        "ae4c86f078ef50da674d0ab04e6e17e7ebc1f54e"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Oct 16 00:14:03 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Thu Nov 29 21:10:41 2018 +0000"
      },
      "message": "Create GraphicBuffer backed by BufferHubBuffer\n\nThe newly created GraphicBuffer shall own the BufferHubBuffer object\nthrough out its life cycle.\n\nBug: 70912269\nBug: 111976433\nTest: GraphicBuffer_test\nChange-Id: I698573e26f85dd40d30c267aeea545e65a7e2a8b\n"
    },
    {
      "commit": "069e8389df7aee7e8812a036bcda43c3fe24cabc",
      "tree": "5c50727256298ce4b603af94e7f2be5df0d7d3f4",
      "parents": [
        "910c0aa1384ee3122a4d3929ca3b94943a3dc539"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Fri Nov 16 16:28:08 2018 -0800"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Nov 28 15:57:21 2018 -0800"
      },
      "message": "Move BufferHubMetadata off pdx::fileHandle\n\nUse android::base::unique_fd to replace LocalHandle. For BorrowedHandle,\na const reference of the unique_fd is returned.\n\nUpdated the test cases to fit in current behavior.\n\nTest: BufferHubMetadata_test, BufferHubBuffer_test, BufferNode_test,\nbuffer_hub-test (passed)\nFix: 118888072\n\nChange-Id: I34de335ed9a10864ac226cd4d7d261ba0078045d\n"
    },
    {
      "commit": "77565571fc884e74cdf7a7b9ed0cbf37a70b6747",
      "tree": "6a94c3a45eb6ea0ebd50b2689186ba425d22e0ee",
      "parents": [
        "81dea27e84bac1715db94995ca27ba517cbdc71d"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Oct 15 11:31:29 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Nov 01 11:57:31 2018 -0700"
      },
      "message": "Remove DetachedBufferHandle from libui\n\nDetachedBufferHandle was a temporary measure introduced in Android P\nto bridge BufferHub and GraphicBuffer. In Android Q however,\nGraphicBuffer will be directly backed by BufferHub, thus\nDetachedBufferHandle becomes redundant.\n\nAlso note that removing DetachedBufferHandle from libui should bare no\nimpact on vendors for two reasons:\n1. BufferHub in P is only enabled for Daydream ready\ndevices (i.e. Pixel lines and VR AIO devices). No other vendors should\nhave BufferHub enabled.\n2. DetachedBufferHandle.h was hidden from vndk and thus vendors\nshouldn\u0027t get access to it anyway.\n\nBug: 117522732\nTest: Build system\nChange-Id: I3828eaa9499051e5ad5e4e270b5c26bae5f2c707\n"
    },
    {
      "commit": "7e204b7213c8f73e1fa4e7cdf21638358240cfb1",
      "tree": "f942708a0f08c6f6c759ac1f8dfe7dcfefd5f35c",
      "parents": [
        "73a961515af1fa2c97516bcd0568dd375737e022"
      ],
      "author": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Oct 26 15:39:18 2018 -0700"
      },
      "committer": {
        "name": "Tianyu Jiang",
        "email": "tianyuj@google.com",
        "time": "Fri Oct 26 15:55:11 2018 -0700"
      },
      "message": "Change the variable name \"buffer_state_bit\" into \"client_state_mask\".\n\nReasons:\n1. This variable is not refering to a property of the buffer. It refers\nto a client of the buffer.\n2. The original \"buffer_state_bit\" of a producer/consumer is actually\nthe client state bit mask for both buffer_state and fence_state in\nshared memory. Thus, \"buffer_state_bit\" does not make sense for the\nfence state.\n3. In the future, Every clients takes up two bits in the buffer_state.\nFor simpler bit manipulation, there will be a future change making the\nclient_state_bits two bits as well. Please refer to ag/5236978 for an\nearly look at the future bit manipulation. Thus, this change replaces\n\"bit\" with \"mask\".\n\nTest: build\nBug: 112007999\nChange-Id: I72f59ab9491bd2f135da068f578195fbf5e6c2b6\n"
    },
    {
      "commit": "b61df91163d6e8a8639dfe81201d72d96b16acd4",
      "tree": "f89942522236bbb86c4627c42d698fd9e7d0d6ef",
      "parents": [
        "c284ebf192d86d0c942d39596efc05880c9caf23"
      ],
      "author": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Tue Oct 16 14:55:39 2018 -0700"
      },
      "committer": {
        "name": "Tianyu",
        "email": "tianyuj@google.com",
        "time": "Wed Oct 17 10:14:45 2018 -0700"
      },
      "message": "Remove the functionality of promoting a BufferHubBuffer to ProducerBuffer.\n\nTest: buffer_hub-test buffer_hub_queue-test dvr_api-test\ndvr_buffer_queue-test on marlin-eng\nBug: 77153033\n\nChange-Id: I155fa5c5740243d84207f37e6a2fe37d6331628f\n"
    },
    {
      "commit": "1850da231eafb185add6db88251343a6e6e333db",
      "tree": "3d0300d752df906c5accb1e1bb58964a53887110",
      "parents": [
        "de7ddfe503a61b98bdacb6897491674a6eb45c5a"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Oct 15 21:29:14 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Oct 15 23:15:26 2018 -0700"
      },
      "message": "BufferHub{Buffer,Metadata}: Some other minor changes\n\n1/ Move BufferHubMetadata out of android::dvr namespace\n2/ Fix some misnamed variables\n\nBug: 111976433\nTest: BufferHubBuffer_test\nChange-Id: I06ec1c3cc4831c865b672680b49adb006d6e1835\n"
    },
    {
      "commit": "ff675b716822808a93e1f445754cddc4458f1249",
      "tree": "6d5ea3fa25c329a2b1300a62f6d7b847a9401804",
      "parents": [
        "8f51ec64984c1f03cdb6edef95b1e4098939da45"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Oct 09 18:08:29 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Oct 12 10:32:46 2018 -0700"
      },
      "message": "Format BufferHub{Buffer,Metadata}.{h,cpp} to match libui style\n\n1/ Run clang-format\n2/ Rename variables to use camel case\n3/ 100 column per line\n4/ Rename DetachedBuffer to BufferHubBuffer\n\nBug: 68273829\nBug: 112010261\nBug: 112940221\nTest: BufferHubMetadata_test, buffer_hub-test\nChange-Id: Iaf0dbbe797daf8b61864dc2e3ea1693703ef9d7f\n"
    },
    {
      "commit": "8f51ec64984c1f03cdb6edef95b1e4098939da45",
      "tree": "2710c19a372def21d9a5f07dfbc3dde023b193b1",
      "parents": [
        "89e2fdc24660d9a69b5c8bbdc98fb112a0807077"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Aug 07 21:50:51 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Oct 12 10:32:46 2018 -0700"
      },
      "message": "Move detached buffer to libui\n\nMove it into libui early so that new modifications towards it can be\ncoded in the libui style\n\nThis CL only moves the file and updates Android.bp with proper\ndependencies. Will re-format the coding style in a follow up CL. The\nreason behind this is to keep this CL small enough so that the \"git\nmv\" operation will be considered as an renaming rather than a complete\nrewrite.\n\nNote that DetachedBuffer is not exposed to VNDK, so that we won\u0027t\nneed to worry about ABI compatibility. Also, it temporarily introduces\nsome clang warning exceptions, we should be able to remove them very\nsoon once pdx to binder refactor is done for detached buffer.\n\nBug: 112010261\nTest: atest BufferHubMetadata_test\nChange-Id: I63659b9a9b7cb56f30fc2ae8cc5b87977d79b59c\n"
    },
    {
      "commit": "9004b8c98c23aa6c534bf90ea182cd26b703dd9e",
      "tree": "ff70315471cd2df993dfb62736c25add7953ea48",
      "parents": [
        "995285ab615bc6aae66d709bc35f9f64f9b9c9af"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Oct 03 18:52:23 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Oct 09 17:06:43 2018 -0700"
      },
      "message": "Move detached buffer off IonBuffer\n\n1/ Migration DetachedBuffer\u0027s metadata to use ashmem-based\n   BufferHubMetadata.\n2/ Avoid import the actual gralloc buffer into the IonBuffer. Instead,\n   just store the native_handle_t of the gralloc buffer in DetachedBuffer.\n3/ Replace the usage of BufferDescription/NativeBufferHandle with\n   BufferTraits/NativeHandleWrapper, as they both depend on\n   IonBuffer. Currently dvr::ProdcuerBuffer and dvr::ConsumerBuffer\n   are still using BufferDescription/NativeBufferHandle so that we are\n   reimplementing them for DetachedBuffer to avoid chaning\n   dvr::ProdcuerBuffer and dvr::ConsumerBuffer at this point.\n\nBug: 112940221\nBug: 112011098\nBug: 70048475\nTest: atest buffer_hub-test\nChange-Id: I435180ba80a27b0ff35f0d95fcdbc23412978e22\n"
    },
    {
      "commit": "642519a9b59f882f3df612790919ba0e8d028f63",
      "tree": "2845da5027750e5f6ca9fe9cb4a8e1f9e67395e5",
      "parents": [
        "a3ccde8b997f3644f134996ae3e4789a6fa8c4bc",
        "ddb90db093b62d513a59ddc71fcc47836a7e86fa"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Oct 08 19:54:31 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 19:54:31 2018 +0000"
      },
      "message": "Merge changes from topic \"bufferhub_binder\"\n\n* changes:\n  Temporarily disable detach and promote\n  Implement dumpsys for BufferHubBinderService\n"
    },
    {
      "commit": "ddb90db093b62d513a59ddc71fcc47836a7e86fa",
      "tree": "dadf6582997a34067c7943852a19707a1dd21c15",
      "parents": [
        "7a0f33ea236a02be627ee090e9ef9b574bb94512"
      ],
      "author": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Wed Oct 03 10:09:14 2018 -0700"
      },
      "committer": {
        "name": "Fan Xu",
        "email": "fanxu@google.com",
        "time": "Mon Oct 08 10:05:26 2018 -0700"
      },
      "message": "Temporarily disable detach and promote\n\nAfter disccusion, we decided that our migrationg will start with\ndetached buffer. Therefore, until we refractor both producer buffer and\ndetached buffer to use binder, it makes no sense to write a converter\nbetween pdx and binder backend.\n\nAs detached buffer is neither used outside nor exposed via API, this\nchange should not have any negative effect.\n\nSome tests are also disabled since after refractoring the behavior might\nchange, which means we have to rewrite them after refracting. Put TODOs\nabove them.\n\nChange-Id: I937403a4a8ae9f3ea94718211e12326ace9060bf\nTest: \u0027atest buffer_hub-test\u0027: passed\n"
    },
    {
      "commit": "088b3b619dcef53a93f1f0d3367fcfda98a6c3d7",
      "tree": "27a6a00edb94ab2a16fa1f88d5fbf181758c9341",
      "parents": [
        "9bdd64de4681b01a9d026f9ca0960e089a8f3ef6"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Oct 03 18:49:07 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Oct 04 15:21:17 2018 -0700"
      },
      "message": "Deprecate buffer_hub_client.{h, cpp}\n\nbuffer_hub_client.h used to contain BufferHubBuffer, BufferProducer\nand BufferConsumer. Now those classes are all renamed and moved into\ntheir own headers. Time to deprecate buffer_hub_client.h and move\nBufferHubClient, which is only used by DetachedBuffer into\ndetached_buffer.h\n\nBug: 116855254\nTest: atest buffer_hub-test\nChange-Id: Id0bfb32165f955c060d982f1410ab11bfcf76bec\n"
    },
    {
      "commit": "fd5958739edb43a3d2afc829fb6aef0dc5f1fd68",
      "tree": "75f41ed176bb84bbfc2609d0d2a91d97f0c382ed",
      "parents": [
        "7b58030e84e23d9d98e3d170712be9e79b759bcc"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Sep 18 23:11:20 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Sep 26 11:48:18 2018 -0700"
      },
      "message": "Remove GraphicBuffer accessor from DetachedBuffer\n\nThose accessor are not used outside of buffer_hub-test. Moreover, in\nthe new design, GraphicBuffer will depend on DetachedBuffer rather\nthan DetachedBuffer depending on GraphicBuffer.\n\nBug: 112010261\nBug: 112940221\nTest: atest buffer_hub-test\nChange-Id: I78b5ea8b195b8502fc8bdcda48ca600f6408897a\n"
    },
    {
      "commit": "f326fcec3ee991235bd08b5a02216960a370e22e",
      "tree": "a8840d5ab54d2902de7057f4e4e4d67d37ef6203",
      "parents": [
        "f5a824e83d2af4f538f3d88d03a31e5c5c6a2c26"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Aug 06 17:36:50 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Thu Aug 09 17:18:48 2018 -0700"
      },
      "message": "Enabled shared memory for DetachedBuffer\n\nBug: 112011098\nBug: 112012812\nBug: 111976433\nBug: 70046255\nTest: buffer_hub-test\nChange-Id: I5111d08c1de1d1386e6896d3f7aba4e068d1adc4\n"
    },
    {
      "commit": "2e06c1cba9f690043eba82390feba373cf8ce38b",
      "tree": "6c1e4686f90a6a4b3c8171eab62389cc5a51401e",
      "parents": [
        "aac3a45bb06d54318df6136dd6cc2c9844483fcf"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Mon Jul 30 21:35:32 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Jul 31 14:26:52 2018 -0700"
      },
      "message": "Move core data structure of DetachedBuffer into BufferNode\n\n1/ Supports mutiple DetachedBuffer(s) to be created from a single\nBufferNode.\n2/ Separate core data structure and logic (i.e. BufferNode) out of the\nIPC layer (i.e. DetachedBufferChannel).\n3/ DetachedBufferChannel will be renamed to BufferChannel in future\nand becomes the universal backend of GraphicBuffer. Thus we are naming\nthe new class BufferNode instead of DetachedBufferNode.\n4/ Move BufferHubDefs out of bufferhub_rpc.h, as BufferHubDefs is not\ndirectly related to the PDX IPCm echanism.\n\nBug: 112011098\nBug: 112012812\nBug: 111976433\nBug: 70046255\nTest: buffer_hub-test\nChange-Id: Ieba19329a0e823c78f21611462dedacdad3aab85\n"
    },
    {
      "commit": "0728fa93c12145c2337a0033eb69056520b7bcd8",
      "tree": "d67a642e08075c9b143c5d7c8a82496d47ddd7af",
      "parents": [
        "2c327ac2840b34848543cc961d16d3dbad102f16"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Tue Apr 24 19:03:14 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Fri Apr 27 12:47:50 2018 -0700"
      },
      "message": "Implement DetachedBuffer::Promote\n\n1/ This enables a BufferHub-backed DetachedBuffer to be promoted into\n   the ProducerBuffer.\n2/ Add DetachedBuffer::IsConnected in addition to\n   DetachedBuffer::IsValid.\n3/ Cleaned up some using pdx:: namespace statements.\n\nBug: 69982239\nBug: 69981968\nBug: 70046255\nTest: buffer_hub-test\nChange-Id: I6ee99507b190d142647455532cdce0c2c780b2b0\n"
    },
    {
      "commit": "a8049a284ecf3eafddbacf5230b0fefe85de8446",
      "tree": "5069c17fbc6be712f6be97e7ace444051e935717",
      "parents": [
        "d00e7e8de75d7d0bb7ce38f90c2fae8de2db0700"
      ],
      "author": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Mar 28 15:14:02 2018 -0700"
      },
      "committer": {
        "name": "Jiwen \u0027Steve\u0027 Cai",
        "email": "jwcai@google.com",
        "time": "Wed Apr 04 14:10:14 2018 -0700"
      },
      "message": "bufferhubd: Implement more DetachedBuffer logic\n\n1/ Separate DetachedBuffer related logic into a dedicated subclass of\n   BufferHubRPC. This actually is the right thing to do as it utilizes\n   the PDX\u0027s client/service programming pattern better.\n2/ Add IsValid() check for the DetachedBufferChannel object.\n3/ Add BufferHubClient to handle general PDX operations.\n4/ Add DetachedBuffer which composites a BufferHubClient.\n5/ Fully functional logic of allocating a DetachedBuffer, converting it\n   to a BufferHub-backed GraphicBuffer, then converting it back to a\n   DetachedBuffer.\n\nBug: 38137191\nBug: 70046255\nBug: 70912269\nTest: buffer_hub-test\nChange-Id: I81bf9259cbbaeb29a6df2769363b5a03464e7864\n"
    }
  ]
}
