)]}'
{
  "log": [
    {
      "commit": "307218c7f2e3edac95c2d4d31fa3beadcde3d30c",
      "tree": "9c004075a42515e399db4833a3b89bd002ebd11f",
      "parents": [
        "55dbf00fd8f3931c41b580c7a6b78bf6c2a64de3",
        "09910723c5ad434281d12e6625e0b4175d97ef2c"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 09:57:52 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Fri Nov 21 09:57:52 2014 -0800"
      },
      "message": "resolved conflicts for merge of 09910723 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I4b47723a9314bf9bef08e68ce269038d0d50c5d9\n"
    },
    {
      "commit": "a4a13480dd056f4109d74fc43c9453adf7fd35fd",
      "tree": "3b33d934a240b997a7dd9530289827183d9a02cc",
      "parents": [
        "538b00f6e583dfd38f6e329ef6715fb72f924160"
      ],
      "author": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 18:44:43 2014 -0800"
      },
      "committer": {
        "name": "Andreas Gampe",
        "email": "agampe@google.com",
        "time": "Mon Nov 10 18:44:43 2014 -0800"
      },
      "message": "Frameworks/base: Wall Werror in media/tests\n\nTurn on -Wall -Werror in media/tests. Fix warnings.\n\nChange-Id: I7177e795d4896f62dfa0b0a5990386e564763384\n"
    },
    {
      "commit": "b3d2a85b649f84f96d0c99f90a252223985b591f",
      "tree": "d1d9a3826286f65dace5340c16ead1539f0d0678",
      "parents": [
        "6c2c9b8628c9ec1392a6a07f68c201fb15a72500",
        "694fd58dd93b6360ec2204dab731d3c68847478b"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Oct 22 22:39:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Oct 22 22:39:30 2014 +0000"
      },
      "message": "am 694fd58d: am fed9888e: Merge \"Remove outdated tests for custom decoder.\" into lmp-mr1-dev\n\n* commit \u0027694fd58dd93b6360ec2204dab731d3c68847478b\u0027:\n  Remove outdated tests for custom decoder.\n"
    },
    {
      "commit": "8e8a0d6eafebc534d419e1f607962b6c8eda54f6",
      "tree": "e7f72dbf41982a9472eb0db1b33201dcd5542583",
      "parents": [
        "04e6827ace936e0cbb666d8ef94635b73672aa41"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Oct 22 14:11:36 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Wed Oct 22 18:17:14 2014 +0000"
      },
      "message": "Remove outdated tests for custom decoder.\n\nThese tests don\u0027t appear to be meaningful. We are comparing an\nunused decoder against one that is used.\n\nKeeping this test building (the primary changes to this directory\nin a while) is not believed to be worth the effort.\n\nBUG:17419670\nChange-Id: Ia0862f2a1de1fb9d744382bb949f6c1638a1a12a"
    },
    {
      "commit": "c2a0b4482d7144e8382346ea4c22c7b89368fec0",
      "tree": "f0ec3fbeee8dde1d56ad85c59d858ec093d5eb9d",
      "parents": [
        "f08384c763d2e57c05e0be4325c267d12fc516d4",
        "ee665151a4c6359cbfbb9a6795aa9097c4622083"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 02 14:32:37 2014 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 02 14:32:37 2014 +0100"
      },
      "message": "resolved conflicts for merge of ee665151 to lmp-mr1-dev-plus-aosp\n\nChange-Id: I2588c65b7a9fa43f968151a206924a804f0595a7\n"
    },
    {
      "commit": "f7cf5d43aa13405f9d0dd54f6038f710a0423323",
      "tree": "76f33c6e39a9ca49ff9c1d9d776cb86115bc7ff3",
      "parents": [
        "92c414724f84e32df3c0f79ce11e37ef3d481611",
        "ee665151a4c6359cbfbb9a6795aa9097c4622083"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 02 11:48:08 2014 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Thu Oct 02 11:48:08 2014 +0100"
      },
      "message": "resolved conflicts for merge of ee665151 to lmp-dev-plus-aosp\n\nChange-Id: I97671e62de26919e391dbb2686511584c59ab990\n"
    },
    {
      "commit": "33253a4baa6279f81a73425b49dfb6abe5f5416e",
      "tree": "c0077bd08ebc6f3c138a3b4ddb54a0ea1108b200",
      "parents": [
        "0451728645d559d904f579894d4b59e971e2369e"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Oct 01 11:55:10 2014 +0100"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Oct 01 14:04:15 2014 +0100"
      },
      "message": "Switch from FloatMath -\u003e Math and Math.hypot where possible\n\nThe motivation is an API change: FloatMath is going to be\ndeprecated and/or removed. Performance is not the goal of\nthis change.\n\nThat said...\n\nMath is faster than FloatMath with AOT compilation.\n\nWhile making the change, occurances of:\n\n{Float}Math.sqrt(x * x + y * y) and\n{Float}Math.sqrt({Float}Math.pow(x, 2) + {Float}Math.pow(y, 2))\n\nhave been replaced with:\n\n{(float)} Math.hypot(x, y)\n\nRight now there is no runtime intrinsic for hypot so is not faster\nin all cases for AOT compilation:\n\nMath.sqrt(x * x + y * y) is faster than Math.hypot(x, y) with\nAOT, but all other combinations of FloatMath, use of pow() etc.\nare slower than hypot().\n\nhypot() has the advantage of being self documenting and\ncould be optimized in future. None of the behavior differences\naround NaN and rounding appear to be important for the cases\nlooked at: they all assume results and arguments are in range\nand usually the results are cast to float.\n\nDifferent implementations measured on hammerhead / L:\n\nAOT compiled:\n\n[FloatMath.hypot(x, y)]\nbenchmark\u003dHypot_FloatMathHypot} 633.85 ns; σ\u003d0.32 ns @ 3 trials\n\n[FloatMath.sqrt(x*x + y*y)]\nbenchmark\u003dHypot_FloatMathSqrtMult} 684.17 ns; σ\u003d4.83 ns @ 3 trials\n\n[FloatMath.sqrt(FloatMath.pow(x, 2) + FloatMath.pow(y, 2))]\nbenchmark\u003dHypot_FloatMathSqrtPow} 1270.65 ns; σ\u003d12.20 ns @ 6 trials\n\n[(float) Math.hypot(x, y)]\nbenchmark\u003dHypot_MathHypot} 96.80 ns; σ\u003d0.05 ns @ 3 trials\n\n[(float) Math.sqrt(x*x + y*y)]\nbenchmark\u003dHypot_MathSqrtMult} 23.97 ns; σ\u003d0.01 ns @ 3 trials\n\n[(float) Math.sqrt(Math.pow(x, 2) + Math.pow(y, 2))]\nbenchmark\u003dHypot_MathSqrtPow} 156.19 ns; σ\u003d0.12 ns @ 3 trials\n\nInterpreter:\n\nbenchmark\u003dHypot_FloatMathHypot} 1180.54 ns; σ\u003d5.13 ns @ 3 trials\nbenchmark\u003dHypot_FloatMathSqrtMult} 1121.05 ns; σ\u003d3.80 ns @ 3 trials\nbenchmark\u003dHypot_FloatMathSqrtPow} 3327.14 ns; σ\u003d7.33 ns @ 3 trials\nbenchmark\u003dHypot_MathHypot} 856.57 ns; σ\u003d1.41 ns @ 3 trials\nbenchmark\u003dHypot_MathSqrtMult} 1028.92 ns; σ\u003d9.11 ns @ 3 trials\nbenchmark\u003dHypot_MathSqrtPow} 2539.47 ns; σ\u003d24.44 ns @ 3 trials\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d36199\nChange-Id: I06c91f682095e627cb547d60d936ef87941be692\n"
    },
    {
      "commit": "d097e7ef745714cadc299db5e8bb0ff57c255373",
      "tree": "5847f406bd4c5394830e4b4b0a5d2a769b95cb37",
      "parents": [
        "327710e36f5e9d3a7eef9a23a1ba317fada0a030"
      ],
      "author": {
        "name": "Shaohan Zou",
        "email": "szou@google.com",
        "time": "Wed Aug 27 14:55:09 2014 -0700"
      },
      "committer": {
        "name": "Shaohan Zou",
        "email": "szou@google.com",
        "time": "Wed Aug 27 17:36:51 2014 -0700"
      },
      "message": "Add Media Player Streaming Tests\n\nChange-Id: I4bb78b0487d158f4ea57349b591f66eda6b325d2\n"
    },
    {
      "commit": "acc0095bc84914d3ce41ad8298f698c37935b8a8",
      "tree": "35fef13c48d2c2e28ca2ac94964325226c220c4d",
      "parents": [
        "a9bdc43ec2b8862db579aaced357184b7496468f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 06 14:31:08 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Aug 27 11:08:18 2014 -0700"
      },
      "message": "Camera2: Correct error handling\n\n- Report capture failures from service to application\n- Only go to error state for device-level errors\n- Adjust binder interface method names to match the service side names\n- Reduce failed session creation logging\n- Don\u0027t fire CaptureSession.onActive for CameraDevice.onBusy\n- Check with session to determine capture failure reason\n\nBug: 17160301\nBug: 15524101\nBug: 14448494\nBug: 11272459\n\nChange-Id: I9dd606004fd7845910dc865738fbe17f1640f07d\n"
    },
    {
      "commit": "12da140082323d9aa048b3e928505a0a2adfdda7",
      "tree": "ed8d6f11bc72817b7f9f69c6d8b3c4d2c5764109",
      "parents": [
        "a4ab780877808dbee334f7c7cc4acefa0aa313b2"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue Jul 15 10:37:31 2014 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Fri Jul 18 16:00:53 2014 -0700"
      },
      "message": "Camera2: add highSpeedVideoConfig wrapper and APIs\n\n- Add wrapper class for highSpeedVideoConfiguration.\n- Add APIs to query high speed video recording configurations in\n  StreamConfigurationMap\n- Fix ColorSpaceTransform unit test in CameraMetadataTest\n- Fix a bug in HashCodeHelper\n\nChange-Id: I192e57f6ab5dfbba6d958571352f067a9eaec7b2\n"
    },
    {
      "commit": "ee64575cf725ecb10d91286dcb32a5a51be8efcd",
      "tree": "1da0a1413cdc7bea6f38b1a3d12f460c756c3825",
      "parents": [
        "73a4b86596eca6401e264f9e3709ac9c60c79fd7"
      ],
      "author": {
        "name": "Naveen Kumar Ponnusamy",
        "email": "naveenkumar.p@ittiam.com",
        "time": "Tue Jun 10 17:20:16 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat Jul 12 22:13:32 2014 +0000"
      },
      "message": "Added a test for HEVC playback memory usage\n\nBug: 14571712\nChange-Id: If5c4053dea23142b73aed77498c93e149b7ef9b2"
    },
    {
      "commit": "b1a236b85fa8f3f46e3f6b76a7bf6f72faf9ee5d",
      "tree": "015b8f7626c51dc3af6042225424ecfbac70b4a7",
      "parents": [
        "9726eeb2b01a0e5a3d52139f3bc48d4690af1ea9"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jul 11 00:54:50 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat Jul 12 14:12:27 2014 -0700"
      },
      "message": "add utility methods to util.Range, Rational and Size\n\nBug: 12065651\nBug: 11990470\nChange-Id: I0d0929ea0289ac5de5c17cca90f25abc4e9dfd7a\n"
    },
    {
      "commit": "42a1d08df7d417fd4e67eabc91ff05ee77fd9995",
      "tree": "7bfa7e66b153087c56b19c6dd8b340e0ea2ddb42",
      "parents": [
        "95f621a1a4a0891075f1f9daf8e0323aab488793"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 18:06:18 2014 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jul 07 18:11:24 2014 -0400"
      },
      "message": "SkBitmap::Config is deprecated, use SkColorType\n\nChange-Id: Ida181d2aac760072cf2d01409edac37699dea216\n"
    },
    {
      "commit": "7c0e6219c3c812354a507dd3db7a741a6e33b073",
      "tree": "ad40ea4030f160e697ea528746e8c0a5701cfda0",
      "parents": [
        "07f08d5043648192c911bd170d7e28bddaff4eac"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 20 17:30:45 2014 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Jun 20 17:30:45 2014 -0700"
      },
      "message": "Fix build.\n\nChange-Id: I2b161a4020862d83347d5a8989467c612fff08db\n"
    },
    {
      "commit": "402c8f5a07470bd582a5e7d5c5ff581c5e03a545",
      "tree": "c1cafbbe1a06fc74c4dc503956188321d793d33f",
      "parents": [
        "af861ab87925e64b93c91bcea428f68ee0738772",
        "b933055cf3f7f8ea89bfd3bc9c37a3891ff7310a"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jun 20 20:37:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jun 20 00:30:35 2014 +0000"
      },
      "message": "Merge \"stop using (deprecated) SkBitmap::Config\""
    },
    {
      "commit": "b933055cf3f7f8ea89bfd3bc9c37a3891ff7310a",
      "tree": "7d68b96a6fd02ca6ece664d5c53ee9778ef49d17",
      "parents": [
        "9285d1bf9c57e5f1da8f8d8ef7a6a38b2f0e4ec3"
      ],
      "author": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Mon Jun 16 17:31:48 2014 -0400"
      },
      "committer": {
        "name": "Mike Reed",
        "email": "reed@google.com",
        "time": "Fri Jun 20 10:28:37 2014 -0400"
      },
      "message": "stop using (deprecated) SkBitmap::Config\n\nChange-Id: Ic75b5fc6996578e9d95bd3a220439ec1541d7c3b\n"
    },
    {
      "commit": "1cff3844da64c3fc751ca0e047a6369d96c2c12e",
      "tree": "ebe9d93d95fc1c4050c6b9cbcc1ff8b00ca217e5",
      "parents": [
        "0916423712f546b7a073dd71bcd012bae614d5df"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu May 15 16:37:29 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 20 17:49:06 2014 +0000"
      },
      "message": "update SCO audio test app\n\nAdded test for startBluetoothScoVirtualCall()\n\nChange-Id: I1b47b60a8c5fb0158d4e224252a9d511c612ca2f\n"
    },
    {
      "commit": "4c913801141163362dd5bb7c9784c83f69c11054",
      "tree": "4889eaecfc7644054e0b2687861d32cf34e2ef5f",
      "parents": [
        "0d8acb2cebe37296c37b4e6507afe44fe5666f90"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jun 16 16:42:35 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Jun 19 15:46:02 2014 -0700"
      },
      "message": "Camera: Implement HAL1 and higher HAL API coexistence\n\nA higher hal version device like HAL3.2 can be opened as HAL1.0 device\nif HAL supports it. This only applies to camera API1.\n\nChange-Id: I4ae9f59f4317158cc1bd7ed7726e4032cdd1fa07\n"
    },
    {
      "commit": "4961bc88d7bab869a5296789d26fcfa31ad5f644",
      "tree": "24fb63dc81e721826259c9d49c1b1dc715d0ec79",
      "parents": [
        "5834ee75038e9095cefe089cdb26795b3ffe9e38"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 17 12:04:07 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 17 22:55:16 2014 +0000"
      },
      "message": "camera2: Map camera characteristics in the managed layer\n\nChange-Id: Ic86c8df3d703e7cf89caa856387e2c0a1b977401\n"
    },
    {
      "commit": "162d6999e36d11ddcb6f82921c47683a7d8a56c4",
      "tree": "d5c776d9b7b658731e6988f3b8ca8acf809e010a",
      "parents": [
        "63dd3bb3602bc00557680432b08b49a5a15bcdb7"
      ],
      "author": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Fri Jun 13 20:10:33 2014 +0900"
      },
      "committer": {
        "name": "Ji-Hwan Lee",
        "email": "jihwan@google.com",
        "time": "Fri Jun 13 20:16:15 2014 +0900"
      },
      "message": "jpeg_bench: Fix checkbuild\n\nChange-Id: I73d82ffc022be4fc78ff0d8b62ab541dd896df24\n"
    },
    {
      "commit": "007bfb14d2d720cdd699cfbb36ce206246901cef",
      "tree": "cb7838e0d1417e554566040b0284b53148b5c23e",
      "parents": [
        "21547d66a9ce591ff30a3ad4102f7f30a4764d80"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jun 05 18:02:22 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jun 06 16:38:09 2014 -0700"
      },
      "message": "util: Make Rational a Number/Comparable; add Range#inRange\n\n* Also changes Rational to reduce the numerator/denominator by\nits greatest common divisor at construction time (e.g. (2/4 -\u003e 1/2)).\n\nBug: 15432042\nChange-Id: Ib827abccf44a040667e5931cf9442afc86b57e2d\n"
    },
    {
      "commit": "5743868e15c88d2886915163652a1571a218bf39",
      "tree": "96027c1ee45d748b7df92b55ae9d133dd8be32f5",
      "parents": [
        "2d2e30eeac5b6799808c23b944f29d68ed0c205d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri May 30 10:49:00 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri May 30 11:28:49 2014 -0700"
      },
      "message": "camera2: Change android.lens.focusRange to Pair\u003cFloat,Float\u003e\n\nSince the focus range is defined in diopters (1/distance), it just so\nhappens that in a range [near, far] near \u003e\u003d far which is against the\nandroid.util.Range contract.\n\nChange it to pair instead.\n\nAlso adds a marshaler for Pairs since they didn\u0027t have one before\n(and aren\u0027t parcelable).\n\nBug: 15335269\nChange-Id: If2f3259aeec072438a1c18c1b9728a4c81e92a40\n"
    },
    {
      "commit": "82984727642c5705cfb5d7868bc92997bd2bfd4d",
      "tree": "5c2b03f9707330884e5ecd75ed37c99c644e81f0",
      "parents": [
        "b9a65de1f79d92326abcccc295c18f24afb83053"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed May 28 15:39:50 2014 -0700"
      },
      "committer": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Wed May 28 15:39:50 2014 -0700"
      },
      "message": "Camera2: Test null TonemapCurve behavior\n\nAdd a test to verify we return null TonemapCurve when at least one\nchannel of tonemap curve is absent.\n\nBug: 14628001\nChange-Id: I3e89dbcf00e5f21b01fc78fe43fe5c4200690357\n"
    },
    {
      "commit": "8490ace76fd350e53de9554c11fca715c5a37aaf",
      "tree": "feeb7dd1e3c0fc17568815f6f961b07fe9c6fc10",
      "parents": [
        "2bb91a7a68e32530adf730deeef2fe95bad20a96"
      ],
      "author": {
        "name": "Yin-Chia Yeh",
        "email": "yinchiayeh@google.com",
        "time": "Tue May 27 10:04:54 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 28 01:36:54 2014 -0700"
      },
      "message": "Camera2: switch API interface to java classses\n\nandroid.sensor.info.physicalSize: float[] -\u003e SizeF\nandroid.statistics.hotPixelMap: int[] -\u003e Point[]\nandroid.tonemap.curve[Red|Green|Blue]: float[] -\u003e TonemapCurve\n\nBug: 14628001\nChange-Id: I1e085f5e640a059852fcb504b6dd5f884039e653\n"
    },
    {
      "commit": "78712a8bd7275542013ba099f33536eead0167fb",
      "tree": "6aea769b59dbe05e6f8dc661081f2afebf53d455",
      "parents": [
        "817f8933ee1c11130ad2ca45b5ac8ce8b729f125"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 27 18:32:18 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed May 28 01:36:53 2014 -0700"
      },
      "message": "camera2: Add new metadata keys, change types for existing range keys\n\nAlso adds the following keys:\n* android.control.maxRegionsAe\n* android.control.maxRegionsAwb\n* android.control.maxRegionsAf\n* android.request.maxNumOutputRaw\n* android.request.maxNumOutputProc\n* android.request.maxNumOutputProcStalling\n\nChanges the following keys\u0027 type\ngenerations:\n* android.control.aeTargetFpsRange\n* (Range\u003cInteger\u003e)\n* android.control.aeAvailableTargetFpsRanges\n* (Range\u003cInteger\u003e[])\n* android.control.aeCompensationRange\n* (Range\u003cInteger\u003e)\n* android.lens.focusRange\n* (Range\u003cFloat\u003e)\n\nBug: 14628001\nChange-Id: I141847dffc4b0d89cea37c19a54d6d5faf24a9bb\n"
    },
    {
      "commit": "d6d65154e55612b489aae95b60f3145f3b81f3b4",
      "tree": "f3e9c677e29a524624271d3ce3bff9321533f6db",
      "parents": [
        "a06d76b139b85bd28e87c390d97d1ee165a1430b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon May 19 16:31:02 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri May 23 11:55:29 2014 -0700"
      },
      "message": "camera2: Refactor CameraMetadata.Key out into 3 key classes\n\nBefore:\n* CameraMetadata.Key\u003cT\u003e\n\nAfter:\n* CameraCharacteristics.Key\u003cT\u003e\n* CaptureResult.Key\u003cT\u003e\n* CaptureRequest.Key\u003cT\u003e\n\nCameraMetadata#get has been removed (each metadata subclass has\nits own #get now) due to java generic limitations (in particular\na type bound \u003cT1\u003cT2\u003e extends Key\u003cT2\u003e\u003e is an illegal bound).\n\nCameraMetadataNative gets a new #dumpToLog function to dump the native\nmetadata to logcat.\n\nBug: 15091017\nChange-Id: Ic56c54c0d184e209e20de374dc8a6d79527c209f\n"
    },
    {
      "commit": "72f9f0a96e4476ef231d5001cb30521ad4ce5b1e",
      "tree": "3ad8c567838194d0a7b4c8652e442f2a722acd32",
      "parents": [
        "9c595174ccaaf3d36315c4a100e47ee4369073f6"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed May 14 15:46:10 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed May 14 18:24:58 2014 -0700"
      },
      "message": "camera2: Move parameters around to different packages\n\n* Camera-specific params to android.hardware.camera2.params\n* Remove android.hardware.camera2.Size\n* Move Rational to android.util\n\nBug: 14628001\nChange-Id: Ie7a82bf9f4a0d8c18e0dc3a1581123c0d95da3f0\n"
    },
    {
      "commit": "9c595174ccaaf3d36315c4a100e47ee4369073f6",
      "tree": "617a732a1bcbd06e35c38cf6029a20c3b75e16e2",
      "parents": [
        "3c40a046cf0ea7b6af01ec93e5276eccb3234bfe"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon May 12 13:56:20 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed May 14 10:40:53 2014 -0700"
      },
      "message": "camera2: Use StreamConfigurationMap for format/size/duration lookup\n\n* Also @hide/@deprecate a bunch of other keys\n* Move some classes into android.hardware.camera2.params\n\nBug: 14628001\nChange-Id: I2db490a0849680a133a901403477a147b004fb28\n"
    },
    {
      "commit": "3c40a046cf0ea7b6af01ec93e5276eccb3234bfe",
      "tree": "b78afeb203d25c370995da98601eca721fbcd7e6",
      "parents": [
        "bee74c2b479153bb6a4b9e03f068658042a5fdfc"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 22 15:05:50 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue May 13 15:28:24 2014 -0700"
      },
      "message": "camera2: Update native\u003c-\u003emanaged camera metadata marshalers\n\n* Improve existing marshalers:\n - each managed/native type combination can be queried marshal support\n - marshalers can recursively call other marshalers for nested types\n - support marshaling/unmarshaling generic classes by using super type tokens\n\n* Add new marshalers for:\n - ColorSpaceTransform\n - MeteringRectangle\n - Parcelable\n - Range\u003cT\u003e\n - ReprocessFormatsMap\n - RggbChannelVector\n - SizeF\n - StreamConfiguration\n - StreamConfigurationDuration\n\nBatteries included; so are unit tests.\n\nBug: 14628001\nChange-Id: I38d3e646ccfb3953898cd6f750c33e4097328482\n"
    },
    {
      "commit": "53a1d323df9370ccf1e3da694d7bf5e1b91ffb5e",
      "tree": "9abfff998e12d131b1245f4cb6f51a3ba9a94127",
      "parents": [
        "0d751e31cdbbcc25f191fa901533b2e1f1d20986"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 22 16:29:14 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 22 16:29:45 2014 -0700"
      },
      "message": "camera2: Fix broken camera metadata test due to key rename\n\nChange-Id: I0367550b5bb9f80c8df272804eab7052c122104d\n"
    },
    {
      "commit": "e0e77cb5bb2885aea3da6823daebf40e06b073bd",
      "tree": "d344d6c8b00c9e371d7bf83321d06eac6efff7f3",
      "parents": [
        "3fafb4ebf2572578c6d7df742593ee5ed17748a8"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Apr 21 15:34:02 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Apr 21 16:11:51 2014 -0700"
      },
      "message": "Remove VideoEditor\n\nremove android.media.videoeditor.*\n\nNo longer supported and should not be used.\n\nBug: 13542518\nChange-Id: I12de122443f0289ab1dfdd8b553e572a830cf412\n"
    },
    {
      "commit": "438d77e0429f78def6c0cb3c21095202c71b8220",
      "tree": "0e49cc3a7f6022b6911cc7d98b1b0ae263cf414e",
      "parents": [
        "316e533ab0ac9888af9e6c3db44e886dd50312e1"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Apr 10 17:09:22 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Apr 10 17:09:22 2014 -0700"
      },
      "message": "MediaFrameworkTest: Fix Camera2 API unit test build breakage\n\nChange-Id: I49329e2c3bbf1290f1f6e7c64dbb56eb831e5a96\n"
    },
    {
      "commit": "8d637b819b23d0fcca87a39d26d0350e062852f4",
      "tree": "4db7873aa1d4ae111faed2732ffa2dda04d2490c",
      "parents": [
        "972d0488a555ff65a9e18655795e65e4b5365175"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 08 22:43:51 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Apr 09 18:51:38 2014 +0000"
      },
      "message": "Camera2: Fix the JPEG format issues\n\nAlso add unit test.\n\nBug: 13836016\n\nChange-Id: I0af4bfe299f99c99e70faf5d3159eb0cbcc147eb\n"
    },
    {
      "commit": "5c207ec9a080f3be8ca28de8310483fe1c182c51",
      "tree": "449ef9f5b031a2fb63a4e7d77d9e4cc3804df97d",
      "parents": [
        "47bbaea4c3f5dee97f2e1c56c6cc9957efa17eaf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 01 15:50:48 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Apr 01 15:50:48 2014 -0700"
      },
      "message": "camera2: Fix out-of-date metadata test\n\n* The tag android.sensor.calibrationTransform1 was renamed\n  to android.sensor.calibrationTransform (1 removed)\n\nBug: 12002757\nChange-Id: Ida0e37a30222f08d0d9bb3871717c74c21e428ac\n"
    },
    {
      "commit": "7a3878cd8f5fd18cf43b2760f108f8c8a3e1794d",
      "tree": "ea339d6046615caecea2f988fae2329538d5d6cb",
      "parents": [
        "f0d019c4e4ef5ec9b03330c8441aa1356036cc60"
      ],
      "author": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 27 17:31:00 2014 -0400"
      },
      "committer": {
        "name": "Leon Scroggins",
        "email": "scroggo@google.com",
        "time": "Thu Mar 27 17:36:18 2014 -0400"
      },
      "message": "Remove SkOmxPixelRef to fix build.\n\nRecent changes to SkPixelRef (from which SkOmxPixelRef inherited)\nadded abstract functions which SkOmxPixelRef does not implement.\n\nSolution: remove SkOmxPixelRef, which is completely unused. The only\ncode that created one was commented out at the same time as it was\nadded in 2009, so there\u0027s likely no benefit to reviving it.\n\nChange-Id: Icbf2537fcc03fd464fd791ff91659a1812019623\n"
    },
    {
      "commit": "5e49b497ae2019586937aae0e8159292363728b5",
      "tree": "349e75a3f541a96fa080e1724e368e0e1a21e046",
      "parents": [
        "77a60f006f8b7260207043529d3ed004db301bd5"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Dec 03 16:26:51 2013 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Thu Mar 06 12:14:47 2014 -0500"
      },
      "message": "Update framework to use M33 Skia. DO NOT MERGE\n\n(These CLs are already in master.)\n\nBug: 13246311\n\nThis cherry-picks 7 CLs:\n\n-----------------------------------------------------------------------\n\nRemove calls to deprecated SkBitmap::setIsOpaque()\n\nsetIsOpaque() has been removed from ToT Skia.\n\nUpdate setters for mIsPremultiplied and hasAlpha to take the\nother into consideration.\n\ncherry-pick from: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a\n\n-----------------------------------------------------------------------\n\nMerge AssetStream with AssetStreamAdaptor.\n\nAdd enums to the constructor for AssetStreamAdaptor to choose the\ndifferent behaviors used by the (former) two different classes.\n\nThe old clients of AssetStream now get the following features of\nAssetStreamAdaptor\n- Debugging statements on error.\n- The stream is an SkStreamRewindable.\n- getLength() returns the correct value, and the old way of getting\n  the length (read(NULL, 0)) is no longer implemented, since it is\n  no longer used.\n- isAtEnd() returns the correct value. ToT Skia makes it pure virtual,\n  so some implementation is necessary.\n\ncherry-pick from: I2a5395914e4f53830aaefee396556459083a1c56\n\n-----------------------------------------------------------------------\n\nDeprecate Android-specific SkPaint functions.\n\nThe following functions were problematic:\n const SkGlyph\u0026 getUnicharMetrics(SkUnichar, const SkMatrix*);\n const SkGlyph\u0026 getGlyphMetrics(uint16_t, const SkMatrix*);\n const void* findImage(const SkGlyph\u0026, const SkMatrix*);\n\nReplacing them with calls through SkGlyphCache solved a nasty crash\nbug, so they have all been deprecated.\n\nBug: 11968757\ncherry-pick from: Id746315d41aec5b211b78b172a883c2061130f08\n\n-----------------------------------------------------------------------\n\npass SkGlyphCache into updateGlyphCache()\n\nDoing so prevents us from double-locking the glyph cache, thereby\neffectively locking ourselves out of reusing work that we\u0027d just done.\n\nBug: 11968757\ncherry-pick from: I5c552f2d0bbe30af2ce9054ba684e7da756a0d89\n\n-----------------------------------------------------------------------\n\nUpdates to the Skia API needed to merge the WebView m33 version of Skia.\n\ncherry-pick from: I0f63b53f2aae58871413b132742fc84138f069a3\n\nBugfix for screenshots (recent apps) due to incorrect rowBytes computation\n\nbug: 12915192\ncherry-pick from: I4d5fe2a2f75baf66099e0970fb646686a1992714\n\n-----------------------------------------------------------------------\n\nFix bug in AndroidPixelRef where we did not store the correct imageInfo for a recycled bitmap.\n\ncherry-pick from: I882483b78886e2f19fa4e43a86e69f5a82b3b7e5\n\n-----------------------------------------------------------------------\n\nChange-Id: Ie2b731a9f0795802418cfecddb4b684c92c64d33\n"
    },
    {
      "commit": "fc9276340897289b8f848fc722152d6fc0f891ed",
      "tree": "14cca48e01e4c491bd5ffe9499a96cd2e42e9d91",
      "parents": [
        "ef23865154bf5e6c1768023dd69845353cf8c543",
        "eece0dda56ae29fff6e9003df97594f6ac50b6e2"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Fri Feb 28 13:23:13 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Feb 28 13:23:15 2014 +0000"
      },
      "message": "Merge \"Fix includes so that they no longer rely on the global Skia includes directories.\""
    },
    {
      "commit": "eece0dda56ae29fff6e9003df97594f6ac50b6e2",
      "tree": "46e4cd73a189dabb2e28d2eafaef2b9abf73a82f",
      "parents": [
        "94b5ca811e5716bddb4a4d86df35c29bb9165e5f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 14:31:29 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 14:31:29 2014 -0500"
      },
      "message": "Fix includes so that they no longer rely on the global Skia includes directories.\n\nbug:13225538\nChange-Id: Ia5d816dc665f81c7985f21036af4fd0a63c560cf\n"
    },
    {
      "commit": "950fe8f8d4d654e645fa7205ca275b5a03feb214",
      "tree": "4a4e2dfd3f32ebdaf2b57835c19e42afa7f9ee5d",
      "parents": [
        "94b5ca811e5716bddb4a4d86df35c29bb9165e5f"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 11:14:55 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 16:21:24 2014 +0000"
      },
      "message": "Cleanup unnecessary includes for libskia.\n\nThe libskia target exports all of its public includes directories so\nredefining them here is redundant. Also this cleans up and makes it\nobvious where the framework is making using of private Skia headers.\n\nChange-Id: Ie7ecc9ddd3df780bed6b9af54ba58ca58274e043"
    },
    {
      "commit": "a77cf8735432daddb233164f41103a0ff38408bb",
      "tree": "7537a33c67ecc0b43ecd378862d177d700b94be0",
      "parents": [
        "6924c4ef8db3ffd80b35f2b736b7ea9577148e9e",
        "8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Feb 25 19:57:33 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Feb 25 19:57:33 2014 +0000"
      },
      "message": "Merge \"Tabs -\u003e spaces in frameworks/base.\""
    },
    {
      "commit": "8a985d24ce9a38f40ed88fecbdcd0e75e3a68f44",
      "tree": "a71a241bf554a157a25d54dce66364d7881c3579",
      "parents": [
        "875e2101d71afe7e4acf10b061c942fbf7294775"
      ],
      "author": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Feb 25 09:40:05 2014 -0500"
      },
      "committer": {
        "name": "John Spurlock",
        "email": "jspurlock@google.com",
        "time": "Tue Feb 25 09:49:29 2014 -0500"
      },
      "message": "Tabs -\u003e spaces in frameworks/base.\n\nChange-Id: I5a84e8e93ac99b5ed0212b37bf66efa5e53864be\n"
    },
    {
      "commit": "daa98ca8d7c85b77ad794cc8d9f17e262ac41d96",
      "tree": "069465c843a9549e2315b649ee4f39a95a6a4781",
      "parents": [
        "826e51c4da2beac50c0ed1e1359787a0b69c878c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 13 23:03:22 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 14 15:53:25 2014 -0800"
      },
      "message": "support time lapse/slow motion on SURFACE source\n\n- pass time between capture as us, in high fps case ms could\n  be inaccurate\n\n- add test cases in MediaRecorderTest for time lapse/slow motion\n\nBug: 13032650\n\nChange-Id: I34ecc3b39e0519753f74ae42afcaeeddfff1666a\n"
    },
    {
      "commit": "d7eab895b76d96b1a8ef625ec927c4661972b425",
      "tree": "c260ee5830e6e25a53595b15b656677a9235a46b",
      "parents": [
        "94088e0c6fd7f5c18c85f25c8216b9c1a23015e3",
        "e996c419e6c9beff09b2bb8d6d5777313a0cf29f"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 06 00:20:03 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 06 00:20:03 2014 +0000"
      },
      "message": "Merge \"MediaRecorderTest: add tests for getSurface() and SURFACE source\""
    },
    {
      "commit": "d2506a506303ed94fd1991cf986b825b870a67c5",
      "tree": "5e5116da8f0ae6a56c93b37d0dd483ded11295d1",
      "parents": [
        "10586ad2a6996b8f9f84ed47a65ccc2d883fc19f"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 29 10:32:46 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 04 14:45:28 2014 -0800"
      },
      "message": "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code\n\nChange-Id: I7f6cdcfd2a28846d36d89dd5180ef20a22b03af8\n"
    },
    {
      "commit": "e996c419e6c9beff09b2bb8d6d5777313a0cf29f",
      "tree": "6c43021a9eaba63446028bd970bee8c84a971d9a",
      "parents": [
        "793bbd2929c275f6ebe61f6fe8d3b8aa3843c90d"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 02 12:12:01 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jan 16 10:38:35 2014 -0800"
      },
      "message": "MediaRecorderTest: add tests for getSurface() and SURFACE source\n\nBug: 12305192\nChange-Id: I2f63799219273dc84732ba3b7a9dceb84a1f27a7\n"
    },
    {
      "commit": "8790be6de3644e332ec6a17c855da89ffc13a9bf",
      "tree": "45dd6bf1f37585b02335b9ed5e35d35463c2a650",
      "parents": [
        "cae6b43b03d0be44c6e63ed1db5ef835633a3b86"
      ],
      "author": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Tue Dec 03 16:26:51 2013 -0500"
      },
      "committer": {
        "name": "Leon Scroggins III",
        "email": "scroggo@google.com",
        "time": "Wed Jan 15 11:37:04 2014 -0500"
      },
      "message": "Remove calls to deprecated SkBitmap::setIsOpaque()\n\nsetIsOpaque() has been removed from ToT Skia.\n\nUpdate setters for mIsPremultiplied and hasAlpha to take the\nother into consideration.\n\nChange-Id: I1b36b0b0ce7126031eb7b769b563c17dcd4b306a\n"
    },
    {
      "commit": "b7bfdc7cf7f45805e8e7ebea77a15051b8ad3e8d",
      "tree": "4d0780b06d0c60095e1c99c9cb7f46c812843a43",
      "parents": [
        "d5102f19653f6b00ce872435c5efb5cb630deed7"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 02 11:39:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Oct 07 08:02:25 2013 -0700"
      },
      "message": "Camera2: add metadata override\n\nThere are interface difference between managed and native side for some\nmetadata, like Face and JPEG format. we need override them when they are set/get\nbetween native and managed sides.\n\nAlso fix some issues in the CameraMetadataTest.\n\nBug: 10406212\n\nChange-Id: Ibd8be0415968445e711b3ea89f45e1edfa193ee2\n"
    },
    {
      "commit": "e841d4e16526a2e466f662305682aa3459d07c15",
      "tree": "a789fa5471f2b21c91c92466e53beabab0fd3eb1",
      "parents": [
        "778c2de060473636ba7237a460b53a2f03f50f05"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 05 09:04:08 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 03 15:44:32 2013 +0000"
      },
      "message": "Camera2: Implement idle callbacks\n\n- Rework camera callback binder interface\n- Connect up idle, disconnect callbacks\n- A few unit tests for shutter firing and idle use\n\nBug: 10549462\nChange-Id: I8455a8a0561e366b7edeef6b101682be2ec44d79\n"
    },
    {
      "commit": "7b7a154026f5660de68180de8a2158dff51889e6",
      "tree": "035ed312948fda7ab6bd9cf91c09f596f378e827",
      "parents": [
        "2001188be30649198972a3199a4322d6f7f5f93d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 16:33:35 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 19:33:31 2013 -0700"
      },
      "message": "Camera2: Fix Camera integration test deadlock\n\nThe problem was: when SurfaceTexture is used, test didn\u0027t acquire/release\nimages when they are produced, then it starves the producer and\ncause deadlock. This change replaces SurfaceTexture with ImageReader, release\nevery image produced immediately.\n\nBug: 10360518\nChange-Id: I9aabaee23013277c2da6f5825ac931bc10511fbc\n"
    },
    {
      "commit": "2001188be30649198972a3199a4322d6f7f5f93d",
      "tree": "f8a55ac2b29871615942c357442200abb6888b0c",
      "parents": [
        "6a1e32efb686bd5606f62076c70f399ff3bdc37d"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 10:05:59 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 13:54:25 2013 -0700"
      },
      "message": "Camera2: Implement CameraManager#getCameraCharacteristics\n\nBug: 10904541\nBug: 10360518\nChange-Id: I1da0b0319703fda46789f15a232e56ed1d928bc3\n"
    },
    {
      "commit": "68f40066c914aefc1f88819dd46dd1135fb9f5bc",
      "tree": "eeb786c7f3ecae6d0179cdfa521ba2b92fe157b6",
      "parents": [
        "ca833c389b3cc2f95f27fe7782d0bebb8b36d660"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 10 12:15:54 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Sat Sep 21 21:01:32 2013 -0700"
      },
      "message": "camera2: Rename CameraProperties to CameraCharacteristics\n\nBug: 10360518\nChange-Id: I8667bdcc8c9528ace96dc675585f923004932641\n"
    },
    {
      "commit": "98d18bbc5e59c98c890593d521b5b641030a5f1d",
      "tree": "639b39de04caa20339d82204c2a6ba828b368fb0",
      "parents": [
        "c05c36285dbc715e851671cb4495d376743c4399",
        "c10b55a5e4158c31410c7dab2656d46bc4544024"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Sep 16 21:11:25 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 21:11:25 2013 +0000"
      },
      "message": "Merge \"Fix media stress test.\" into klp-dev"
    },
    {
      "commit": "5cf86aa7564eff8443158644e866a420d865b1bc",
      "tree": "c38a5130079d9cbae6815e7dc79f2f3f547eb6bc",
      "parents": [
        "af672998af7fb0bba90f7d56504584a63ff189fa",
        "e3351f1942bfe86682389b278e7ff128a72ea671"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 16 21:02:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 21:02:32 2013 +0000"
      },
      "message": "Merge \"media: Update ImageReader to remove MaxImagesAcquiredException\" into klp-dev"
    },
    {
      "commit": "26cb5fd5fffb2204ec12994cacb3b32639eb4d59",
      "tree": "c7b8815999cbdba8ad704123465c8f3f0ba01971",
      "parents": [
        "311daf205348849c97822d33d6a4f7b75bfec6d8",
        "5e712064dfe48992f8f732208fa4fc13f3455b30"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 16 20:19:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 20:19:15 2013 +0000"
      },
      "message": "Merge \"media: Update ImageReader APIs\" into klp-dev"
    },
    {
      "commit": "c10b55a5e4158c31410c7dab2656d46bc4544024",
      "tree": "adad54ee65cbc87ae6f2f6c731ad272f1353306e",
      "parents": [
        "dc6fd0a20a095ac0fb544184d8a4258e80b4a14d"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Sep 16 12:50:12 2013 -0700"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Sep 16 12:50:12 2013 -0700"
      },
      "message": "Fix media stress test.\n\n1) Fix the CamcorderProifle initalization.\n2) Insert 2 seconds after camera release.\n\nChange-Id: Ib22f1922a917233f3d1020dc67de834e00fd0959\n"
    },
    {
      "commit": "6b2b845948f1f43c0e407744c9400d831a2e0e0c",
      "tree": "e0f78c1b5843f4b466b9ecce56d0ebd5129258b3",
      "parents": [
        "36317eac4b8d9d2b34b2fb71d81bf17cec1872ca",
        "53d1537606923778bfc8efe462a033a09273dfa6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 16 18:24:13 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 18:24:13 2013 +0000"
      },
      "message": "Merge \"Miscellaneous fixes to SoundPool unit test\" into klp-dev"
    },
    {
      "commit": "36317eac4b8d9d2b34b2fb71d81bf17cec1872ca",
      "tree": "0e3c83c0720bae86cec3069256ab19facd1f8d32",
      "parents": [
        "78a1de651968fc67f43fc881bc8ff5ac3ff380c9",
        "d5da9de8165fff06e488faabde82f3e68cc4407f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 16 18:23:54 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 16 18:23:54 2013 +0000"
      },
      "message": "Merge \"Stress test for AudioTrack shared memory bug\" into klp-dev"
    },
    {
      "commit": "e3351f1942bfe86682389b278e7ff128a72ea671",
      "tree": "8e3a8920d34f0d9105a9f68273b6a79ce7e6428d",
      "parents": [
        "5e712064dfe48992f8f732208fa4fc13f3455b30"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 13 13:08:04 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 13 23:27:44 2013 -0700"
      },
      "message": "media: Update ImageReader to remove MaxImagesAcquiredException\n\n* acquiring images now throws IllegalStateException instead of\n    MaxImagesAcquiredException\n\nBug: 10691447\nChange-Id: I7ce68f990fb96703705b9181012a28633fea0b7a\n"
    },
    {
      "commit": "53d1537606923778bfc8efe462a033a09273dfa6",
      "tree": "b7b3c2983a5aa63939542d3fca33c38e6f6cbe81",
      "parents": [
        "9210bc85545f31973c957b5179e6a82d05f473c6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 13:46:23 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Sep 13 13:48:38 2013 -0700"
      },
      "message": "Miscellaneous fixes to SoundPool unit test\n\nExplicitly specify API level 8, to permit same .apk be used with multiple platform versions.\nIn the priority test, use different samples for low and priority sounds,\n    so it is possible to hear the difference.\nIncrease sleep times to make it easier to hear.\nOnly use Log.e for errors.\nAdd more logs and sleeps.\nPan more slowly.\nFix typos in logs about the test names.\nFix typo in pan comment.\n\nChange-Id: Iebce07ca0cf3d6fa1b04faa8577faa1c6d25f8e6\n"
    },
    {
      "commit": "5e712064dfe48992f8f732208fa4fc13f3455b30",
      "tree": "5b94b96e4dc152d88cc6b0cdb678f004e4d25cd5",
      "parents": [
        "e850c973b0662975137cee8a05f8ee2cb82d9b2a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Aug 29 15:38:17 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 12 16:57:57 2013 -0700"
      },
      "message": "media: Update ImageReader APIs\n\nBug: 10461757\nChange-Id: Ic04e4c41965e3d417b29004f3f08e0cd56b8f4cb\n"
    },
    {
      "commit": "70c2207c34cf0e6b3b383b1b1500ff5385aa51a6",
      "tree": "48c81e88d69e45be7ffc614f3d952d1f4e08de6c",
      "parents": [
        "4af73c2153747d0624ccc75dfa001cb91982957f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 27 12:09:04 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 11 13:18:10 2013 -0700"
      },
      "message": "Camera2: Immutable metadata\n\nMake all camera metadata immutable once created; requests are\ncreated using CameraRequest.Builder.\n\n- Separate CameraMetadata implementation from interface\n- Implement deep copying of metadata\n- Requests/results/properties have-a native implementation\n\nBug: 10360518\nChange-Id: Ia6300c237219d39f70c63156fa9ca666d951a36e\n"
    },
    {
      "commit": "d5da9de8165fff06e488faabde82f3e68cc4407f",
      "tree": "a36649f4d2facca5e8d1142ee53f0d94aa3a88f3",
      "parents": [
        "d9f4e0cf2c2466d9e05f8562e55d342934f7ed0d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Jun 27 18:46:25 2010 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 11 12:48:17 2013 -0700"
      },
      "message": "Stress test for AudioTrack shared memory bug\n\nChanges in patch set 2:\n - add call to ProcessState::self()-\u003estartThreadPool()\n - remove dead code AudioSystem::get_audio_flinger\n - use simpler MemoryDealer isntead of MemoryHeapBase\n - AudioTrack now must be sp\u003c\u003e instead of raw pointer\n - use new constants from audio.h\n - change LOGx macros to ALOGx\n - fix file permission on Android.mk\n\nBug: 2801375\nChange-Id: I899b08e0aa91deca328523f66f71e667011b4522\n"
    },
    {
      "commit": "23c8809568b68430f875df759108c58016c44c16",
      "tree": "2a5882afeb7e9ed693f8358b8d43c892c640b3ed",
      "parents": [
        "7f043de9a9eb0b071b93ddfffdc5ba0f6d1c7309"
      ],
      "author": {
        "name": "Timothy Knight",
        "email": "tknight@google.com",
        "time": "Wed Aug 21 14:33:40 2013 -0700"
      },
      "committer": {
        "name": "Timothy Knight",
        "email": "tknight@google.com",
        "time": "Wed Sep 04 16:58:58 2013 +0000"
      },
      "message": "Camera2: Updated Rational for denom\u003d0.\n\nHandle NaN and INF using the same semantics as Java floats. No longer\nthrow an exception if a rational is constructed with a zero-denominator.\n\nThis commit is required for the ITS pdk app, since without it, the app\nfails when it tries to deserialize rational values that are\n(incorrectly) set to 0/0.\n\nBug: 10337323\n\nChange-Id: I890ec2092f2945abc0f531fc46f9a7f5c71d2dbf\n"
    },
    {
      "commit": "8ebd52bf4166a5ef8b7e91c9e3ecce2ce27cff12",
      "tree": "b78e0dedc23a07066a8d3e492ff2bc229dbfe7bb",
      "parents": [
        "b8d3a3de675a42b0eed6117eca509c42903d7ee3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Aug 13 12:09:44 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 23 14:20:35 2013 -0700"
      },
      "message": "Camera2: Add CameraDevice#flush()\n\n- For quickly clearing out all pending and in-progress captures\n\nBug: 9758581\nChange-Id: Ie4123fcc4d4b648a11d4a6257c531f07182bab39\n"
    },
    {
      "commit": "c8d07567761a84afd486afcc35df540e91248c16",
      "tree": "31380954484e3395d22ecac5001a606a46eae33b",
      "parents": [
        "007751276c210c39bd405ae9fa69854e67e80951"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Aug 19 19:03:26 2013 -0700"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Mon Aug 19 19:03:26 2013 -0700"
      },
      "message": "Add the checking for the camcorder profile.\n\nNot all the devie have camera. Only run the\nrecording test when the camcorder profile is\nnot null.\n\nChange-Id: Ib38df363fe5e6049b72e97ae229964fb65882269\n"
    },
    {
      "commit": "b6c38e9de1a2824ce599d7074fa4a226926177c1",
      "tree": "35a4e7b88201ff595f5888c6ec6cfa5bed8fafc6",
      "parents": [
        "b6e8943933f745f5e3f248ac058fc8dbca8f8ab1"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Aug 16 14:11:43 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Aug 19 20:37:37 2013 +0000"
      },
      "message": "Camera2: Remove redundant Keys classes\n\nAlso update tests accordingly\n\nBug: 10345522\nChange-Id: I8c7d17cdfbda6faba09134745a96089bf1b70cb7\n"
    },
    {
      "commit": "66ef64514464a1bb9c7931993cc8db3d7539f39a",
      "tree": "38c252d5499a7a58c5bf680e6c8c1e8f1c06a882",
      "parents": [
        "6f2883c9ac65065ed6e4bc4bc60af240af7f934c"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Aug 08 13:05:30 2013 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Fri Aug 16 18:34:23 2013 +0000"
      },
      "message": "Refactor CameraService to handle errors properly.\n\nBug: 10361136\n\n- Connect calls now return status_t error flags.\n\nChange-Id: Ibce9ab047348cfcade7e70a2ef03f5a833e13af8\n"
    },
    {
      "commit": "373673abd68f512dd17a6c2b7606ebad365e87cc",
      "tree": "c03f3ba8e229f7cc1464c38e228520aa93d36a24",
      "parents": [
        "c44510bb86c7f41d93eb1983befb33cf462e93a3",
        "3a5e2013a1296065a4674bdc43f357d3a352a6e9"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Mon Aug 05 16:03:01 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 05 16:03:01 2013 -0700"
      },
      "message": "am 3a5e2013: am ebbcc18e: am 4032217e: Merge \"Add option for video playback test to accept media source path.\" into jb-mr2-dev\n\n* commit \u00273a5e2013a1296065a4674bdc43f357d3a352a6e9\u0027:\n  Add option for video playback test to accept media source path.\n"
    },
    {
      "commit": "3a5e2013a1296065a4674bdc43f357d3a352a6e9",
      "tree": "59342bcdd9d3b9f9c39155eb1956ab1b57d15a65",
      "parents": [
        "eab8e18d8f6f34a9d35fbb120148956789ad48a2",
        "ebbcc18eaa8a69579fadae484630aa1ba447c031"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Mon Aug 05 15:58:48 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Aug 05 15:58:48 2013 -0700"
      },
      "message": "am ebbcc18e: am 4032217e: Merge \"Add option for video playback test to accept media source path.\" into jb-mr2-dev\n\n* commit \u0027ebbcc18eaa8a69579fadae484630aa1ba447c031\u0027:\n  Add option for video playback test to accept media source path.\n"
    },
    {
      "commit": "a81dcd03dc55fe8d80e6ff50b2f83c8df0137dd9",
      "tree": "dd321ead82b9fc74d19aa312514b0e65ec644324",
      "parents": [
        "aef5721e7f95dd85e34370c8cccb0cc37b7bc4af",
        "b56f10aa66914aeb880c624ed6e938e1941ff820"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 02 17:58:31 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Aug 02 17:58:31 2013 -0700"
      },
      "message": "am b56f10aa: am 32c308a5: Merge \"If media wants ASCII lowercasing, it needs to ask for it.\"\n\n* commit \u0027b56f10aa66914aeb880c624ed6e938e1941ff820\u0027:\n  If media wants ASCII lowercasing, it needs to ask for it.\n"
    },
    {
      "commit": "693e21d6052b32ad7815d9c0d7bd01fd6170a608",
      "tree": "5aad2be749f74ee730d8cdb11092866445bdd273",
      "parents": [
        "af728bd201195799c8e993ece145d607b9ca67df"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jul 31 14:16:14 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Aug 02 15:24:45 2013 -0700"
      },
      "message": "MediaFrameworkTest: Add camera capture result callback test\n\nAlso refactor the code to reduce code duplication.\n\nChange-Id: I428ad73510043ebf9e62cd7841bfdb683c96f9bc\n"
    },
    {
      "commit": "dcb1a58cf9d66b36de825dae2fa0cb0529e60680",
      "tree": "6be97085a3ea04c3801de7ae0a4e1ff2b2adc160",
      "parents": [
        "c67b2ed50226c4758d0fc1434d39f6add6a0a533"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 02 09:30:06 2013 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Fri Aug 02 10:03:53 2013 -0700"
      },
      "message": "If media wants ASCII lowercasing, it needs to ask for it.\n\nhttp://elliotth.blogspot.com/2012/01/beware-convenience-methods.html\n\nUse toLowerCase(Locale.ROOT) if you want ASCII for machine consumption,\nand use toLowerCase(Locale.getDefault()) if you want the user\u0027s locale\u0027s\ncasing rules for human consumption.\n\nBug: https://code.google.com/p/android/issues/detail?id\u003d58359\nChange-Id: Id9005a17e34217a81bef3b40031b9e2e6272f45d\n"
    },
    {
      "commit": "2f1a2e423e0fbb64467d6fcfa4e82c6384f31210",
      "tree": "84d91887a953c9a0bf5ca6d1ca112c8ab82bc08f",
      "parents": [
        "39dd5a62ae4348e941c8351635e61dc065b2ced7"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Jul 25 17:12:05 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 30 11:37:31 2013 -0700"
      },
      "message": "Camera2 API: Rename package to android.hardware.camera2\n\nChange-Id: I77b7939e199f9fe8e12a59393c24cff08097448c\n"
    },
    {
      "commit": "7f4d3147d1851d2f0c544e45390c139bda9fd9aa",
      "tree": "e53c1c97ec454fa3c56670aa4ac4ce5d16c1997c",
      "parents": [
        "5830e0752121c5565da184727888de6567b50e3a"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 23 07:54:38 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jul 23 13:46:37 2013 -0700"
      },
      "message": "camera2: Implement CameraDevice#waitUntilIdle\n\nAlso cleanup some logging/comments.\n\nChange-Id: Id1a4dd853519802a2b74b8d2172095ba388329e6\n"
    },
    {
      "commit": "229019e6afdc4574988196b6333b187d3ed482cf",
      "tree": "5b3f85b1d5cc7aa4393bbf6b5e52e0d8f9b761b1",
      "parents": [
        "d1233575b558d3dc585f7e04ff1377c24f3beaf4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 22 18:08:30 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Jul 22 18:08:30 2013 -0700"
      },
      "message": "MediaFrameworkTest: Fix camera unit test failure\n\nFix for testSubmitStreamingRequest failure\n\nChange-Id: I2e22a56b3da90112a668c2185b05eb9288cde392\n"
    },
    {
      "commit": "3710db80d4b9e573d775790e4c9a2ab6e062201e",
      "tree": "75ca64515cc2aba0f97c9334e454bf0d90636d78",
      "parents": [
        "27b62ae8eb4623cef45d29c704aaf169f8c76025"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 18 20:11:17 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 19 12:04:48 2013 -0700"
      },
      "message": "camera2 api: marshal rect, size, string for metadata\n\nChange-Id: Iec2fd823bc92394da44abb32ca38a625d7638e3d\n"
    },
    {
      "commit": "d7bf1778df666e82268d1e4549d248ce3dfc9665",
      "tree": "07556b3fa76172b411d567e1ddb580e8c0981f30",
      "parents": [
        "b9dd637f830e6bd4f257ffb2c807c3ea27f8feee"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 12 18:01:31 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jul 15 13:37:08 2013 -0700"
      },
      "message": "camera2: Implement CameraDevice#getCameraInfo\n\nBug: 9529161\nChange-Id: Ie37d1e07bb8416cbb141f4d49e52337bf7236610\n"
    },
    {
      "commit": "b9dd637f830e6bd4f257ffb2c807c3ea27f8feee",
      "tree": "52a62c46bcafaa230a44f90d173b6a06db9c9a84",
      "parents": [
        "b519cc52ecba8f44da31173c9fc90a7b66d52b79"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 11 19:37:04 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Jul 12 17:25:50 2013 -0700"
      },
      "message": "camera2 api: Generate metadata keys and enums from XML\n\nChange-Id: I9b04b5933c5922fc522e9216f4deebcd6fc24d78\n"
    },
    {
      "commit": "796c93b11096002db8ee8fff670ba2a1980877d9",
      "tree": "195b2284c0fa9f5ba46bd86408565b2bd07b0959",
      "parents": [
        "29282f99252237dd9674737d26ce72afbfdd3ac1"
      ],
      "author": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Thu Jul 11 19:30:51 2013 -0700"
      },
      "committer": {
        "name": "Xia Wang",
        "email": "xiaw@google.com",
        "time": "Thu Jul 11 19:30:51 2013 -0700"
      },
      "message": "Add option for video playback test to accept media source path.\n\nThis allows the stress test to be able to streaming video over network.\n\nChange-Id: Ie0089c1ba2a076c9c1325934643c2f22f2ca9866\n"
    },
    {
      "commit": "b519cc52ecba8f44da31173c9fc90a7b66d52b79",
      "tree": "0f537a5a46f279c843192b2edb17f0f26177a208",
      "parents": [
        "6b0693a318f8474f545cdccfb63cc74f847b3256"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jul 02 11:23:44 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Jul 11 13:06:56 2013 -0700"
      },
      "message": "camera2 api: Add CameraMetadata get/set support\n\n* Add a Rational class\n* Can get/set Key\u003cT\u003e where T is a primitive (or Rational)\n* Can get/set Key\u003cT\u003e where T is a primitive array\n* Can get/set Key\u003cT\u003e where T is an enum (synthetic constructor only)\n\nNot implemented yet:\n* When T is anything else, i.e. Rect, Size, etc\n\nBug: 9529161\nChange-Id: I64438024a1e8327a38dd2672652626f0ffbb70e3\n"
    },
    {
      "commit": "70725500dcf3b666b43d50563d64705aab58d2d3",
      "tree": "ad2d6206c590e11c4b86e871c138f2aabd822956",
      "parents": [
        "e363fbb2647aeb5ef4c87160d84c6b9ae8d45598"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 25 20:27:06 2013 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 26 13:19:45 2013 -0700"
      },
      "message": "Initial camera device implementation\n\n* Working streaming preview requests only\n* Almost everything else returns empty objects that don\u0027t do anything\n\nBug: 9213377\nChange-Id: Ie6f02a7c0952b0f5ebc41905425b15cae221f7d3\n"
    },
    {
      "commit": "e363fbb2647aeb5ef4c87160d84c6b9ae8d45598",
      "tree": "ff832d9b46118be173d254ad269c93627ce9e6d1",
      "parents": [
        "73d5fe9f2e6edc11327b4a211f7d077e1e52cbb2"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 25 20:26:06 2013 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Jun 26 13:19:44 2013 -0700"
      },
      "message": "Partial CameraManager implementation\n\nBug: 9213377\nChange-Id: I8f89fb94d7081a71b38e5cd0ad89116d219b4c33\n"
    },
    {
      "commit": "a858308ed2c950fe800abeefcb845b9c3197a2f3",
      "tree": "4147ceb253ea4474df716db3ae51ddbaf4afe646",
      "parents": [
        "e473f7d8f96b5682141522378b761913192d8114"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 25 05:15:02 2013 +0000"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 25 05:15:02 2013 +0000"
      },
      "message": "Revert \"Partial CameraManager implementation\"\n\nThis reverts commit e473f7d8f96b5682141522378b761913192d8114.\n\nChange-Id: I23e92ca2def0ebf507f6c782442a4698745bc926\n"
    },
    {
      "commit": "e473f7d8f96b5682141522378b761913192d8114",
      "tree": "d85873251b11f21bd14b6bf323f3c3aa553ace69",
      "parents": [
        "a3f62a8439982f2cfac80886e0b4bc69bfad5525"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 14:23:50 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Jun 24 17:41:09 2013 -0700"
      },
      "message": "Partial CameraManager implementation\n\nBug: 9213377\nChange-Id: I29864a5d1f7971ed589d1ffaddeefbb703e34018\n"
    },
    {
      "commit": "2d2cd32cc7293bbb48b0f0e70a0dc7eb05cac9d3",
      "tree": "fde2aba9b1d88e88e8d5dc18f1a374e807c8a6d6",
      "parents": [
        "85c28e81833844a87cf2ca09866eb4c2b33c6709"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 14 09:42:26 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 14 09:47:27 2013 -0700"
      },
      "message": "Make MediaPlayer.invoke() public-and-hidden again\n\nIt\u0027s used in a bunch of other places in other repos that I don\u0027t\nwant to touch.\n\nChange-Id: I6f2ec6f8066286de9b52499fc71f3f08953c3cb4\n"
    },
    {
      "commit": "85c28e81833844a87cf2ca09866eb4c2b33c6709",
      "tree": "5dea4b01ad544745627c4723fd2affc6cef86fca",
      "parents": [
        "c2f9024b13aa9122797f0a5062b2cf3504f381bf"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 14 09:18:35 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 14 09:18:35 2013 -0700"
      },
      "message": "Forgot something\n\nChange-Id: Ia579213303e79b282a7ba472b39576d4b160a739\n"
    },
    {
      "commit": "c2f9024b13aa9122797f0a5062b2cf3504f381bf",
      "tree": "99063edb6dc3a552225e9f2170054de24af69791",
      "parents": [
        "3e72eb5245a439525976dbb9a67280b9b26b9f14"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 14 09:14:28 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jun 14 09:14:28 2013 -0700"
      },
      "message": "Fix build\n\nWe don\u0027t need a separate test for invoke() because there are other\ntests that exercise it.\n\nChange-Id: I8c8f3593e7e9eed3c53997453f0f66ba8374e79e\n"
    },
    {
      "commit": "cf88be6dc843d972c98ff100430b16aa22c60516",
      "tree": "82c4cde699e502be6b26396b6133b69fb3b516f1",
      "parents": [
        "28dd15b2d48752f8ea86d1fe10e31da3eeba5bb0",
        "4491d684f47fcf1e05652f910587a930be8a4135"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 20:45:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jun 11 20:45:19 2013 +0000"
      },
      "message": "Merge \"camera: Add Java binder proxies for some existing binder interfaces\""
    },
    {
      "commit": "4491d684f47fcf1e05652f910587a930be8a4135",
      "tree": "9692bbe442682bf876bad7f2554ddfcc13ae1851",
      "parents": [
        "4f057ffa2a9bed82d97c1889dc95d6b2bed8ff8d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri May 31 16:43:48 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Jun 11 11:36:38 2013 -0700"
      },
      "message": "camera: Add Java binder proxies for some existing binder interfaces\n\nNote that anything not in the AIDL interfaces, will NOT be magically\ncompatible if you just add it there. It probably requires a change in\nframeworks/av/camera as well.\n\nBug: 9213377\nChange-Id: I91d3efb755ed2e3ace139f83573f86efdccccd06\n"
    },
    {
      "commit": "8b6bbb58c8d1a48c84c513c916ac33d2a52feef7",
      "tree": "84e56aeb5044aeb1c6dc03a4c42dc4fbe5e37395",
      "parents": [
        "2595f4afe161eed621d6775540645e570337c5eb",
        "b809577f46c44cd61e4f719b4cd810115bdcf367"
      ],
      "author": {
        "name": "Jason Noguchi",
        "email": "jnoguchi@google.com",
        "time": "Thu May 30 14:23:54 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu May 30 14:23:54 2013 -0700"
      },
      "message": "am b809577f: am b318f7b9: Merge \"Refactor of camera stress test to add camera test helper. Also add additional functional tests for: flash, exposure, white balance, and focus mode.  Also add pairwise tests.\" into jb-mr2-dev\n\n* commit \u0027b809577f46c44cd61e4f719b4cd810115bdcf367\u0027:\n  Refactor of camera stress test to add camera test helper. Also add additional functional tests for: flash, exposure, white balance, and focus mode.  Also add pairwise tests.\n"
    },
    {
      "commit": "b318f7b900a3cc0899b6e2a4bd79b9894f29d74f",
      "tree": "bcf554dd402944a2d96d2a4371cf1469c75683a6",
      "parents": [
        "d9f7250a1d53cf1be66fd20b95f1303abb1d2a10",
        "c6cedc84f49b8b72d32069cfa515a51b8c128cc0"
      ],
      "author": {
        "name": "Jason Noguchi",
        "email": "jnoguchi@google.com",
        "time": "Thu May 30 01:23:48 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 30 01:23:48 2013 +0000"
      },
      "message": "Merge \"Refactor of camera stress test to add camera test helper. Also add additional functional tests for: flash, exposure, white balance, and focus mode.  Also add pairwise tests.\" into jb-mr2-dev"
    },
    {
      "commit": "c6cedc84f49b8b72d32069cfa515a51b8c128cc0",
      "tree": "73024ee413d52583f002af472a8ef5f0ecd362c2",
      "parents": [
        "eed8411c8cc1f163ba06a928e3b4b6d3f1045282"
      ],
      "author": {
        "name": "Jason Noguchi",
        "email": "jnoguchi@google.com",
        "time": "Wed May 01 16:59:22 2013 -0700"
      },
      "committer": {
        "name": "Jason Noguchi",
        "email": "jnoguchi@google.com",
        "time": "Tue May 28 15:28:32 2013 -0700"
      },
      "message": "Refactor of camera stress test to add camera test helper. Also add\nadditional functional tests for: flash, exposure, white balance, and\nfocus mode.  Also add pairwise tests.\n\nSlight refactor to add camera test helper and also additional\ntests for: flash, exposure, white balance, and focus mode\n\nBug: 9174937\n\nChange-Id: I3d26b545dc8ff972c8173066df59a2e572a837ef\n"
    },
    {
      "commit": "e0e1af0ac6a9f7382f4b3d807518b9844b4952bf",
      "tree": "9dc6d4cdb844eed787820ef57569f8e226b91238",
      "parents": [
        "69d692dca9294f57216c49949b48993cbc85e522",
        "03367e2971e095b819f789c999cf03f8b3eec7ae"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Fri May 24 18:55:55 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 24 18:55:55 2013 -0700"
      },
      "message": "am 03367e29: am b830d527: Merge \"Update test with CamercorderProfile video size.\" into jb-mr2-dev\n\n* commit \u002703367e2971e095b819f789c999cf03f8b3eec7ae\u0027:\n  Update test with CamercorderProfile video size.\n"
    },
    {
      "commit": "9c539e8511c88419b2f9bdf7d5aad6f91e521c7d",
      "tree": "0476e5b626cb4ca9d11fa204e558b5d8849f634f",
      "parents": [
        "28d3dbf969c4c7965ea44bfe4b54095af5356970"
      ],
      "author": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Thu May 23 21:45:04 2013 -0700"
      },
      "committer": {
        "name": "Yu Shan Emily Lau",
        "email": "yslau@google.com",
        "time": "Thu May 23 22:02:28 2013 -0700"
      },
      "message": "Update test with CamercorderProfile video size.\n\nBug:9114681\nChange-Id: Id8ac6e98849715d21cd4a983fc13935debea5e5f\n"
    },
    {
      "commit": "2b8ae6f521f742b983e46cbe2c4bdf8ef559309c",
      "tree": "262b98a3a17a214ce425e3c1ee7a1bb2c4debfa1",
      "parents": [
        "bed4301eedc9828bcdb83a9803382d5641b81efa",
        "68c666ebb75b7e87ee9773752165351482b49a08"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 10 12:46:42 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 10 12:46:42 2013 -0700"
      },
      "message": "am 68c666eb: am 804e618d: Fix build\n\n* commit \u002768c666ebb75b7e87ee9773752165351482b49a08\u0027:\n  Fix build\n"
    },
    {
      "commit": "bed4301eedc9828bcdb83a9803382d5641b81efa",
      "tree": "08a19639acfd327264b609a2f3745e4d470d81f8",
      "parents": [
        "c08d4d99e2ee96a18880b4d4818af1d8ed4ebf0a",
        "214c74747d0ff8219e020c5edc6f12bca923b45a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 10 12:46:39 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri May 10 12:46:39 2013 -0700"
      },
      "message": "am 214c7474: am aad3762f: Merge \"Fix build\" into jb-mr2-dev\n\n* commit \u0027214c74747d0ff8219e020c5edc6f12bca923b45a\u0027:\n  Fix build\n"
    },
    {
      "commit": "804e618db6240a6c253c0d3eab2232b1823e217a",
      "tree": "a065606efe26ea74c033e18bb2b095571118f61d",
      "parents": [
        "aad3762f1bcc3e90c6f312669caa1115f4714669"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 10 08:28:36 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 10 08:28:36 2013 -0700"
      },
      "message": "Fix build\n\nChange-Id: I2eb54a936630094b4bd9c19a944579670a4e0bb8\n"
    },
    {
      "commit": "ff9a2437975414c97e0ac03246d93419c7a83259",
      "tree": "cc1b2e2ec8f2196ff53e257cc90922fac848ce4e",
      "parents": [
        "2c76016cbc1e426ab30d322745dfb6d4e6784138"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 10 08:05:15 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri May 10 08:05:15 2013 -0700"
      },
      "message": "Fix build\n\nChange-Id: I4afe65f73d8607a97a561615ebfc34aadfe00b95\n"
    },
    {
      "commit": "1b7dba8d50030568a67f5f9f99b1b2f8c367e6a4",
      "tree": "842aaea8032df3a2b1b356dc50b5c72fb28a767b",
      "parents": [
        "2e29cdae53bd82819ec91ce2d353a9170971aafc"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 19 17:25:03 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 01 09:51:16 2013 -0700"
      },
      "message": "Fix BT SCO audio test application.\n\nCatch exceptions when stopping the MediaRecorder in onPause().\n\nChange-Id: I9f8b3dd4f0919cdc1ef21334be177596bfeef88e\n"
    },
    {
      "commit": "d685894212e6dbeac1fda4996903c1da115d49a6",
      "tree": "c52d05c78811e79a869afbcdbe55a906e38f2fa1",
      "parents": [
        "9fa49cc3308f6af593d780581121afc3c1d7e046"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Tue Apr 09 21:54:12 2013 -0700"
      },
      "message": "Add liblog\n\nBug: 8580410\nChange-Id: I746aa8258866508c3a725d0773faf4518096548f\n"
    }
  ],
  "next": "83a017b6b7c099d1a0293e5839be6477325aef06"
}
