)]}'
{
  "log": [
    {
      "commit": "a6709b41c015fdb7d5c717ec91e04b2c9c7da6e5",
      "tree": "4bb0a1218a457249d2f8501052a94438c71bf2b0",
      "parents": [
        "dce7559514917e7975a0d2dcc11aaa97d770367a",
        "986274d9c932d0df597d7809761b4cac2ac8e650"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 12 19:19:21 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Mar 12 19:19:21 2018 +0000"
      },
      "message": "Merge \"MPEG4Writer: Handle writing of multiple NAL unit.\" into pi-dev"
    },
    {
      "commit": "dce7559514917e7975a0d2dcc11aaa97d770367a",
      "tree": "0be9f295dcf6fc281df0b3c181d960264c2ccaa9",
      "parents": [
        "58a73fc8445db7fc587e4ef494e59bf5663f8b77"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 09 20:03:34 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Sun Mar 11 14:10:03 2018 +0900"
      },
      "message": "MediaSession2: Add a way to only build test and run test in runcts.sh\n\n\u0027--test\u0027 is added for only rebuild test and run MediaSession2 related\nCTS.\n\nBug: 74424357\nTest: Run the test with the option\nChange-Id: I13d0a78340b88ba6fe0c6f08c81214f1f8401f3c\n"
    },
    {
      "commit": "58a73fc8445db7fc587e4ef494e59bf5663f8b77",
      "tree": "953f7a1db4c4b6da60818709f0efea126902d3b1",
      "parents": [
        "966c158717dea42a7aa4f69a002f30a73c8713cb"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Feb 21 18:46:13 2018 -0800"
      },
      "committer": {
        "name": "Jakub Pawlowski",
        "email": "jpawlowski@google.com",
        "time": "Sat Mar 10 00:44:56 2018 +0000"
      },
      "message": "Add Bluetooth Hearing Aid routing and configuration\n\nBug: 69623109\nTest: connect to Hearing Aid, make phone call, verify audio is heard\nChange-Id: I92267fb48608fb721c5c4ef7ec9fceeafc8ea192\n"
    },
    {
      "commit": "966c158717dea42a7aa4f69a002f30a73c8713cb",
      "tree": "1baaac3fe5c607b5f0773e8f4b9542c90fe2ab3d",
      "parents": [
        "6e64137e95362a8f6eef43ea676418567b327c96",
        "2b0ee6728363723b8908bda4578aa27d2c77c29b"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 10 00:08:01 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 10 00:08:01 2018 +0000"
      },
      "message": "Merge \"Stop GraphicBufferSource\u0027s looper without locking\" into pi-dev"
    },
    {
      "commit": "2b0ee6728363723b8908bda4578aa27d2c77c29b",
      "tree": "0ffa17ee62f13d42b5c49934eda3816055d0e2c8",
      "parents": [
        "ecff3f95aece364d5b35600c6cfda1b04af52a7c"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Mar 08 16:19:07 2018 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Mar 09 13:59:50 2018 -0800"
      },
      "message": "Stop GraphicBufferSource\u0027s looper without locking\n\nBefore this CL, the following sequence of events could cause a deadlock:\n- Binder thread: Acquires the mutex (mMutex) inside release().\n- Looper thread: Blocks inside onMessageReceived() as it tries to\nacquire the mutex.\n- Binder thread: Calls mLooper-\u003estop() inside release(), which waits for\nthe looper thread to finish executing onMessageReceived().\n\nTest: make cts -j123 \u0026\u0026 cts-tradefed run cts-dev -m \\\nCtsMediaTestCases --compatibility:module-arg \\\nCtsMediaTestCases:include-annotation:\\\nandroid.platform.test.annotations.RequiresDevice\n\nBug: 74170420\nChange-Id: Ie63b19107f10937f7a301fe74b38f15076cc0ed9\n"
    },
    {
      "commit": "6e64137e95362a8f6eef43ea676418567b327c96",
      "tree": "8a2ed91d013a14058c606d6f41d044ecca7e184e",
      "parents": [
        "dc9df6a12d848b32fbd041421c663d2014f32403"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Mar 02 09:21:30 2018 -0800"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Fri Mar 09 21:49:03 2018 +0000"
      },
      "message": "Revert \"Revert \"Use start/finish app op API for mic use\"\"\n\nThis reverts commit 599ec462d94136949e0c90419ea99b0d9ba83eac.\n\nIn addition it fixes an incorrect comparison against opPackageName\ninstead of resolvedOpPackageName creating incorrect short circuit.\n\nTest: atest android.media.cts.AudioRecordAppOpTest\n      \"Okay Google\" works fine\n\nbug: 64085448\n\nChange-Id: I77a8486dfd6e4f020efdf05d28a856a32579ef31\n(cherry picked from commit 5b81f550759c975fe6716e4e7870b11e523834d0)\n"
    },
    {
      "commit": "dc9df6a12d848b32fbd041421c663d2014f32403",
      "tree": "db22c1efa2f9a971dba66e242ccdc3b7251d4f4d",
      "parents": [
        "0f70117175f4cbadde84212cbd10fb3261cafd03",
        "46c24cd8224d16124bb00b2cf35ae202d9484687"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 21:07:34 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 21:07:34 2018 +0000"
      },
      "message": "Merge \"heic content_encoding field is optional\" into pi-dev"
    },
    {
      "commit": "0f70117175f4cbadde84212cbd10fb3261cafd03",
      "tree": "d0cc5e3c5c688d44c0f0f5a3acb53f85df820282",
      "parents": [
        "692fe780caff1258960ecf9724a50d22c4d03961",
        "693047ddb938c16d00ef5c848aae9c52af7584ef"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 20:51:10 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 20:51:10 2018 +0000"
      },
      "message": "Merge \"Camera: stop streaming before deleting jpeg stream\" into pi-dev"
    },
    {
      "commit": "692fe780caff1258960ecf9724a50d22c4d03961",
      "tree": "03ada402d63a735e548ab8ed7261b97585d12bdb",
      "parents": [
        "92917f82b7d3b9ee64aca6ea2f725995bd81bf28",
        "35cc20b52fdc551b5b0ed1fc32803a56d82e8881"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 20:38:24 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 20:38:24 2018 +0000"
      },
      "message": "Merge \"Additional media.metrics for media recorder\" into pi-dev"
    },
    {
      "commit": "92917f82b7d3b9ee64aca6ea2f725995bd81bf28",
      "tree": "560c52203ed6fa6279e5a7510d15133d837cca32",
      "parents": [
        "08ce69c929657887519fe3300ae13a4a1afbad8e",
        "20c40b3d5694d768c9e009722b6de7e1c64bf5e6"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 20:30:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 20:30:50 2018 +0000"
      },
      "message": "Merge \"Create Codec2.0 service\" into pi-dev"
    },
    {
      "commit": "08ce69c929657887519fe3300ae13a4a1afbad8e",
      "tree": "a74eaf9c7c550843666490ddd2cb6883dbaafd39",
      "parents": [
        "c4a633e4f2da64e5d20901dcd0b6772c65f67eed",
        "a4f859cd14083195b6b17c4a16c9074410325934"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Fri Mar 09 19:26:42 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 19:26:42 2018 +0000"
      },
      "message": "Merge \"Handle overflow in android::HeifDataSource::readAt am: 237f9034c6\" into pi-dev"
    },
    {
      "commit": "a4f859cd14083195b6b17c4a16c9074410325934",
      "tree": "33042a3e6a07533c4c37c99162a78b97b86e3b3c",
      "parents": [
        "0df1e8d08aeb50771bdae54f77088f31531c4cb0",
        "237f9034c6cbe5cbafb0cd4c862d9dddfbdf7389"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Fri Mar 09 19:26:33 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Mar 09 19:26:33 2018 +0000"
      },
      "message": "Handle overflow in android::HeifDataSource::readAt\nam: 237f9034c6\n\nChange-Id: Idc655aa698903af90455f82b6aa665c6472872f5\n"
    },
    {
      "commit": "c4a633e4f2da64e5d20901dcd0b6772c65f67eed",
      "tree": "51f86d958966318c1cfaf530a5e2c397bd0add57",
      "parents": [
        "0df1e8d08aeb50771bdae54f77088f31531c4cb0",
        "706018544e02251ddd725b9ebc9e6fa827775ae0"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 19:26:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 19:26:28 2018 +0000"
      },
      "message": "Merge \"fix null terminated string parsing\" into pi-dev"
    },
    {
      "commit": "693047ddb938c16d00ef5c848aae9c52af7584ef",
      "tree": "8c2e22ec435196646a246b19ada1f6daff7b8ee7",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Thu Mar 08 12:14:19 2018 -0800"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Mar 09 10:48:40 2018 -0800"
      },
      "message": "Camera: stop streaming before deleting jpeg stream\n\nWith the change to update slowJpeg flag on the fly, it becomes\npossible a jpeg stream is deleted during active streaming.\n\nTest: TestingCamera change still picture size from small to large\nBug: 72261327\nChange-Id: Ia01b47926ab03cdfe1e0aa10fcf61ff984ba4e2c\n"
    },
    {
      "commit": "0df1e8d08aeb50771bdae54f77088f31531c4cb0",
      "tree": "d090f176a979eeb9841fc2b29cbc6bc6e85e509a",
      "parents": [
        "ae9e2acb4847594ef9747264f5d092d8fa251119"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Feb 16 10:05:03 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Mar 09 17:02:42 2018 +0000"
      },
      "message": "CCodec: Episode IV --- Raw Video Buffers\n\nDefine and handle new buffer types for raw video buffers.\n\nBug: 69376489\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest CtsMediaTestCases:ImageReaderDecoderTest#testOtherH264ImageReader\nChange-Id: I9d1061287e4c46526170ce395f826eccf4def4b7\n(cherry picked from commit 156398391ed8d14b527328cb276922168c8d91a8)\n"
    },
    {
      "commit": "ae9e2acb4847594ef9747264f5d092d8fa251119",
      "tree": "61eeb38a73235b99268c6fcb27c66b9e7c520c37",
      "parents": [
        "ecff3f95aece364d5b35600c6cfda1b04af52a7c"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 01 11:37:13 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Mar 09 17:01:31 2018 +0000"
      },
      "message": "CCodec: fix corner cases\n\n- Catch invalid createInputSurface requests.\n- Move buffer allocation from setComponent() to start().\n- Reset input surface at stop().\n- Ignore flushed work.\n\nBug: 74073134\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest android.media.cts.MediaCodecTest\nChange-Id: If95d3050e14fa9592d7eff4136a57326008455a0\n(cherry picked from commit e1c3b395209f2c03a290bf0c91c4d96dff5edf00)\n"
    },
    {
      "commit": "46c24cd8224d16124bb00b2cf35ae202d9484687",
      "tree": "2ca713b85366d94fbeb4e57d6d3bcb80790fa953",
      "parents": [
        "ecff3f95aece364d5b35600c6cfda1b04af52a7c"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 08 13:54:19 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 09 16:51:05 2018 +0000"
      },
      "message": "heic content_encoding field is optional\n\ncomply with the ISO spec that allows for content type fields to\nbe omitted in the mp4 header if they would be otherwise empty.\n\nBug: 74375003\nTest: before/after of PoC\nChange-Id: I522bacf192fee86122f603d6e87506e1a004f3f6\n(cherry picked from commit 237dc91c546cf5e39737812f49460b552a529f7d)\n"
    },
    {
      "commit": "35cc20b52fdc551b5b0ed1fc32803a56d82e8881",
      "tree": "543ac71490ea72be6b8038fd2b9e7bbd55e8e20d",
      "parents": [
        "ecff3f95aece364d5b35600c6cfda1b04af52a7c"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Feb 22 11:16:23 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Fri Mar 09 16:45:28 2018 +0000"
      },
      "message": "Additional media.metrics for media recorder\n\ncapture the output mime times (audio + video)\ncapture duration recorded\ncapture info about how the \u0027pause\u0027 capability is used [duration + count]\n\nBug: 73774549\nTest: manual recordings w\u0026w/o pauses\nChange-Id: Iae3d95984a97babb52afdbbb09872e44dd869573\n(cherry picked from commit 6145803cf8ad2b657d52348dbfbcebf031b49d3d)\n"
    },
    {
      "commit": "20c40b3d5694d768c9e009722b6de7e1c64bf5e6",
      "tree": "3e1428875a9101fed402a9e2364d031ce7f6ad6e",
      "parents": [
        "b3ee0c8ba072dc157a24263f0060d31e019a2810"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Mon Feb 26 16:27:02 2018 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Fri Mar 09 05:29:29 2018 -0800"
      },
      "message": "Create Codec2.0 service\n\nTest: adb shell setenforce 0\nadb shell /vendor/bin/hw/vendor.google.media.c2@1.0-service \u0026\nadb shell /vendor/bin/hw/vendor.google.media.c2@1.0-service-system \u0026\nadb shell lshal | grep media.c2\n\nTest: Builds\n\nBug: 31973802\nBug: 64121714\nChange-Id: I1912e6d52e710436422f1681db0ab1dc029d3a89\n"
    },
    {
      "commit": "ecff3f95aece364d5b35600c6cfda1b04af52a7c",
      "tree": "91ae688f5c560166eca9b273b9d967816c5b38a6",
      "parents": [
        "b3ee0c8ba072dc157a24263f0060d31e019a2810",
        "05625413ac93a2fcec0e96781745c0815ec59fb9"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Mar 09 08:28:08 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 08:28:08 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Ensure NonNull/Nullable for parameters of public methods\" into pi-dev"
    },
    {
      "commit": "05625413ac93a2fcec0e96781745c0815ec59fb9",
      "tree": "15f735491ac475e6b98b95c432d7d2bfc16aa534",
      "parents": [
        "b6b349550ffb505fd466f0f5aea635a52a569e13"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Mon Mar 05 13:58:31 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Mar 09 15:33:37 2018 +0900"
      },
      "message": "MediaSession2: Ensure NonNull/Nullable for parameters of public methods\n\nBug: 73863865\nTest: runtest-MediaComponents\nChange-Id: I29933367441471f7cfd6d7656e2410d2ce70beb7\n"
    },
    {
      "commit": "b3ee0c8ba072dc157a24263f0060d31e019a2810",
      "tree": "2af4686365cb9b892f5f5668e67986baf92ea238",
      "parents": [
        "d793957b0b89b747f004c7d1caad7972712d86fb",
        "ff169f45f86fb6e4da4a7513f920506716d0a375"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 06:33:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 06:33:13 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Remove tests from frameworks/av\" into pi-dev"
    },
    {
      "commit": "d793957b0b89b747f004c7d1caad7972712d86fb",
      "tree": "fd30ea007102ea6c525f4776c0f5b4276c8179b3",
      "parents": [
        "c940e6e76d82e4a0090e92d8f03214a633983dbe",
        "6d911874038d4e706b808d678d2ad79cfd11dc1f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 05:04:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 05:04:28 2018 +0000"
      },
      "message": "Merge \"codec2: fix {linear|graphic}Blocks() references\" into pi-dev"
    },
    {
      "commit": "c940e6e76d82e4a0090e92d8f03214a633983dbe",
      "tree": "4a5fd050edc4da5ae98cc616ebb4ac23b352fee9",
      "parents": [
        "de95aaa1f545827ab9e1ca3c52592e43b4222efa",
        "058c635085daa5dd2f230a7a0e644d1aca919e49"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 05:02:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 05:02:37 2018 +0000"
      },
      "message": "Merge \"Implement methods of MediaPlaylistAgentImpl\" into pi-dev"
    },
    {
      "commit": "de95aaa1f545827ab9e1ca3c52592e43b4222efa",
      "tree": "845ee18cc16e4a10fa958771430df199952a627d",
      "parents": [
        "829d4349a99c3c7fb20cb43714a77450b7e16a47",
        "e1cf5e5d9358c6ad6f39d4edb371d242454644ba"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 04:37:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 04:37:29 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Implement MediaSession2#updatePlayer()\" into pi-dev"
    },
    {
      "commit": "ff169f45f86fb6e4da4a7513f920506716d0a375",
      "tree": "b1f6fc2f083b0300625c04d549a9bc635bd2d27b",
      "parents": [
        "b6b349550ffb505fd466f0f5aea635a52a569e13"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Mar 09 13:36:16 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Fri Mar 09 13:36:16 2018 +0900"
      },
      "message": "MediaSession2: Remove tests from frameworks/av\n\nSince the same tests exist in CTS, this CL removes duplicated tests.\n\nBug: 72533540\nTest: Builds successfully\nChange-Id: Ia48943e546f1698d59cf7dc9b664c807e3ed6c7d\n"
    },
    {
      "commit": "829d4349a99c3c7fb20cb43714a77450b7e16a47",
      "tree": "01f4d4c63d166053e9f9ff19892d9534ceafebda",
      "parents": [
        "4706f6af73e485e4fbcb5ff76509fbd517223ad9",
        "6d32722cc21ebb0b2a01e3229d46b09eb11cebf1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 04:10:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 04:10:25 2018 +0000"
      },
      "message": "Merge \"C2SoftAac: fix error handling\" into pi-dev"
    },
    {
      "commit": "4706f6af73e485e4fbcb5ff76509fbd517223ad9",
      "tree": "9377310c2040e30410a0c12c8c5fa7de0255a259",
      "parents": [
        "a1bc17b32c37af2ff96361af5e14121c1aba56b2",
        "055e2afc2d1a7f6a6b7e65ca63ab0e8dab124f83"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 03:23:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 03:23:23 2018 +0000"
      },
      "message": "Merge \"Add AUDIO_FORMAT_AAC_XHE to type converter\" into pi-dev"
    },
    {
      "commit": "a1bc17b32c37af2ff96361af5e14121c1aba56b2",
      "tree": "2d321ec68f1a4bedac7e19a045b9e6a7cd0149ff",
      "parents": [
        "0d3062d6e86e98f9627d2e6275b26a82488740dd",
        "b9de87357ca9ad06b4357afefec240771c51645e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 03:09:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 03:09:48 2018 +0000"
      },
      "message": "Merge \"C2SoftAvc: fix flush and map error\" into pi-dev"
    },
    {
      "commit": "0d3062d6e86e98f9627d2e6275b26a82488740dd",
      "tree": "a7a9385d37cfdb18f025a8f5829572fc82761cfb",
      "parents": [
        "b6b349550ffb505fd466f0f5aea635a52a569e13",
        "46a97e0161acae28c1a188cdd5f8337c16e99678"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 03:09:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 03:09:29 2018 +0000"
      },
      "message": "Merge \"codec2: fix C2Buffer\" into pi-dev"
    },
    {
      "commit": "b6b349550ffb505fd466f0f5aea635a52a569e13",
      "tree": "3a4c1dd22f44f9f626eedf0f4315db30eba5691f",
      "parents": [
        "6378937c0d8215f2248217aa8f26d84f72a638ee",
        "2dc734060c4f27227cf129b1a41c68200d0ce67a"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 09 02:49:11 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 09 02:49:11 2018 +0000"
      },
      "message": "Merge \"C2SoftAvcEnc: don\u0027t crash at unexpected input\" into pi-dev"
    },
    {
      "commit": "058c635085daa5dd2f230a7a0e644d1aca919e49",
      "tree": "83cdbef92e8841ea7e64a36cb43aa4d042abc2cd",
      "parents": [
        "32edcf9e0e96e04d9274fe1f7b8122fc8dd16b93"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 08 23:53:59 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Fri Mar 09 11:42:49 2018 +0900"
      },
      "message": "Implement methods of MediaPlaylistAgentImpl\n\nBug: 74372183\nTest: Pass MediaComponent CTS\nChange-Id: I46ebe4ee64b3c6b6065d5cb1dd9fded7b2a8a423\n"
    },
    {
      "commit": "e1cf5e5d9358c6ad6f39d4edb371d242454644ba",
      "tree": "70ecda540df2bd3da532add6230b8f801347da9e",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Mar 08 17:48:46 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Fri Mar 09 11:29:55 2018 +0900"
      },
      "message": "MediaSession2: Implement MediaSession2#updatePlayer()\n\nBug: 74364873\nTest: Run MediaSession2Test in CTS\nChange-Id: I206cdcc55c72f549927a04b61e5d11b08af17d38\n"
    },
    {
      "commit": "986274d9c932d0df597d7809761b4cac2ac8e650",
      "tree": "881f5590ec5de07dde4d0ce1bde1bba6cafe6e69",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Mar 08 17:52:53 2018 -0800"
      },
      "committer": {
        "name": "Hangyu Kuang",
        "email": "hkuang@google.com",
        "time": "Thu Mar 08 17:52:53 2018 -0800"
      },
      "message": "MPEG4Writer: Handle writing of multiple NAL unit.\n\nSome HEVC encoder outputs buffer that with multiple NAL unit.\n\nBug: 71568797\nTest: Video Encoding and playback the video on PC\nChange-Id: I83d8d163322f11dd134bdcef1b944a10cb710349\n"
    },
    {
      "commit": "055e2afc2d1a7f6a6b7e65ca63ab0e8dab124f83",
      "tree": "8ccab19524791105a5caeefa498a2b8a22998b5e",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 08 17:04:03 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Thu Mar 08 17:05:07 2018 -0800"
      },
      "message": "Add AUDIO_FORMAT_AAC_XHE to type converter\n\nThis format has been recently added to system/audio.\n\nBug: 38184704\nTest: make\nChange-Id: Ida042451f80cd30d0f5d622ddba634ba51a9920c\n"
    },
    {
      "commit": "b9de87357ca9ad06b4357afefec240771c51645e",
      "tree": "c64109fe347fad565eee27fdb1026c38cec9d225",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 01 11:25:50 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Mar 09 01:03:44 2018 +0000"
      },
      "message": "C2SoftAvc: fix flush and map error\n\n- Fix infinite loop at flush.\n- Allocate flush buffer at setFlushMode().\n- Handle input buffer mapping error.\n- Remove unused code.\n\nBug: 74073134\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest android.media.cts.MediaCodecTest\nMerged-In: I6d0187fcd1d9ff2cf90bbf79d21ead1fba5df5a6\nChange-Id: I6d0187fcd1d9ff2cf90bbf79d21ead1fba5df5a6\n(cherry picked from commit 21914e524bcde2054cab13e7acacb25a09b825aa)\n"
    },
    {
      "commit": "706018544e02251ddd725b9ebc9e6fa827775ae0",
      "tree": "a5a132f55d0c4a28524e9468c53fd0e0f152b92b",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 08 15:23:43 2018 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Mar 08 15:25:48 2018 -0800"
      },
      "message": "fix null terminated string parsing\n\nbug: 63633199\nChange-Id: I443d8799281d22d02e25df844739ef6c376ef9e2\n"
    },
    {
      "commit": "237f9034c6cbe5cbafb0cd4c862d9dddfbdf7389",
      "tree": "b2f46bad990085ba544d327fa5407075073f786b",
      "parents": [
        "4d4c46123781e08facc5ac8ba5bcf09dd0eb3ad7"
      ],
      "author": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Mon Mar 05 15:21:33 2018 -0800"
      },
      "committer": {
        "name": "Sungtak Lee",
        "email": "taklee@google.com",
        "time": "Thu Mar 08 22:17:36 2018 +0000"
      },
      "message": "Handle overflow in android::HeifDataSource::readAt\n\nBug: 73782357\nChange-Id: I03a5b4c5ddaf2664f342973da7f1a79f29cd7be5\n"
    },
    {
      "commit": "6d911874038d4e706b808d678d2ad79cfd11dc1f",
      "tree": "9b2604861f1f2df4184a6c648b7062dfd67ed94d",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Mar 06 17:08:13 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 08 22:09:13 2018 +0000"
      },
      "message": "codec2: fix {linear|graphic}Blocks() references\n\nFix references to temporary objects.\n\nBug: 74073134\nTest: builds\nChange-Id: Ic742dee5e45e1a0dc0efb22b748e1d42d7978fc6\n(cherry picked from commit 971f74c60ec84c18e8aa1d5f6ba6dd53d93299cf)\n"
    },
    {
      "commit": "2dc734060c4f27227cf129b1a41c68200d0ce67a",
      "tree": "4f2649fdbddcdede21a4870c8475dfd1faca70fa",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 01 11:29:04 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 08 22:08:16 2018 +0000"
      },
      "message": "C2SoftAvcEnc: don\u0027t crash at unexpected input\n\nReport failure instead of crash at input buffer size different than\nwhat\u0027s configured.\n\nBug: 74073134\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest android.media.cts.MediaCodecTest\nChange-Id: Id6c5eef205ae56f7b120cf5030630c7eabd8bc30\n(cherry picked from commit fab635c8f7f86db4aee369a2459579a88bcf291c)\n"
    },
    {
      "commit": "6378937c0d8215f2248217aa8f26d84f72a638ee",
      "tree": "5bcf90dbf4c492090a742be5a2ff93781303138f",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 01 11:18:12 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 08 22:07:32 2018 +0000"
      },
      "message": "codec2: fix SimpleC2Component race condition\n\n- Fix race condition around stop/reset/release.\n- Call onFlush at processing thread.\n\nBug: 74073134\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest android.media.cts.MediaCodecTest\nChange-Id: I74c2d84c35842907c1f7f6e862d37b748409a73f\n(cherry picked from commit e3534403fa6666408fd419fc9809b3efbfa94479)\n"
    },
    {
      "commit": "6d32722cc21ebb0b2a01e3229d46b09eb11cebf1",
      "tree": "85ee33e73bf984f94593f219489514401d7cecad",
      "parents": [
        "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 01 11:22:16 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 08 22:06:55 2018 +0000"
      },
      "message": "C2SoftAac: fix error handling\n\n- Handle zero-length data.\n- Do not return prematurely for corrupted data.\n\nBug: 74073134\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest android.media.cts.MediaCodecTest\nChange-Id: I641c3200b9817d44e3e938c03a5d796857ed1be7\n(cherry picked from commit b210d63597f3006d1966212d353184ceb2741edf)\n"
    },
    {
      "commit": "6fd4657ec95d780d9ca8a89e5f16c1cc157a229e",
      "tree": "0e8d2fbfe19d388155e055347b00118443557797",
      "parents": [
        "3964a42e6acd6760e6c53edbf888f8b136dffd38",
        "4d4c46123781e08facc5ac8ba5bcf09dd0eb3ad7"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 08 19:05:58 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 08 19:05:58 2018 +0000"
      },
      "message": "Merge changes from topic \"am-3bd7761d-0a22-43c4-98aa-44bfc62874ad\" into oc-dev am: e17682a20c am: 6c5e30f60c\nam: 4d4c461237\n\nChange-Id: I890b8b24b4af583b258f008be469dfb178375cfb\n"
    },
    {
      "commit": "4d4c46123781e08facc5ac8ba5bcf09dd0eb3ad7",
      "tree": "093e3102ff0dc8f45f2780127edd3bc9730c8fa7",
      "parents": [
        "2c3a8890730e386b9aa0e56fcd417514a1e91cfe",
        "6c5e30f60c21f94bd0a8c9f815a5aa4366ac8e8a"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 08 18:59:01 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 08 18:59:01 2018 +0000"
      },
      "message": "Merge changes from topic \"am-3bd7761d-0a22-43c4-98aa-44bfc62874ad\" into oc-dev am: e17682a20c\nam: 6c5e30f60c\n\nChange-Id: Icc0ceb178cb24c443b040e704f5a7c379555b220\n"
    },
    {
      "commit": "6c5e30f60c21f94bd0a8c9f815a5aa4366ac8e8a",
      "tree": "af8f789b069e2cdadee8f427734b553f55c1ceb1",
      "parents": [
        "3f60a22fd8b0dfd812818611ebe1f726023ef615",
        "e17682a20c0baf7ab216be6b4f19998085d6da0d"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Mar 08 18:52:48 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 08 18:52:48 2018 +0000"
      },
      "message": "Merge changes from topic \"am-3bd7761d-0a22-43c4-98aa-44bfc62874ad\" into oc-dev\nam: e17682a20c\n\nChange-Id: Ifca9cd37a7d20404a2cd48fd2a09a1801d574037\n"
    },
    {
      "commit": "e17682a20c0baf7ab216be6b4f19998085d6da0d",
      "tree": "e63be131e18cb7639ebbadcf6416aa6fa378335c",
      "parents": [
        "2bd167ec3ca316c5ef7c380417a740e933630606",
        "7f7b75fbf5d84bd6a068ae7bd661bfe7f82168bc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 18:34:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 18:34:48 2018 +0000"
      },
      "message": "Merge changes from topic \"am-3bd7761d-0a22-43c4-98aa-44bfc62874ad\" into oc-dev\n\n* changes:\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9 am: 5c8526df8c am: 7a013b328e am: a47fe84c56\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9 am: 5c8526df8c am: 7a013b328e\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9 am: 5c8526df8c\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5\n  [automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073\n  better mpeg2 TS elementary stream Access Unit parsing\n"
    },
    {
      "commit": "3964a42e6acd6760e6c53edbf888f8b136dffd38",
      "tree": "caea0542121287aa80b472faab7f60f696993843",
      "parents": [
        "a297137ad12d56bcf56c2dfd190ed727ee28e87c",
        "be351d8a6124e90007b55ece0ac00e9f3d9d641f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 18:06:48 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 18:06:48 2018 +0000"
      },
      "message": "Merge \"audio: Update TypeConverter\" into pi-dev"
    },
    {
      "commit": "a297137ad12d56bcf56c2dfd190ed727ee28e87c",
      "tree": "054f1d3ce3d3a4a58bf3751ea8e5cbdf037493d2",
      "parents": [
        "32edcf9e0e96e04d9274fe1f7b8122fc8dd16b93",
        "99e1fcf9dfb4963347dcb9d72df4e42d859b8887"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Mar 08 13:18:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 13:18:25 2018 +0000"
      },
      "message": "Merge \"frameworks/av: Set LOCAL_SDK_VERSION where possible.\" into pi-dev"
    },
    {
      "commit": "32edcf9e0e96e04d9274fe1f7b8122fc8dd16b93",
      "tree": "f0fb250df9f0840d25a8576c83def87c963eb578",
      "parents": [
        "8cf0d38498dd04ad3398b88acced533e1e919f3c",
        "5348b91dcfd87be1f9339f7765f778ad890fc8dc"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 12:08:47 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 12:08:47 2018 +0000"
      },
      "message": "Merge \"Make MediaPlaylistAgent updatable\" into pi-dev"
    },
    {
      "commit": "8cf0d38498dd04ad3398b88acced533e1e919f3c",
      "tree": "e34a13159eaa00ee65748daa151eef3184fa13e2",
      "parents": [
        "99495369d669f72db25646dfe3f2e1b8b7718e6b",
        "1516ee939bcfe12cbcfdcdede894dc63c8912da8"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Mar 08 11:38:25 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 11:38:25 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add script to minimally run cts test\" into pi-dev"
    },
    {
      "commit": "99e1fcf9dfb4963347dcb9d72df4e42d859b8887",
      "tree": "2a93e64e64e3454650c90b98edbcb251f08f66d5",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 23 17:21:46 2018 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Thu Mar 08 10:56:45 2018 +0000"
      },
      "message": "frameworks/av: Set LOCAL_SDK_VERSION where possible.\n\nThis change sets LOCAL_SDK_VERSION for all packages where\nthis is possible without breaking the build, and\nLOCAL_PRIVATE_PLATFORM_APIS :\u003d true otherwise.\n\nSetting one of these two will be made required soon, and this\nis a change in preparation for that. Not setting LOCAL_SDK_VERSION\nmakes the app implicitly depend on the bootclasspath, which is\noften not required. This change effectively makes depending on\nprivate apis opt-in rather than opt-out.\n\nTest: make relevant packages\nBug: 73535841\nExempt-From-Owner-Approval: Global cleanup\nChange-Id: I616c59eede8627f73ed79c77b3a45c52eec1cd80\nMerged-In: I616c59eede8627f73ed79c77b3a45c52eec1cd80\n"
    },
    {
      "commit": "99495369d669f72db25646dfe3f2e1b8b7718e6b",
      "tree": "484bb83c831672af1dbf5a8f99a6638b4f69fba3",
      "parents": [
        "16ac9b680a7a965b49b443dc5a1e03ef4f14ab99",
        "fee84b36c24efda32200fcf4e9dc653071651f97"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Mar 08 10:34:30 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 10:34:30 2018 +0000"
      },
      "message": "Merge \"VideoView2Impl: Implement RoutePlayer\" into pi-dev"
    },
    {
      "commit": "5348b91dcfd87be1f9339f7765f778ad890fc8dc",
      "tree": "11dc8d71ae2c26d076dfe537aef57e8884c9703d",
      "parents": [
        "fee84b36c24efda32200fcf4e9dc653071651f97"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 08 15:15:04 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 08 18:12:56 2018 +0900"
      },
      "message": "Make MediaPlaylistAgent updatable\n\nBug: 74366050\nTest: Pass MediaComponents test\nChange-Id: Id4d213e84b4c6081e177d2f297cbf6444f9f50b2\n"
    },
    {
      "commit": "16ac9b680a7a965b49b443dc5a1e03ef4f14ab99",
      "tree": "167615b8fbfc9f7327af408bfdf420cc08b110af",
      "parents": [
        "4db55b03d35155737e65ddaa0e802c3452371969",
        "c8508bf04576790230c5a32b329a4b47468ac7fb"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Mar 08 08:56:50 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 08:56:50 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Clean up TODOs under frameworks/base\" into pi-dev"
    },
    {
      "commit": "1516ee939bcfe12cbcfdcdede894dc63c8912da8",
      "tree": "32dbd243d0551ef2e26b3a93d4608ae57dba2a90",
      "parents": [
        "873deb0c896a42ba2e82844b611c85eeebc852b8"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Mar 08 17:49:13 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Mar 08 17:49:13 2018 +0900"
      },
      "message": "MediaSession2: Add script to minimally run cts test\n\nThis script runs CTS tests minimally to only includes MediaComponents\nrelated tests. This would save time.\n\nBug: 72533540\nTest: Use the script to run tests\nChange-Id: I0ceb1afcd45cb3b19134acdd8610468059f00efa\n"
    },
    {
      "commit": "46a97e0161acae28c1a188cdd5f8337c16e99678",
      "tree": "1ad44dfd8dd0aa85d78c74eea72c08bffbe94688",
      "parents": [
        "4db55b03d35155737e65ddaa0e802c3452371969"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 01 11:08:57 2018 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Mar 08 05:14:59 2018 +0000"
      },
      "message": "codec2: fix C2Buffer\n\n- _C2MappingBlock2DImpl::Mapped hold shared_ptr to _C2Block2DImpl\n  instead of raw pointer to prevent use-after-free.\n\nBug: 74073134\nTest: adb shell setprop debug.stagefright.ccodec yes\nTest: adb shell setprop debug.stagefright.omx_default_rank 1000\nTest: adb shell killall mediaserver\nTest: atest android.media.cts.MediaCodecTest\nChange-Id: Icf3bb6aa781da9916c891a1325480051f6ffdffe\n(cherry picked from commit 450e9b164ff11abfe6a739bdc355463fd3588469)\n"
    },
    {
      "commit": "fee84b36c24efda32200fcf4e9dc653071651f97",
      "tree": "fb7b35b6b310aaea0bd6c7a326e4137cb9779ca4",
      "parents": [
        "c8508bf04576790230c5a32b329a4b47468ac7fb"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Feb 08 15:24:34 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 08 13:56:36 2018 +0900"
      },
      "message": "VideoView2Impl: Implement RoutePlayer\n\nBug: 72527212\nTest: manually using VideoViewTest\nChange-Id: Ia162f880d0d399641e6821e27f38c7dde98d954b\n"
    },
    {
      "commit": "c8508bf04576790230c5a32b329a4b47468ac7fb",
      "tree": "f114512fca69b7e49e73e180f7d5625abaf84345",
      "parents": [
        "fa97d22b9463a9ad4c2d4e16b6644ab97da150d4"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Thu Mar 08 10:49:02 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Thu Mar 08 13:54:27 2018 +0900"
      },
      "message": "MediaSession2: Clean up TODOs under frameworks/base\n\nThis change includes\n  - Addressed trivial TODOs (takes less than 1min)\n  - Renamed playlist controller to playlist agent\n  - Renamed mplc to playlistAgent\n  - Renamed mpb to player\n  - Assigned buganizer issues for TODOs\n\nBug: 74361045\nTest: Run MediaComponentsTest\nChange-Id: I44b4c7b543ac513914632e3ee235d3151840d3e0\n"
    },
    {
      "commit": "4db55b03d35155737e65ddaa0e802c3452371969",
      "tree": "6205243451c70e8c53f49448d0b4764f598fb55b",
      "parents": [
        "fa97d22b9463a9ad4c2d4e16b6644ab97da150d4",
        "2c3a8890730e386b9aa0e56fcd417514a1e91cfe"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Mar 08 01:44:37 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 08 01:44:37 2018 +0000"
      },
      "message": "[automerger] Handle bad bitrate index in mp3dec. am: 8b63812376 am: 1c388693ae am: d1cd373be8 am: b589cde346 am: c512ab83dc am: 1527d62132 am: 93783a217f am: 04ba4099f3 am: c8d96838ba am: 2bd167ec3c am: 3f60a22fd8\nam: 2c3a889073\n\nChange-Id: I51992490f50a93dfb1fa08aafede11576a9b1282\n"
    },
    {
      "commit": "2c3a8890730e386b9aa0e56fcd417514a1e91cfe",
      "tree": "026260552f2ede35cf8aa59746481a9904b77b37",
      "parents": [
        "49d4aa0a7407ea6632c4a3441c7a4d922d003ea5",
        "3f60a22fd8b0dfd812818611ebe1f726023ef615"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Mar 08 01:38:57 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 08 01:38:57 2018 +0000"
      },
      "message": "[automerger] Handle bad bitrate index in mp3dec. am: 8b63812376 am: 1c388693ae am: d1cd373be8 am: b589cde346 am: c512ab83dc am: 1527d62132 am: 93783a217f am: 04ba4099f3 am: c8d96838ba am: 2bd167ec3c\nam: 3f60a22fd8\n\nChange-Id: Ia614999bf0716fad5e9ebfddeaaffecc655edf79\n"
    },
    {
      "commit": "3f60a22fd8b0dfd812818611ebe1f726023ef615",
      "tree": "0a11915de47da9f8c8eeecb3c9c1d5634de7845d",
      "parents": [
        "6579d3cdc0b5d713314f0456f9cb83c15afabde5",
        "2bd167ec3ca316c5ef7c380417a740e933630606"
      ],
      "author": {
        "name": "Dongwon Kang",
        "email": "dwkang@google.com",
        "time": "Thu Mar 08 01:34:16 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Mar 08 01:34:16 2018 +0000"
      },
      "message": "[automerger] Handle bad bitrate index in mp3dec. am: 8b63812376 am: 1c388693ae am: d1cd373be8 am: b589cde346 am: c512ab83dc am: 1527d62132 am: 93783a217f am: 04ba4099f3 am: c8d96838ba\nam: 2bd167ec3c\n\nChange-Id: I730b7ba31244faf09e73fce236740cde695dcdf6\n"
    },
    {
      "commit": "fa97d22b9463a9ad4c2d4e16b6644ab97da150d4",
      "tree": "e24e1919cddc4c9c9121f08242491ae6d70edcb0",
      "parents": [
        "96fa7ff5c44bc2abbc824c3b300dd53f7189f60c",
        "7094f5451cef80d34dba4a459380a162d39afb1f"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Mar 08 01:09:28 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 08 01:09:28 2018 +0000"
      },
      "message": "Merge \"VideoView2: Initial integrated version with MediaPlayer2\" into pi-dev"
    },
    {
      "commit": "7f7b75fbf5d84bd6a068ae7bd661bfe7f82168bc",
      "tree": "d895500b591fdf9c847c3e2333ec442402e680e1",
      "parents": [
        "a28856d4cf6ae6e63bd5e38297013bec70c405fd",
        "a47fe84c568c3582461adf31a064429bc347b6ab"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:14 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:14 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9 am: 5c8526df8c am: 7a013b328e am: a47fe84c56\n\nChange-Id: Ic855ad9d159aa86987a644e4ce343d0bbca7601d\n"
    },
    {
      "commit": "a47fe84c568c3582461adf31a064429bc347b6ab",
      "tree": "78cc3f43f298b594569af2be171a419cbac1761c",
      "parents": [
        "7e571e4cb91e6df8c64d98715ce50f7dc6aaeac3",
        "7a013b328e8091f10ea6bd86d04ac0c2593b2932"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:12 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:12 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9 am: 5c8526df8c am: 7a013b328e\n\nChange-Id: I5c326779fecb1e3e0b5c01712d6fad7f00e614c1\n"
    },
    {
      "commit": "7a013b328e8091f10ea6bd86d04ac0c2593b2932",
      "tree": "292ba1c6156aaca754c75acd6664ae766f1251e3",
      "parents": [
        "59c933355047943760f55ad419c6393a263a0e63",
        "5c8526df8c485c02688aa2c02a49c1748577a59f"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:11 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:11 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9 am: 5c8526df8c\n\nChange-Id: I1e9e73e06f56802fd196560da639dd5fc8d656d5\n"
    },
    {
      "commit": "5c8526df8c485c02688aa2c02a49c1748577a59f",
      "tree": "7da8f4fdec1c09ac2065e9776f51b22d2a20d0ff",
      "parents": [
        "15c0925fbdcf646f7688963de2e5d0f164569f7e",
        "066a8f10d91eec1d9ddf96c5d452fc2e1e35eb56"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:09 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:09 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c am: 066a8f10d9\n\nChange-Id: Ib92b503d8d264f6f1daa17407197e8239221d489\n"
    },
    {
      "commit": "066a8f10d91eec1d9ddf96c5d452fc2e1e35eb56",
      "tree": "253cf5bf0cd6acaa017274f54e340178d92a2e64",
      "parents": [
        "991a84f3d8dccb5f3c51389296ade779094d388b",
        "127bf0250c8a07578b41a83dda72d7b8fa6ac6a3"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:08 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:08 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15 am: 127bf0250c\n\nChange-Id: Ide146476eca69618f3f9667c7fddfab321738fae\n"
    },
    {
      "commit": "127bf0250c8a07578b41a83dda72d7b8fa6ac6a3",
      "tree": "1c244bab246da7ddc465e3e353b1210252be4ad4",
      "parents": [
        "c3762fa14781f8356129096bce5c5e49b35ef5ec",
        "a1284afb157d618d7a08fa91edcbfadabe5e799c"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:06 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:06 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468 am: a1284afb15\n\nChange-Id: I1e1c1dfece8e63afba56c4bc109cd37c59f5320a\n"
    },
    {
      "commit": "a1284afb157d618d7a08fa91edcbfadabe5e799c",
      "tree": "933304405226801f788a318fa0a6996dde934ab1",
      "parents": [
        "9b8f9d3c0020a3aed60d4b0a098015e4081b03f4",
        "87ddba14688a9d97a4b4adbdd806cfa103a9fb99"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:04 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:04 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5 am: 87ddba1468\n\nChange-Id: I0bfed1c848b24ac5dfe968d0414c86b1482b47ea\n"
    },
    {
      "commit": "87ddba14688a9d97a4b4adbdd806cfa103a9fb99",
      "tree": "3d7f8233531248b9b257024591d94983433b9554",
      "parents": [
        "842144c61639146cd21866a64b5250be858b5aa9",
        "e3f5c363c53bab8d76da5a50af0630132b33b2c8"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:03 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:03 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073 am: e3f5c363c5\n\nChange-Id: Ia125464dcfe916d2d7d94df8501ea3b41bf9aab2\n"
    },
    {
      "commit": "e3f5c363c53bab8d76da5a50af0630132b33b2c8",
      "tree": "3c106f917884ac3acb72ac54ac27629dae610369",
      "parents": [
        "099f0d75f6ea5382d014f1afcc30646591b3c0f3",
        "371066d073c5db289b0f38b9d2bfd3e326c78c66"
      ],
      "author": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:01 2018 +0000"
      },
      "committer": {
        "name": "Android Build Merger (Role)",
        "email": "noreply-android-build-merger@google.com",
        "time": "Wed Mar 07 23:43:01 2018 +0000"
      },
      "message": "[automerger] better mpeg2 TS elementary stream Access Unit parsing am: 371066d073\n\nChange-Id: Ia434c856ae0297883c2dbc24a1ee9ff32dd92502\n"
    },
    {
      "commit": "371066d073c5db289b0f38b9d2bfd3e326c78c66",
      "tree": "1f82906471f3575c6e858aa7b858bd6989245888",
      "parents": [
        "fd3a46a9bafa259609f246990804d26496af7150"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Mar 06 15:55:29 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Wed Mar 07 15:34:04 2018 -0800"
      },
      "message": "better mpeg2 TS elementary stream Access Unit parsing\n\nmpeg2 es stream access units have a 3 byte prefix and a 1 byte start\ncode. Searching for the next access unit started after the prefix\ninstead of after the start byte.\n\nBug: 74114680\nTest: ran POC before/after\n"
    },
    {
      "commit": "96fa7ff5c44bc2abbc824c3b300dd53f7189f60c",
      "tree": "2f5f2c13eac4655152265a5bdcff6fc92f6d91ab",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db",
        "49d4aa0a7407ea6632c4a3441c7a4d922d003ea5"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Mar 07 22:24:11 2018 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Mar 07 22:24:11 2018 +0000"
      },
      "message": "heif: use width and height for decoder -- DO NOT MERGE\nam: 49d4aa0a74  -s ours\n\nChange-Id: I2355b6c68f04912fcbc39a15ceeb68ce8a7c8550\n"
    },
    {
      "commit": "be351d8a6124e90007b55ece0ac00e9f3d9d641f",
      "tree": "57cf1b1c64f5c25ef34d3f567130d8b6f52a945a",
      "parents": [
        "cda259fbfd8e64cde11251d6a8dea89c907789db"
      ],
      "author": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Mar 07 11:15:15 2018 -0800"
      },
      "committer": {
        "name": "Mikhail Naganov",
        "email": "mnaganov@google.com",
        "time": "Wed Mar 07 19:28:13 2018 +0000"
      },
      "message": "audio: Update TypeConverter\n\nAdded enum-to-string entries for new output devices,\naudio formats, and channel masks\n\nBug: 38184704\nBug: 63901775\nTest: make\nChange-Id: Iab6c3d9222701f1508d3f617d6ae48016c62c19e\n"
    },
    {
      "commit": "cda259fbfd8e64cde11251d6a8dea89c907789db",
      "tree": "2f5f2c13eac4655152265a5bdcff6fc92f6d91ab",
      "parents": [
        "c83a248be36a565aa9a8d65cf27a464428bb6851",
        "703e4995c6c034626b9262fd16a82ae58f686b90"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 13:03:37 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 13:03:37 2018 +0000"
      },
      "message": "Merge \"Camera: Don\u0027t hold locks during shared output dequeue\" into pi-dev"
    },
    {
      "commit": "c83a248be36a565aa9a8d65cf27a464428bb6851",
      "tree": "7dc572a1daf33b310d8d56d148635aa5da319f2d",
      "parents": [
        "44da223a0d322b58e53ae65d58c4b7151879cb70",
        "e0e207174080d93a97b5c0ab84dcf84dd47c730c"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Mar 07 12:42:27 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 12:42:27 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Implement setAllowedCommands()\" into pi-dev"
    },
    {
      "commit": "44da223a0d322b58e53ae65d58c4b7151879cb70",
      "tree": "bbdf6d8d6aab1e7da6324d839025b2813e2ac702",
      "parents": [
        "873deb0c896a42ba2e82844b611c85eeebc852b8",
        "0e9c2d441fb790e580c3885205778f01f4fccf4f"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 11:23:29 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 11:23:29 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Fix random NPE in MediaBrowser2Test\" into pi-dev"
    },
    {
      "commit": "e0e207174080d93a97b5c0ab84dcf84dd47c730c",
      "tree": "8879a2d343636aaa8a31f54af87ffb942bc1ec91",
      "parents": [
        "873deb0c896a42ba2e82844b611c85eeebc852b8"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 13:57:07 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Wed Mar 07 19:29:01 2018 +0900"
      },
      "message": "MediaSession2: Implement setAllowedCommands()\n\nBug: 73148658\nTest: Passed MediaSession2Test and PermissionTest\nChange-Id: Id151dd5de601186e2ab51ff0a9e6ce67a95921c1\n"
    },
    {
      "commit": "873deb0c896a42ba2e82844b611c85eeebc852b8",
      "tree": "e8a26f1b7de30ff934bbdde658217851e2763a86",
      "parents": [
        "ee19f10ecc303d6c02edbbb5b0632f7b92f3d22d"
      ],
      "author": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 14:58:54 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:54:49 2018 +0900"
      },
      "message": "Remove MediaPlaylistController, add MediaPlaylistAgent\n\nBug: 64098437\nTest: build\nChange-Id: I6382634e5d3e02e1bae36d9eb02dd1a859ffc072\n"
    },
    {
      "commit": "ee19f10ecc303d6c02edbbb5b0632f7b92f3d22d",
      "tree": "64680beb1ee4308fa818cec1d89a4f59e14f9c02",
      "parents": [
        "20e21fd7110d016ef1a8bd01e0c9e092bf9ef193"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 15:43:25 2018 +0900"
      },
      "committer": {
        "name": "Sungsoo Lim",
        "email": "sungsoo@google.com",
        "time": "Wed Mar 07 16:40:21 2018 +0900"
      },
      "message": "MediaSession2: Add onDataSourceMissingHelper\n\nThis allows a developer to create DataSourceDesc when the item is about\nto be played. Typical example of the usages are,\n\n    1. For a playlist consists of FileDescriptors, its developer may not\n        want to open all files when MediaSession2.setPlaylist() is\n        called.\n    2. A controller has called setPlaylist(), addPlaylistItem(), or\n        replacePlaylistItem(). Controller cannot know the\n        DataSourceDesc, and only the session developer can know about\n        it.\n\nBug: 64098437\nTest: Run MediaComponents test\nChange-Id: Ic109408f838405f5aec94dfba94c47ca97bc65c5\n"
    },
    {
      "commit": "20e21fd7110d016ef1a8bd01e0c9e092bf9ef193",
      "tree": "eda489f5b74933e9b174bf200c3d8f966805823b",
      "parents": [
        "23c7448e0da051a8edcbcd8ccda90cabd4dae20b",
        "b9cfbf1fdcfcf3e09f894c8dbf32ce915489a3e2"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 07 03:23:51 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 03:23:51 2018 +0000"
      },
      "message": "Merge changes from topic \"audio-hal-v4-pi-dev\" into pi-dev\n\n* changes:\n  Audio V4: Introduce 4.0 shim to HIDL\n  Audio V4: Update namespace and version of 4.0 shim\n  Audio V4: Copy 2.0 audiohal to 4.0\n  Audio V4: *CNT and *MAX are no longer part of the enum\n"
    },
    {
      "commit": "23c7448e0da051a8edcbcd8ccda90cabd4dae20b",
      "tree": "08f06834b0edabfb09b292563c9cc43bdb15b11b",
      "parents": [
        "18b0f4bfc652f02815fd390919bb4a2ae59f508b",
        "ac17bd8b2a2fcbc413ba8244f43a06893cac6692"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Wed Mar 07 02:24:35 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 02:24:35 2018 +0000"
      },
      "message": "Merge \"Remove duplicated libdl from shared_libs\" into pi-dev"
    },
    {
      "commit": "18b0f4bfc652f02815fd390919bb4a2ae59f508b",
      "tree": "f62e3bdad2d0a506bc8dffcb5137b3f2428108c6",
      "parents": [
        "b9332a43b873c95958a390a5ce5a3e65b831a5bf",
        "1d753af5c56bd8ba413a77ea1f80d33fe5f92407"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Wed Mar 07 00:02:09 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 07 00:02:09 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\" into pi-dev"
    },
    {
      "commit": "b9332a43b873c95958a390a5ce5a3e65b831a5bf",
      "tree": "f0e72bb1deffaad656c2a779a2be6ed3d3a296df",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d",
        "2476e0419c86bb08850e0525a79204fc6d22ce1e"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 23:06:18 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 23:06:18 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Ask server whether a controller is trusted\" into pi-dev"
    },
    {
      "commit": "b9cfbf1fdcfcf3e09f894c8dbf32ce915489a3e2",
      "tree": "3ee86d4f8aebd548528dc07cab6a59c828833a6b",
      "parents": [
        "51e076a8fc69d4275cabc3e6d54eab44d590280d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 23 19:11:06 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: Introduce 4.0 shim to HIDL\n\nThe difference between the 2.0 and the 4.0 is very small\nby design and most of the modification have been made in a\nretro compatible way\nThe intent is to be able to merge the two implementation\nbut it could not be done in this patch due to time constrains.\n\nBug: 38184704\nTest: compile\nChange-Id: I4738928313b7fd1f6332c0f22bb802d4fba41d82\nMerged-In: I4738928313b7fd1f6332c0f22bb802d4fba41d82\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "51e076a8fc69d4275cabc3e6d54eab44d590280d",
      "tree": "14552fd00b86764988015f3208a517d7ab60dc52",
      "parents": [
        "4bcd67fbb4eca3654ea929742bdf6ccc7c70daec"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 28 14:36:53 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: Update namespace and version of 4.0 shim\n\nPut the shim in a V4_0 namespace to comply with the ODR.\nMake the include guard unique.\nSplit from the error prone interface adaptation change for safer review.\n\nPatch generated with:\nsed -i \u0027s/V2_0/V4_0/g\u0027 *\nsed -i \"/include.*2.0/s/2\\.0/4.0/\" *\nsed -i \u0027/namespace android *{/anamespace V4_0 {\u0027 *\nsed -Ei \u0027s/(ifndef|define|endif)(.*)_H/\\1\\2_4_0_H/\u0027 *\nsed -Ei \u0027s#}(.*)namespace android$#}\\1namespace V4_0\\n\\0#\u0027 *\n\nBug: 38184704\nTest: Compile\nChange-Id: I7d3aa46b3dfec664cbeea8a6b946456b8e8f06e3\nMerged-In: I7d3aa46b3dfec664cbeea8a6b946456b8e8f06e3\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "4bcd67fbb4eca3654ea929742bdf6ccc7c70daec",
      "tree": "0f75367d70828f4caca61ad0404300631e891f91",
      "parents": [
        "174e1094a41828111c86793232d9492ab8e29395"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Feb 28 14:33:38 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: Copy 2.0 audiohal to 4.0\n\nFor easier review of the changes, first copy 2.0 to 4.0, the changes\nare made in the following patch.\n\nBug: 38184704\nTest: compile\nChange-Id: I5bf16e5f8e7b61cc13e86c06b899ec4e6624a961\nMerged-In: I5bf16e5f8e7b61cc13e86c06b899ec4e6624a961\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "174e1094a41828111c86793232d9492ab8e29395",
      "tree": "5953220a17f0194dc236c61a720a155db6401bb4",
      "parents": [
        "9f0cfbc8e914c414b227fd174e4f205ecf95353d"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Fri Feb 23 15:14:50 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Tue Mar 06 11:30:49 2018 -0800"
      },
      "message": "Audio V4: *CNT and *MAX are no longer part of the enum\n\naudio.h used to have *_CNT and *_MAX values in its enum\nmostly for enum iteration.\n\nThis was not compatible with Treble as it denied any enum\ninheritance.\n\n*_CNT and *_MAX are now implemented with macro that can\nbe updated and are not part of the API.\n\nBug: 38184704\nTest: Compile\nChange-Id: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nMerged-In: I3921fdf3435ba114ca77a4595ba8fc97a5e0438d\nCherry-picked from master\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "703e4995c6c034626b9262fd16a82ae58f686b90",
      "tree": "9beb3497544c2a09c5a3b4d929d5ffdc7a1fbeed",
      "parents": [
        "b95a5989190a427a7ea092dc18741af524009bdb"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Feb 27 11:42:09 2018 +0000"
      },
      "committer": {
        "name": "Emilian Peev",
        "email": "epeev@google.com",
        "time": "Tue Mar 06 11:21:01 2018 +0000"
      },
      "message": "Camera: Don\u0027t hold locks during shared output dequeue\n\nBlocking dequeue calls for async output surfaces seem to be\npossible. Refactor the code so that stream splitter doesn\u0027t\nhold any locks during output surface dequeue calls triggered\nby buffer released callbacks.\n\nBug: 73953239\nTest: Camera CTS\nChange-Id: Ia2166de73d2b8de7ef4157e81c87f53c8a264c0c\n"
    },
    {
      "commit": "0e9c2d441fb790e580c3885205778f01f4fccf4f",
      "tree": "b1190386b9e6693cc096a20d355649ea5f903a84",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 19:49:07 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 19:49:07 2018 +0900"
      },
      "message": "MediaSession2: Fix random NPE in MediaBrowser2Test\n\nMediaSessionService#getSession() may be null until the\nMediaSessionService#onCreate(), and its session callback can be called\nbefore that. (e.g. System service can try connecting to the session\nin another thread)\n\nDon\u0027t use MediaSessionService#getSession() when it\u0027s unclear whether\nthe MediaSessionService#onCreate() is finished.\n\nBug: 74177171\nTest: Run MediaComponents test 10 times\nChange-Id: I86ded320d4adc88a610749d23e116c833e207b17\n"
    },
    {
      "commit": "9f0cfbc8e914c414b227fd174e4f205ecf95353d",
      "tree": "b0d44dbbcfd4459cc65c59b67b34ddda4d2d7ff4",
      "parents": [
        "7c1236a0348c5a4af53e99ad0cd78664cf0b743f",
        "e5a7b36ee3da0e49efb0216027dfe1e8049eadc1"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 08:59:13 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 08:59:13 2018 +0000"
      },
      "message": "Merge \"MediaSession2: Update Builder\" into pi-dev"
    },
    {
      "commit": "7094f5451cef80d34dba4a459380a162d39afb1f",
      "tree": "59fcfe01c9dc8f2c4c118dbe5aef365c6de35bb5",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Mar 06 15:38:41 2018 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Mar 06 17:27:27 2018 +0900"
      },
      "message": "VideoView2: Initial integrated version with MediaPlayer2\n\nBug: 72721322\nTest: manually VideoViewTest app\nChange-Id: I41597b4a3a30d615cacb3a92ab31fb1cbe3fde81\n"
    },
    {
      "commit": "7c1236a0348c5a4af53e99ad0cd78664cf0b743f",
      "tree": "a28f02e958bb8fb8a9d7dd31d383fcfa548929d4",
      "parents": [
        "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e",
        "e3aa65d131bbbb0ff48fd1f00a3fdd8614d24c04"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 07:55:14 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 07:55:14 2018 +0000"
      },
      "message": "Merge \"VideoView2: Move MediaControlView2\u0027s hidden constants\" into pi-dev"
    },
    {
      "commit": "e5a7b36ee3da0e49efb0216027dfe1e8049eadc1",
      "tree": "ec7abda8d5648cbaa356cb939938ab09fb5ae957",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 15:37:24 2018 +0900"
      },
      "committer": {
        "name": "Hyundo Moon",
        "email": "hdmoon@google.com",
        "time": "Tue Mar 06 15:56:44 2018 +0900"
      },
      "message": "MediaSession2: Update Builder\n\nThis CL updates following APIs of session builder:\n - setPlayer\n - setPlaylistController\n - setVolumeController\n\nBug: 74093082\nTest: runtest-MediaComponents\nChange-Id: I55d76400a6e18427955d4b5f9d5451007633e40c\n"
    },
    {
      "commit": "1d753af5c56bd8ba413a77ea1f80d33fe5f92407",
      "tree": "7d4dac80997bd8dcf5b779ddfcba42bcf0712fb4",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Mar 05 16:09:27 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 15:28:46 2018 +0900"
      },
      "message": "MediaSession2: Add MediaPlaylistController.PlaylistEventCallback\n\nThis includes following changes per offline discussion\n  - Add MediaPlaylistController.PlaylistEventCallback\n  - Add following APIs to the MediaPlaylistController\n    * registerPlaylistControllerCallback() /\n      unregisterPlaylistControllerCallback()\n    * getRepeatMode() / setRepeatMode()\n    * getShuffleMode() / setShuffleMode()\n    * setPlaylist() with metadata\n    * setPlaylistMetadata() / getPlaylistMetadata()\n  - Add following APIs to the SessionCallback\n    * onMediaPrepared()\n    * onPlayerStateChanged()\n    * onBufferingStateChanged()\n  - Remove following methods from ControllerCallback\n    * onPlaylistChanged()\n\nBug: 64098437\nBug: 74157064\nTest: passed MediaComponentTest\nChange-Id: I5ad12a9a5d6a7d9e23a577dca8ea26fbacb8f259\n"
    },
    {
      "commit": "e3aa65d131bbbb0ff48fd1f00a3fdd8614d24c04",
      "tree": "4373e83e85d59d7fecf19ae4251214acbeca36d9",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Mar 05 13:40:29 2018 +0900"
      },
      "committer": {
        "name": "Jin Seok Park",
        "email": "jinpark@google.com",
        "time": "Tue Mar 06 15:16:09 2018 +0900"
      },
      "message": "VideoView2: Move MediaControlView2\u0027s hidden constants\n\nBug: 74173212\nTest: VideoViewTest app\nChange-Id: I7038130e91f48b7d9b4e70d08221f6397e4e3317\n(cherry picked from commit 1afda1905dffbc9833779b80a01de0b113346ba8)\n"
    },
    {
      "commit": "ac17bd8b2a2fcbc413ba8244f43a06893cac6692",
      "tree": "3dd9d3dca951f4b2e3e89aedb906d53855907d08",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 14:05:16 2018 +0800"
      },
      "committer": {
        "name": "Logan Chien",
        "email": "loganchien@google.com",
        "time": "Tue Mar 06 14:05:16 2018 +0800"
      },
      "message": "Remove duplicated libdl from shared_libs\n\nTest: Pixel 2017 builds and boots.  Media works.\nChange-Id: Ifb78ab4f7018db3cdb8f64b9dbe79d26150a573b\n"
    },
    {
      "commit": "2476e0419c86bb08850e0525a79204fc6d22ce1e",
      "tree": "bc607ed786e0c80f98677c032be36fbe82d91e3c",
      "parents": [
        "149eb6afa90f56697bcd1f14868191d1428a54b5"
      ],
      "author": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Mon Mar 05 17:53:28 2018 +0900"
      },
      "committer": {
        "name": "Jaewan Kim",
        "email": "jaewan@google.com",
        "time": "Tue Mar 06 14:14:13 2018 +0900"
      },
      "message": "MediaSession2: Ask server whether a controller is trusted\n\nBug: 73150040\nTest: Run all MediaComponents tests once\nChange-Id: Ice3db9baeaf4c1cd258ae380c3f1f9e92bade291\n"
    },
    {
      "commit": "0cd95065c5d293f0d6e53cd75e44d20106dd2e6e",
      "tree": "a6f501e0ab021946977d8d395ed254e9f36e9283",
      "parents": [
        "bb32f8706f7c7b15c9d1822e9514494864883bd0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Sun Jan 21 17:41:16 2018 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Mar 05 20:56:57 2018 -0800"
      },
      "message": "nuplayer2: port GenericSource2 to NDK APIs\n\nBug: 63934228\nChange-Id: I8bddacf5ce9eb8f22f3d4a945e0a7db1b52628d3\n"
    },
    {
      "commit": "bb32f8706f7c7b15c9d1822e9514494864883bd0",
      "tree": "87139d5e94e1b83b96077e3209072ce20e94c581",
      "parents": [
        "23409227017bb4cfc7c84efa2d95ce1bb90b2956",
        "e321f352f94729a80826550b1c082ec2510dbd5c"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 06 02:04:23 2018 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 06 02:04:23 2018 +0000"
      },
      "message": "Merge \"Enable pooled C2BlockPool\" into pi-dev"
    }
  ],
  "next": "23409227017bb4cfc7c84efa2d95ce1bb90b2956"
}
