)]}'
{
  "log": [
    {
      "commit": "5ad21fb5686d4d32f61a47eab5a3fd2c4670e32d",
      "tree": "131a3301b23d84b1564e1f9a0a853701225970f9",
      "parents": [
        "786a8daf400df7b49f6a7c19a5cea9b504d6aa9e",
        "a614426bc7e195af227a585bb0a07f43b4022d78"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 27 14:51:19 2012 -0800"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Nov 27 14:51:19 2012 -0800"
      },
      "message": "Merge \"New VHQ resampler\" into jb-mr1.1-dev"
    },
    {
      "commit": "a614426bc7e195af227a585bb0a07f43b4022d78",
      "tree": "18f9408e8a76815216783b24249b4e1177d982cd",
      "parents": [
        "35436ad21902edf83e3c1307b45b38d13137d31c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Nov 19 09:00:47 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Nov 27 13:33:45 2012 -0800"
      },
      "message": "New VHQ resampler\n\nSquashed commit of the following:\n\ncommit 12b6952da9f25e94d06dd7185bce255924e7e791\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Nov 19 15:27:26 2012 -0800\n\n    fix a typo in SINC resampler that prevented tracks to be mixed\n\n    we were always erasing the current mix instead of mixing into it.\n\n    Change-Id: Ib229245f9e5a0d384f1727640a59e9f0469211a2\n\ncommit 0019ce082df430278f14ab922e900ce33b64897d\nAuthor: Dave Bort \u003cdbort@google.com\u003e\nDate:   Tue Nov 13 01:30:32 2007 -0800\n\n    Rename \"TARGET\" to \"MODULE\" in the build system.\n\n    Part one of the grand renaming.\n\n    API_CHANGE: Third parties may need to update their makefiles.\n    Any variables with \"LOCAL\" and \"TARGET\" in their names\n    should now use \"MODULE\" instead of \"TARGET\"; e.g., LOCAL_MODULE,\n    LOCAL_MODULE_TAGS.\n\n    PRESUBMIT\u003dpassed\n    OCL\u003d39840\n\n    Change-Id: Ica9a7937d3d9552ab84db46ac6eea8a290e404fe\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit f01adc0cef0e39e75c76d9195ac26a94cac0a100\nAuthor: Glenn Kasten \u003cgkasten@google.com\u003e\nDate:   Wed Nov 14 08:32:08 2012 -0800\n\n    Fix build warnings\n\n    Change-Id: Ic43bcca166a529a6431711b05a7fa21849b6a38b\n\ncommit 9bb031a565c753a03d9c9397edea318947d80528\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sat Nov 10 04:44:30 2012 -0800\n\n    more optimizations...\n\n    calculate the offsets from the phase differently, this happens\n    to reduce the register pressure in the main loop, which in turns\n    allows the compiler to generate much better code (doesn\u0027t need\n    to spill a lot of stuff on the stack).\n\n    this gives another 15% performance increase\n\n    Change-Id: I2ce3479dd48b9e6941adb80e6d443d6e14d64d96\n\ncommit 5a951598f31217b8cd2babd0720c9608ee17291a\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sat Nov 10 03:26:39 2012 -0800\n\n    refactor code to improve neon code\n\n    we want to make sure we don\u0027t transfer data from the\n    neon unit to the arm register file, as this can be quite\n    slow. instead we do all the calculation on the neon side\n    and write the result directly to main memory.\n\n    Change-Id: Ibb56664d3ab03098ae2798b75e2b6927ac900187\n\ncommit b381ee9e83bc9fd18986e79c7809841514ed590e\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Nov 4 15:16:13 2012 -0800\n\n    NEON optimized SINC resampler\n\n    this currently gives us a 60% to 80% boost depending\n    on the quality level selected.\n\n    Change-Id: I7db385007e811ed7bffe5fd3403b44e300894f5b\n\ncommit bea077354210242ea193a50b0dbab0fedab25df3\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Nov 5 01:51:37 2012 -0800\n\n    minor cleanups\n\n    Change-Id: Ia12ee4fb59e90221761bec85e6450db29197591f\n\ncommit 8f4ed7decbe161a5ff38200b218f5216d80aba46\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Nov 4 18:49:14 2012 -0800\n\n    improve resample test\n\n    - handle stereo input\n    - input file can now be ommited, in this case\n      a linear chirp will be used automatically\n    - better usage information\n\n    Change-Id: I5d62a6c26a9054a1c1a517a065b4df5a2cdcda22\n\ncommit 5fcd634ea6cb4df27c495abe20f5f9b8ff55d128\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Nov 4 02:03:49 2012 -0800\n\n    change how we store the FIR coefficients\n\n    The coefficient table is now transposed and shows\n    much better its polyphase nature: we now have a FIR\n    per line, each line corresponding to a phase.\n\n    This doesn\u0027t change at all the results produced by\n    the filter, but allows us to make slightly better\n    use of the data cache and improves performance a bit\n    (although not as much as I thought it would).\n\n    The main benefit is that it is the first step\n    before we can make much larger optimizations\n    (like using NEON).\n\n    Change-Id: Iebf7695825dcbd41f25861efcaefbaa3365ecb43\n\ncommit d652231abf4c7e2ea1fc89caae730cec1f7259a1\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sat Nov 3 23:37:53 2012 -0700\n\n    improve SINC resampler performance\n\n    The improvement is about 60% by just tweaking a few\n    things to help the compiler generate better code.\n    It turns out that inlining too much stuff manually was hurting us.\n\n    Change-Id: I8068f0f75051f95ac600e50ce552572dd1e8c304\n\ncommit 9dc68ef5b94c700c4ee68790e8cbb334c90a538d\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Thu Nov 1 21:03:46 2012 -0700\n\n    new coefficients for the vhq resampler\n\n    previous coefficients were provided by a 3rd party and didn\u0027t have a\n    way to re-generate them. we\u0027re now using the \u0027fir\u0027 utility.\n\n    the performance of the filter is virtually identical, except for\n    the down-sampling case which seems slightly better now:\n       It looks like both the previous and new coefficients are generating\n    some sort of clipping for full-scale signals in the down-sampling case\n    (although the new ones seem better), the reason for that is\n    unknown (see bug: 7453062)\n\n    Also updated the HQ coefficients for the down-samplers, previous ones\n    were a little bit too conservative -- the new ones push the cut-off\n    frequency up by about 1 KHz.\n\n    Change-Id: I54a827b5c707c7cc41268ed01283758dce1d7647\n\ncommit 38e0b8560a6fc1b7124e22e0e09a84a285182f8e\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Tue Oct 30 13:51:44 2012 -0700\n\n    fix SINC resampler on non ARM architectures\n\n    make sure the C version of the code generates the same\n    output than the ARM assemply version.\n\n    Change-Id: Ide218785c35d02598b2d7278e646b1b178148698\n\ncommit a1878128b182696ba508569b4d211d0dfae92463\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Tue Oct 30 12:49:07 2012 -0700\n\n    fix another issue with generating FIR coefficients\n\n    the impulse response of a low-pass is 2*f*sinc(2*pi*f*k), we were\n    missing the 2*f scale factor. This explains why we were seeing\n    clipping and had to manually scale the filter down.\n\n    Change-Id: I86d0bb82ecdd99681c8ba5a8112a8257bf6f0186\n\ncommit 1a0fb993430acc9f601e6c538305bc407c20ac5d\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 17:13:20 2012 -0700\n\n    fir a typo that caused up-sampling coefficiens to be wrong\n\n    up-sample coefficient were generated with a cut-off frequency of 24KHz\n    intead of ~20KHz, which caused more aliasing in the audible band.\n\n    also increased the attenuation to 1.3 dB on both up and down\n    sampling coefficient to avoid clipping.\n\n    Change-Id: Ie8aeecf1429190541b656810c6716b6aae5ece2e\n\ncommit 9520ad6862bd682ad075a9d9e3e94ada9f6e58b6\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 17:13:16 2012 -0700\n\n    test-resample: clip instead of overflowing\n\n    Change-Id: I550e5a59e51c11e1095ca338222b094f92b96878\n\ncommit ba36656300f250f7f1fdeb75149749344260e6cb\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Oct 21 01:01:38 2012 -0700\n\n    a test app for the resamplers\n\n    Change-Id: I66852d90d384f1d9e77b51ad1a1ebdbaf61d0607\n\ncommit 056a08b9bfd33cf27228c992adc8293a56b01be8\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Fri Oct 26 14:11:01 2012 -0700\n\n    reenable the cubic resampler\n\n    cubic resampler was disabled because it hadn\u0027t been qualified,\n    however after I did some tests, it does improve significantly\n    the sound quality over the order-1 resampler, even if it is\n    still quite bad.\n\n    also HIGH_QUALITY resampler was partially disabled, it\u0027s now\n    fully enabled. It\u0027s a big improvement over the cubic resampler\n    in terms of aliasing noise (it\u0027s not as good in the pass-band).\n\n    Change-Id: I70e3658c255896588642697be9eb594ff4ec0f8b\n\ncommit 8c0241d3ff50ae85167f69b3bd369244894cfa44\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Fri Oct 26 13:48:42 2012 -0700\n\n    improve SINC resampler coefficients\n\n    - we increase the interpolation precision from 4 to 7 bits\n    this doesn\u0027t increase CPU power required, it only increases the\n    size of the filter table but significantly reduces the noise\n    introduced by the quantization of the impulse response.\n\n    - the parameters of the filter are set such that aliasing is\n    rejected at 80 dB below 20 KHz. Because we don\u0027t use a lot of\n    coefficient (to save compute power), there are quite a bit of\n    attenuation in the pass-band: starting at 9KHz for the\n    down-sampler (48 to 44.1), and starting at 13 KHz for the\n    up-sampler (44.1 to 48) -- the transition band is about 15 KHz.\n\n    Change-Id: I855548d2aab8a0fb0d2a2da3a364b6842d7d3838\n\ncommit 69e7dab2192adc1f780464146810629ebd01b145\nAuthor: Pixelflinger \u003cmathias.agopian@gmail.com\u003e\nDate:   Thu Oct 25 19:43:49 2012 -0700\n\n    improve fir tool: cleanup, better default, bug fixes\n\n    - all parameters can be changed on the command-line\n    - added float output\n    - added debug option\n    - added an option to generate a polyphase filter coefficients\n    - added an attenuation option in dBFS\n    - added a lot of comments and references\n    - fixed kaiser window parameter\n\n    also the default should generate a filter with 80 dB rejection\n    (of the 24 KHz aliasing) above 20 KHz and a 15 KHz transition\n    band around ~20 KHz (for 48 KHz sampling rate).\n    It\u0027s not very good but corresponds to the current code.\n\ncommit 8347499d105a50257c18e9dac652e750b06428b1\nAuthor: Glenn Kasten \u003cgkasten@google.com\u003e\nDate:   Mon Oct 22 17:09:27 2012 -0700\n\n    Increase allowed number of VHQ resamplers to 3\n\n    Bug: 7378660\n    Change-Id: I69e33ca2eb4bb9bd38e2c63df62cd1130d68baf6\n\ncommit f91cf3cad7f5c4d52614271c89ab468741c5d24c\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Sun Oct 21 03:04:05 2012 -0700\n\n    Fix a typo that caused the high quality resampler to produce garbage\n\n    the problem is that if libaudio_resampler is present, it is those\n    coefficients that will always be selected, but the correct\n    meta-data.\n\n    Bug: 7385994\n    Change-Id: Ieebeb37b4dfb62a1a051bc29fae2ce056dbc6621\n\ncommit e158a9e4262a174c59469a205658bc3ca4078234\nAuthor: Dan Bornstein \u003cdanfuzz@google.com\u003e\nDate:   Fri Oct 3 10:34:57 2008 -0700\n\n    Manually merge change #111620 from tc3 to mainline, to keep the\n\n    automerger from choking on it.\n\n    p4 sync\n    p4 integrate -r -b android_to_tc3 //...@111620,111620\n    p4 resolve -a\n    p4 resolve     # resolve a couple merge travesties\n\n    PRESUBMIT\u003dpassed\n    BUG\u003d1399648\n    TBR\u003dedheyl\n    OCL\u003d111902\n\n    Change-Id: I854b01553dd92bbf9c864f5a9bd51a3d665f0ac2\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit b9f3c26032be7a6ea01a10d93d94826f449e68ab\nAuthor: Dave Bort \u003cdbort@google.com\u003e\nDate:   Fri Jan 18 14:51:05 2008 -0800\n\n    Rename \"Makefile\" to \"Android.mk\" throughout the tree.\n\n    For \u003chttp://b/issue?id\u003d960416\u003e.\n\n    I\u0027ve tested this as much as I can, but 1500 open files \u003d\n    easy to mess things up.  Please let me know if there\u0027s\n    a problem rather than rolling back this change.\n\n    PRESUBMIT\u003dpassed\n    BUG\u003d960416\n    TBR\u003djoeo\n    OCL\u003d46537\n\n    Change-Id: I5a404caf0f398a7afa7ae7abaf2f2a1c6ab490eb\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit 0c22a9a44c4103483fba1d944acf1354c5eb1617\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 23:44:25 2007 -0700\n\n    Tweak the SINC resampler parameters and double the performance. It\u0027s using about 10% CPU in the worse case now.\n\n    Change-Id: I50ac7e6c6702a427fa36ab6d976c507155057507\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit b85e41487983ad085b859acf8251e7e54480308a\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Mon Oct 29 04:34:36 2007 -0700\n\n    A sinc resampler for Audioflinger. It\u0027s not enabled yet, but fully functional and apparently working. It need more \"quality\" tests. In the 48-\u003e44 KHz, it takes about 25% of the CPU time.\n\n    Change-Id: I80eb5185e13ebdb907e0b85c49ba1272c23d60ec\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit ba3949ef17cac2ba71cc3096c413782a49c922e5\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Thu Aug 23 21:01:28 2007 -0700\n\n    fix a few small typos in the FIR computation\n\n    Change-Id: I6e56b514fe520f30f7487f85c64ea5d2a7c19b40\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\ncommit 7474bfa7de2604021963794dddfe44985648db6a\nAuthor: Mathias Agopian \u003cmathias@google.com\u003e\nDate:   Thu Aug 23 03:16:02 2007 -0700\n\n    This is a tool to compute the the reconstruction filter coefficients for a sinc audio resampler.\n\n    Change-Id: I99be2505139b8e0e7647200e1647509d4f7e6067\n    Signed-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n\nBug: 7577965\nChange-Id: I2c84a9283a1668723bad83e1a119c849c88c3e6b\n"
    },
    {
      "commit": "786a8daf400df7b49f6a7c19a5cea9b504d6aa9e",
      "tree": "bb3a77ca020334cd0993276d5adc1811d1e3a0d9",
      "parents": [
        "35436ad21902edf83e3c1307b45b38d13137d31c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Nov 26 10:50:55 2012 -0800"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Nov 26 16:01:48 2012 -0800"
      },
      "message": "Camera: Play shutter sound iff enableShutterSound(true) \u0026\u0026 ShutterCallback !null\n\nBug: 7564718\nChange-Id: Ie7821cdee57966d88af048759578439a3e6ecb2e\n"
    },
    {
      "commit": "35436ad21902edf83e3c1307b45b38d13137d31c",
      "tree": "6cdec82451a9b68ead54cdf7dd7f9a7498a571f2",
      "parents": [
        "3326dffb07bc7cb724cae31923a122321ff5bb1a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Nov 15 14:13:16 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Nov 16 13:31:11 2012 -0800"
      },
      "message": "Static AudioTrack plays twice initially\n\nBug: 7528721\nChange-Id: I10bc16a26f33dba6572b730a170cb3bf00e68e30\n"
    },
    {
      "commit": "1d838ceb5808a8753ec20b59deb121ec8b011fb4",
      "tree": "c946cd19889fa1c7db2e6596060c889d10154379",
      "parents": [
        "93a209fe6ee0c7251afe47153f6af5ad38b8dde9"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 24 17:30:30 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 24 18:00:19 2012 -0700"
      },
      "message": "Camera2: Don\u0027t hold locks while waiting to sync.\n\nBug: 7409877\nChange-Id: Ia3a0bc4f0ab4e19fca868ba04a870cf8e8ee7adb\n"
    },
    {
      "commit": "77d5554b5a18351993414c277b9f41c3710e6803",
      "tree": "2429743c92099e8c83ce3450a1da1b6e041d1280",
      "parents": [
        "c07073b8bb25e90dfe77c83a0badb4773b0377ec",
        "b66e9d6bcc45fabd1a8490d968d58cac8e1ac70c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 23 10:31:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 23 10:31:25 2012 -0700"
      },
      "message": "Merge \"Camera2: Increase mode update timeout.\" into jb-mr1-dev"
    },
    {
      "commit": "b66e9d6bcc45fabd1a8490d968d58cac8e1ac70c",
      "tree": "dc469806cd27fd3fd5b1076184f87cc280c87f9e",
      "parents": [
        "df4fca94ecad030e980e0c0f6b7d9711726d9638"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 23 09:09:01 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 23 09:14:48 2012 -0700"
      },
      "message": "Camera2: Increase mode update timeout.\n\nDuring camera startup, it might take a few hundred milliseconds before\nrequests start to be dequeued by the HAL. Increase the timeout for\nsynchronizing mode changes and triggers so that triggers near startup\ndon\u0027t time out.\n\nBug: 6970465\nChange-Id: I9dc35378e8018ec18ae31be874fcb094f8a9a0e9\n"
    },
    {
      "commit": "f1b2a9b65a904b10f91482cc0389bea1f66a891f",
      "tree": "3319adf1a9f46b75405d42d996fee1209eb64fbb",
      "parents": [
        "b833a1bad02b06182d4a2406fbcc1c7dac7c2663"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 22 17:09:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 22 17:09:27 2012 -0700"
      },
      "message": "Increase allowed number of VHQ resamplers to 3\n\nBug: 7378660\nChange-Id: I69e33ca2eb4bb9bd38e2c63df62cd1130d68baf6\n"
    },
    {
      "commit": "ebed918320bdacdb225f679a8d7135d1acd3fe51",
      "tree": "1f0157a53d0c958ab22a50871622983ac7579934",
      "parents": [
        "df4fca94ecad030e980e0c0f6b7d9711726d9638"
      ],
      "author": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 21 03:04:05 2012 -0700"
      },
      "committer": {
        "name": "Mathias Agopian",
        "email": "mathias@google.com",
        "time": "Sun Oct 21 03:04:05 2012 -0700"
      },
      "message": "Fix a typo that caused the high quality resampler to produce garbage\n\nthe problem is that if libaudio_resampler is present, it is those\ncoefficients that will always be selected, but the correct\nmeta-data.\n\nBug: 7385994\nChange-Id: Ieebeb37b4dfb62a1a051bc29fae2ce056dbc6621\n"
    },
    {
      "commit": "11eb0d9b627a4d153c9e023968f73f65b415c0a8",
      "tree": "9763bcde239c3a359fa7da3b4c6d887ce8f15011",
      "parents": [
        "c45ba052e2068591ece2f03c73b7b6b0e3bdb746",
        "c0fdb98b87bdd88c643a630e18838ddcdd5ab964"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 19 16:47:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 19 16:47:32 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix potential deadlock\" into jb-mr1-dev"
    },
    {
      "commit": "126c910f48a1e1b7a8044157d95f774d5e142316",
      "tree": "7c56b9ad56ac16e1fc095cc4903f1ea7f271e988",
      "parents": [
        "569661450b446f957f58b6690bff30f94542b737"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 18 15:51:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 18 16:54:00 2012 -0700"
      },
      "message": "Remove active track when thread goes to standby\n\nBug: 7369232\nChange-Id: I7ff9f525dad4be0aef562a53015b06ee7d3d50f1\n"
    },
    {
      "commit": "c0fdb98b87bdd88c643a630e18838ddcdd5ab964",
      "tree": "2eaa9a079d75866f1dc771d7dbce67820c6159be",
      "parents": [
        "509c451f99dff4bda6d73e301df43a5b95c4ffcb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 17 16:32:34 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 17 19:00:06 2012 -0700"
      },
      "message": "Camera2: Fix potential deadlock\n\nsetPreviewWindow was holding a lock during long-lasting HAL calls\nwhich may cause deadlock if the HAL calls back into the service during\nthe call. Stop holding the lock during these calls, since it\u0027s not\nessential to do so.\n\nBug: 7320517\nChange-Id: I4a35703d751e22ac32979b5a1288e291610576e7\n"
    },
    {
      "commit": "509c451f99dff4bda6d73e301df43a5b95c4ffcb",
      "tree": "c09be81f03cffb627d3345746856ed8a6a8043f1",
      "parents": [
        "9bccfb551d79a16e23278db7b0e043da79118bf8",
        "65dc3fc6fd708350c8d984736da5a2a0b72c5324"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 16:57:05 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 16:57:06 2012 -0700"
      },
      "message": "Merge \"Camera2: Improve quirks focusing behavior.\" into jb-mr1-dev"
    },
    {
      "commit": "65dc3fc6fd708350c8d984736da5a2a0b72c5324",
      "tree": "7cd2ec6c510b775546adea1826fce54e9b6bb13c",
      "parents": [
        "fbd60660780839a15db9f1c78c5feecd6ba6ed09"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 12:58:21 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 13:19:41 2012 -0700"
      },
      "message": "Camera2: Improve quirks focusing behavior.\n\n- When scene mode is set and the AF quirk is in use, don\u0027t change AF\nmode and then cancel when AF cancel is received. Just change mode\nsince that also implies a cancel.\n\n- Only trigger quirks switch when a focusing area is set.\n\nBug: 7318812\nChange-Id: I28d8755553bd78052e774701210cb94d84ee2046\n"
    },
    {
      "commit": "9bccfb551d79a16e23278db7b0e043da79118bf8",
      "tree": "6300723d5c78a5f9e0e91bf5436cbe7c2f97b818",
      "parents": [
        "fbd60660780839a15db9f1c78c5feecd6ba6ed09",
        "115b87ecf6182698b54055288d0f8710308b324d"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 16 11:27:24 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 16 11:27:25 2012 -0700"
      },
      "message": "Merge \"Fix track estimation for presentation complete\" into jb-mr1-dev"
    },
    {
      "commit": "115b87ecf6182698b54055288d0f8710308b324d",
      "tree": "59588554a539124b69c0f99290ad88d053ca6b57",
      "parents": [
        "6ebb67493075ecc817207bc0ca0305cde64b5c3b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 16 10:29:01 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Oct 16 11:00:11 2012 -0700"
      },
      "message": "Fix track estimation for presentation complete\n\nAudio tracks were not using the right latency estimation for\n signalling the completion of their presetation. This caused\n the synchronization mechanism between playback and record to be\n off, and a synchronized recording would contain some of the audio\n that was meant to be over once recording would start.\nUse the playback thread\u0027s latency reporting which takes the audio\n pipe into account.\n\nBug 7237669\n\nChange-Id: I23a907a53ad0b0d68d246789ec595a77a79fced5\n"
    },
    {
      "commit": "fbd60660780839a15db9f1c78c5feecd6ba6ed09",
      "tree": "ee407fca55920b9af7465b47a16520b8903b3c9c",
      "parents": [
        "f1a6e0d28abdd0fcf9d35ecf53d7497f573f6113"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 10:28:07 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 10:28:07 2012 -0700"
      },
      "message": "Camera2: Don\u0027t touch frame counter on output frames.\n\nBug: 7357069\nChange-Id: I9cd0cdcc23959bfecced5f47bb9e8c59c997dade\n"
    },
    {
      "commit": "f1a6e0d28abdd0fcf9d35ecf53d7497f573f6113",
      "tree": "b10d1a8dec8d7ab586390fe5c3c749637c2ce70a",
      "parents": [
        "6ebb67493075ecc817207bc0ca0305cde64b5c3b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 10:17:30 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 16 10:23:05 2012 -0700"
      },
      "message": "Camera2: When focus is already locked in CAF mode, do not trigger HAL.\n\nIn HAL2 CAF modes, once focus is locked by an AF trigger, additional\ntriggers will not cause AF notifications, since the state will not\nchange again until a cancelAutofocus call.\n\nSince the old API still expects to see a notification, short-circuit\nthis at the service and send an immediate success notification.\n\nBug: 7318298\nChange-Id: Ib209a24eaf2a35a247d06aea671efe80a33d751e\n"
    },
    {
      "commit": "411ddcc42a17abf4173345a992e4cd6575751739",
      "tree": "5ce68ec65af9f9bc1a92c150cb28d40a698b13dd",
      "parents": [
        "32dd792aa1675e91c7a0cf7cee7aba215fe1be67"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 10 17:17:01 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 10 17:18:38 2012 -0700"
      },
      "message": "Camera2: Don\u0027t error out of startPreview when already recording.\n\nBug: 7327474\nChange-Id: I603da5b8bd58e5a700d7ae0b3d34bd89bbcb1d53\n"
    },
    {
      "commit": "32dd792aa1675e91c7a0cf7cee7aba215fe1be67",
      "tree": "66ba8e0ee3e477d82134792cdf9a91003ca6c2c1",
      "parents": [
        "cfee40e0d30aa2d93df2c4633e7573165f0d7337",
        "e3f641fd9348bf7f4c07f6cc707347fccea1439c"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 10 16:30:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 10 16:30:20 2012 -0700"
      },
      "message": "Merge \"Support querying active record sources\" into jb-mr1-dev"
    },
    {
      "commit": "cfee40e0d30aa2d93df2c4633e7573165f0d7337",
      "tree": "fa1e029d2d204f7d2950cae700a7365f288c47b2",
      "parents": [
        "1bf2809d3fd3890a782869a041b70b8e595ecdb6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 10 15:28:53 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 10 15:28:53 2012 -0700"
      },
      "message": "Camera2: Don\u0027t let unlocks happen during recording.\n\nBug: 7309020\nChange-Id: I6e66809b868d2e8f47f71e6f8752b44ec06dfb17\n"
    },
    {
      "commit": "1bf2809d3fd3890a782869a041b70b8e595ecdb6",
      "tree": "f205a31cb04513e9c1b443bfc53fa3ddb1778957",
      "parents": [
        "617048834dc5b2cb87ab208bdd526262a7c4e90c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 08 23:58:02 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 10 13:03:04 2012 -0700"
      },
      "message": "Camera2: Do not set auto-white-balance regions from metering regions.\n\nPer API documentation, metering regions are only for AE, not also for AWB.\n\nBug: 7312720\nChange-Id: I39bcf33e4c81e80022f45e8fca77ea6cf9ba115e\n"
    },
    {
      "commit": "e3f641fd9348bf7f4c07f6cc707347fccea1439c",
      "tree": "0b9e59cf60f2ee5edd7e6fe1fb3d6ea6aed8577f",
      "parents": [
        "a70995f9dec3c2915792113c9c228b5b6474a915"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 10 12:11:16 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Oct 10 12:11:16 2012 -0700"
      },
      "message": "Support querying active record sources\n\nAdd support for querying whether there is currently a recording\n underway from the specified audio source.\n\nBug 7314859\n\nChange-Id: I986b231a10ffd368b08ec2f9c7f348d28eaeb892\n"
    },
    {
      "commit": "617048834dc5b2cb87ab208bdd526262a7c4e90c",
      "tree": "f9575d6ed80df4388fe43ee2e721b50643c52865",
      "parents": [
        "af5041cca803f4e7f0d2dfeca596abb8bda313b6"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 09 22:16:58 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 10 09:39:37 2012 -0700"
      },
      "message": "Camera: Limit valid caller PIDs for camera clients.\n\nNarrow down on PID checks to avoid cases where service can access the\ncamera even though it shouldn\u0027t be able to, per API semantics.\n\nBug: 6970469\n\nChange-Id: Ic468a31949c28ef978b6ed48a70e4601c7ced684\n"
    },
    {
      "commit": "af5041cca803f4e7f0d2dfeca596abb8bda313b6",
      "tree": "0219c3bce8984d3dc2ad402c5e7a48e10cefdf74",
      "parents": [
        "c6fbe60e4232911bb80a27e1badc670b2b80efbd",
        "d230cc783aa13de5c563adec54641bec6a355054"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 09 21:57:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 21:57:38 2012 -0700"
      },
      "message": "Merge \"Camera: Clear Hardware device pointer when initialization fails\" into jb-mr1-dev"
    },
    {
      "commit": "a70995f9dec3c2915792113c9c228b5b6474a915",
      "tree": "93e3388f2b427702e7b9a3cb6bece874ddb9caf5",
      "parents": [
        "9436ff8d852306fb1160170b1cb8613d840df637",
        "4cc45fa65659ff8771a185e4f4584a9b0da10247"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 09 15:22:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 15:22:47 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix uninitialized parameters.\" into jb-mr1-dev"
    },
    {
      "commit": "d230cc783aa13de5c563adec54641bec6a355054",
      "tree": "b303e828a6ad3dd161629477e94335106fe2d34e",
      "parents": [
        "9436ff8d852306fb1160170b1cb8613d840df637"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 09 14:45:37 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 09 14:45:37 2012 -0700"
      },
      "message": "Camera: Clear Hardware device pointer when initialization fails\n\nWhen disconnecting, don\u0027t try to call device functions if the initialization\nfails since this can lead to internal HAL segfaults.\n\nBug: 7317107\nChange-Id: Ib65db7eb6556ee10d844959934b1bfd7bb08d0ff\n"
    },
    {
      "commit": "9436ff8d852306fb1160170b1cb8613d840df637",
      "tree": "503ae75fdb3c97ceadefbbadb896eaed5890dc01",
      "parents": [
        "c8d9bc29aaede1f104c6faed095a4c636bbe5748",
        "5b44beef5a4ff04889bcdd874dc4e8d140f3edac"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 09 13:49:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 13:49:28 2012 -0700"
      },
      "message": "Merge \"Camera2: Call onAutoFocus immediately for fixed-focus cameras\" into jb-mr1-dev"
    },
    {
      "commit": "4cc45fa65659ff8771a185e4f4584a9b0da10247",
      "tree": "e2ce7e922de36c380f607e3ce3075e93623f4e53",
      "parents": [
        "19caf26b1ab1619020aa417d7913c11fd1d5590d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 09 12:52:16 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 09 12:59:16 2012 -0700"
      },
      "message": "Camera2: Fix uninitialized parameters.\n\nSome parameters were not being set to default values, causing strange\nflakiness in any app that wasn\u0027t calling setParameters. This includes\nmany CTS tests.\n\nBug: 6970468\nChange-Id: If91635afc000e23862e7b039292a55349274c5ee\n"
    },
    {
      "commit": "c8d9bc29aaede1f104c6faed095a4c636bbe5748",
      "tree": "14633b61cdf261b8d87a2968dc8fa0610e7a8dd8",
      "parents": [
        "e069ec80e964c39229314fa05bd2bc91d4e9e77b",
        "ad21da9c2b575eddc0d11b789bb577985a0bf50b"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 09 12:12:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 12:12:08 2012 -0700"
      },
      "message": "Merge \"Camera2: Move non-ZSL shutter sound firing to be later.\" into jb-mr1-dev"
    },
    {
      "commit": "e069ec80e964c39229314fa05bd2bc91d4e9e77b",
      "tree": "eece7a7be88d529fd8d251aa09fc2fda8df9ae17",
      "parents": [
        "19caf26b1ab1619020aa417d7913c11fd1d5590d",
        "116bc97164e0fa836744f31e54779b5a7a8c9db4"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Oct 09 11:28:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 09 11:28:53 2012 -0700"
      },
      "message": "Merge \"audio policy: deprecate ro.camera.sound.forced\" into jb-mr1-dev"
    },
    {
      "commit": "5b44beef5a4ff04889bcdd874dc4e8d140f3edac",
      "tree": "415e5a121bb63782983a7ed125d288d140b0756d",
      "parents": [
        "19caf26b1ab1619020aa417d7913c11fd1d5590d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 18:05:12 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 09 11:04:10 2012 -0700"
      },
      "message": "Camera2: Call onAutoFocus immediately for fixed-focus cameras\n\nBug: 7311578\nChange-Id: Ib8a8ea1f5fc269abdd24ed1e0370dc9b87b284ee\n"
    },
    {
      "commit": "19caf26b1ab1619020aa417d7913c11fd1d5590d",
      "tree": "d5cd51a2f62db49a644f3c62f2d58861593435dd",
      "parents": [
        "0ad293aac9af377606fb4aa752b95547a8462791",
        "be8d28a12e8d08531c6053bcf8ad1183c2f6e6d3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 08 22:20:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 22:20:47 2012 -0700"
      },
      "message": "Merge \"Camera2: Always disconnect in the client destructor\" into jb-mr1-dev"
    },
    {
      "commit": "ad21da9c2b575eddc0d11b789bb577985a0bf50b",
      "tree": "fba8e750664dc7fa8b9cae8009b2048df7559ffa",
      "parents": [
        "0ad293aac9af377606fb4aa752b95547a8462791"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Oct 07 22:43:48 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 08 16:47:14 2012 -0700"
      },
      "message": "Camera2: Move non-ZSL shutter sound firing to be later.\n\nInstead of firing shutter sound when capture request is submitted for\nnon-ZSL captures, fire it when the metadata frame is received. This\nguarantees that the shutter sound fires after picture capture is\ncompleted by the sensor.\n\nBug: 7259900\nChange-Id: I4a1eeed89ed0400bf80b0f0cc2d5799c3d9bb9e3\n"
    },
    {
      "commit": "116bc97164e0fa836744f31e54779b5a7a8c9db4",
      "tree": "d5c6b169afe3ef577e1b76113b65220ea54cda8e",
      "parents": [
        "2b5232dd49d006a08c35ba865a6801acdb15483c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 08 16:00:36 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 08 16:00:36 2012 -0700"
      },
      "message": "audio policy: deprecate ro.camera.sound.forced\n\nThe volume and routing policy of AUDIO_STREAM_ENFORCED_AUDIBLE is\nnow controlled by AudioService.\n\nDo not read ro.camera.sound.forced is not needed anymore.\n\nBug 7032634.\n\nChange-Id: Ic0a6396fc4b6efb91cdb4dffe0c8eb035d0440bd\n"
    },
    {
      "commit": "be8d28a12e8d08531c6053bcf8ad1183c2f6e6d3",
      "tree": "4ddcbe12b50b6c8782f3d8cecd815f9129ada468",
      "parents": [
        "2814a4dc0dd45007ce62871af08b98214cd1692c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 15:09:46 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 15:09:46 2012 -0700"
      },
      "message": "Camera2: Always disconnect in the client destructor\n\nIf Camera2Client failed to initialize, it would skip disconnect step,\nand thus the camera would be forever marked as busy. By always calling\ndisconnect it will always call free.\n\nIt also adds a new guarantee that Client::disconnect is idempotent\n\nBug: 7298182\nChange-Id: Ic9876f1665b7d9b3c0da692880f63f165e3f4fa5\n"
    },
    {
      "commit": "0ad293aac9af377606fb4aa752b95547a8462791",
      "tree": "ad80189add1c31f9f859584541f3196ae673cc9f",
      "parents": [
        "2814a4dc0dd45007ce62871af08b98214cd1692c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 14:08:32 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 14:19:06 2012 -0700"
      },
      "message": "Camera2: isSmoothZoomSupported should return FALSE\n\nBug: 7308024\nChange-Id: Ib757bef8f6dc203f8dfa6ea6d11191e3c7cfcc6d\n"
    },
    {
      "commit": "2814a4dc0dd45007ce62871af08b98214cd1692c",
      "tree": "31454ee4ba8e96f1fee1bed35d91b1125d35903b",
      "parents": [
        "07cc78fe7dee9a96cd33865de890d0890fe752d7"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Mon Oct 08 12:04:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 14:05:56 2012 -0700"
      },
      "message": "Camera2: Set default flash mode to FLASH_OFF\n\nBug: 6970090\nChange-Id: I904b1be2ee0710e82e8e647753a705184c10b46c\n"
    },
    {
      "commit": "07cc78fe7dee9a96cd33865de890d0890fe752d7",
      "tree": "46509c08c174610e98893ffa5a35e71b3fdf9354",
      "parents": [
        "8ada0bf772354a1d31361d3b4f49efd36d8a6e6e",
        "cfdd84284394cecdb33cf121fe6d4205da84c761"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 13:10:48 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 13:10:49 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix Parameters#setZoom off by 1 validation error\" into jb-mr1-dev"
    },
    {
      "commit": "8ada0bf772354a1d31361d3b4f49efd36d8a6e6e",
      "tree": "8a22116a9416e1f38aa779ce0f6fc0132b8ed1d2",
      "parents": [
        "193c13fa1615ad5130b6d75dc05e50468e1c585c",
        "e049384cdd0f728c45955d65cae754c46aac18cf"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Oct 08 12:17:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 12:17:37 2012 -0700"
      },
      "message": "Merge \"Camera2: On stopping preview, wait until captures are completed.\" into jb-mr1-dev"
    },
    {
      "commit": "cfdd84284394cecdb33cf121fe6d4205da84c761",
      "tree": "38eae54ffb921348fd9ee68cadef1fd1ccf52165",
      "parents": [
        "193c13fa1615ad5130b6d75dc05e50468e1c585c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 11:16:03 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 11:22:37 2012 -0700"
      },
      "message": "Camera2: Fix Parameters#setZoom off by 1 validation error\n\nBug: 7298683\nChange-Id: If79ac6396379593eb852f041ca7d5a20ad2f9e6d\n"
    },
    {
      "commit": "193c13fa1615ad5130b6d75dc05e50468e1c585c",
      "tree": "2ad4f1423aef8c1f145e2ff8066237186d3a5cd1",
      "parents": [
        "2b5232dd49d006a08c35ba865a6801acdb15483c",
        "572bf9a00204ac91de8c5347d793891c6a4bf1d7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 08 10:23:06 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 08 10:23:07 2012 -0700"
      },
      "message": "Merge \"Camera2: Report getMaxNumFocusAreas 0 for fixed focus cameras\" into jb-mr1-dev"
    },
    {
      "commit": "e049384cdd0f728c45955d65cae754c46aac18cf",
      "tree": "f88834b61cb119a10285a5324e772ccf6fca7f58",
      "parents": [
        "2b5232dd49d006a08c35ba865a6801acdb15483c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 05 12:03:10 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sun Oct 07 22:06:15 2012 -0700"
      },
      "message": "Camera2: On stopping preview, wait until captures are completed.\n\nIf preview is stopped while a still capture or a video snapshot is\nunderway, wait until the capture completes before stopping preview.\n\nAlso use the same behavior for disconnect - do not shut down the\ncamera device until captures are complete.\n\nThis works around HAL implementations which report to be done\n(get_in_progress_count returns 0) even when a capture is still\noutstanding.\n\nBug: 7276954\n\nChange-Id: I66290acf1740cc330eadecbcded0c59fa9c5d2fd\n"
    },
    {
      "commit": "2b5232dd49d006a08c35ba865a6801acdb15483c",
      "tree": "24ad1d26999191a5502627a2b9737c013a39a85d",
      "parents": [
        "3d33019b95439ba8cc062633168ec8fe51ef6ad4"
      ],
      "author": {
        "name": "ty.lee",
        "email": "ty.lee@lge.com",
        "time": "Mon Oct 01 13:54:14 2012 +0900"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Sun Oct 07 12:05:27 2012 -0700"
      },
      "message": "audioflinger/resampler: add build source for libaudio-resampler\n\nBug: 7229644\nChange-Id: I93bde36be1c3ec84174a4c98423e28f8b3d8782f\nSigned-off-by: ty.lee \u003cty.lee@lge.com\u003e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "3d33019b95439ba8cc062633168ec8fe51ef6ad4",
      "tree": "a1d40db6aa60ba5adbf280e23f655f0b39d50536",
      "parents": [
        "3dcdc3d056c8756d690a6fa719d50aae2e4299d4"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Oct 06 13:50:31 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Sat Oct 06 13:50:31 2012 -0700"
      },
      "message": "Camera2: Fix off-by-one error in ZSL selection.\n\nBug: 7258126\nChange-Id: Ie6da4645c46a7bb0dbd11d7c6183e904f41f74fd\n"
    },
    {
      "commit": "572bf9a00204ac91de8c5347d793891c6a4bf1d7",
      "tree": "0b7c23325fb97da27961cdad3ece9c0b0362688f",
      "parents": [
        "3a6e45320685b36bb266bbf8fa548f4474d90d6c"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 05 17:09:09 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 05 17:09:09 2012 -0700"
      },
      "message": "Camera2: Report getMaxNumFocusAreas 0 for fixed focus cameras\n\nBug: 7298805\nChange-Id: I7499b80a9416bf454c8ea80c31ea4fdd3c4ee2d7\n"
    },
    {
      "commit": "3dcdc3d056c8756d690a6fa719d50aae2e4299d4",
      "tree": "c124bb15eb655f8e4479bd68c4b3d5e4e0dd457e",
      "parents": [
        "3a6e45320685b36bb266bbf8fa548f4474d90d6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 04 17:01:25 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 05 16:14:48 2012 -0700"
      },
      "message": "Camera2: Unconditionally shut down streams on disconnect.\n\nstopPreviewL may do nothing in certain states. Stop streams directly\nto avoid those failures, so that we always maintain the HAL interface\ninvariant that streams referenced by in-flight requests are never\ndeleted.\n\nBug: 7276954\nChange-Id: Ic4cffc43036f4944684d941981a43d6dd1dce7af\n"
    },
    {
      "commit": "3a6e45320685b36bb266bbf8fa548f4474d90d6c",
      "tree": "cb47eafd11367f2b71c12c841ad715b7c4333e37",
      "parents": [
        "63dc19921f2770f07bf976bb7573a1133d6548f9"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 28 15:30:03 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 05 13:32:07 2012 -0700"
      },
      "message": "Camera2: Fix metering regions to take into account the current zoom/crop region\n\nAlso adds a quirk to disable this fix to work around for incompliant HALs\n\nBug: 7246065\nChange-Id: I80bad25e56ba59149270238e5639bb33cae495ae\n"
    },
    {
      "commit": "63dc19921f2770f07bf976bb7573a1133d6548f9",
      "tree": "741bd2c00e3eabbe058bcddfa4c6f5ee0d5ddbb5",
      "parents": [
        "0feea710e236ad90eea73110414ea5d3555fcdfd"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 04 14:22:18 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 05 12:05:07 2012 -0700"
      },
      "message": "Camera2: Change policy for calculating previewFpsRange from previewFps\n\nBug: 7259959\nChange-Id: I759a559d7115201264f88db1f23edc2d6aef6c43\n"
    },
    {
      "commit": "0feea710e236ad90eea73110414ea5d3555fcdfd",
      "tree": "f1397774f933b76d22e937497c9bdf09b42d515e",
      "parents": [
        "4c843702c7c2d2ca951e25bc54787c68c2071a8b",
        "507994d0312f89127562a1401f118439f810e751"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 05 11:35:53 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 05 11:35:54 2012 -0700"
      },
      "message": "Merge \"Camera2: Don\u0027t promote weak IBinder ptrs to strong ones\" into jb-mr1-dev"
    },
    {
      "commit": "507994d0312f89127562a1401f118439f810e751",
      "tree": "4edcc4b9233439a909714e077763c3e5b6866731",
      "parents": [
        "1daada32f8eefd8951541ba243969b341deaaba5"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 05 10:44:57 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Oct 05 10:44:57 2012 -0700"
      },
      "message": "Camera2: Don\u0027t promote weak IBinder ptrs to strong ones\n\nThe Binder driver does not support promoting weak pointers into strong\npointers. Occassionally the system would lock up when trying to do this\n(when closing the camera app).\n\nBug: 7289040\nChange-Id: I8bc0b5c48616bf0b7f4eed1878ad4994ee635871\n"
    },
    {
      "commit": "4c843702c7c2d2ca951e25bc54787c68c2071a8b",
      "tree": "1aa06e8b460e2cba635e5da7760101dc64d5338d",
      "parents": [
        "4c9eb718352697cd75269752344c0bcc6b05e708"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 04 00:56:40 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 16:34:11 2012 -0700"
      },
      "message": "Camera2: Use the triggerAfWithAuto quirk\n\nWhen this quirk is set, and a scene mode is enabled, do AF calls with\nAF mode AUTO instead of whatever the scene more override AF mode is.\n\nBug: 7159577\nChange-Id: I3ea6b8386abc0968047fc9bba3a35c5db5bdcfd3\n"
    },
    {
      "commit": "4c9eb718352697cd75269752344c0bcc6b05e708",
      "tree": "fdc28a651a64b53e4cc14e3543347a2e64a80f38",
      "parents": [
        "1daada32f8eefd8951541ba243969b341deaaba5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 02 13:30:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 16:31:05 2012 -0700"
      },
      "message": "Camera2: Synchronize mode changes and triggers\n\nMake sure that changes to various parameters have reached the HAL\nbefore triggering asynchronous events like autofocus or precapture\nmetering.\n\nBug: 7107220\nChange-Id: I3c50038de1671968eb32004ce538435121934e7e\n"
    },
    {
      "commit": "1daada32f8eefd8951541ba243969b341deaaba5",
      "tree": "38aabd506f2c732e9d863c8bebc98b6bab51c6f6",
      "parents": [
        "6ec0f94d606d57db57c8866b0e38ec96f1979413",
        "db30e68be637ca85da238c1e8e3534ec07919985"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 04 16:30:46 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 16:30:47 2012 -0700"
      },
      "message": "Merge \"Camera2: Include JPEG settings in ZSL requests.\" into jb-mr1-dev"
    },
    {
      "commit": "db30e68be637ca85da238c1e8e3534ec07919985",
      "tree": "3f617891c1325d20ed708aff9fad7aac892c64c7",
      "parents": [
        "5e8e66f369fd2f1918495380ed1886e50818e95e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 04 13:21:08 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 04 14:06:41 2012 -0700"
      },
      "message": "Camera2: Include JPEG settings in ZSL requests.\n\nBug: 7287743\nChange-Id: I1aba81b228451c3df712ce1f42b7aab79cac575f\n"
    },
    {
      "commit": "ef7fdc2224eb2e8a2b220ef51b5dc3ce25b807ba",
      "tree": "b2df11565c73aea22de56096f199f996b56a333e",
      "parents": [
        "5e8e66f369fd2f1918495380ed1886e50818e95e",
        "a6d41334d25ffde12484eb28301352560a063ef6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 04 11:16:36 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 11:16:36 2012 -0700"
      },
      "message": "Merge \"Integrate improved coefficient sinc resampler: VHQ\" into jb-mr1-dev"
    },
    {
      "commit": "5e8e66f369fd2f1918495380ed1886e50818e95e",
      "tree": "2981393cca96745a0028c5cb519820333d9885c6",
      "parents": [
        "95f24dacbde69295fd21bbf683281b277e097bb1",
        "05dd06eb54a4e15352405a3a5cedce6a7940b96b"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Oct 04 09:56:44 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 04 09:56:44 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix deadlock while zooming during record\" into jb-mr1-dev"
    },
    {
      "commit": "a6d41334d25ffde12484eb28301352560a063ef6",
      "tree": "4d8df3822f93824ada324d5038ab0b4cd27ce77b",
      "parents": [
        "95f24dacbde69295fd21bbf683281b277e097bb1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 01 14:04:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 04 09:44:04 2012 -0700"
      },
      "message": "Integrate improved coefficient sinc resampler: VHQ\n\nSummary:\nVery high quality is enabled only for 44.1 -\u003e 48 or 48 -\u003e 44.1,\n  and uses low quality for all other use cases.\nTrack estimated CPU load and throttles the quality based on load;\n  as currently configured it should allow up to 2 instances of very high quality.\nMedium quality and high quality are currently disabled unless explicitly requested.\n\nDetails:\nOnly load .so the first time it is needed.\nCleanup code style: formatting, indentation, whitespace.\nRestore medium quality resampler, but it is not used (see next line).\nFix memory leak for sinc resampler.\nCheck sample rate in resampler constructor.\nAdd logs for debugging.\nRename DEFAULT to DEFAULT_QUALITY for consistency with other quality levels.\nRenumber VERY_HIGH_QUALITY from 255 to 4.\nUse enum src_quality consistently.\nImprove parsing of property af.resampler.quality.\nFix reentrancy bug - allow an instance of high quality and an instance\n  of very high quality to both be active concurrently.\n\nBug: 7229644\nChange-Id: I0ce6b913b05038889f50462a38830b61a602a9f7\n"
    },
    {
      "commit": "05dd06eb54a4e15352405a3a5cedce6a7940b96b",
      "tree": "0dd9ab6857e0084f875cee411e06b40f956c96a1",
      "parents": [
        "311f69f18c41909e3087e4205548095762a2ecb7"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 03 16:02:09 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 03 16:48:48 2012 -0700"
      },
      "message": "Camera2: Fix deadlock while zooming during record\n\nAcquired SharedParameters before mMutex in StreamingProcessor,\nthis avoids any potential deadlocks since Camera2Client code would\nalways acquire SharedParameters first before invoking StreamingProcessor.\n\nBug: 7275259\nChange-Id: Ia741162c455300378bee049f063590ece5328b95\n"
    },
    {
      "commit": "b2e7a84664f3dcca774c754092ed8f390295ab15",
      "tree": "690f5a07f4cc4150a541d7f33907a8b41f473aab",
      "parents": [
        "311f69f18c41909e3087e4205548095762a2ecb7",
        "02b62d3672ebb0761752ba6c841b2cc469c59ed3"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 03 15:20:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 15:20:38 2012 -0700"
      },
      "message": "Merge \"Camera2: Properly update FPS range when FPS is set.\" into jb-mr1-dev"
    },
    {
      "commit": "02b62d3672ebb0761752ba6c841b2cc469c59ed3",
      "tree": "a87f8ed2ba3b62e1ebef2f28b641febfaf933622",
      "parents": [
        "a1e5dccf73c0b734204b0094241e4a6a0752a67e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 03 14:59:29 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 03 14:59:29 2012 -0700"
      },
      "message": "Camera2: Properly update FPS range when FPS is set.\n\nOtherwise a getParameters followed by setParameters will trigger an\nincorrect reversion in FPS parameters.\n\nBug: 7279267\nChange-Id: I7426860f05497dbdf4245c34cef1b38f2f5a1832\n"
    },
    {
      "commit": "311f69f18c41909e3087e4205548095762a2ecb7",
      "tree": "107f74f86852a9680da654ed02bc968d54fa5522",
      "parents": [
        "a1e5dccf73c0b734204b0094241e4a6a0752a67e"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Oct 02 23:30:07 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 13:58:19 2012 -0700"
      },
      "message": "Camera2: Fix prematurely clearing stream request\n\nZsl handling was clearing the stream request before a capture request\nwas ready to be sent to the HAL, which would cause capture delays and\ntimeouts in certain conditions.\n\nBug: 7259520\nChange-Id: Idde8bc4fc58b8b426c6985feac87759740e338ea\n"
    },
    {
      "commit": "a1e5dccf73c0b734204b0094241e4a6a0752a67e",
      "tree": "94f5f98a460f6aa156447c64d2f16e289c74e793",
      "parents": [
        "8dcdb9553defafa1166c64b496e1ee390e4eadfa"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 02 15:21:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 11:40:46 2012 -0700"
      },
      "message": "Camera2: Fix trying to release HAL stream twice\n\nWhen we fail to disconnect the native window, StreamAdapter::release\nwould fail and remain in the old (ALLOCATED) state, thus it thinks that\nwe haven\u0027t released the HAL stream yet.\n\nWith this change, ignore DEAD_OBJECT native window disconnect failures,\nso the state transitions to RELEASED and we don\u0027t double release HAL\nstreams.\n\nBug: 7258314\nChange-Id: I524893e4b4d6463d7b0a7ce32fb6f658afba8e11\n"
    },
    {
      "commit": "8dcdb9553defafa1166c64b496e1ee390e4eadfa",
      "tree": "4aa76e6945e95aac4538a1b49475efc932fb114c",
      "parents": [
        "0cb290b2304ef582a5afa9a45a4594944e89156e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 02 16:05:11 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 11:39:08 2012 -0700"
      },
      "message": "Camera2: Handle client processes dying by closing camera resources\n\nCameraService now subscribes to binder death notifications\nfor each client, and disconnects the client if the death happened\nwithout cleanly shutting down the client first.\n\nBug: 7258314\nChange-Id: I7803836b589fd8f0dfe00f6c28a707b82012e751\n"
    },
    {
      "commit": "0cb290b2304ef582a5afa9a45a4594944e89156e",
      "tree": "d113224080a9a8c44150bbda2002750f7fd1edde",
      "parents": [
        "ab2918efe97fd08d44ee85e9c59f4099cca3e7dd"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 02 19:07:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 03 11:28:40 2012 -0700"
      },
      "message": "Camera2: Don\u0027t change state when reconnect is called\n\nBug: 7252802\nChange-Id: Ibed4f59a96bef75bf84b1aaf1235fb87e94102ef\n"
    },
    {
      "commit": "596cb97dff006229f10db8bd7306f4d228f96dfd",
      "tree": "a867402bb629e58587213ca3c4d288bb9aa0d299",
      "parents": [
        "c85f826e7b67bdf159a3f1b01bc9f1f33d05aaff"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 02 18:14:49 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 02 18:47:07 2012 -0700"
      },
      "message": "Camera2: Use ZSL format quirk.\n\nSwitch service to using HAL_PIXEL_FORMAT_IMPLEMENTATION_DEFINED,\nunless ZSL quirk is set.\n\nThis is important for compatibility across multiple implementations.\n\nBug: 6243944\nChange-Id: Iea74671cbb44890a07e4f99cd757b0a5423d447a\n"
    },
    {
      "commit": "c85f826e7b67bdf159a3f1b01bc9f1f33d05aaff",
      "tree": "f0cf42050d9745e077a1020f2ccd538fa4bb03de",
      "parents": [
        "b6e88c841f3e76d3fbc206c6fff0edac8cafb363"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 02 13:30:04 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 02 14:55:35 2012 -0700"
      },
      "message": "Camera2: Use scene mode override parameter\n\n- Read in SCENE_MODE_OVERRIDES static parameter if available.\n  Use it to select AF/AE/AWB modes when a scene mode is set.\n- Add quirks structure to parameters; not yet used\n- Fix desynchronization between range and single FPS value.\n  Still need to sort out best way to convert from one to another.\n\nBug: 7259959\nBug: 7159577\nBug: 7172543\n\nChange-Id: I0d07c31d5f21fbc4b0ec2fa23f7f778073d2d6e0\n"
    },
    {
      "commit": "02e5dbb025bf164f0b273f01a114ddc497798823",
      "tree": "b300f58fd59db71f26aba84f6d8603bdc965b868",
      "parents": [
        "6756203ec80f7640f743d8cc9d8799302d9513b6"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Sep 27 13:49:02 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Sun Sep 30 13:13:11 2012 -0700"
      },
      "message": "Disable audio watchdog\n\nIt\u0027s not critical, and is wasting power\n\nBug: 7241714\nChange-Id: I6ad4375f0000c92529688723dbe0ff0caa809c5d\n"
    },
    {
      "commit": "b82cf1e21d2bd3792382c6ed0f19b10cb0e8f482",
      "tree": "6cfe1f518fea615c4332fcb7ba02805e53e0bac2",
      "parents": [
        "b5c8c18649ed651dcddbda0b160bc5decc250d26",
        "2fa114de80a5f6afd2055054a163c6d7e2ef71bc"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Sep 30 11:57:35 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sun Sep 30 11:57:36 2012 -0700"
      },
      "message": "Merge \"bug 7253033 clean up before closing an output\" into jb-mr1-dev"
    },
    {
      "commit": "2fa114de80a5f6afd2055054a163c6d7e2ef71bc",
      "tree": "d899700feaafc73126d80a4e0c7f9dab75d6c2c8",
      "parents": [
        "9bb6e65def86afb36a03643c50456e646cdf98a8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 28 14:49:39 2012 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Sun Sep 30 11:11:26 2012 -0700"
      },
      "message": "bug 7253033 clean up before closing an output\n\nAn output can only be closed if there is no lock contention that\n prevents ThreadBase::exit() from being blocked. If an output\n device is waiting for an operation to complete (here a write\n in the remote_submix module, because the pipe is full), signal\n the module that it\u0027s entering the \"exiting\" state.\n\nChange-Id: I8248add60da543e90c25a4c809866cdb26255651\n"
    },
    {
      "commit": "43cbdc5b5545d3344c556014b9afe8249add91e4",
      "tree": "4e1b7524d0e46944703c63fa2d739ffd711b92cf",
      "parents": [
        "2e63d52ea03e0a9d098759cf4689691809f44ceb"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Sep 26 10:45:47 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 28 17:56:48 2012 -0700"
      },
      "message": "Camera2: Refactor preview/recording management to separate class.\n\nUntangle preview/recording management from main class to simplify\ncallpaths; in preparation for fixing several HAL/app interactions\nbugs.\n\nBug: 7172543\nBug: 7159577\nBug: 7107220\nChange-Id: Iab5503f66b35d88a1524111536a484c9e33fd934\n"
    },
    {
      "commit": "2e63d52ea03e0a9d098759cf4689691809f44ceb",
      "tree": "ff8d85da78be3fa61de5753d697e0377a218565f",
      "parents": [
        "d1805ebb0ff7694441fd95b5801fbce222849b6f"
      ],
      "author": {
        "name": "James Painter",
        "email": "jpainter@google.com",
        "time": "Fri Sep 28 00:09:12 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 17:26:55 2012 -0700"
      },
      "message": "DO NOT MERGE: Remove experimental parameters for burst mode\n\nBug: 7248756\nChange-Id: I3aaf2da4791b2a13e1e788b2914e4c51c529a75d\n"
    },
    {
      "commit": "0c0cfd7fb8042b63f0ffebd2de563f2ef733526f",
      "tree": "d7948c8cbfbfa7c7ce01118828e85624fb79a1a8",
      "parents": [
        "13315ce05fbee1e1f5b920cfe4217c3a30167023",
        "6751c093886112f4774bc3de514268e7b85ea417"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Sep 28 13:12:28 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 13:12:29 2012 -0700"
      },
      "message": "Merge \"Camera2: Use new JPEG transport header\" into jb-mr1-dev"
    },
    {
      "commit": "d0dad6ece142f132f5d295330bfe386c2c28de46",
      "tree": "eac5c11c085ad1468e4337e49655e4375cf9f7d0",
      "parents": [
        "823b786e8558b7e73d9096cdd629e8896226e422",
        "71d6454cc20b7a3bbe0cfd375c778c5fcc54795a"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Sep 28 10:30:38 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 28 10:30:39 2012 -0700"
      },
      "message": "Merge \"Camera2: Re-entering preview state on v2 Device\" into jb-mr1-dev"
    },
    {
      "commit": "6751c093886112f4774bc3de514268e7b85ea417",
      "tree": "8c73c60ef23cdcd24829933f2956d2d48ff0ba14",
      "parents": [
        "823b786e8558b7e73d9096cdd629e8896226e422"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Sep 27 16:06:48 2012 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Thu Sep 27 22:55:55 2012 -0700"
      },
      "message": "Camera2: Use new JPEG transport header\n\nCheck for new JPEG transport header at the end of the stream buffer\ninstead of at the beginning.\n\nBug: 7108816\nChange-Id: I26c52267cb406dae50c9d0ee01e6c26359ba84aa\n"
    },
    {
      "commit": "823b786e8558b7e73d9096cdd629e8896226e422",
      "tree": "fb1eb0f89c8e87bdbd76b1806d7da57f754e94a6",
      "parents": [
        "a7bf9305a27c22c6fd1f8a3037c2ccdfd274cf72"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 27 18:08:20 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 27 18:08:20 2012 -0700"
      },
      "message": "Camera2: Only _some_ FPS values in the old API are scaled.\n\nThe (deprecated) single-FPS parameter is not scaled by 1000.\n\nBug: 7230239\nChange-Id: I5664cce90f9cb01e57e39f1a1f7c8eb730501da3\n"
    },
    {
      "commit": "a7bf9305a27c22c6fd1f8a3037c2ccdfd274cf72",
      "tree": "3ba10ad5e7818db58d05890f879bfc28e8a3e387",
      "parents": [
        "8397243efdd4e70ba75a9cf50d882c24dad250a2",
        "b5d91138fddcb1c4acdc91ddc68a9f4097da5b40"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 27 16:36:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 27 16:36:16 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix FPS value scaling between HAL2 and API\" into jb-mr1-dev"
    },
    {
      "commit": "b5d91138fddcb1c4acdc91ddc68a9f4097da5b40",
      "tree": "f483004bb421e7ce7f44e04181280b759e4e1b16",
      "parents": [
        "8000e368cbdcb8a2a712c9c92f6c97526b36f0ed"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 27 14:18:13 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 27 14:18:13 2012 -0700"
      },
      "message": "Camera2: Fix FPS value scaling between HAL2 and API\n\nAPI assumes FPS values are in fixed-point with LSB 0.001; HAL2 just\nuses ints with no fractional part.\n\nHAL should probably use floats or something similar, but for now, fix\nscaling so the two agree on FPS values.\n\nBug: 7230239\nChange-Id: Ie18a4f11fc9d17d9ae2d04781511a273213eda55\n"
    },
    {
      "commit": "71d6454cc20b7a3bbe0cfd375c778c5fcc54795a",
      "tree": "938076b1d9616b2df878bd085db46fb486857043",
      "parents": [
        "2a81a1519382e658941fdabe73a94a64d0b6f115"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Wed Sep 26 15:52:50 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 23:32:26 2012 -0700"
      },
      "message": "Camera2: Re-entering preview state on v2 Device\n\nBug: 7240891\nChange-Id: I6a01b27197b4ee89a68f06f4375d315a716b67ae\n"
    },
    {
      "commit": "41dfd129a181a5b0b62628733cf96e0ce11d64d7",
      "tree": "4614b6808b79cb3e84d5d5b6dbce9275ca89de98",
      "parents": [
        "f818ccfbbfc574d179c4639af6b41c83c368a699"
      ],
      "author": {
        "name": "SathishKumar Mani",
        "email": "smani@codeaurora.org",
        "time": "Tue Jan 17 10:49:47 2012 -0800"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Sep 26 18:48:44 2012 -0700"
      },
      "message": "audioflinger: use resample coefficients from audio-resampler library.\n\n-Add a separate quality VERY_HIGH_QUALITY in resampler\n-Use resample coefficients audio-resampler library for\n quality VERY_HIGH_QUALITY.\n-This improves the quality of resampled output.\n\nBug: 7024293\nChange-Id: Ia44142413bed5f5963d7eab7846eec877a2415e4\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "f818ccfbbfc574d179c4639af6b41c83c368a699",
      "tree": "9bd280bb488507f32db92c24e3fe9c837b1290cd",
      "parents": [
        "8000e368cbdcb8a2a712c9c92f6c97526b36f0ed"
      ],
      "author": {
        "name": "SathishKumar Mani",
        "email": "smani@codeaurora.org",
        "time": "Mon Sep 24 11:48:11 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Sep 26 18:48:34 2012 -0700"
      },
      "message": "audioflinger/resampler: Add VERY_HIGH_QUALITY audio-resampler\n\nChange-Id: I34f5d36ae60010ec64222d6660d10a84da3bf566\nBug: 7024293\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "b991ed9ec044ece45e433e1ac0fbb84b9ed7e871",
      "tree": "6c3712ca0876d8b5736f6692d97ea6bb27207f8e",
      "parents": [
        "d8717323119c085d30d575df5a638ed4b25528c7"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Tue Sep 25 12:37:14 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 26 11:11:43 2012 -0700"
      },
      "message": "Camera2: Fix JPEG Transport Header offset\n\nUse offset into start of buffer after transport header\n\nBug: 7108816\nChange-Id: I6f9778db313856eaeee31f6999e4e55678b09b26\n"
    },
    {
      "commit": "52013e7ad02bd22b19a64bdccaa953c7b4b4d448",
      "tree": "68c0baa1e4d15d5fed04fb49a56660d08db3a216",
      "parents": [
        "4c6db4ce1e2760682d1c9e66448dbb39bb5d14d8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 26 08:34:10 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Sep 26 08:55:08 2012 -0700"
      },
      "message": "Revert \"Don\u0027t wait for presentation complete if terminated\"\n\nThis reverts commit 44cda3a4e7ca3de0db9cb49145def3803b03ebb4\n\nChange-Id: I7fd29b77690dab057ac966a42fb198b2772f092c\n"
    },
    {
      "commit": "4c6db4ce1e2760682d1c9e66448dbb39bb5d14d8",
      "tree": "a8ffad6bc9f78c05eefc85cbfdb782eb40b50b4b",
      "parents": [
        "64f935ebeae38828b3704e93fa5e7113f7839110"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 24 11:27:18 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 25 17:13:18 2012 -0700"
      },
      "message": "Implement android.media.AudioManager.getProperty()\n\nBug: 6635041\nChange-Id: I3386a4a6c226bc4eceaf65556119e4fb15f73224\n"
    },
    {
      "commit": "c62bb787e53fc4b400219567585b365a5792412c",
      "tree": "819f2acbf132ef789148d1b15422235b62f7f81d",
      "parents": [
        "852c381dbd1a9f86e6759201b50ac8847a1c3e3c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 24 13:44:07 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 25 12:12:40 2012 -0700"
      },
      "message": "Camera2: Make sure to clean out reprocess streams on shutdown as well.\n\nOtherwise, streams may persist past expected lifetime.\n\nBug: 6243944\nChange-Id: I901971b78baf9d577ea3812588dec3885232e7ef\n"
    },
    {
      "commit": "852c381dbd1a9f86e6759201b50ac8847a1c3e3c",
      "tree": "5e88063cfbedff931e367ded1286ad12d5c78a15",
      "parents": [
        "67d8ac3a8b49b114366684cd6310493423581056"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Sep 24 09:46:53 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 25 10:35:28 2012 -0700"
      },
      "message": "Camera2: Debug and logging fixes.\n\n- Fix LOG_TAGs to work with standard logcat filtering.\n- Add ATRACE to Camera2Device\n- Shorten thread names to fit in 16 characters\n- Remove some ATRACEs to avoid flooding trace unnecessarily\n\nBug: 7220520\nChange-Id: Ief8d677b5c8bb35d94e0f21b11b86505e83169ea\n"
    },
    {
      "commit": "67d8ac3a8b49b114366684cd6310493423581056",
      "tree": "2e44b42fa993f87681218453705dc0b67da25c24",
      "parents": [
        "2eddc1d2f99fb280786e30ec91f3c5df78556166"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 24 15:02:17 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Sep 25 09:40:00 2012 -0700"
      },
      "message": "audioflinger: improve record start and thread exit\n\nUse broadcast() instead of signal() on the\nthread wake up condition when starting record or requesting thread\nexit to make sure that if another thread is waiting for the same\ncondition (e.g binder thread calling setParameters()) the mixer\nthread will be woken up.\n\nBug 7184317.\n\nChange-Id: I3154a4509ca7af6ffae5236e522b0fab8e75ed06\n"
    },
    {
      "commit": "f83e2b4fcff8298432dc75d9808aa05331b23bb1",
      "tree": "6c999602bb00c6b859625db14087df16e3aed5da",
      "parents": [
        "2e57a199f302446957eec3fd1a603129fd03e1d4",
        "707c3e34b067064f45c1b50919e88080fcdb5e77"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 24 15:19:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 15:19:05 2012 -0700"
      },
      "message": "Merge \"Camera2: Emit ShutterCallback/RawCallback events after takePicture\" into jb-mr1-dev"
    },
    {
      "commit": "2e57a199f302446957eec3fd1a603129fd03e1d4",
      "tree": "24494fc7ed91f187dd1bc57ac765cf1b129bf9a2",
      "parents": [
        "7ca821d51972bb83fa900cf2206ae98f29b33ca9",
        "e500bc25cb801e69b4193b2863ec40bb3de04db9"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 24 15:18:41 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 15:18:42 2012 -0700"
      },
      "message": "Merge \"Camera2: Fix cropRegion sometimes exceeding the sensor array size\" into jb-mr1-dev"
    },
    {
      "commit": "7ca821d51972bb83fa900cf2206ae98f29b33ca9",
      "tree": "717661c94824cf168da0c4b93394d21972bda419",
      "parents": [
        "595f54fd2d4990b2ff311314b76a224969d7e79e",
        "99ae06be60d7ccd753a0808191583225e5533f3a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 24 13:51:58 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 13:51:58 2012 -0700"
      },
      "message": "Merge \"Check clock_gettime(CLOCK_MONOTONIC) for failure\" into jb-mr1-dev"
    },
    {
      "commit": "707c3e34b067064f45c1b50919e88080fcdb5e77",
      "tree": "837ce084ffd01a34d5240c1efab2ebc5effb4db4",
      "parents": [
        "595f54fd2d4990b2ff311314b76a224969d7e79e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 20 15:18:50 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 24 12:30:03 2012 -0700"
      },
      "message": "Camera2: Emit ShutterCallback/RawCallback events after takePicture\n\nBug: 7176692\nChange-Id: I50e8f9511f1770d97a42d1fa208c04b1bbcfba6b\n"
    },
    {
      "commit": "e500bc25cb801e69b4193b2863ec40bb3de04db9",
      "tree": "b1aacecfa630b67ae5756efd0bfc28d7c4713e47",
      "parents": [
        "595f54fd2d4990b2ff311314b76a224969d7e79e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Sep 18 18:23:49 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Sep 24 12:26:50 2012 -0700"
      },
      "message": "Camera2: Fix cropRegion sometimes exceeding the sensor array size\n\nBug: 7155264\nBug: 7120431\nChange-Id: I92a9c695b97ec40acf26dbdaa877964e41a9fd4c\n"
    },
    {
      "commit": "99ae06be60d7ccd753a0808191583225e5533f3a",
      "tree": "dbffc4a569cf43347fb77e37e8f718546b838770",
      "parents": [
        "4bf45909bcccb46acac61c155edd031e85b9dc12"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 24 11:29:00 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Sep 24 11:48:20 2012 -0700"
      },
      "message": "Check clock_gettime(CLOCK_MONOTONIC) for failure\n\nBug: 7100774\nChange-Id: I15a84a19bb6d6ef1d9dac4beaa03587638196404\n"
    },
    {
      "commit": "595f54fd2d4990b2ff311314b76a224969d7e79e",
      "tree": "5de5f954888faa0ccabfdb272c347702571c6303",
      "parents": [
        "50fa4c194a548502c7c365ea9a94bc51ca152f4d",
        "6090a17389fc86ec6d7b16b358c540fa6627923f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 24 10:38:23 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Sep 24 10:38:23 2012 -0700"
      },
      "message": "Merge \"fix end of track presentation on suspended output\" into jb-mr1-dev"
    },
    {
      "commit": "12c5d13c644cef1774cec2aafcbfeb4b205ba70f",
      "tree": "88370c6afb8fd9aeaf3e7f877bc31fdb5dba8a58",
      "parents": [
        "4bf45909bcccb46acac61c155edd031e85b9dc12"
      ],
      "author": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Fri Sep 21 00:58:03 2012 -0700"
      },
      "committer": {
        "name": "Alex Ray",
        "email": "aray@google.com",
        "time": "Mon Sep 24 05:18:14 2012 -0700"
      },
      "message": "Camera2: Truncate JPEG images\n\nCheck for JPEG size hint from HAL, use if applicable.  Otherwise\nread until end of JPEG image to find appropriate file size.\n\nBug: 7108816\nChange-Id: Idfd194133eb6c293ab08c9466f59606e62ba56b6\n"
    },
    {
      "commit": "6090a17389fc86ec6d7b16b358c540fa6627923f",
      "tree": "8bd80fc89227fe62dcea06391b4e6c4395073866",
      "parents": [
        "4bf45909bcccb46acac61c155edd031e85b9dc12"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Sep 23 15:20:50 2012 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sun Sep 23 15:20:50 2012 -0700"
      },
      "message": "fix end of track presentation on suspended output\n\nThe code detecting the end of an audio track presentation before\nremoving it from the active track list is based on the\ncount of audio frames sent to audio HAL. When an output stream\nis suspended (e.g. A2DP when SCO is active), this count does not\nchange and a track in stopped state will never be removed from\nactive track list causing the mixer thread to never release\nthe wake lock.\n\nThe fix consists in incrementing the audio HAL frame count even\nif the output is suspended.\n\nAlso fix a problem in getRenderPosition() when the output is suspended.\n\nBug 7167534.\n\nChange-Id: I3be836cbbea29b65dc087199cac6a1cd84c0a41d\n"
    },
    {
      "commit": "e7fc0ece01c9672629664c07108640f589034636",
      "tree": "0df0a8dbff16bda105f2a88833c0c15315ca1c43",
      "parents": [
        "e8f1b2e454c4e462521d1751d515c1be4aa820e0",
        "5a07a62123d3e630d739e790528273c1c09e3490"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 21 18:34:43 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 18:34:43 2012 -0700"
      },
      "message": "Merge \"Camera2: Don\u0027t use ZSL when flash is on force fire mode.\" into jb-mr1-dev"
    },
    {
      "commit": "5a07a62123d3e630d739e790528273c1c09e3490",
      "tree": "ea7af5fbc562c9d2dd6993e280cb374b955ec90b",
      "parents": [
        "45d76bb6c8f15335f89c287dbae04cc38f79d0a8"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 21 16:30:42 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 21 16:30:42 2012 -0700"
      },
      "message": "Camera2: Don\u0027t use ZSL when flash is on force fire mode.\n\nBug: 7213907\nChange-Id: I120b187c1886d85f4b2b5d3a6f28a28936424e8e\n"
    },
    {
      "commit": "e8f1b2e454c4e462521d1751d515c1be4aa820e0",
      "tree": "55b8c9d54af2dccd53c4b38b1f018446c60dd3c3",
      "parents": [
        "45d76bb6c8f15335f89c287dbae04cc38f79d0a8",
        "46dee9da04e80971c93cf23d772355217c88bb6a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 21 15:11:55 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 21 15:11:56 2012 -0700"
      },
      "message": "Merge \"Camera2: Emit FaceDetection events for all except repeating 0-face frames\" into jb-mr1-dev"
    },
    {
      "commit": "46dee9da04e80971c93cf23d772355217c88bb6a",
      "tree": "bbd75fe685f4ae78d935ddc3aea03aa224a298ef",
      "parents": [
        "5f8002eacb12e4305963322ee362429de3209c86"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Sep 20 16:27:54 2012 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Fri Sep 21 13:22:08 2012 -0700"
      },
      "message": "Camera2: Emit FaceDetection events for all except repeating 0-face frames\n\nBug: 7205311\nChange-Id: I570209445acf3a26f2246c3fe886d56bb63bd2f8\n"
    }
  ],
  "next": "dab11978a30160c65322d46000497d1dfc6c764b"
}
