)]}'
{
  "log": [
    {
      "commit": "322db26b76f7511c6d73f34a92a4e54840fcb876",
      "tree": "bd9b2b3017bfc330e84a5fb50f1eb6966dd116de",
      "parents": [
        "02cccfd9e790ba8758aba2b4f2a600a7d8fd1566"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 28 10:20:07 2017 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Fri Apr 28 11:12:23 2017 -0700"
      },
      "message": "IMediaExtractor: ensure users to check returned value by getTrack.\n\nTest: fix the crash from the stream in the bug.\nBug: 37777357\nChange-Id: Ia99907c396a2074a9419db9b8103a9325b290169\n"
    },
    {
      "commit": "d4e9ca49a3863beeb0027f51e2331e4c5ec2402b",
      "tree": "06901a3ffc0c76fea0ad2d4a43a91ffc6ca5441e",
      "parents": [
        "f3134a01aa2574f8ab62f58f1a76b77029201196"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 29 17:24:56 2017 -0700"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 29 17:39:26 2017 -0700"
      },
      "message": "Remove dependency on persist.hal.binderization.\n\nTest: Manual use of Camera, Movies, Photos and YouTube apps.\n\nTest: With CtsMediaTestCases.apk installed,\nadb shell am instrument -e size small -w\n\u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\n\nBug: 34274385\nChange-Id: I5251fea337f33460d1f0db174cedc465822f2a47\n"
    },
    {
      "commit": "434dfd4927d8ae175302ad880710991512edcbdb",
      "tree": "8c28d83efebd3a8f0bd91330efddaa413ef355a4",
      "parents": [
        "5a1ebf934b4313b64b10130da3b9498d5cf72f74",
        "c5bac3aa840a6a467ae63d097775c112cd611665"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 15 20:08:58 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 15 20:08:59 2017 +0000"
      },
      "message": "Merge \"Fix build warnings and make build warnings be errors\""
    },
    {
      "commit": "c5bac3aa840a6a467ae63d097775c112cd611665",
      "tree": "2acad9729c6186f78e25e1bcf0ae6f04df9e07b0",
      "parents": [
        "0012417ddc1320c6df79258266da1e869036b211"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 22 14:03:23 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 10 14:44:04 2017 -0800"
      },
      "message": "Fix build warnings and make build warnings be errors\n\nTest: screenrecord builds without warnings, both now and in future\nChange-Id: Id8098c2be445715e0b4dd35e2b7aed0c7757d1fe\n"
    },
    {
      "commit": "2752e5b66ac80b5d6bcba1db186f29f86722956b",
      "tree": "56718dcfb2d642a6eb8d074d95033cf186541170",
      "parents": [
        "22fd9de35b387f1ed808f4fe6e0b87eac3e82690"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Mon Feb 27 18:26:48 2017 -0800"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Wed Mar 08 23:10:24 2017 +0000"
      },
      "message": "fallout of getting rid of IGraphicBufferAlloc\n\nTest: compile \u0026 run\nBug: cleanup\nChange-Id: Ifba0668d798c523c556ca7dae2c172711a256b05"
    },
    {
      "commit": "ac7d4125516299b8a3e6f2b25822a692bdd96311",
      "tree": "ec382c07861eb03439ee4e1e97918b767a2e56f3",
      "parents": [
        "881fc5c65fc7d8c56af0dea181d751fcec3a2b1c"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 01 05:48:42 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Mar 01 22:34:46 2017 -0800"
      },
      "message": "Use tokens for IOmxNode.\n\nTest: Mirroring, Camera, Photos, YouTube and Play Movies apps.\nBug: 35442034\nChange-Id: I0e43ec57d0f37c71d41652fd9883b72650433e20\n"
    },
    {
      "commit": "568e453d72f4026c1a0e902d533f9352a7ca190c",
      "tree": "3d77d5424af6003189c32f51a35888fe4741c46b",
      "parents": [
        "a45c300fcad38e23107b3ad8dd1d3935f5127f9c",
        "7e0c3c3e93cdf0d1fe59b82e8bc9c7c2fa678faf"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Thu Feb 23 19:21:09 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 19:21:10 2017 +0000"
      },
      "message": "Merge \"Revert \"OMX: don\u0027t respect binderization toggle.\"\""
    },
    {
      "commit": "a45c300fcad38e23107b3ad8dd1d3935f5127f9c",
      "tree": "ebb1fdbb397479e9bd836f24e1ad3acd37ea6331",
      "parents": [
        "99c915d334e3810784474900297ee13d7523e61c",
        "373580e1d51d3e89c16612998a10105fea09c3c5"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 23 18:55:13 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 23 18:55:14 2017 +0000"
      },
      "message": "Merge \"OMX: don\u0027t respect binderization toggle.\""
    },
    {
      "commit": "7e0c3c3e93cdf0d1fe59b82e8bc9c7c2fa678faf",
      "tree": "f84175c38a7eecfd339e89b2a8b908ece9a6e2ed",
      "parents": [
        "373580e1d51d3e89c16612998a10105fea09c3c5"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:15:02 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:15:02 2017 -0800"
      },
      "message": "Revert \"OMX: don\u0027t respect binderization toggle.\"\n\nThis reverts commit 373580e1d51d3e89c16612998a10105fea09c3c5.\n"
    },
    {
      "commit": "373580e1d51d3e89c16612998a10105fea09c3c5",
      "tree": "b827b264c0c291c8f1e51a5f34185bab836b2c30",
      "parents": [
        "92a4bab4807d6a6736587e99094a10c420aa0a7d"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:11:46 2017 -0800"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Wed Feb 22 21:11:46 2017 -0800"
      },
      "message": "OMX: don\u0027t respect binderization toggle.\n\nTest: pass\nChange-Id: I495c71b0a39ae8423e109219f8f5e96812fe2aa1\n"
    },
    {
      "commit": "0d3a5edf232916e81adbc46fc0f4a1753166b066",
      "tree": "2a67d7027cf4a069050d4d035cca903b291c81a0",
      "parents": [
        "92a4bab4807d6a6736587e99094a10c420aa0a7d"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 22 03:19:35 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 22 18:20:45 2017 -0800"
      },
      "message": "Remove the dependency on passthrough IOmx in media.codec.\n\nAlso clean up some other dependencies.\n\nTest: Manual testing with Camera, YouTube and Play Movies apps.\nBug: 35445903\nChange-Id: I28562b5fbcc7054cf45c4ec2530bbe2ab4b5645f\n"
    },
    {
      "commit": "9c47c97ecac581d66b6febafd156618247e86742",
      "tree": "c49b5394e42b293c0333754bf01c71d387227833",
      "parents": [
        "6ab6061131a10b7f38074c156fd529fa3719a32b"
      ],
      "author": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Wed Feb 08 04:09:38 2017 -0800"
      },
      "committer": {
        "name": "Pawin Vongmasa",
        "email": "pawin@google.com",
        "time": "Thu Feb 16 11:16:06 2017 -0800"
      },
      "message": "Enable full migration of OMX to Treble.\n\n1. Toggling between Treble and non-Treble OMX will now be controlled by\ntwo properties: \"persist.hal.binderization\" and\n\"persist.media.treble_omx\". (Before this CL, this was controlled by\n\"debug.treble_omx\".)\n- If persist.media.treble_omx is not set, it will assume a default value\nof -1.\n- If persist.media.treble_omx is -1, persist.hal.binderization will be\nused to determine whether OMX will be created as a Treble or non-Treble\nservice.\n- If persist.media.treble_omx is 1, OMX will be created as a Treble\nservice.\n- If persist.media.treble_omx has any other value, OMX will be created\nas a non-Treble service.\n- persist.media.treble_omx can be changed without rebooting, but it will\nonly take effect after media.codec and mediaserver processes are killed.\n\n2. Remove all dependencies on non-Treble service. This was not done for\nMediaCodec, MediaPlayerService::Client, MediaRecorderClient, stagefright\ncommand, and omx_tests command. OMXClient and media.codec process will\nnow pick the right version of OMX based on properties mentioned above.\nBefore this CL, media.codec would always present the non-Treble version\nof OMX regardless of the flag.\n\n3. Provide workarounds for some HIDL issues.\n- A sequence of nested binder and hwbinder calls require many threads to\nhandle. (b/35283480) The workaround is to increase the number of threads\nin the thread pool of media.codec process.\n- android.hidl.base@1.0::IBase::unlinkToDeath takes a strong pointer\ninstead of a weak pointer. (b/35233970) This causes an infinite\nrecursion in the destructor of ServiceDeathNotifier in\nMediaPlayerService::Client and MediaRecorderClient. The workaround moves\ncalls to unlinkToDeath() outside of the destructor.\n\nTest: Recorded and played videos with Camera app. Ran stagefright and\nomx_tests commands.\nBug: 31399200\n\nChange-Id: Id1940ed982838e10bf10fe8ed5b7bb912a5a2d3a\n"
    },
    {
      "commit": "dff26e5f53b248fd8cc6605850240c7e7c5438dc",
      "tree": "44bf496554011f1187e0641781c2db44d031af9d",
      "parents": [
        "186673877157260cbfb05c5be51e9ac6e6a4d8bc"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Dec 01 16:11:42 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Sat Jan 07 00:46:17 2017 +0900"
      },
      "message": "Revert \"Revert \"MediaCodec refactoring part 2-b: introduce BufferChannel\"\"\n\n- MediaCodec stops tracking the whole buffer array from OMX.\n- BufferChannel handles array management instead, if necessary.\n- MediaCodec delegates secure buffer management to BufferChannel.\n- Remove sf2.\n\nBug: 32133435\nTest: adb shell am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Play an encrypted content in Play Movies\nTest: Mirror the screen via Cast.\nChange-Id: I1ca705687956ad972e31257853c54e29cbd7181a\n"
    },
    {
      "commit": "186673877157260cbfb05c5be51e9ac6e6a4d8bc",
      "tree": "cb9faec85a33ff26eef0c72836c71ec514e692cc",
      "parents": [
        "4efe5dcbde4266b807a2c27c004b0851ad36fe10",
        "fad01bc45bd47b8f12c89857fee20b7e37310125"
      ],
      "author": {
        "name": "TreeHugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Jan 06 01:26:47 2017 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jan 06 01:26:48 2017 +0000"
      },
      "message": "Merge \"Revert \"MediaCodec refactoring part 2-b: introduce BufferChannel\"\""
    },
    {
      "commit": "fad01bc45bd47b8f12c89857fee20b7e37310125",
      "tree": "02131fe258f37b38db813b4215ef07596a13ab60",
      "parents": [
        "11b72100e02e02b6cd8a6b14cd2068c96dc49b7d"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 05 23:37:13 2017 +0000"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Jan 05 23:37:13 2017 +0000"
      },
      "message": "Revert \"MediaCodec refactoring part 2-b: introduce BufferChannel\"\n\nBug: 34059849\n\nThis reverts commit 11b72100e02e02b6cd8a6b14cd2068c96dc49b7d.\n\nChange-Id: I0ab93a617477861a4e6f43152e6b03d5c88783ab\n"
    },
    {
      "commit": "61c2351da89cb281b2dfd56c6c6779ccb4bc1172",
      "tree": "06467964d8028baca22b8e968e4954d32c2780c6",
      "parents": [
        "51ac35503501692300f9772c29c2d2f4dc43a245"
      ],
      "author": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Tue Dec 13 20:32:25 2016 -0800"
      },
      "committer": {
        "name": "Dan Willemsen",
        "email": "dwillemsen@google.com",
        "time": "Wed Dec 14 19:23:08 2016 -0800"
      },
      "message": "Fix mismatched-tags error\n\nThese are exposed when frameworks/av/include is moved from being a\nsystem include directory to a normal include directory.\n\nTest: m -j checkbuild\nChange-Id: Iaa8f3808d578ebedc75e863b9818cfbbec9080b2\n"
    },
    {
      "commit": "9b46a8f9ebcca3b86662e7ea998a2afea0153478",
      "tree": "011b117d3fa1fa492ff9037e09a19eac74d8de7b",
      "parents": [
        "0567940b9eca82b99dbe631b020873b85059cc19",
        "11b72100e02e02b6cd8a6b14cd2068c96dc49b7d"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Dec 07 01:14:55 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Dec 07 01:14:56 2016 +0000"
      },
      "message": "Merge \"MediaCodec refactoring part 2-b: introduce BufferChannel\""
    },
    {
      "commit": "11b72100e02e02b6cd8a6b14cd2068c96dc49b7d",
      "tree": "d81fbb4c974c772209cc49e0ec357aa465f509e4",
      "parents": [
        "c2d29c48ea9314f1db836a906c95ee9bd6ef11c8"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Dec 01 16:11:42 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Dec 07 01:46:44 2016 +0900"
      },
      "message": "MediaCodec refactoring part 2-b: introduce BufferChannel\n\n- MediaCodec stops tracking the whole buffer array from OMX.\n- BufferChannel handles array management instead, if necessary.\n- MediaCodec delegates secure buffer management to BufferChannel.\n- Remove sf2.\n\nBug: 32133435\nTest: adb shell am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Play an encrypted content in Play Movies\nTest: Mirror the screen via Cast.\nChange-Id: Idc9fdee42ea0cdd3b5f15ba5c51647c3e16504a1\n"
    },
    {
      "commit": "96626b7f9a4e5c9e1e04f7f710383631d1470364",
      "tree": "c4bf3f8aca5060b7574d0a531597145d0bbfe9aa",
      "parents": [
        "66c42ee95b42bea78cfc8035a1ea4e00c34d6cac"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 01 13:58:59 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Dec 01 15:12:27 2016 -0800"
      },
      "message": "Use property_get_bool where possible\n\nMake handling of boolean properties more readable and consistent by\nusing property_get_bool instead of parsing the result of property_get\n\nChange-Id: I8490d0f0b41a92eab5131e0aac0ecdf704a63381\n"
    },
    {
      "commit": "d71f16268227c15a0ac2043e15900db5df2c417d",
      "tree": "ddcbcd595155f9e8517848e7c2dca053ef557902",
      "parents": [
        "1f28e57bba33aca40775ae0e62cd28dbc22e834f",
        "79054b1f53b448511f1edb6e0dcab1d7b6f39964"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Nov 29 02:38:07 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 29 02:38:08 2016 +0000"
      },
      "message": "Merge \"MediaCodec refactoring part 2-a: introduce callback\""
    },
    {
      "commit": "92d57f926eb39d72e8fd8f3b3c9e40d25f77ad47",
      "tree": "42986a629018563b7bb286b4a05082cd83d0216d",
      "parents": [
        "bd54eef2d289f786a7ae02139ce3bb9db2b03b24"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Nov 22 10:36:03 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 28 19:04:03 2016 +0000"
      },
      "message": "Move \u0027sniff\u0027 functionality from DataSource to MediaExtractor\n\nand don\u0027t register the sniffers in every process that plays media,\nbut only in the extractor process.\n\nBug: 33166870\n\nChange-Id: Id269d1eab8be1549542adad3037729a63b5ebaef\n"
    },
    {
      "commit": "79054b1f53b448511f1edb6e0dcab1d7b6f39964",
      "tree": "ec7b24befa1733bf6fec43ffc07d4103551daae1",
      "parents": [
        "9ea205b1302f85bbf9364c1f41210c1837863f00"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Nov 14 23:49:45 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Mon Nov 21 23:59:08 2016 +0900"
      },
      "message": "MediaCodec refactoring part 2-a: introduce callback\n\nCodecBase instances do not post reply messages back to MediaCodec\nexplicitly --- Callback does the job instead.\n\nBug: 32133435\nTest: adb shell am instrument -e size small -w \u0027android.media.cts/android.support.test.runner.AndroidJUnitRunner\u0027\nTest: Play an encrypted content in Play Movies\nChange-Id: I210993a3bbc306f970b8e9395a91e8697cfa832e\n"
    },
    {
      "commit": "349b8b4c47817a565ded94ff351caf48782f1252",
      "tree": "2e907eb35aca41fc603faa2c304eaba93180466b",
      "parents": [
        "4d2bf460f16044c89d55a4444716cb2ee673975a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Nov 17 17:05:26 2016 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Nov 18 02:09:17 2016 +0000"
      },
      "message": "stagefright: fix potential codec leaks in async stop/reset\n\nCurrently if stop is followed by a reset from another thread,\nwe unblock the stop first (to avoid ANR) without waiting for\nkWhatShutdownCompleted, and proceed with the reset request.\nBut this could cause release to return too early when the\nkWhatShutdownCompleted for the stop is received. When this\nhappens, the reset() will unregister ACodec\u0027s handlers before\nthe real shutdown with deallocation is processed, causing\na codec node instance to be leaked.\n\nTo solve this problem, separate kWhatShutdownCompleted into\ntwo messages kWhatStopCompleted and kWhatReleaseCompleted.\nRelease should only return upon kWhatReleaseCompleted.\n\nAlso initializing the fence fd in the metadata buffer (even\nthough it\u0027s not used) to avoid warning in freeBuffer.\n\nbug: 32750454\nbug: 32971559\n\nChange-Id: If218c853955729a2a2f2e8356908115a79c442e3\n"
    },
    {
      "commit": "538ec5e04f389cba637b030757be317fcb8677a8",
      "tree": "c9c576057efe1f6c0bdf1a4cbf6b58dce68f5e3f",
      "parents": [
        "e085c1072f017d4910f7e49741f72e8a722b8892"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Nov 02 13:21:22 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 04 12:14:36 2016 -0700"
      },
      "message": "Split libmedia into libmedia and libaudioclient\n\nThis makes it so audioserver doesn\u0027t need to link against the entire libmedia,\nwhich has dependencies on camera, ICU, OpenGL and other things that aren\u0027t\nneeded for audio.\n\nTest: build/boot\n\nChange-Id: I99ba1a3dc3b33ca9b3abd98e7519dbf228ee62af\n"
    },
    {
      "commit": "fd44d8e2f2d37184f7add67125657f3fbfb5a085",
      "tree": "d5f5db87a94f6f4d13ba6fe8c1328617271270c1",
      "parents": [
        "1e4d737fcd3129f3b3cf29499f344b42219c6bc7"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Thu Oct 20 23:20:12 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Oct 26 14:59:06 2016 +0900"
      },
      "message": "MediaCodec refactoring part 1-c: buffer ownership\n\n- Buffers are (roughly) owned by themselves.\n- As a corollary, remove output format change related events\nand replace by inspecting formats associated with each buffers.\n\nBug: 32133435\nTest: gts-tradefed run gts -m GtsExoPlayerTestCases\nTest: (manual) Run Play Movies app to play a secure content.\nChange-Id: I6b57da61c2d71acd0d5be4281de823ba1c95b72f\n"
    },
    {
      "commit": "5f5ee1110dd85001b43db7637a97474acfe8d681",
      "tree": "b9678c6154ad559ceb43989f832a105d11e38296",
      "parents": [
        "c471bc541c7d43a91cc034ca67938b94324bfc56"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Aug 15 16:13:48 2016 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Oct 05 11:42:19 2016 -0700"
      },
      "message": "LOCAL_CLANG :\u003d true is now the default\n\nTest: verify that build has no failures\nChange-Id: Ib249b276c6295e55eb54fa37b6d15486415dfbed\n"
    },
    {
      "commit": "7e34bf5af26f8752d4786d3098740cdf51e2438f",
      "tree": "683b624805503653ebae9f105abde2a8ea86a8fe",
      "parents": [
        "616445eaa07885173767544d3c5a61ad652d1171"
      ],
      "author": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Tue Aug 23 00:09:18 2016 +0900"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Fri Sep 30 20:05:18 2016 +0900"
      },
      "message": "MediaCodec refactoring part 1-a: buffers become separate class\n\nMediaCodecBuffer is meant to replace ABuffer and MediaBuffer in\ncommunication between framework components. As the first step, replace\nuse of ABuffer in MediaCodec with MediaCodecBuffer, and adjust related\nclasses accordingly.\n\nMediaCodec.getBuffer() and related APIs now returns MediaCodecBuffers;\nthus change MediaCodec clients to use MediaCodecBuffer accordingly.\n\nTest: manually tested for key use cases (Camera, YouTube and Play Movies)\nChange-Id: Iba7ce131645e75ce5ddbf497fb793ab38b7f245b\n"
    },
    {
      "commit": "fb10012d05d3125b8a7763d22903028f033b4e6c",
      "tree": "a93b4dfdf091c3700935828c365836c091fbf79b",
      "parents": [
        "b18b2069710294ed30fcaf7e58776101e1c2d9a8",
        "545bcd53c828cf5b57e9158feb2e24bf0cd77985"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Tue Aug 23 22:10:03 2016 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 23 22:10:03 2016 +0000"
      },
      "message": "Merge \"screenrecord: add monotonic timestamps option\""
    },
    {
      "commit": "40d8899f60c5212af9d727ba0ffaaecf676ebd1d",
      "tree": "c5f73f25fe643e3b8657ad07ba9ea28e5d02066c",
      "parents": [
        "f6d5a13c3a7a84e35e28b9840dde0f29728b6849"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Tue Aug 09 14:28:14 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Aug 10 10:35:36 2016 -0700"
      },
      "message": "Fix clang-tidy warnings in stagefright.\n\n* Add explicit keyword to conversion constructors.\n* Or add NOLINT to implicit conversion constructors.\nBug: 28341362\n* Use const reference type for read-only parameters.\nBug: 30407689\n* Use const reference type to avoid unnecessary copy.\nBug: 30413862\nTest: build with WITH_TIDY\u003d1\n\nChange-Id: I7a15ac1e37973fe2c661f577a6106b913653de40\n"
    },
    {
      "commit": "545bcd53c828cf5b57e9158feb2e24bf0cd77985",
      "tree": "e117c195b9656b9d9ca041dbb5f6cb7a0c9d1b92",
      "parents": [
        "1c8a038b2a8a0a14d9bc2ebaf31ff113d4778af5"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Jul 25 16:20:06 2016 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Mon Jul 25 18:03:04 2016 -0700"
      },
      "message": "screenrecord: add monotonic timestamps option\n\nChange-Id: Ic2cef7161c256f12e60434b32f455f40ebf3d7bf\n"
    },
    {
      "commit": "dd2eb28860a88bf2fbf3e1443b51e05996f0e9be",
      "tree": "eea34acf28dfdc63f9dd4244ab143d4dff7877dd",
      "parents": [
        "afaf9cd17b01b6dd0d19dee96aa6cab03f4acf69",
        "a6c2f96018533e24f44480f5336e56cc98f0a341"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jul 21 15:52:58 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jul 21 15:52:58 2016 +0000"
      },
      "message": "Merge \\\"screenrecord: fix race condition\\\" into nyc-mr1-dev\nam: a6c2f96018\n\nChange-Id: I2dc9541d7f2122a5b5aac15de4680b2dea865b0c\n"
    },
    {
      "commit": "c46b8ac3b572395119656da2276e6831713b2d70",
      "tree": "a74c2005108b27af145a74168e2dd7c569729158",
      "parents": [
        "38c75d9d30b0b40e3d926503d553c869ce7bec1c"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jul 20 13:52:01 2016 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jul 20 15:18:22 2016 -0700"
      },
      "message": "screenrecord: fix race condition\n\nWhen pressing ctrl-c immediately after starting screenrecord (after\nsetting the signal handler, but before gStopRequested is set to false)\nthe record loop would never exit.\nAlso delete the target file before recreating it, to avoid multiple\ninstances of screenrecord writing the same file.\n\nBug: 30247947\nChange-Id: I374c125dac69e75638955680a2a5da81e3b22ffe\n"
    },
    {
      "commit": "e6edb77448c23cca27555a955948b0d2c68ea9c0",
      "tree": "66e82950474558e55860c2117fa8f03bcb3ad1f2",
      "parents": [
        "2277c490ef7820031954243f3cd9b2df43f7a043",
        "2cd9322c77b119e012aefe59bdd816e0ac44f356"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 26 00:36:16 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu May 26 00:36:16 2016 +0000"
      },
      "message": "Merge \"stagefright: support webm container in muxer cmdline\" into nyc-dev am: 29d7654d7b\nam: 2cd9322c77\n\n* commit \u00272cd9322c77b119e012aefe59bdd816e0ac44f356\u0027:\n  stagefright: support webm container in muxer cmdline\n\nChange-Id: I9699d85a91e07cc0bd636fdc626d2d600739cb21\n"
    },
    {
      "commit": "0ce6e969ccce7b5826630484c5574252c4ca6acd",
      "tree": "56f28d6f6af47a266e6d3e9d5f8af3ba5a1d6d9b",
      "parents": [
        "76016ccf97237b131087651db34bdec9e0c81d43"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue May 24 19:17:40 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 26 00:15:11 2016 +0000"
      },
      "message": "stagefright: support webm container in muxer cmdline\n\nBug: 28931391\nChange-Id: Iff7cde0bd271c64d8dbabbf7df1773d71b109442\n"
    },
    {
      "commit": "c41e6c8d624a7f33f24f98964d067824421f49ee",
      "tree": "404f482a8d9877b315c355cf8a3c110f5888e47e",
      "parents": [
        "c895c3ab413d86d053549f1473f3d10b7a2210f0",
        "d681f2a041e0fb565e1daacabf2e672f8abfc2d2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat May 21 02:35:17 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Sat May 21 02:35:17 2016 +0000"
      },
      "message": "Merge \"stagefright: fix issues with bitrate handling\" into nyc-dev am: 2b1a242470\nam: d681f2a041\n\n* commit \u0027d681f2a041e0fb565e1daacabf2e672f8abfc2d2\u0027:\n  stagefright: fix issues with bitrate handling\n\nChange-Id: Ic2b274331bd4958da01c3a9d13ba62fdc8498700\n"
    },
    {
      "commit": "46f80165c595d81dda68f8f3fea27f4fb04937dd",
      "tree": "4da9697ed302ace4644f9dd27d4a0bfca357b727",
      "parents": [
        "d4c4d2248bdfd06dc7b23dd2d81541d3941f8bf9"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 19 15:35:47 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 20 03:43:30 2016 +0000"
      },
      "message": "stagefright: fix issues with bitrate handling\n\n- parse btrt mp4 box\n- write max and avg. bitrates into avcc\n- fix the use of \"bit-rate\" vs. the correct \"bitrate\"\n- document ESDS better\n- fix some spacing\n\nBug: 28671284\nChange-Id: I94961a095c6d162af38b7999cc946f899a1b1b09\n"
    },
    {
      "commit": "f2a4c632b254a176ddccb4d78af2d2a8c7231060",
      "tree": "773cb546ed4f66bb7b93d832546b702135604a66",
      "parents": [
        "a990d6abfa42ca595d4b3f97f449fe2cf6aaf8c9",
        "f1a0ec37b9edd755ba95835acedd6673dfd947e2"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue May 10 08:11:01 2016 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue May 10 08:11:01 2016 +0000"
      },
      "message": "Merge changes I58b03acd,I7d7eb086 into nyc-dev am: 0d0a8b48d2\nam: f1a0ec37b9\n\n* commit \u0027f1a0ec37b9edd755ba95835acedd6673dfd947e2\u0027:\n  stagefright: untangle metadata-mode handling\n  stagefright: add a way to update native handle in OMX buffers\n\nChange-Id: I9d1b51e1c6f486f1c8fe36383adcc4261b056256\n"
    },
    {
      "commit": "3e328782f1e1061d08ea0c45b855cc418a2d9ea6",
      "tree": "db604a686666d52d54d74d42a9625e833fa1d39f",
      "parents": [
        "7e0bef8aa6bf9db06079b743794ec2712ad84431"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon May 09 10:56:46 2016 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon May 09 15:46:36 2016 -0700"
      },
      "message": "stagefright: untangle metadata-mode handling\n\n- specify requested metadata mode from producers to OMX\n- (pass requested metadata in IOMX::storeMetadataInBuffers)\n- use correct logic for native handle source\n- use native handle source for encoded meta buffers\n\nBug: 22775369\nChange-Id: I58b03acd3e9a5367d5010d7f87b7af5cae23362c\n"
    },
    {
      "commit": "47734c9509ecb472c2844cae46e2d916b9358321",
      "tree": "6b17e7f1540458e2f1abbe1c082353f920edc3df",
      "parents": [
        "20be7bf5ba6f3d4db36686d5af4316006cf9bb27",
        "98a9b2a491360c762e2ed46a9126f576693645a5"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon May 02 12:23:44 2016 -0700"
      },
      "message": "resolve merge conflicts of 98a9b2a to nyc-dev-plus-aosp\n\nChange-Id: Iae0a5cb698807d74ba28878d7ce1f69b6ba5219a\n"
    },
    {
      "commit": "090ef604f81447eab4aa0a5b45d6307482573560",
      "tree": "6eb6530aab79b1cdc543ef16650be519db449e37",
      "parents": [
        "cdf7931424583ff20a754999216041fb46287cb3"
      ],
      "author": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:39:54 2016 -0700"
      },
      "committer": {
        "name": "Chih-Hung Hsieh",
        "email": "chh@google.com",
        "time": "Wed Apr 27 10:55:42 2016 -0700"
      },
      "message": "Fix google-explicit-constructor warnings.\n\nBug: 28341362\nChange-Id: I625fbab25f16282c2ea929cd16283d9d146fa17b\n"
    },
    {
      "commit": "78bd91b15ee8ea5aa2ab5a8cad7e892cb2d01c1b",
      "tree": "070f34fe2901b861d7f6c9f0b86de88cb5176bfe",
      "parents": [
        "28edbba6aa6c1a9bbea76da2f5cc3cd73af8eb4c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 26 13:16:52 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 17 20:19:06 2016 -0700"
      },
      "message": "stagefright: set pcm-encoding for raw audio tracks\n\nBug: 27172163\nChange-Id: I4db7ace4e8cbf01939dedefbb1c54730e393530f\n"
    },
    {
      "commit": "1900e77bac4276f247f80fd06d19316cac598f57",
      "tree": "b97774b7b48e386a774ed817d1e3dc6defeacc42",
      "parents": [
        "687bb88d330048075e69a7fc514d92901eeb0eee"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 02 16:12:16 2016 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 09 14:45:15 2016 -0800"
      },
      "message": "Run codecs in a separate process\n\nEncoders and secure decoders still run in the mediaserver, while\nall other codecs run in a separate codec process.\n\nBug: 22775369\n\nChange-Id: Ifbcab8a8f2fe77d2567830ac88f0d982e77f7b00\n"
    },
    {
      "commit": "844aabc2bc7d9efda341e774853983bb1fefbc20",
      "tree": "e5ff0033b3d141684f1baddbe4e0bf35bc061310",
      "parents": [
        "f8d84b0faf036fe2934f283edc33985f9e001626"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jan 29 14:28:13 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 11:25:04 2016 -0800"
      },
      "message": "cmds/stagefright: use MediaCodec* instead of OMXCodec\n\n\u0027stagefright\u0027 now lists the codec profiles for all OMX codecs,\nnot just the regular ones.\n\nChange-Id: I99f0f79af852a8a16607218acd9fdd83457b7f70\n"
    },
    {
      "commit": "a320c7b253afd276745b7e4e557ce7811b2035e7",
      "tree": "f59ca1466d84c0f9a10842315db2a8695e6b7b79",
      "parents": [
        "ee38fad5e9109f92b24c0e4d6d0d021b3d20e4e0"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 01 14:21:21 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 11:25:04 2016 -0800"
      },
      "message": "stagefright: render video buffers\n\nChange-Id: I72f3b880e81dcd108384d7fda70ce958ccf12a09\n"
    },
    {
      "commit": "5fb00a6d1f32523aa254fea95a7bee646f4ae9ae",
      "tree": "4d7c26729cb5d6ddbd2181e515654698708cf748",
      "parents": [
        "80fa61994c8bcc21e5150c1a6bf447f6423239c4"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jan 29 14:28:13 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Feb 09 00:28:09 2016 +0000"
      },
      "message": "cmds/stagefright: use MediaCodec* instead of OMXCodec\n\nOneShotDecodingSource is a lightweight replacement for OMXCodec\nfor decoding use. It does not support pause, secure content or\nprecise seeking.\n\n\u0027stagefright\u0027 now lists the codec profiles for all OMX codecs,\nnot just the regular ones.\n\nChange-Id: I99f0f79af852a8a16607218acd9fdd83457b7f70\n(cherry picked from commit bf03e42c7a246e2c8d53ba944b91f66ee3da10e6)\n"
    },
    {
      "commit": "3a0b714fb0bd01cb010f582d5f468a8ed879b347",
      "tree": "20a998fe885dafa9d5a71a1dee4854ba8dbd66d2",
      "parents": [
        "b586c8e6a3415a4f0426239510300bbbaefad166"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Feb 01 14:21:21 2016 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Feb 04 14:08:14 2016 -0800"
      },
      "message": "stagefright: render video buffers\n\nChange-Id: I72f3b880e81dcd108384d7fda70ce958ccf12a09\n"
    },
    {
      "commit": "260e56c9a17737bf280d776797d6dee411c9b4da",
      "tree": "5e2de882c337b17d1d06dd5dd323be134d7bb882",
      "parents": [
        "4f12d94fc26df1d0c7a566792711b8863fd39fe9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:41:25 2016 +0000"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 28 21:41:25 2016 +0000"
      },
      "message": "Revert \"Run codecs in a separate process\"\n\nThis reverts commit 4f12d94fc26df1d0c7a566792711b8863fd39fe9.\n\nChange-Id: Ic850a950119a45efd3042f40147253b37c328853\n"
    },
    {
      "commit": "4f12d94fc26df1d0c7a566792711b8863fd39fe9",
      "tree": "35c3df0045f97769878455388f4c99e2ffa65d68",
      "parents": [
        "97385561584e96c1c1149cf883e0ad1c75cfbdd0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 16 11:11:59 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 22 19:53:00 2016 -0800"
      },
      "message": "Run codecs in a separate process\n\nFor now this only runs decoders and Google encoders in the codec process.\n\nBug: 22775369\nChange-Id: Iadd8b6bc2873ddcfaee3e68866642ba74c6949aa\n"
    },
    {
      "commit": "a29c2b203d8bea8c21564765da5c9d7087448340",
      "tree": "d3c8d421fe89170250c794bfc243a6f54080e76a",
      "parents": [
        "fdb17f649c7480ddd83de9fd99ff48a4166a6acf"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Dec 10 12:35:24 2015 -0800"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Jan 11 11:15:11 2016 -0800"
      },
      "message": "libstagefright: Add MEDIA_MIMETYPE_VIDEO_DOLBY_VISION.\n\nBug: 25684127\nChange-Id: I123390e358ea6830708382456b7d92f0f32b3cb1\n"
    },
    {
      "commit": "4d81d15fdaf302d20740bcaaa3100b62dd49e243",
      "tree": "55a6befa7e68ee0775840cbabcbafb69c5929295",
      "parents": [
        "94d61e605abc3abb14a41dd451c61cab6097335a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 09 14:29:28 2015 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 09 14:31:02 2015 -0800"
      },
      "message": "Add q(uiet) option to stagefright to suppress progress\n\nChange-Id: I902b7a639b001b3263a2d21a19e3d97b40239867\n"
    },
    {
      "commit": "b2487f03f12dcafdb801fc0007c8df8412397f44",
      "tree": "4fac81f0fed0d22a1ff36e884ce1825561b5226d",
      "parents": [
        "f8e21a06c1b559757f1c6846b1a1abd29874cbeb"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 01 13:23:23 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Oct 28 07:43:19 2015 -0700"
      },
      "message": "Extractor service\n\nRun extractors in a separate process. Currently all data is copied through a\nbinder transaction, and WVMExtractor is still run in the mediaserver process.\n\nChange-Id: Ic5dbce87126dd321ad792f4dd540c2ff6b068d13\n"
    },
    {
      "commit": "00652d2aa67a3eae054113d9c0d5b78953aecbe6",
      "tree": "884fe2dd0a130b35b653d296b31689baf429dab4",
      "parents": [
        "ea56b569bb1082a24382ab5748572918037ffaeb",
        "6e6eaa7ac713ab6606726c3f76a9019ded97f018"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Wed Sep 16 20:20:01 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 16 20:20:01 2015 +0000"
      },
      "message": "Merge \"screenrecord: update to new buffer queue interfaces\""
    },
    {
      "commit": "409cfe09a03ba87bb8432ffd3276355b9f7a5734",
      "tree": "967a8dc4d03092193f524373b86bdf05404eadd0",
      "parents": [
        "59e469e0b0d95bba2aee3bbda003b7042fd1cdd9"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 11 16:03:18 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Sep 11 16:03:18 2015 -0700"
      },
      "message": "Fix crash in stagefright command\n\nChange-Id: Ica1e9ed5ed9d4c160ebb30b7e0ab7bb6d11e6a62\n"
    },
    {
      "commit": "fdfbc4615a49d89a3b23b525ab6612797d81e08a",
      "tree": "fba2a1636f21bc6d11e10236eb9c28546ecbc5d6",
      "parents": [
        "1f04884c0f4d0eafe7ce8f09b0e5302ff3a86ea6"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 08 13:15:26 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Sep 08 13:15:26 2015 -0700"
      },
      "message": "Make stagefright command return error instead of aborting\n\nChange-Id: I0185af30a388d3f93dafc27a437f40919dea8a8e\n"
    },
    {
      "commit": "6e6eaa7ac713ab6606726c3f76a9019ded97f018",
      "tree": "59a20d5d0588cf1f8004aeaef583a59753a32342",
      "parents": [
        "30cb792363d08200689a87f66bdd4eb2f7477bb9"
      ],
      "author": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Wed Aug 19 16:32:17 2015 -0700"
      },
      "committer": {
        "name": "Pablo Ceballos",
        "email": "pceballos@google.com",
        "time": "Wed Sep 02 16:49:31 2015 -0700"
      },
      "message": "screenrecord: update to new buffer queue interfaces\n\nBug 13174928\n\nChange-Id: I6b001b6c11bde2708309f0d0b94af058075992e2\n"
    },
    {
      "commit": "07a0ea7ce49c7de5efb0b2a432878d9a2a2c3cc7",
      "tree": "56c2e9af96130a7665dd48beb59820b32c2303a3",
      "parents": [
        "70c75d8c15707d5eade38fe3e622f8500c29556b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 07 13:24:14 2015 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu May 07 13:24:14 2015 -0700"
      },
      "message": "Fix build\n\nChange-Id: I2551565dfd98f70d84335f3d36655aa6ab6bd4df\n"
    },
    {
      "commit": "a0cf6c4d7d13c73feef5b88760b52b18289b0db2",
      "tree": "74823d0bf82b996cfdc22f9c2748ed77411f316f",
      "parents": [
        "464c7e085b68dd63ce8cdbb2c389d3827f8d586a"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue May 05 10:31:48 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue May 05 14:23:09 2015 -0700"
      },
      "message": "muxer: skip tracks unsupported by MediaMuxer instead of aborting\n\nBug: 17007397\nChange-Id: Id3f3d54a58c76554227e3c103fdbb39422a54496\n"
    },
    {
      "commit": "1de1e25cba872bd4c077c2e394f8ca9c70b65856",
      "tree": "7f01e01b5a3731a9c345684e38755d97e6a67f19",
      "parents": [
        "31de88566257d5546cf4eee9064d96926a4b0c24"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:18:34 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:53:52 2015 -0700"
      },
      "message": "stagefright: remove NativeWindowWrapper\n\nNow that Surface and SurfaceTextureClient are the same and Surface,\nit does not add value.\n\nBug: 19489395\nChange-Id: I016ecd1cf5cc51ce6244b6fa34ecd75f84e3db01\n"
    },
    {
      "commit": "31de88566257d5546cf4eee9064d96926a4b0c24",
      "tree": "e9c0052eec98f1a68a8beb94c00ddefbec8aa6b6",
      "parents": [
        "850206ed9ebc6c663a957a656966bce2604dc170"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:25:13 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:53:52 2015 -0700"
      },
      "message": "stagefright: cmds: resolve compiler warnings\n\nChange-Id: I21af2b463231e864781a70ae7667afe37eba9df8\n"
    },
    {
      "commit": "be71aa29a3c86d2e01cd17839d2a72ab09a1bce5",
      "tree": "ca29cd10f78ff053761eb809c391019180836742",
      "parents": [
        "f62a067a5b21c840c915d36392679346ac0abfd7"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 28 12:06:02 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 29 19:06:41 2015 +0000"
      },
      "message": "Respect the record audio app op - media\n\nChange-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b\n"
    },
    {
      "commit": "ee4e1b1a63758941460ae79a064249d3a5189443",
      "tree": "d27f03a73170da9cce96b6eae5b2ecd874eace22",
      "parents": [
        "2170233c49e50f3986cdc4f726016d6003cb5b8e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 13:46:19 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 13:46:43 2015 -0700"
      },
      "message": "stagefright: warnings be gone, some are now errors, use clang\n\nChange-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c\n"
    },
    {
      "commit": "3f27436a9346f043f52265da1e6a74cde2bffd4d",
      "tree": "a7404d2ba96071bea1f02f93f6782214fc1e4cc1",
      "parents": [
        "0655386a0dc15fc31883d2e38917ff0e9db89ae7"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 14:35:41 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue Mar 10 10:36:09 2015 -0700"
      },
      "message": "stagefright: don\u0027t use ALooperRoster mutex for reply handling\n\nChange replyID-s from uint32_t to an object\nMove reply handling into the loopers (to reuse a common mutex)\n\nBug: 19607784\nChange-Id: Iaa035b846c424c5687ed17ce1079b325e86c54be\n"
    },
    {
      "commit": "1d15ab58bf8239069ef343de6cb21aabf3ef7d78",
      "tree": "d4b3266c9baf5e6dee214fc6562391101e198be7",
      "parents": [
        "5804a76ac5f9f3c311f1bbbcc5ebdc8f8568ae14"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Mar 04 16:46:34 2015 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 05 17:49:50 2015 -0800"
      },
      "message": "media: switch to new AMessage handling\n\nBug: 19607784\nChange-Id: I94cddcb81f671422ad4982a23dc4acfe57a9f1aa\n"
    },
    {
      "commit": "0a08a1e0dd576f0682cf7d665fe940bc26af52d7",
      "tree": "746bd7b6a582058ec43637bb8f1934e27e4990f9",
      "parents": [
        "4db561713aae35445c2551a1c1049e7a858af197",
        "e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 20:21:01 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 20:21:01 2015 +0000"
      },
      "message": "am e91c3dd0: am 6a025acb: am ec0472ba: Merge \"Move AString\\\u0027s StringPrintf out of the way.\"\n\n* commit \u0027e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7\u0027:\n  Move AString\u0027s StringPrintf out of the way.\n"
    },
    {
      "commit": "e91c3dd028c6cf551e905c5d2cfb5d1fc0c8bcb7",
      "tree": "9e7913af62ee68d339a399723f83c4ef05b79d32",
      "parents": [
        "7bc903581f879c86f3881a2f7563bd28c1ac29b7",
        "6a025acb630a3ac4a84715d188aeb48f1946bc3f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 20:14:50 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Feb 04 20:14:50 2015 +0000"
      },
      "message": "am 6a025acb: am ec0472ba: Merge \"Move AString\\\u0027s StringPrintf out of the way.\"\n\n* commit \u00276a025acb630a3ac4a84715d188aeb48f1946bc3f\u0027:\n  Move AString\u0027s StringPrintf out of the way.\n"
    },
    {
      "commit": "a1e8944a21e5833b7aadc451776f11797f5f9273",
      "tree": "b7f4c150346d21f4862f231160c7df6602509a12",
      "parents": [
        "16e8d463bc5c8805ae6815c67875b16d177a9d8a"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 11:54:28 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Feb 04 11:54:28 2015 -0800"
      },
      "message": "Move AString\u0027s StringPrintf out of the way.\n\nWe should come back and replace AString with std::string and switch to the\n\"real\" StringPrintf family, but this fixes the ODR violation that was\npreventing us from booting.\n\nBug: 19265750\nChange-Id: I798eb9ca5dd634e44625af5e583439ef9f0cdc35\n"
    },
    {
      "commit": "f26334cf7d60060e0e33b037dd9504c81b2e10eb",
      "tree": "0862537ea39c13222a34f9ede807157dff0a4743",
      "parents": [
        "5ba2e2cbb6ae3d470bf3031507ea938be6066ed7",
        "6a0fbc68e203058e3b7d62e95d46f2415bc3ed95"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 29 17:22:05 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 17:22:05 2015 +0000"
      },
      "message": "am 6a0fbc68: am a3c9d5c3: am 166776fb: Merge \"Add missing includes.\"\n\n* commit \u00276a0fbc68e203058e3b7d62e95d46f2415bc3ed95\u0027:\n  Add missing includes.\n"
    },
    {
      "commit": "6a0fbc68e203058e3b7d62e95d46f2415bc3ed95",
      "tree": "9638d0be10ad12e27bbc9ea98e4ede1107db2f48",
      "parents": [
        "2588b453fc170f0691d5c503dab2285fef6976c2",
        "a3c9d5c3982591042c7c6cb5fb7c32fbd4765832"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jan 29 01:49:38 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jan 29 01:49:38 2015 +0000"
      },
      "message": "am a3c9d5c3: am 166776fb: Merge \"Add missing includes.\"\n\n* commit \u0027a3c9d5c3982591042c7c6cb5fb7c32fbd4765832\u0027:\n  Add missing includes.\n"
    },
    {
      "commit": "9d014d04bd1e26b68ea979885ccbc6f131a7eda3",
      "tree": "cea9277a3383214b293e90d86f2eb966a6354953",
      "parents": [
        "47deb15e99cbf60e558027e074b7415c95637943"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 17:27:45 2015 -0800"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jan 28 17:36:49 2015 -0800"
      },
      "message": "Add missing includes.\n\nChange-Id: Ib697ce44243e7cb07aee60944238e0854d82e9de\n"
    },
    {
      "commit": "c6ac859f5a82ea8642bc6351a45508a15f224f32",
      "tree": "fcb36256d059f0f161f7dffade59588e806a1d13",
      "parents": [
        "a1ded198ab2cceb07353a6dd42783e8c8dfdb03f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Dec 08 13:59:51 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Dec 10 00:10:40 2014 +0000"
      },
      "message": "Remove filename based writer constructors\n\nMediaPlayerService can\u0027t open files (it needs an already opened\nfile descriptor), so these were just wasting space.\n\nChange-Id: I323044a6c1814a7bff952ed71b5c7792df2abf03\n"
    },
    {
      "commit": "b805b31ac949cd1934d8fa8c0c8c15a9c9ec1129",
      "tree": "bd0df08616fe4c811e740b5e8b29b171c66a9eb3",
      "parents": [
        "9014f5909920f2bb88687364876c1f7eaa014583"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Dec 02 14:03:09 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Tue Dec 02 14:05:50 2014 -0800"
      },
      "message": "Clean up makefile to fix build.\n\nmediafilter was defining LOCAL_NDK_STL_VARIANT, but never setting\nLOCAL_SDK_VERSION, so it was a no-op. Since the project was still\nmanually setting the stlport include path, it was getting the stlport\nheaders with precedence over libc++, which breaks the world.\n\nOnce that is fixed, the project has never linked libRScpp, which is\nrequired (I\u0027m not sure how this part has ever worked).\n\nChange-Id: Iac70c86bc150eea08329812c0d5744434318d28e\n"
    },
    {
      "commit": "8eeda89ae361ccd048d7bba0fd11291e05577e2a",
      "tree": "d0d3caa349992dcf13355e512ba4e1da28d63f66",
      "parents": [
        "fb4dac55d0d3943e09680e779ba77310eedf011b",
        "d0e12a161471823d1ab269cb608be3f3b0a71ed1"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 23:51:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 20 23:51:29 2014 +0000"
      },
      "message": "am d0e12a16: am 902dc42d: am 07715ac3: Merge \"C++11 compatibility.\"\n\n* commit \u0027d0e12a161471823d1ab269cb608be3f3b0a71ed1\u0027:\n  C++11 compatibility.\n"
    },
    {
      "commit": "d0e12a161471823d1ab269cb608be3f3b0a71ed1",
      "tree": "f9a2f2ea19f528495278c1b651db5d75c8306869",
      "parents": [
        "75cfc881e25a9d7647701526484b5885dc43c574",
        "902dc42d79b075395d484ce1c71f215b199aaa2a"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 23:47:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 20 23:47:28 2014 +0000"
      },
      "message": "am 902dc42d: am 07715ac3: Merge \"C++11 compatibility.\"\n\n* commit \u0027902dc42d79b075395d484ce1c71f215b199aaa2a\u0027:\n  C++11 compatibility.\n"
    },
    {
      "commit": "36802bd18b7b4e8c87fa019c7e3068bee330d174",
      "tree": "a5c4847a10d5f77a04b9a621174a774d84cb7c31",
      "parents": [
        "de14fae779240a99c53d58ef16ce3086321ff897"
      ],
      "author": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:31:17 2014 -0800"
      },
      "committer": {
        "name": "Dan Albert",
        "email": "danalbert@google.com",
        "time": "Thu Nov 20 11:34:32 2014 -0800"
      },
      "message": "C++11 compatibility.\n\n * Fix string literal concatenation to not be interpreted as UD\n   literals.\n * Add constexpr compatibility for non-integral static members.\n * Use __typeof__ instead of typeof (should become decltype once this\n   actually becomes C++11).\n * Add an appropriate cast for atomic_uintptr_t, since moving to C++11\n   means moving from \u003cstdatomic.h\u003e to \u003catomic\u003e, which has better\n   typechecking (hooray for not macros!).\n\nBug: 18466763\nChange-Id: I9561dcb2526578687819ff85421ba80d8e1a9694\n"
    },
    {
      "commit": "1c39c28ed6537cab06d681f8f3c0a4d17bb0543d",
      "tree": "02c18278dbd2755e036da67904d5b1c38c95942d",
      "parents": [
        "98d78d1579d3702d7a94dd7d582d1cd99e35f22e",
        "8c5ee61a057e3b87e8f0800b284642bf3b107fd0"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 17 20:27:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 17 20:27:28 2014 +0000"
      },
      "message": "am 8c5ee61a: am d86450b9: am c80b9b83: Merge \"Fix struct vs. class mismatches\"\n\n* commit \u00278c5ee61a057e3b87e8f0800b284642bf3b107fd0\u0027:\n  Fix struct vs. class mismatches\n"
    },
    {
      "commit": "8c5ee61a057e3b87e8f0800b284642bf3b107fd0",
      "tree": "9ccc1ab733f8d17f535d455864206a024f8be2c1",
      "parents": [
        "f1b0c671e85d7ad5e1aa94d16336cda57158cd33",
        "d86450b93ab3960ccd68aed14563aaa76b43ce9b"
      ],
      "author": {
        "name": "Chih-hung Hsieh",
        "email": "chh@google.com",
        "time": "Mon Nov 17 20:07:50 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 17 20:07:50 2014 +0000"
      },
      "message": "am d86450b9: am c80b9b83: Merge \"Fix struct vs. class mismatches\"\n\n* commit \u0027d86450b93ab3960ccd68aed14563aaa76b43ce9b\u0027:\n  Fix struct vs. class mismatches\n"
    },
    {
      "commit": "86a58cabe322b746ab0eb17f0cade34ed68ba60e",
      "tree": "cd69742087fbd01d855cbe1b252bf303b3b687be",
      "parents": [
        "9b77083e582a8b6088ac6a2cb4151dfbdd324557"
      ],
      "author": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Nov 17 20:14:08 2014 +0100"
      },
      "committer": {
        "name": "Bernhard Rosenkränzer",
        "email": "Bernhard.Rosenkranzer@linaro.org",
        "time": "Mon Nov 17 20:14:08 2014 +0100"
      },
      "message": "Fix struct vs. class mismatches\n\nFix something being declared a struct and forward-declared a class and\nvice versa.\n\ngcc doesn\u0027t care, clang complains about the mismatch.\n\nChange-Id: I7a7a8e9040e3c86fa1d73eb112631ea140861657\nSigned-off-by: Bernhard Rosenkränzer \u003cBernhard.Rosenkranzer@linaro.org\u003e\n"
    },
    {
      "commit": "048e913d58a59055af81dfa362db2c4ccf00f75a",
      "tree": "c707c6ae0286b1dc4a10fb2b9e5f13046ca18c8b",
      "parents": [
        "72e4a570f52c0a866d6952d0a1edd07d2c2194fc",
        "f8d051fee37b1a0734e4142072d3053fed8df161"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Fri Nov 07 20:03:45 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 07 20:03:45 2014 +0000"
      },
      "message": "am f8d051fe: am 034d6747: am 1609e451: Merge \"Add a BufferItem parameter to onFrameAvailable\" into lmp-mr1-dev\n\n* commit \u0027f8d051fee37b1a0734e4142072d3053fed8df161\u0027:\n  Add a BufferItem parameter to onFrameAvailable\n"
    },
    {
      "commit": "04f101c35eaa90b1f95939afac30674ec1611e6f",
      "tree": "638649883fdc1e7329b9334b5a1a7461b7421942",
      "parents": [
        "151b3f41ffcdf187580542ba0c0d3b84df16beed"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:32:52 2014 -0800"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Nov 04 11:32:52 2014 -0800"
      },
      "message": "Add a BufferItem parameter to onFrameAvailable\n\nPasses the BufferItem for the queued buffer to the onFrameAvailable\ncallback so the consumer can track the BufferQueue\u0027s contents.\n\nBug: 18111837\nChange-Id: If9d07229c9b586c668e5f99074e9b63b0468feb0\n"
    },
    {
      "commit": "0f51f144dba401346c0078334f00f9e44d4146e5",
      "tree": "ea0d6f7362890333a5116ab0073849b7be979801",
      "parents": [
        "b5f9ccfa2f8ddcd2e0c391d15fededc66533c9dd"
      ],
      "author": {
        "name": "David Smith",
        "email": "davidas@google.com",
        "time": "Tue Sep 09 16:44:14 2014 -0700"
      },
      "committer": {
        "name": "David Smith",
        "email": "davidas@google.com",
        "time": "Thu Sep 11 13:54:52 2014 -0700"
      },
      "message": "stagefright test: MediaFilter native test\n\nBug: 17203044\nChange-Id: I16e30e04a5a1b6ed483b2d43de7c24cc0695485a\n"
    },
    {
      "commit": "fab8f4679795b86c7aaaf63f6be6b019cf7ea0cd",
      "tree": "90dd8e73ac5f228486ecbcf8c5b048d13a32c379",
      "parents": [
        "f6708bdf553ba4abef9e8e0432a4015e557c4513"
      ],
      "author": {
        "name": "David Smith",
        "email": "davidas@google.com",
        "time": "Mon Jun 30 16:50:13 2014 -0700"
      },
      "committer": {
        "name": "David Smith",
        "email": "davidas@google.com",
        "time": "Wed Jul 16 17:31:06 2014 +0000"
      },
      "message": "stagefright test: add surface playback flags -R,T\n\n-R renders video output to the surface ASAP\n-T renders video output to the surface using frame timestamps\n\nChange-Id: I232f19587036edc12e86b4f1dea4d12accef3834\n"
    },
    {
      "commit": "d8cbe4a024ef54adf043b6ea31fa22271b8b2c51",
      "tree": "4aa4389dd9656196fd5ffd730c811839cec3723a",
      "parents": [
        "92cd05b8f2e994aabcdda5d7454c96a707dc9579"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 15:08:24 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Jul 07 16:40:21 2014 -0700"
      },
      "message": "stagefright: update ACodec to use CodecBase enumerations directly\n\nBug: 11784825\nChange-Id: I9f322b78b52bfcc5040fda951486df4354cdba4f\n"
    },
    {
      "commit": "db2722a319d91a869ebc4dd618edbef43fd5b738",
      "tree": "1638102a326e2dfee8368105f25174f5e9e150dd",
      "parents": [
        "d5d08c57fab3b8ccbdb5df206b579e51308dd3e7"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Jun 24 13:04:08 2014 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Jun 24 13:04:08 2014 -0700"
      },
      "message": "GLConsumer: Stop using default constructor params\n\nRemoves the dependency on default constructor parameters for\nGLConsumer so that a different constructor prototype can safely be\nadded.\n\nChange-Id: I0da924bbd4c141edbf305598c1be8bc575654680\n"
    },
    {
      "commit": "884989c67081190ff864419328e9e81506db67ca",
      "tree": "a46458be5913073f6055e72765607736c3389d8b",
      "parents": [
        "ab5cdbaf65ca509681d2726aacdf3ac8bfb6b3fa"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:30:26 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Thu Jun 19 13:03:56 2014 -0700"
      },
      "message": "screenrecord: 64-bit compile warnings\n\nChange-Id: I708e48e24719b2c4bb023069164aafd4c2ad639b\n"
    },
    {
      "commit": "483f59ab9fb4b2d8ab212f77a50eed0528beca58",
      "tree": "24aaa0d8798c8a280275b8621ee59477656eb749",
      "parents": [
        "47ed7dfdae7a41a7532978bd799fa9defd2b9980"
      ],
      "author": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 14:31:47 2014 -0700"
      },
      "committer": {
        "name": "Brian Carlstrom",
        "email": "bdc@google.com",
        "time": "Wed May 28 14:31:47 2014 -0700"
      },
      "message": "Move to dalvik.vm.lib.2 to force default to libart\n\nBug: 14298175\nChange-Id: Iff6940aba8accfec14e729d53b71d2ed7e6c5027\n"
    },
    {
      "commit": "c389ca420d3df05dedcdcfb12b7e7543df837f0d",
      "tree": "64286cb447fdd7947774501d3c383eb397a35019",
      "parents": [
        "3425fd5a55dd31e261d2f2a9590c762d6d0a6b79",
        "4b7c5444f8af79f1f3e04e09bd03b84dec26facf"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed May 14 23:47:13 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 14 23:47:13 2014 +0000"
      },
      "message": "am 4b7c5444: am e32106fd: screenrecord: Add raw frames output format\n\n* commit \u00274b7c5444f8af79f1f3e04e09bd03b84dec26facf\u0027:\n  screenrecord: Add raw frames output format\n"
    },
    {
      "commit": "4b7c5444f8af79f1f3e04e09bd03b84dec26facf",
      "tree": "e5f50d6d6b41b3f4198a719dfac2cebeca006067",
      "parents": [
        "4ae3cfd801f0e62c2863d20a8ecc21369351c205",
        "e32106fd5175afdf939ae397aece9caf378a4912"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Wed May 14 22:04:12 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 14 22:04:12 2014 +0000"
      },
      "message": "am e32106fd: screenrecord: Add raw frames output format\n\n* commit \u0027e32106fd5175afdf939ae397aece9caf378a4912\u0027:\n  screenrecord: Add raw frames output format\n"
    },
    {
      "commit": "e32106fd5175afdf939ae397aece9caf378a4912",
      "tree": "4040ceee4a57c51fd17cd1a19c378bd683ed6e18",
      "parents": [
        "21bde57f0099fed5cca78d9357571dc015a63227"
      ],
      "author": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon May 12 15:59:50 2014 -0700"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Tue May 13 16:17:21 2014 -0700"
      },
      "message": "screenrecord: Add raw frames output format\n\nThis works like the frames output format but without a header so that\nthe output can be piped directly to mplayer:\n\nadb shell screenrecord --output-format\u003draw-frames - | mplayer -demuxer\nrawvideo -rawvideo w\u003d320:h\u003d240:format\u003drgb24 -\n\nChange-Id: Ib5ed508fdca3a5d63e973c5189b3677c2d92b43f\n"
    },
    {
      "commit": "4ae3cfd801f0e62c2863d20a8ecc21369351c205",
      "tree": "3965cd98b12c5753e77c2f6fd5e003926ff843d9",
      "parents": [
        "c1b0056ea57978a77a6fac0ea80861b39140696f",
        "21bde57f0099fed5cca78d9357571dc015a63227"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon May 12 23:18:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 12 23:18:30 2014 +0000"
      },
      "message": "am 21bde57f: Add frame dump output\n\n* commit \u002721bde57f0099fed5cca78d9357571dc015a63227\u0027:\n  Add frame dump output\n"
    },
    {
      "commit": "c1b0056ea57978a77a6fac0ea80861b39140696f",
      "tree": "51b170c45331236e331bedfad6b1652344779b41",
      "parents": [
        "7fd1af85f8fb40f7cb4fcdba98418aeea61fb4f0",
        "2d11a2031b99db9b503a7ad7efd1f18606af4012"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Mon May 12 23:18:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon May 12 23:18:29 2014 +0000"
      },
      "message": "am 2d11a203: Provide raw H.264 output from screenrecord\n\n* commit \u00272d11a2031b99db9b503a7ad7efd1f18606af4012\u0027:\n  Provide raw H.264 output from screenrecord\n"
    },
    {
      "commit": "21bde57f0099fed5cca78d9357571dc015a63227",
      "tree": "6c56f2e3103d52048afb01d0e5cab8c123b0c3d0",
      "parents": [
        "2d11a2031b99db9b503a7ad7efd1f18606af4012"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Tue Feb 25 18:29:06 2014 -0800"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon May 12 16:14:25 2014 -0700"
      },
      "message": "Add frame dump output\n\nThis adds the ability to dump frames as RGB data with a minimal\nframe header.  Only recommended for devices with small displays.\nEnable with \"--output-format\u003dframes\".\n\nThe \"--raw\" option is now selected with \"--output-format\u003dh264\".\n\nChange-Id: I18d3d4a87cd056d7acf0658985a90dc5895dbfb6\n"
    },
    {
      "commit": "2d11a2031b99db9b503a7ad7efd1f18606af4012",
      "tree": "9b0dc47988f6c4a727657f3b890c7302e8f22bb2",
      "parents": [
        "81e0bd44a10e90778ab5b0a3babd4fc52cadedd8"
      ],
      "author": {
        "name": "Andy McFadden",
        "email": "fadden@android.com",
        "time": "Fri Dec 20 13:40:34 2013 -0800"
      },
      "committer": {
        "name": "Benoit Goby",
        "email": "benoit@android.com",
        "time": "Mon May 12 16:14:09 2014 -0700"
      },
      "message": "Provide raw H.264 output from screenrecord\n\nThis adds an experimental (undocumented) \"--raw\" flag.  If set, we\noutput an H.264 byte stream rather than a .mp4 file.\n\nIf the filename is \"-\", we send the output to stdout.  If stdout is a\ntty, we reconfigure it to avoid CRLF line termination over adb.\n\nChange-Id: I5193f6193c9c1a59f92eefad0ed399f24afbf6de\n"
    },
    {
      "commit": "0ae7801bd228025dc4941be086f88e34b70df90f",
      "tree": "614f8799475721e3a1814fb9878aaf7da8be904c",
      "parents": [
        "f4b0e603d3e27728ca19c02a44342607a54db7d4"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu May 01 18:47:58 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 05 17:41:58 2014 -0700"
      },
      "message": "Remove warnings in recordvideo\n\nChange-Id: I2ed72836210fd3a02c7bceeb5fccadf8dcb92fbc\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "f4b0e603d3e27728ca19c02a44342607a54db7d4",
      "tree": "c8e5181c9bd72c2fb77b400a8e69912eb25fa720",
      "parents": [
        "6640d87d1a9263c12bab6d7ded7cc78a3eb50ae9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 23 18:34:02 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 05 16:51:34 2014 -0700"
      },
      "message": "Fix audioloop test program\n\nChange-Id: Ic31966095d719cf2b33322675d7d0a2e6a203268\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "c6b8225e759d1790d9a38082a18ce7e24a3dba27",
      "tree": "8a44a3532afe19e468d8458f611fa713cb5cd60a",
      "parents": [
        "d1adad7acdff96f6518935214d93a655cc447570",
        "3c782246d5ee9869f2167a00df748eac1b9e9153"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 23:59:40 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Apr 30 23:59:40 2014 +0000"
      },
      "message": "am 3c782246: am b1d2b51c: am 761636f3: Merge \"Do not force all command-line apps to be 32-bit only\"\n\n* commit \u00273c782246d5ee9869f2167a00df748eac1b9e9153\u0027:\n  Do not force all command-line apps to be 32-bit only\n"
    },
    {
      "commit": "d2a29d0b7a899ed7474d54530e8d441f09683bf3",
      "tree": "da969edc67f55e9c64de0bf8e6f533925b3ef9c0",
      "parents": [
        "416685d0cbab40bfc48b0e787206b5d5c2e2ec25"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Apr 30 11:09:31 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Apr 30 12:18:13 2014 -0700"
      },
      "message": "Do not force all command-line apps to be 32-bit only\n\nThis is a partial revert of\n\u003eChange-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3\n\nChange-Id: I214e1bd117dd40150ac5f7447f12c72c61f09a2f\n"
    },
    {
      "commit": "1b24cf32e02a1372e57b3a2a432bc0adfe496e6d",
      "tree": "220f4583ae1081df62fa5c861eed3e9e90a24515",
      "parents": [
        "4845b69f70ff457be8d8908f6eb61e2af67e00d3",
        "e80631aa1992ca50af679cd6a018c0ffda7f9b17"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 15 23:37:19 2014 +0000"
      },
      "message": "am e80631aa: am 839d11d1: Merge changes I0a744dc7,Id993a70d\n\n* commit \u0027e80631aa1992ca50af679cd6a018c0ffda7f9b17\u0027:\n  media: use size_t for integer iterator to Vector::size()\n  media: 64 bit compile issues\n"
    },
    {
      "commit": "db43b34c3428e480f8c4c66e7e88f4001f37f91e",
      "tree": "be194bf06c84b61f277a1c29c7499aa7862494a4",
      "parents": [
        "1df2557ac95a6d8a087fb15f6f842dc049f2759b"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 04 14:47:28 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Apr 15 13:18:22 2014 -0700"
      },
      "message": "media: 64 bit compile issues\n\n- change internal sized types to use stdint.h\n- printf \u0026 scanf formats\n- size_t or unsigned int for iterators\n\nChange-Id: Id993a70d8bf54c667c5d652b34179a2c727ed446\n"
    },
    {
      "commit": "3b35cb7736afb963e3941710d61c2c9849d35007",
      "tree": "5339de455e7b98031180a06ff33e014715002c1d",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Apr 07 13:37:50 2014 -0700"
      },
      "committer": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Mon Apr 07 13:37:50 2014 -0700"
      },
      "message": "Remove deprecated BufferQueue constructor\n\nBug: 13415624\nChange-Id: I16e874c376d2f84d270f6a8c733618719cf49901\n"
    },
    {
      "commit": "66e4635cb09fadcaccf912f37c387396c428378a",
      "tree": "7982a54dbc04375babd42e59c03ef930454a9687",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 16 17:44:23 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:22:54 2014 -0700"
      },
      "message": "Use symbolic constants from \u003csystem/audio.h\u003e\n\nAUDIO_INTERLEAVE_*\nAUDIO_STREAM_MIN\nAUDIO_SESSION_ALLOCATE\n\nChange-Id: I31dd6f327204685e50716079ce21c4ba206dff11\n"
    }
  ],
  "next": "ebf562f4c91f5fcbb5a7f1b79060c1e9d2f76892"
}
