)]}'
{
  "log": [
    {
      "commit": "2748ceb1eb0df58c92fd7611cf182e6cffa0f0a3",
      "tree": "50d0070addf6891bd72b2da75fce83bcd827251e",
      "parents": [
        "45659516fd605839cd3f5951c47f8be1beba161a",
        "66809dc49bec6cb6345c74d48d319c2a63c17ac6"
      ],
      "author": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Wed Jun 04 22:28:01 2014 -0500"
      },
      "committer": {
        "name": "Nick Reuter",
        "email": "nreuter85@gmail.com",
        "time": "Wed Jun 04 22:28:01 2014 -0500"
      },
      "message": "Merge tag \u0027android-4.4.3_r1.1\u0027 into HEAD\n\nAndroid 4.4.3 release 1.1\n\nChange-Id: Ic939fc64cbacba0f0aba987d9d834c7798020dd1\n"
    },
    {
      "commit": "0370be96e33ea0c8fb4069e704deccce43b7403c",
      "tree": "9d244524a113db326aa9e86caab40c49a08248f3",
      "parents": [
        "333ceb4f66ccf790081026f645474e07d832fbdb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 11:20:25 2014 -0700"
      },
      "message": "DO NOT MERGE: camera: Fix setParameters for Preview FPS single/range values\n\nAs a workaround, duplicate CameraParameters into CameraParameters2 to\nprevent ABI break for some camera HALs that directly link into\nCameraParameters.\n\nCameraParameters2 implements the real fixes needed in the framework,\nwhile CameraParameters is left in to satisfy older camera HALs.\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4da\n"
    },
    {
      "commit": "bd3e2e03f3ab686c52982a9e50cae853128172cf",
      "tree": "08e6182c089c0377db4b5c0010b30a16d8f2e5ba",
      "parents": [
        "75dcf5101c90e31bbac95694d835b0e8f57ba720"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 13:01:41 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 13:01:41 2014 -0700"
      },
      "message": "camera2: Fix segfault when using null availability listener\n\nICameraService::addListener / removeListener will now return BAD_VALUE\nif a null listener is used.\n\nBug: 12891434\nChange-Id: I9764110094d8fd42e22fcc8df3ef0e73c1b070e7\n"
    },
    {
      "commit": "bc69c8ba9a8fc881603669205a56d0ca1b572a95",
      "tree": "55c526333f2b036d4827170ff7250c99e30feaf3",
      "parents": [
        "6db20dcb54dad932a3ea2e3a5dca41fce5802eb4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Jan 21 12:15:56 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Mon Mar 10 20:31:08 2014 +0000"
      },
      "message": "DO NOT MERGE: Camera: delete preview callback when preview size is changed\n\nPreview callback stream is left configured even the preview size is changed.\nThis makes the callback stream unnecessarily configured even in recording mode,\nwhich could cause distorted preview for some devices.\n\nBug: 12210027\nBug: 12591410\nChange-Id: If50cddfe5562e91aec1feb1760eccb82ddb21730"
    },
    {
      "commit": "a11111f9135c98cf4247bbd1a61d7df3053e549e",
      "tree": "e0603972793777c7a190dd2a1c3c76336098a064",
      "parents": [
        "ed4d8b28b8ee5a3e4ebc8f73bf4dc86c75a74258",
        "a413dd621966044753a8fa1f57c76d847b6f4bec"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Mar 07 01:40:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 07 01:40:59 2014 +0000"
      },
      "message": "Merge changes Id28b35fd,Ie4e64977,I2950f31e into klp-dev\n\n* changes:\n  DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n  DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n  DO NOT MERGE: camera2/3: Add protection for still capture path\n"
    },
    {
      "commit": "a413dd621966044753a8fa1f57c76d847b6f4bec",
      "tree": "3205bb3eb789cc21cf2b7f5d1344c21d61e86d2b",
      "parents": [
        "6706009fa8294c8cdab1cdab4585f00d42df483e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Jan 29 08:52:01 2014 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 15:10:43 2014 -0800"
      },
      "message": "DO NOT MERGE: Camera: fix focusArea wrong indexing issue\n\nBug: 12304559\nChange-Id: Id28b35fdd9697c1ec3365f617996801965de8bd0\n"
    },
    {
      "commit": "6706009fa8294c8cdab1cdab4585f00d42df483e",
      "tree": "55fcdca48c005adaa2d25cc3e87715345e31e5ce",
      "parents": [
        "81d754306ecd4a587459015da5168270c2a5c167"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Dec 05 11:00:37 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 14:31:30 2014 -0800"
      },
      "message": "DO NOT MERGE: camera2: Fix race with stream deletion during disconnect.\n\nBug: 11856804\n\n- Shutdown order in Camera2Client allows a stream to be\n  deleted before the corresponding processing thread has\n  quit.  This can result in updates being called on the\n  processor thread without a valid stream.\n\nChange-Id: Ie4e649771f4321498659211f2a37ed89a6d956c4\n"
    },
    {
      "commit": "81d754306ecd4a587459015da5168270c2a5c167",
      "tree": "40e203771b86181b96aaf6022532e7aadf71e238",
      "parents": [
        "85b3013e06e8fe7802fe6259ecac80261e834332"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Nov 26 15:11:05 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 05 14:29:40 2014 -0800"
      },
      "message": "DO NOT MERGE: camera2/3: Add protection for still capture path\n\nJpeg stream in JpegProcessor could be deleted while process new capture is\nongoing, which unsafe to access a dead consumer endpoint.\nBug: 9316454\nChange-Id: I2950f31ea28d0ba01f08502e2e3ba452bf8bb818\n"
    },
    {
      "commit": "d812fc012298470a1b8120e6d60a24b0b1d48047",
      "tree": "bf3c68ea3a908a0792e766714cd9d54f98ebfb46",
      "parents": [
        "88876fb4eb8365343f2a9ca0e8f53148ca38b845"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Dec 03 09:06:43 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 14:10:41 2014 -0800"
      },
      "message": "Increase kFastTrackMultiplier from 1 to 2\n\nBug: 11967381\nChange-Id: Iedec06280aa745d9df5d661f4916940cede9c191\n"
    },
    {
      "commit": "281dd4e13309973dbb85bce531f884237e0d8fb0",
      "tree": "f58a048f67a81b56c07593f727c92a445b249f4b",
      "parents": [
        "abab1c33caf0982c11713e6d64d60105dcbc8ab7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Dec 20 17:36:01 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 14:03:30 2014 -0800"
      },
      "message": "audioflinger: fix static track end detection\n\nIf a static track is not a fast track,\nprepareTracks_l() must rely on framesReady() to\ndetect end of buffer and remove the track from the active\ntrack list.\nFailing to do so results in the track staying active but\nnot processed by the mixer because in underrun. This leaves the\nmix buffer content uninitialized and causes the effect process\nfunction to accumulate its output onto undefined data.\n\nBug: 12013676.\nChange-Id: I4b0819a9d93141ac3307b8786fc6a451dd585220\n"
    },
    {
      "commit": "abab1c33caf0982c11713e6d64d60105dcbc8ab7",
      "tree": "fed18cdc3a9543b56ffeaf73db55d0d20ee937e9",
      "parents": [
        "d0115d8c4db2f337030dea706bc0a434c4a03ed6"
      ],
      "author": {
        "name": "Gaurav Kumar",
        "email": "gaurav.kumar@broadcom.com",
        "time": "Mon Jan 06 10:57:18 2014 +0530"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 13:59:28 2014 -0800"
      },
      "message": "AudioMixer: Remove tracks from enabledTracks after reseting outTemp\n\nIf any track goes through AudioMixer::process__genericNoResampling, and\nits getnextbuffer returns NULL, Then that track is removed by AudioMixer\nfrom enabledTracks.\n\nThus if all tracks getnextbuffer return NULL, Then this function doesn\u0027t\nreset outTemp and last buffer in AudioFlinger\u0027s mMixBuffer will be\nrepeated and noise is observed.\n\nRemove tracks from enabledTracks after reseting outTemp to zero, so that\nprocess__genericNoResampling will reset outTemp and noise won\u0027t appear.\n\nBug: 12450065\n\nChange-Id: I28996d425838728955f01eb1a00acf6e6dc2dea1\nSigned-off-by: Gaurav Kumar \u003cgaurav.kumar@broadcom.com\u003e\nSigned-off-by: Pierre Couillaud \u003cpierre@broadcom.com\u003e\n"
    },
    {
      "commit": "7e92abeafb184e8a34213d7149592e95a72601b0",
      "tree": "09ec6f7fdfdc0b9564660f134bd6a460a4480d85",
      "parents": [
        "85b3013e06e8fe7802fe6259ecac80261e834332"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 22 09:29:56 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 12:12:01 2014 -0800"
      },
      "message": "audioflinger: fix offload write buffer offset\n\nFix current audio HAL write buffer offset calculation\nwhich assumes that the frame size is a multiple of 2.\n\u0027\nBug: 12823725.\n\nChange-Id: I0195ed5cfef225a6f114e7dd405a02680bb7254e\n"
    },
    {
      "commit": "50c3157c5a3e0617be77716beff1ae8801d8a72f",
      "tree": "7b550f2609351c85fc70658220f14e3a5737288e",
      "parents": [
        "e0cd1051ed9fea0629745c29020516ae62298461"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Tue Dec 03 21:26:02 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 16:03:12 2014 -0800"
      },
      "message": "audioflinger: check for condition before waiting\n\nAsyncCallbackThread must check for any condition that\nwas already been satisfied before waiting.\n\nBug: 11824817\nChange-Id: I04683a1f355de4f440106cab47fd916aa39d5e35\n"
    },
    {
      "commit": "e0cd1051ed9fea0629745c29020516ae62298461",
      "tree": "03273a98e8fc21f916bd0de1163913c51171b953",
      "parents": [
        "e010f65e6337267cb15f8894c950a3f64370dd36"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Dec 27 16:09:28 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 15:58:25 2014 -0800"
      },
      "message": "audioflinger: update track ready condition\n\nSignal track ready if the track isStopping().\n\nBug: 12423190\nChange-Id: I95e14905df10ebf301e398263478c8ca25d7e2ce\n"
    },
    {
      "commit": "e010f65e6337267cb15f8894c950a3f64370dd36",
      "tree": "e631dc8a6690f18c6b977272404abe1df70cc30c",
      "parents": [
        "a4f24ff9b239300b4bb2098c1413c0a60edc2d7e"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Dec 13 15:40:13 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 04 15:36:20 2014 -0800"
      },
      "message": "audioflinger: Fix for a deadlock in track creation\n\nAudioFlinger enters a deadlock (with itself) on trying to free a\nRecordTrack or Track object that failed initialization. Clear this\nbad object from the caller instead.\n\nBug: 12423233\nChange-Id: I926f2beb922a70f6924e593e2bbf1a5b5df85b16\n"
    },
    {
      "commit": "574d7be550cd6475d1b24f8fac5e73c8292cd3cc",
      "tree": "a39eb1eff7d08f9c0b7ba8bbdd33e9903ffecfcb",
      "parents": [
        "b5d257e31e992e428f20a43f4cdcde0fa7fb72f8",
        "126a630374323c18cda87cca66e8ed740fb5c54b"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Fri Dec 06 02:42:19 2013 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Fri Dec 06 02:42:19 2013 +0000"
      },
      "message": "Merge tag \u0027android-4.4.1_r1\u0027 into HEAD\n\nAndroid 4.4.1 Release 1\n\nConflicts:\n\tmedia/libmediaplayerservice/StagefrightRecorder.cpp\n\tmedia/libstagefright/AudioSource.cpp\n\tmedia/libstagefright/AwesomePlayer.cpp\n\tmedia/libstagefright/DataSource.cpp\n\tmedia/libstagefright/OMXCodec.cpp\n\tservices/audioflinger/RecordTracks.h\n\tservices/audioflinger/Threads.cpp\n\tservices/audioflinger/Threads.h\n\tservices/audioflinger/Tracks.cpp\n\nChange-Id: Ie17f9030275faae7a0f907b8ccc3195a7657742d\n"
    },
    {
      "commit": "70d6eb941b47e286b7688cbea3f6e56459244d3b",
      "tree": "09887e48cb6ed1d708078749f0a0d44f196fbbce",
      "parents": [
        "1a8b3a6e31aced3c60b94253e6b59e4b3bd6e99a"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Wed Nov 27 00:11:13 2013 -0800"
      },
      "committer": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Wed Nov 27 00:11:13 2013 -0800"
      },
      "message": "stagefright: Clean up the ifdefs\n\n * This should get everything in line for now.\n\nChange-Id: I3e8eaddeab34dbacb7138f9106f53ada404f7b4d\n"
    },
    {
      "commit": "03fd1d505e8962de6998b0a8dbbef2020e5bf21b",
      "tree": "bd760ebde0dd22ffed9177c7aa9404c9d4bec024",
      "parents": [
        "d09a376fb0c5178173a807d319a13bf495138099"
      ],
      "author": {
        "name": "Santhosh Kumar Thimmanna Bhattar",
        "email": "c_sthim@codeaurora.org",
        "time": "Wed Oct 30 11:29:19 2013 +0530"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@cyanogenmod.org",
        "time": "Wed Nov 27 01:58:00 2013 +0000"
      },
      "message": "frameworks/av: Update to caf/kk_2.7_rb1.10\n\naudio: Add track to trackToRemove list when it is terminated\n\n- PlaybackThread loop is continuing for direct output even after\n  the track is terminated by the client. This is causing 2 direct\n  tracks being active when client starts another session\n- Fix is add the terminated track to tracksToRemove list so that\n  this track is destroyed properly\n\n  CRs-Fixed: 566808\n\nChange-Id: I65f565d9c3a00e071174659ffb92f711dfd8742a\n\naudio: Fixed framecount in AudioRecord\n\n- Incorrect frameCount is passed to AudioRecordClientProxy,\n  which is used while user side pointer is incremented\n  This is causing distortion in SIP call\n- Fix is to use frameCount of the shared block instead of\n  frameCount passed by the client\n- InputBytes initialization is also done in AudioFlinger\n\nCRs-Fixed: 568988\n\nChange-Id: Iab32234b198ff4d792eea4c4a82097028089013d\n\naudio: update setParameter command time properly\n\n-setParameter is getting delayed regardless of delay is\n present or not. Because setparameter command time is always\n getting updated with wrong values(previous values) with any\n commands.\n-Fix is to restrict the updation of command-\u003emTime always.\n Added check to update command-\u003emTime, only when identical\n commands are present.\n\nChange-Id: I10b94b19f64ef4f15495d34f009238a691d1b36c\nCRs-Fixed: 568318, 569010\n\naudio: Initialize LPA variables in audioflinger\n\n - During initialization of audioflinger, a number of\nvariables related to LPA are not set to default values.\nThis causes an undesired side effect that the first\neffect in the effect chain is considered to be LPA\nenabled. Since LPA does not execute effect processing,\nswitching xLoud on/off does nothing\n - Fixed by initializing member variables in audioflinger.\n\nChange-Id: Ide06fb0e6804558388e6610cc7686f168591e4a5\n\nscale the kMaxCttsOffsetTimeUs for HFR recording\n\n-timestampUs \u0026 decodingTimeUs are scaled for HFR recording\n-the difference between these is compared against non-scaled\nconstant(kMaxCttsOffsetTimeUs).\n-fix provided to scale this constant(kMaxCttsOffsetTimeUs)\n-and compare against the scaled time difference.\n\nChange-Id: I08188423008d8f6a4824f2748d56a1e355d39a89\nCRs-Fixed: 566695\n\nAudioFlinger.cpp - audioConfigChanged_l set for srs Tunnel Device Switch\n\n - During device switch we were only setting the route\n   but was not calling audioConfigChanged_l\n - Hence the effects for the new device would apply only\n   when there is a config change.\n - Now we call audioConfigChanged_l during device switch\n   setPrameter so that the new effects will be apply as\n   soon as device is switched.\n\nChange-Id: I641cd8a7d6ffb7423ccfaa45e4c29b1b5352e61e\nCRs-Fixed: 548021\n\nRevert \"frameworks/av: AAC CSD support for MediaCodec path\"\n\nThis reverts commit Ic8197138f5107f2a6026c28847e74987d91acc16\nCurrently AAC CSD is retrieved in MediaCodec using\nkKeyAacCodecSpecificData. This support was added as part of\ncommit Id046b0d4bf96f029c1b6b5d78d753073e38ac841.\n\nChange-Id: I54bc6204c1fe88f4e4545f501e6bd1bb2a8beaf9\nCRs-Fixed: 527284\n"
    },
    {
      "commit": "d09a376fb0c5178173a807d319a13bf495138099",
      "tree": "d35d018f5fc924218236559c3270bb7c65838557",
      "parents": [
        "cc8ae1ead4106b67a7d2749d53b3384a3fecf8ff"
      ],
      "author": {
        "name": "Jorge Ruesga",
        "email": "jorge@ruesga.com",
        "time": "Sat Nov 09 15:34:50 2013 +0100"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "gerrit@cyanogenmod.org",
        "time": "Wed Nov 27 01:47:12 2013 +0000"
      },
      "message": "frameworks_av: Support pre-KitKat audio blobs\n\nPatch Set 2: Combined duplicated method\n\nChange-Id: I6384c13b0944a25cdf0cb90031b2e3698bc3e78d\nSigned-off-by: Jorge Ruesga \u003cjorge@ruesga.com\u003e\n"
    },
    {
      "commit": "8d420edd32ee8020e5902ae64a9642b666d94312",
      "tree": "cb7aa23654aa6e13149306fe1373f82e0207c52b",
      "parents": [
        "0e1608f270a37db756258dd9d9234d6da54bd297"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Thu Nov 14 00:40:54 2013 -0800"
      },
      "committer": {
        "name": "Arne Coucheron",
        "email": "arco68@gmail.com",
        "time": "Mon Nov 18 19:37:59 2013 +0100"
      },
      "message": "frameworks/av: Add ifdefs for QCOM_HARDWARE features\n\nChange-Id: Iebe0da91f0b761bba8eb8c0e181c47bbd0d0703d\n"
    },
    {
      "commit": "601e9b5afda42a19bfebf71f4bf3e4a30b01bb75",
      "tree": "66269969ea00e1050d90a020a99f38f08e226666",
      "parents": [
        "d82e50ad4f698e029f8d5085affbf383508bf0e3"
      ],
      "author": {
        "name": "Alok Kediya",
        "email": "kediya@codeaurora.org",
        "time": "Fri Sep 27 11:55:10 2013 +0530"
      },
      "committer": {
        "name": "Arne Coucheron",
        "email": "arco68@gmail.com",
        "time": "Mon Nov 18 19:36:16 2013 +0100"
      },
      "message": "frameworks/av: Squashed commit of media features from CAF\n\n * Completely synced with kk_2.7_rb1.9 branch, as of:\n\n       libmedia: Add QC enhancements to MediaProfiles.\n\n * Following patch reverted for now, because it doesn\u0027t compile:\n\n       frameworks/av: Enable subsystem re-start for LPA/Tunnel\n\n---\nMediaProfiles: Add support for camcorder video resolutions.\n\nAdded video resolutions to support camcorder recording.\n(cherry picked from commit I2291de43ae2be7338c673f2f0417ec5c1581391e)\n\nChange-Id: I309fa41cfa36ee0551a8a7c53072089858a2c66a\n(cherry picked from commit 805cb98f40acfb242206b7db71c50bc56ea77d2a)\n(cherry picked from commit 68c1f41295f4be54ed13af20ebd1041890d2f3ca)\n(cherry picked from commit 5a74f7e0e0fbec707333a1f7481d85961aff3908)\n\nframeworks/av: Add support for FM feature\n\nAdd FM handle key and volume key to AudioParamater\nclass which is used to initimate Audio HAL to\nthat FM device is connected and apply correct\nvolume to FM stream\n\nChange-Id: If5fa14faf7946ab27eb42b89546dc2274b24f754\n(cherry picked from commit 165f20759433d0137a292b457aa783f801f13277)\n(cherry picked from commit c98b484de0877e159f00b3b01d622b6539f0b2bc)\n(cherry picked from commit f752d489bb85a94b81d38c72333409b4384d860a)\n\nlibstagefright:add enhancements for extended format support\n\nExtended-extractor to support extended container format.\n - Introduce an Extended Extractor to facilitate plugging-in\n   of parsers extensions.\n\nExtended-codec to configure codec specific configurations.\n - configures omx component with extensions to augment\n   container/codec format-suppor\n\nExtended-utility to add utility methods and shell extensions.\n - Utility methods for supporting following features\n  - High Frame Rate (HFR) recording\n  - Support for B frame encoding\n\nChange-Id: I77a40af701916f1803fa9c6af3c43a312a8d2c98\n(cherry picked from commit ab6a474cd9acc7bc54c54a7c235f6eab032349ca)\n(cherry picked from commit fe07c231dbecd255aedbf7aac597260831eb98cf)\n(cherry picked from commit df7b013ceeeb4697f448a2d150ae75b86c325013)\n\nlibstagefright:enable extended codec/format support\n\nConfigure omx component with extended extensions and\nregister exended-extractor to augment container/codec\nsupport.\n\nChange-Id: I0bfa4bd6c4dfed93a96e1af431018de54d6fb57b\n(cherry picked from commit 318c38f40b53e1987473b29a359e586615bf3c02)\n(cherry picked from commit 4a0e6d65c200604a9618e2fc90326031153e6f08)\n(cherry picked from commit f9b65059fabc1c24ae5107b54f96a017e8fc7376)\n\nlibstagefright: For interlace, set decoder in arbitrary mode\n\nIn arbitrary mode, frame parsers sends individual fields\nto core. Once both the field is decoded, output done (FBD)\nis sent back to client.\nDefault frame by frame mode will send both the fields in\na single buffer to core, which might decode only one field\nor will throw up error.\n\nCRs-Fixed: 531034\nChange-Id: I31844093b6a93d3a62577fc8d799353d30573c17\n(cherry picked from commit cb45f5a702992242538fab6d9e2c36b7b8e55c7f)\n(cherry picked from commit 214938ef4f9997233a33a24e9e9e9751a1fa1882)\n(cherry picked from commit 646e3bdce1c8241fb46802e7eba3c4f8a528517d)\n\naudio: add support for MSM audio formats\n\n- Add support for EVRC, QCELP, AMRWB+, and WMA formats\n- Refernece change If110058284c8b3e18c2f242f560fc7748f62081c form jb-mr2\n\nChange-Id: Ie20f2d61f79d2ba41d552718187b7098141e7b8c\n(cherry picked from commit bca561e38853351c0bae15c5d201dbca7f5a027e)\n(cherry picked from commit a11972f505000be397ee3a377ec42bf9e5fef420)\n(cherry picked from commit 7465e6129b291c66dc7741325a90e3725e40e941)\n\nlibstagefright: fix metadata key sizes\n\n - some wma metadata keys should be treated as 32 bit keys instead\n   of 64 bits.\n - fixes wma lossless from failing\n\nChange-Id: Ic6af8392aea6a1bd8810dac59e1d1c27c21c4059\n(cherry picked from commit 1fae0bcb8ef9244e1f28d21c36e388ab365e3c0f)\n(cherry picked from commit 97be73e3004a838227060f026f38c7231dd7e2f7)\n(cherry picked from commit 4d24c91e49c89eadb7b48e47e38a9b7b6df8f1cf)\n\nframeworks/av: Add support for LPA and Tunnel Playback\n\n-Add DirectTrack and DirectTrackClient\n-DirectTrack enables client to create a direct\n output\n-DirectTrackClient allows notifications to be sent to the\n client from DirectTrack.\n-DirectTrack is being used for Low Power Audio\n playback and Tunnel Audio playback\nChange-Id: I265ae1fa32c6fdd8be0382cc2b28605bc756a2f3\n(cherry picked from commit b255c1963bb3af6f547b68d646737a7c92739555)\n(cherry picked from commit 7cb21f77ae28f58da1cb8ba8f684b2968dcd4122)\n(cherry picked from commit d4fa9e74c1ee1c2f7f7262c245da0b94dc0ac05b)\n\nframeworks/av: port fixes in LPA and Tunnel mode playback\n\nNo History was maintained during porting. Updating the Description\nand CR\u0027s of all the fixes.\nReference point: AU_LINUX_ANDROID_JB_MR1.04.02.02.049.366\nLPA Mode:\nLPAPlayer synchronization fixes.\nFixes for seek, pause/resume, EOS handling\nFixes for synchronization b/w the decoder thread, TimedEventQueue and player thread.\nConvert mono to stereo for LPA clips - CRs-Fixed: 421639\nAdd support to change clip duration to enable LPA\nSet correct device while creating effects - CRs-Fixed: 496866\nFix the LPA-AudioEffects dead lock issue - CRs-Fixed: 477511\nfix volume not updated in pause state of direct track - CRs-Fixed: 490592\nTunnel Mode:\nUse tunnel player only for music stream\nExceptions in using Tunnel mode decode - CRs-Fixed: 432080\nEnable Tunnel Decode for select formats - CRs-Fixed:437651\nUse software decoder for ADTS content. - CRs-fixed: 431096\nSkip tunnel mode for playback through AudioCache - CRs-Fixed: 437539\nFix stability crash on tunnel playback. - CRs-Fixed: 498386\nsupport multiple tunnel instances - CRs-Fixed: 483603\nFix ANR repeated next with tunnel clips on BT/AOA - CRs-Fixed: 482966\nUpdate condition to ignore a seek request - CRs-Fixed: 461908\nReturn seek position until seek has been processed - CRs-Fixed: 454825\nTunnelPlayer performance tweaks for audio video playback - CRs-Fixed: 444041\nStability fixes for Tunnel Player (part 2) - CRs-Fixed: 449122\nAdjustment for TunnelPlayer buffer size - CRs-Fixed: 447274, 442365\nRemove unnecessary code from TunnelPlayer - CRs-Fixed: 442365\nupdate condition to send SEEK_COMPLETE - CRs-Fixed: 441411\nStop extractor source after start in TunnelPlayer - CRs-Fixed: 440239\nHandling of EOS, and triggering EOS was wrong in TunnelPlayer.\nEOS should not be posted till seek is complete\nDisable tunnel mode playback for streaming use cases to avoid jittery playback\nCRs-Fixed: 433346 432233 429868\nAPIs for returning correct timestamps were implemented\nCheck whether sink is open before flushing or closing it.\nCheck for mIsAudioRouted is good to know if we are closing it\nSeekbar freezes after seek and pause\nCheck pause status before writing\n\nChange-Id: Iea150f8d75aa9aa6d14da078695e920a3742dd81\n(cherry picked from commit f7c9bafa439c5d52d945b966ba08cb16dfc34818)\n(cherry picked from commit 68dee8112bbac7e0a70003175ed71b4e6a0376f4)\n(cherry picked from commit 19c7fd3e330be551d477e8388b536294b1166a22)\n\nframeworks/av: port fixes in LPA and Tunnel mode playback draft -2\n\n -LPAPlayer: Update condition to ignore seek CRs-Fixed: 453067\n -libstagefright: TunnelPlayer: update condition to send SEEK_COMPLETE\n  CRs-Fixed: 441411\n -libstagefright: Fix ANR with rigorous rewind of 3gp LPA clips\n  CRs-Fixed: 491077 490992\n -frameworks/av: Add  metadata mode changes to LPAPlayer\n  CRs-Fixed: 458904 491077 490992\n\nChange-Id: Ia89d7d6ac63b1267422a9138df9f98ef59b0ccb7\n(cherry picked from commit 72f3bd4cddd3d93812692bffbfc19e2534477938)\n(cherry picked from commit db6330d01d91d466d18c7714bd024a10fb009f57)\n(cherry picked from commit 416e9ef0eed0ffa7b6e2c9d5a107d1ed2a94a624)\n\nframeworks/av: port fixes in LPA effects\n\n -audio: fix for deadlock issue during LPA playback.\n -frameworks/av: Fix the LPA-AudioEffects dead lock issue CRs-Fixed: 477511\n -audioflinger: Fix pops in LPA while effects are applied CRs-Fixed: 526799\n -audioflinger: Fix delay in enabling effect for LPA CRs-Fixed: 525510\n\nChange-Id: I92118b5cba17f5337608007052e7dc891d2d6b5b\n(cherry picked from commit b24a38903f3fc2fd2bf7cc8fb71d50e1ff38162d)\n(cherry picked from commit e8a1d6f80e64822d83f04f4f0704890644048189)\n(cherry picked from commit 571f36890abe9f6b8bfe7341776cb5b3975bf952)\n\nframeworks/av: Use the correct macro for AV enhancement\n\n- Use correct macro for AV enhancement\n- Add HW aac encoder entry in codec list\n\nChange-Id: I2933ee92ff15875144acec17d3dd8ef61d6b37f9\n(cherry picked from commit 5bb728d3bb84f2f24ddfbaa99fa133c87ff66298)\n(cherry picked from commit dbc1e5bde1564e80052086a7ee301173515c8d64)\n(cherry picked from commit 941f87a69f87dbeab0068f3e9a98c97981ff2700)\n\nlibstagefright: Add support for H/W AAC decoder\n\n- Currently, only software AAC decoding is supported.\n- Add support for H/W AAC decoding by including it in the\n  list of available decoders and use it for decoding only\n  if the property \u0027media.aaccodectype\u0027 is set to 0.\n\nChange-Id: I35caba6fb694d17b51a0a9983a5fc5f28cb375ec\nCRs-Fixed: 449145\n(cherry picked from commit a87c3159a34da86e62c029a06e8e39bef66ae2db)\n(cherry picked from commit 6a47c5cb0fe741f31b36bee7e74bd953a3ad3bcc)\n(cherry picked from commit 8f6bacb4427d3c84af00b06a8ceb1bb324550acc)\n\nframeworks/av: Compile AudioParameter as shared library\n\n- AudioParameter as shared lib is needed by BT,\n  support in WFD source, SRS TruMedia\n\nChange-Id: I30ee584ba7f45f5cafbdf07c45aa7429a84b1b49\n(cherry picked from commit 30b89b3bfdafa2f3b877644400efbaefd6572f1e)\n(cherry picked from commit 84c3b42f25a28d14426dba29276aae8c5ab795ce)\n(cherry picked from commit 53c42631eeb1e13b786d9f4f616f38fe59690e4e)\n\nframeworks/av: Define MSM Audio parameters\n\n- Define MSM audio paramters for FM, VOIP,\n  fluence, SSR, and etc.\n\nChange-Id: Iec6f146a0dde3095e3380da439a883b1bbb7d462\n(cherry picked from commit 8e943f5bd88bda87f1aa9230487a69372ad49cf7)\n(cherry picked from commit 85f4743d12c13aab39ac712a9005632f427c1c43)\n(cherry picked from commit 333ba54561c59049f695b07479afe1d5ed734d31)\n\nframeworsk/av: SSR bring-up\n\n- Initial bring up for Surround Sound recording\n- 5.1 channel AAC recording and LPCM 5.1 channel\n  recording supported\n\nChange-Id: I0d237dc91b74ce6e6550243c9e48cf358734634b\n(cherry picked from commit 9f5c9b8eb2f34a0431621b0b54b1b0ea4914224a)\n(cherry picked from commit d551917f9e65a0468bd838d4ffbf21006426b4c5)\n(cherry picked from commit 236c0861d24eab95f2f6e8941394b38cdd2e15c8)\n\nlibmediaplayerservice: Add support for DashPlayer\n\nAdd support for DashPlayer in MedaPlayerFactor\n\nChange-Id: I3e1fd871340117cb11975f6819d4bf0e6630607a\n(cherry picked from commit f0dcae2a6bf22c8c5846b235f3ae900b8b824f79)\n(cherry picked from commit d73fd11ce138f661770e809b959a17dac975b284)\n(cherry picked from commit 8d3b0b273ddd2ff08707d33b647d8ee6db3c7598)\n\nframeworks/av: Enable subsystem re-start for LPA/Tunnel\n\n-Audio Daemon in Audio HAL intimates AudioFlinger\n of ADSP status (online/offline) using set_paramaters.\n-AudioFlinger send set_parameters to its clients\n which is DirectTrack used for LPA/Tunnel playback.\n-In case of ADSP crash during LPA/Tunnel playback,\n clean up of DirectTrack is initiated.\n\nChange-Id: I87f720f305765e00e12032eed3e018aeff952390\n(cherry picked from commit 02861e0f092c46640576bb8c700418ed82c266c3)\n(cherry picked from commit 5abe97aa9e103420813b87e7abb2b676ffe8d097)\n(cherry picked from commit 9a27f1e6c449585095e518f0d2f44e621ef18f52)\n\nframeworks/av: Add support for Quality Of Experience (QOE) events in MediaPlayer\n\n- Add MEDIA_QOE event type\n- Allow MEDIA_QOE event to be passed to Application after reset\n  is completed, similar to MEDIA_ERROR\n\nChange-Id: I71e3d9e1f5f934c5844d80c65c653b2702a22ca1\n(cherry picked from commit a3320b6e617d1143bf2135abfaaff28365513de4)\n(cherry picked from commit 3ca9bdff130c204678def4578fc7a06fd8b3a03a)\n(cherry picked from commit d13bd4be1a5418cb806029ba65854c13608cbb0c)\n\nframeworks/av: fix for testAACEncoder CTS testcase\n\n- testAACEncoders CTS testcase is failing for\n  Hardware aac encoder use case\n- hardware encoder has bitrate limitation\n  due to which  CTS testcase is failing\n- Removed hardware AAC encoder component from MediaCodec list\n- Updated the macro for av enhancements in OMXCodec\n\nChange-Id: I3140898f466a600a4488306701aa16e194df8cc6\n(cherry picked from commit a084948269982c868916833546c4b56acdeb1de9)\n(cherry picked from commit b5cff08f65b0811efec6b739c98b3aa42d1dd3f7)\n(cherry picked from commit 96b425ed8125a7f535572276c2efd09ec81a6a59)\n\naudio : init rc to avoid effect\u0027s fault state\n\nEffect command doesn\u0027t necessarily fill cmd return code into \u0026cmdStatus,\nso we should initialize cmdStatus to avoid uninitialized value propagates\nto upper stack caller.\n\nChange-Id: I2a2985e3010f0d7b8aedf9244a6faabdf05740ac\nCRs-Fixed: 517766\n\nConflicts:\n\tservices/audioflinger/Effects.cpp\n(cherry picked from commit 708dd6e07fc363c76ee9d26a4bc6bb6d7cd3815e)\n(cherry picked from commit 0f864db4f4c30c0f31a6998301dd4ec0098a5b24)\n(cherry picked from commit 70047618259f68ce74349ed33edffd0ab5a467cc)\n\naudio: Add pause support for hardware omx component\n\n-ADSP doesn\u0027t enter sleep state after wma playback is paused\nand power suspended.\n-No support for NT session pause in case of hardware component.\nNT session need to be paused to put ADSP into power collapse.\n-Add support of pause in stagefright to ensure device enters\nsuspend mode. Also add intermediate states to avoid concurrency\nissues between read and pause.\n\nChange-Id: Ia0d77a3a0a344b8caad4f4d395641fd6a82f80b9\nCRs-Fixed: 496256\n(cherry picked from commit 369536f28349e7d1e3033c9d6205c692e32d0751)\n(cherry picked from commit 1dcd1d7eba1d82c14961b05dab4e854ed2a979b3)\n(cherry picked from commit 0a1b5cbced55d0718d96eccab9e2fe06aa68b199)\n\naudio: Fix for race conditions in direct audio track\n\n-Issue: Mediaserver crash is observed in direct track functions.\n-Rootcause: Between write and flush functions, write and destructor\neffectpool buffers are accessed without any synchronization that\nmight lead to operations on null buffers and cause crash.\n-Fix: Use mEffectLock to synchronize access of effectpool buffers.\n\nChange-Id: I5982e31fd6d292a9fe28dfee4cf75ebfe0ade5e6\nCRs-Fixed: 515107\n(cherry picked from commit b14c28f0d3b51ee989640aa46f3addcfabccb6be)\n(cherry picked from commit 782f8512023facb1b655fb636bdcbd19af21b493)\n(cherry picked from commit 1601287d6a06e11d782a821791bf1f5a9dcbd188)\n\naudio: Correct the condition that checks for wma version\n\n-Few wma clips fail to play when tried to play from music app.\n-In overrideComponentName(), a wrong condition is added due to which\ncomponent name is always returned null. Due to this all wma clips use\nwma component irrespective of the version. This causes playback\nfailure for other version clips.\n-Correct this condition to ensure that all wma clips play fine.\n\nChange-Id: I3a724755fb254bedfc0d3a6dba46c019bc3535bb\nCRs-Fixed: 548188\n(cherry picked from commit a716cf363b4c7e89fba11547732bbdd9ceff185b)\n(cherry picked from commit b7e09e104afb3eda1f2ce95f5ac25fca6483fa28)\n(cherry picked from commit bb37a77adbfc6eabbb2c15ea9c7fcae113b6fa9d)\n\naudio: Fix to prevent deadlock in AudioEffects\n\n-Write is blocked waiting for effect chain lock and this causes\ndecoder thread to wait indefintely.\n-Sometimes it is observed that effectschain is locked before\nmLPAEffectChain is initialized and but unlocking is skipped if\nmLPAEffectChain is initialized in between.Due to this LPA\nsilence and framework reboot issues are observed as\napplyEffectsOn() cannot acquire lock to progress further.\n-Use flag to check if all effects have been locked and unlock\naccordingly to prevent the deadlock scenario.\nCRs-Fixed: 524759\n\nChange-Id: I8ea0b1fc97de157b8254688b5471fd21bc9b565d\n(cherry picked from commit 64dda9be5640f02c923cb7d5a08036ebb49ce86f)\n(cherry picked from commit 9056fa50895243fbb1672eb117d60004757e7deb)\n(cherry picked from commit b43e3b9859ddd90f512c80b637186f2a6e54a835)\n\naudio: check for divide by zero possibilities\n\nWhen output stream is not available to audioflinger\ndue to any reason, sampleRate and frameCount have\nzero values when trying to create new Audiotrack.\nThis might result in divide by 0 situation.\n\nChange-Id: If7fbcb6eb4cfcdba6d6bb3b4f758e46e4a57e37b\n(cherry picked from commit d1576c1648a78354535fc9cd7130412f300864e5)\n(cherry picked from commit 15b951bfcb2180f728669ab23ef0d6791fd790c2)\n(cherry picked from commit c980dbea39f984a3c28e2694174e87b311e77308)\n\naudio: Fix crash in flinger during monkey runs\n\nThe trackrefptr in DirectTrack descriptor can be invalid and\nthis can result in a crash is stability runs. Add check for\nvalidity of the trackrefptr before accessing it\n\nChange-Id: I4c7fbff022f381f9d2cdbf0fc04ade8defbb2195\n(cherry picked from commit 66917496a28241bf38f117cb05b5810021a185a0)\n(cherry picked from commit e1c916bb324f4f6f7923b8e4b2a9c436a65534ff)\n(cherry picked from commit dc983d3efd2a5ec3435246d4d2a2e1b4265b5f22)\n\naudio: Use High Quality resampler\n\nUse very high quality resampler to upsample to 48KHz sample\nrate.\nCRs-fixed: 416730\n\nChange-Id: I30420cbaa8f6d34e2bce408494cc08cb00b175a3\n(cherry picked from commit 2904e01dd4a3921b7bc0bec71f63f4757204408b)\n(cherry picked from commit 0302cfba74b948e5fb3b2adbcb9330b5dcc36595)\n(cherry picked from commit 955a6569ab9d28fbfd6e1e234f06016fcbe5fb6b)\n\nlibstagefright: Add interlaced video support\n\n- Adds call to set output buffer size on the native window\n\nChange-Id: I4754e1f1d4d0bba375f719240499ef58c9e87ca2\n(cherry picked from commit 63452051ea03bc48af85bd58767fd2a9b0ae13b6)\n(cherry picked from commit 856b08a0c452a5d1e0b02487bcbebc44e55fd3e7)\n(cherry picked from commit 8f445b519a7c3d107f4180ead01c9722b12b0adf)\n\nExtendedCodec: Enable timestamp reordering for MPEG4 codec type clips\n\nMPEG4 codec type video clips can contain B frames. This change will\nenable timestamp reordering for all MPEG4 codec type clips\n\nCRs-Fixed: 539036\n\nChange-Id: I7682a3781e6aa1b8e73418e4e73ee266c6338770\n(cherry picked from commit 8d52ec137be60676c310bda168e8ce18d22dc534)\n(cherry picked from commit 3b47eeb2cb5d595f2e755dcaa9e564eac8cbf33d)\n(cherry picked from commit 9b47486f507fe834e4c5ab51524be8aa91df875b)\n\nlibstagefright: Use proper ctts offset\n\nCalculate ctts offset as difference between composition\ntime and decoding time, and avoid adding kMaxCttsOffsetTimeUs\nas it increases the sample timestamp by the same amount\nwhich leads to av sync loss.\n\nCRs-Fixed: 524739\nChange-Id: I75a1bb594536623e3a445af2ee1ceb0cf0926a6e\n(cherry picked from commit 863cb2bae6015b32c9ad12f074394c9a54c7bc47)\n(cherry picked from commit 8e0e1a4330babf3c38152d48db1f2edf4db7a659)\n(cherry picked from commit 87b09615f9473e369883142009d4035e37a2a806)\n\nlibvideoeditor: use vWidth and vHeight for buffer allocation\n\nChange-Id: I2ab01b8ef79a3ad9b1eb737b2e9f1211a6e668c2\n - video editor detects crop information from decoder, crop\n   width and height will override metadata width and height.\n - decoder is capable of sending crop information where\n   crop width and height are smaller than actual resolution.\n - use actual metadata width and height for calculating\n   buffer size.\nCRs-Fixed: 452511\n(cherry picked from commit 93432b8b1c29b2dd62fad923ffa622b002311fa8)\n(cherry picked from commit de34cceeb13eead49daf4a47f28bf49286917101)\n(cherry picked from commit 865f7b2e0f034b0aea09ef5b13f401c776585bf2)\n\nlibstagefright: post video events dynamically - calculate amount of time to delay video event after renderusing the formula: delay \u003d (us between frames)-(us taken by event)-(lateness)\n\nChange-Id: I136ee19520200b26058099f88c8979d1e4e34e23\n(cherry picked from commit 61ef39e403f708b014ca434eec35056815558deb)\n(cherry picked from commit eb7422fb58a6f95f385574c4d845754db8da6b1f)\n(cherry picked from commit 427260792cfa7a53fb27808ac24600a3ebfa7ca2)\n\nlibstagefright: Reset the decoder while performing seek\n\n-Observed noise when seeking to beginning of file for the recorded\nAMR clip.\n-While performing seek, the AMR decoder states are not being reset.\nIn AMR decoder, the current frame output is predicted using the states\nfrom previous frame. If these states are not cleared, it might cause\nnoise when seek is performed.\n-Fixed by resetting the decoder when seek is issued and port flush\ncompletion is notified to the decoder.\n\nCRs-Fixed: 500851\nChange-Id: Ia8480b88521abc09c8b01d6052df4730a0359518\n(cherry picked from commit df2b77618d69ac10f1c41ffd5eedb92dd43e161d)\n(cherry picked from commit 654f3ad1192bd210b27dbfe29f3cf75a4a3774d8)\n(cherry picked from commit 6374b1a4bbf6e853d7214eee6c7177251d246c58)\n\nlibstagefright: notify updated stride to NativeWindow for DRC  -Notify updated stride after resolution switch to NativeWindow  to re-interpret the buffer layout  -CRs-fixed: 534910\n\nChange-Id: I4c1427a4826c8d29f93064c34eb3e2eaeef434d7\n(cherry picked from commit f93a1ed7561a3a29b73466054e8c43dcbb4c9a1e)\n(cherry picked from commit fc948d949de674c4d978b9ca87dea039f4aa86bd)\n(cherry picked from commit e5954f19fc67414620ce582a361dd09f5444a01c)\n\nlibstagefright: Fix crash in media server mpeg2 playback. -There is a check in dequeueAccessUnitMPEGAudio function inESQueue that  time stamp returned by fetchTimeStamp is alwaysgreater than 0 -In the current scenario, valid time stamp set on the firstframe is  getting replaced in the sub sequent code by -1. -Fix is to reset the flag after first frame is identified CRs-Fixed: 512218\n\nChange-Id: I1be136fb8c8c3a88f46b88f42a1f200582fd1086\n(cherry picked from commit 275b8f8d4047346fea7450b97a004c4e43e9a72b)\n(cherry picked from commit 2a2bc3622413ac1d0304cffaec9603de77d5228d)\n(cherry picked from commit 7836a4a64b3afb56689bc7384cb3dcdaa5a454c0)\n\nframeworks/av: Fix for failure in CTS MediaRecorderTest cases\n\n -Issue: MediaRecorder CTS test cases are failing.\n\n -Root Cause: Running the CTS test \"testRecorderRandomAction\" at beginning\n  sets the huge file size and stargeFrightRecorder set the 64 bit file\n  offset.\n  In MPEG4 writer estimateMoovBoxSize depends on a static const\n  variable which uses this file offset info.\n  As the variable to calculate estimateMoovBoxSize is static const it\n  remains same for next media recording session even if file size is small.\n\n -Fix: Don\u0027t use static const variable which is used to calculate\n  estimateMoovBoxSize as its value may change depending on file offsets.\n\nChange-Id: I6bd859fcd7951a4e78abc50bc99dab38e8284877\n(cherry picked from commit 0542e6f3af9e17559542764856f430ceaa255cac)\n(cherry picked from commit 48fda261ceba7ed1c38c09e3282e9f9147bc03a0)\n(cherry picked from commit 70af301150f7a5829f490b44da5caa596da76fa6)\n\naudioflinger: Fix monkey crash in audioflinger set parameter.\n\n-Track ref ptr is initialized to direct track pointer only in create\n Direct Track although the descriptor is created in open Output\n-If there is a set parameter coming in during this time it could\n result in a crash as track ref ptr is not initialized.\n-Initialize track ref ptr to NULL when descriptor is created.\n\nChange-Id: Iee887baee45a9e7b381f6e2ea2ab523a23689f6b\n(cherry picked from commit 10d4ae79b727f7191484f3adda13f9bba9d62c09)\n(cherry picked from commit 7d130a825ad58e44b04cce4a4e3f4e4919337a7b)\n(cherry picked from commit 0b72bac19b8f8988e385b06ede234ca80e2e2e07)\n\naudio: Adding support for SRS effects\n\n-Add support for SRS Trumedia post processing effects\n\nChange-Id: I41b8983e1a59f5a84e10a21418d7731e6d8ec430\n(cherry picked from commit 5b7c47861ce5e4afee2a3ce8e956e0cfec10cf29)\n(cherry picked from commit e0ff892f774310e921f9926748ed9a3fe9784af3)\n(cherry picked from commit 6d92096966d3dd16f5d08556e3b1273041d1cf58)\n\naudio: Do not apply effect on multichannel content\n\n-Do not apply effect on multichannel content.\n-Effects are applied only for mono or stereo.\nCRs-Fixed: 484078\n\nChange-Id: I623d40f926d5dd80e74f9aa2f98448158518047e\n(cherry picked from commit b11bb5ec8184b0880a37b13033b22e255dbfccac)\n(cherry picked from commit af7c6323538ad5b0e5a9f3efd2458cd44744c397)\n(cherry picked from commit b984891aaade017a7fc9aad0c0d9f9398653cf71)\n\naudioflinger:Set correct device while creating effects\n\n -Issue: Effectmodule is created with stale output device\n  -Rootcause: While creating effects the output device set is\n   output device of mixer thread, which is stale and\n   not updated, so effects use the wrong/old device as\n   the output device and leads to issue such as difference\n   in volume level after setting correct device etc.\n  -Fix: Cache the latest device value for direct track\n   in a flinger member variable when setparameter of\n   flinger is called with new device and\n   audioflinger::openoutput is called.\n   Use this cached value while creating effects\n\nCRs-Fixed: 496866\n\nChange-Id: I66f08b968c75e8a3b812aad7d91b20fd4557ba24\n(cherry picked from commit 20d090b0a481722eede1ca01d38fddcd0977c633)\n(cherry picked from commit b39d113f2bac7ca1df8ef144d81bdb28c32975d0)\n(cherry picked from commit baf45ef7b6c12a1916d56ce37965de3d366b9f84)\n\nframeworks/av: Initial bringup of voip and vocoders\n\n-Add support for voip and vocoders.\n\nChange-Id: Ibe6dfa100e564e057deebe1613cafd282ee2344e\n(cherry picked from commit 96043bb0b5e93099bbbdd2a64c2b6039911c0ac3)\n(cherry picked from commit 1682b8eb630c22b7ef0aa7a29746c6ce06118d95)\n(cherry picked from commit bf72f4c502777df4703c345d1269057c57d11615)\n\nstagefright: Enable HFR feature during recording video.\n\n- Enable HFR related calls to set HFR mode in stagefright and\n  libmediaplayerservice.\nCRs-fixed: 557371\n\nChange-Id: I8cf0856b608c5a76a4ac0ad128f05eab43ca4d49\n(cherry picked from commit 94a175141e61b8fa20b687ea054a05d15b7746b5)\n(cherry picked from commit c57bfc012bd9004ea1ab79d617d55418412bbaaf)\n(cherry picked from commit b19127db20c99a23f26adafe105928bca38c4749)\n\nlibstagefright: In thumbnail mode set EOS on first frame\n\n- Hardware decoder will only expect I frames, OMXCodec will\nset EOS on first ETB to stop more frames from being pulled\n- Skip EOS check on FTB so that the first frame will\nbehandled\n- Required for thumbnail generation for some interlaced\nvideos\n\nChange-Id: I896dec4c58f688a76c29a5d72fb8b61cb04bbfcc\n(cherry picked from commit a124c3b722b251f148141b503ba9614cf33af43a)\n(cherry picked from commit 44ee9348a2743bf39c2e517612b7e75d7be797ad)\n(cherry picked from commit cb113596724882fcd2ce2ee52d1e447698d79865)\n\naudio: Fix a/v sync issue for playback over BT\n\n-Audio and video are out of sync when a video is played/streamed\nwith a BT headset connected to the target.\n-AudioTrack does not consider the BT latency.\n-Latency of the BT stream added to the existing latency.\n\n-query for tunnel mode latency\n-During tunnel playback, we need to offset latency for audio plaback\n on BT devices by querying BT HAL.\n\nChange-Id: I01a132687aec09cd2897039622daa35cff7ec409\n(cherry picked from commit 9096501e28ecb56dc3a5a4d36d474b99804315cd)\n(cherry picked from commit 29cb9299834d73a916b7a68617a32fb615c95d95)\n(cherry picked from commit ca1f9dd47ca4299797e68029f3c260a5f291d3bd)\n\naudio: AudioTrack constructor initialization\n\n- Initialized few  member variables to null\n\nChange-Id: I36fe9fd2f9e4c2b1967b8d9562ffcad635c6f686\n(cherry picked from commit 673fd8919e310f3b2ecea082cfb9c2b08d00ad44)\n(cherry picked from commit 75a64de910334e8cb12cfa0079910269e3f4e0e3)\n\naudio: enable tunnel mode based on flags\n\n- Enable tunnel mode playback based on flags defined\n  in target board config file instead of checking\n  target name.\n\nChange-Id: I78c39b2653e7bae6a6eae8de36fbcacbeb1e6686\n\nConflicts:\n\tmedia/libstagefright/Android.mk\n(cherry picked from commit 55a727f33978d374ffbdf612dd4a8560c3bffe3f)\n(cherry picked from commit bb7234c9bb0505f3d6df998f84b9a062b206e097)\n\nlibstagefright: adjust AV sync late margin based on property\n\n- Current AV late margin is 40 ms\n- Read system property media.sf.set.late.margin and if\nnew AV sync late margin is set then use the same\n- Max AV sync late margin allowed is 250 ms\n- Min AV sync late margin is default 40 ms\n\nChange-Id: Ie99a4b85264d4a07c983a3f116c18bee3b0acfc7\n(cherry picked from commit 0931561dafecce2a0b9148822e77c5f526f31934)\n(cherry picked from commit a7fbe5b8ff05c52c902f4f550b812169c8ed456b)\n\nCamcoder: Add missing timelapse recording resolutions to map variable.\n\nVGA and WVGA resolutions were missing in a map variable.\nBecause of this parsing media profiles xml for these\nprofiles was crashing.\n\nChange-Id: I5494436f8a3cde9c8a5f0d26b066ca5b37dbd585\nCRs-fixed: 564722\n(cherry picked from commit 4ac681161652d6dcf6b3313853769b19905010f2)\n(cherry picked from commit 668759a8ba976b18932773ad002b7964b9cc071c)\n\nlibstagefright: For interlace, set decoder in arbitrary mode\n\nIn arbitrary mode, frame parsers sends individual fields\nto core. Once both the field is decoded, output done (FBD)\nis sent back to client.\nDefault frame by frame mode will send both the fields in\na single buffer to core, which might decode only one field\nor will throw up error.\n\nChange-Id: Ia35d754e685f28f0df9f2c6ef2180b8a3dae1f28\nCRs-Fixed: 531034\n(cherry picked from commit 0428493caa128cfcb7b3df9082427cb6872a029e)\n(cherry picked from commit f0ca79d0509d278a4a322121dc113e173c33534c)\n\nframework\\av: libstagefright: Update NOTICE file.\n\n- Update NOTICE file with the correct information.\n\nChange-Id: I04384d4cc12d05db768a41c4580f39050e99441f\nCRs-Fixed: 534648\n(cherry picked from commit 7edaaf1230953115325b4b2701160d0edd8d63f9)\n\nframeworks/av: rendering statistics for Stagefright.\n\n- this adds extra fps statisticis\n- report via dumpsys\n- prints statistics before reset at the end of playback ontologcat\n- add resume latency, from play_l to render\n- add seek latency, from seek_l to render\n- enabled using persist.debug.sf.statistics 1\n- print all statistics when seek or resume is issued.\n\nChange-Id: I90e215bf3139c38731b9db2b07f6d6f5a916b11e\n(cherry picked from commit ecc5a30e06abcf87c941068b44023227e0eb8266)\n\nlibmedia: Add QC enhancements to MediaProfiles.\n\nAdd entries for:\n- 4K resolution support for camcorder\n- Timelapse for some resolution\n\nChange-Id: I2bbeec06ac457eb9a6fb92e3aa8fc5ead3372809\n(cherry picked from commit 90b4f7c00008b7d1afe4bcc503680e807a935db9)\n\nRevert \"frameworks/av: Enable subsystem re-start for LPA/Tunnel\"\n\nThis reverts commit 9fd40491ae10c99b35c5592e96cc9246b2a8c4ae.\n\nChange-Id: Ia7faba22db4134c36875fec90f98cf23e019288b\n"
    },
    {
      "commit": "d7e59228caad3867794d847f6bf163c6495e9506",
      "tree": "f09784ce425a6928c56a932101752b63b21d8f44",
      "parents": [
        "7dae71d606ded1dbc2aa9733c3d98ffac57988f2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 12:02:28 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 12:11:39 2013 -0800"
      },
      "message": "audioflinger: do not use raw pointer for tracks\n\nCommit 9da3d95 surfaced a problem caused by the use of a raw\npointer to a track in offload thread implementation.\n\nPointers to tracks should always be weak or strong pointers.\n\nBug: 11708529.\nChange-Id: Ic48632532d186c9be8261f73cefdf824b9fbbd2b\n"
    },
    {
      "commit": "d8a62e25ba6520c2531c7a3d32cc8066e1dab776",
      "tree": "dbf4856e2a0f6781f3287fed2534f7e358c6b053",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 14 10:32:13 2013 -0800"
      },
      "message": "Camera2: Rework the FPS range vs. FPS single setting detection\n\nGive up on current approach of writing out consistent FPS values\ninto parameters that will be read back by the app.\n\n- Preserve app\u0027s latest set parameters exactly, and compare against\n  them when detecting if a new FPS range or single FPS value has been\n  selected.\n\n- Since get() returns exactly what was set(), it doesn\u0027t matter if the\n  app calls getParameters() before its next setParameters(), in terms\n  of retriggering FPS selection logic. Before, the behavior varied\n  depending on whether the app re-read the parameters.\n\n- As before, if app changes both range and single FPS in a single set\n  call, the range set wins. Otherwise, the value that has changed more\n  recently is used.\n\nBug: 11570973\nChange-Id: I72b5e60c3f60e88d55127dd1bda87e26eaf929c6\n"
    },
    {
      "commit": "9da3d9573a18ffe08365557c706cf52f09118d1c",
      "tree": "c30511f753f1b49d5519ba5249316b12f33bb29a",
      "parents": [
        "1b9f9b134e732a48198e51f16424f330cbf03143"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:25:43 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:32:36 2013 -0800"
      },
      "message": "audioflinger: fix offload track transition\n\nMake sure that when transitioning from one active\noffloaded track to the next we flush DSP content\nif both tracks are not on the same audio session.\nThis happens when switching between two applications\nplaying the same type of content (e.g MP3, stereo, 44.1).\nIn this case, we reuse the same output thread because the track\nformats are compatible.\n\nBug: 11247103.\nChange-Id: I2b9031591149adeb70766da5e0d21ff2933a37e8\n"
    },
    {
      "commit": "1b9f9b134e732a48198e51f16424f330cbf03143",
      "tree": "b51c0fd76cd949c420404ce221eae0ce9fad597e",
      "parents": [
        "22990fe1ee3531e84dbadb7ff9ffd68d5bbe9060"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:10:17 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 12 19:10:17 2013 -0800"
      },
      "message": "audioflinger: fix offload resume after drain\n\nWhen pausing and resuming during the drain,\nthe drain sequence number shuold not be modified\notherwise the drain callback will be ignored.\nThis causes failure to notify end of stream to audio\nplayer and transition to next song.\n\nBug: 11247103.\nChange-Id: I2a35c5cc3fd6aa667cdd257f9e9cc8715cef5159\n"
    },
    {
      "commit": "184dfe4ea5e2ba33951bed2b1366007aee0ce3da",
      "tree": "ada678fb9d95fed7b4b25aead2615eaa4f003495",
      "parents": [
        "caee8747b7df3b1119426594d4ba1c0e300ff6db"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Nov 07 15:13:16 2013 -0800"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Nov 12 10:24:42 2013 -0800"
      },
      "message": "Camera API2: Add support for partial result quirk\n\n- Camera3Device: Include requestId in partial 3A results\n- FrameProcessorBase: Add support for partial result listeners\n- CameraDeviceClient: Listen and forward partial results to client\n\nBug: 11115603\nChange-Id: If1cc6bbc32932742ac142c058688761ebf6a8024\n"
    },
    {
      "commit": "fd6ecdd39bd83ea020f78b425e96310380d66c35",
      "tree": "74b1aaa8fdcbf75681f72fb93b96db4ab48fa34c",
      "parents": [
        "48b6cd98b23b2cf9dee88f075f7575ecb5aaf545"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 09:51:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Nov 06 18:22:22 2013 -0800"
      },
      "message": "Camera HAL3/API1: Add support for the partial result quirk.\n\n- Camera2Client:\n - Detect partial result quirk\n- Camera3Device:\n - Accumulate all partial results together\n - Fire off 3A-only result once all 3A states are available\n- FrameProcessorBase:\n - Filter out partials, don\u0027t send to listeners\n- FrameProcessor:\n - Skip face detect on partials\n - Make sure to only handle a 3A update for a given frame once\n - Trigger AF notifications when AF mode or trigger changes, to\n   properly detect all AF transitions.\n\nBug: 11115603\nChange-Id: Iea8aa73c568701562a46071f7ea100624251d10b\n"
    },
    {
      "commit": "dbfb39e87338bcd2d0b953a9d571d936ae200e57",
      "tree": "7b8dd8e31b9d2c7fb27d93be45d820a06e00122a",
      "parents": [
        "c0952dcd0e7526e01bf8eb4ffcf2a0f6ec36c1f5"
      ],
      "author": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Nov 06 01:23:02 2013 -0800"
      },
      "committer": {
        "name": "Ethan Chen",
        "email": "intervigil@gmail.com",
        "time": "Wed Nov 06 01:24:22 2013 -0800"
      },
      "message": "Revert \"audioflinger: Fix pops in LPA while effects are applied\"\n\nThis reverts commit eb1b686985b11943a74ec030b7589fdce199b8ec.\n\nChange-Id: I1d30ad9e998900b960e5509a48b82a09aee3e0c8\n"
    },
    {
      "commit": "a23f17ac334ff20a11ee63dd177cb1080e44c483",
      "tree": "e15dc095de74afc97fc509aa855cedf010df6c1e",
      "parents": [
        "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 05 18:22:08 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Nov 05 18:22:08 2013 -0800"
      },
      "message": "audioflinger: fix direct output underrun\n\nUnderruns on tracks handled by a direct or offloaded\nthreads were not properly reported to the applications\ncausing a failure to automatically recover.\n\nBug: 11535001.\nChange-Id: I7a8696b4d646f78b16710addfe7c108d0dd0038d\n"
    },
    {
      "commit": "c0952dcd0e7526e01bf8eb4ffcf2a0f6ec36c1f5",
      "tree": "0234ab804a91e3bb3b8f6b7d7102deb25fece263",
      "parents": [
        "5438b9ac75aad1c3b424d92800748be736a349d9"
      ],
      "author": {
        "name": "Thomas Wendt",
        "email": "thoemy@gmx.net",
        "time": "Sun Oct 27 22:44:49 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:40 2013 +0000"
      },
      "message": "AudioPolicyService: Support MR1 audio_policy\n\nChange-Id: I26abd352f327256856021b311efb1e23b46b6023\n"
    },
    {
      "commit": "5438b9ac75aad1c3b424d92800748be736a349d9",
      "tree": "520729bd09cef0aaf28f8d291d6d6375dd22f74b",
      "parents": [
        "f8e417d0f00a1c9ef4138d7c1755bc7e40b7ce5f"
      ],
      "author": {
        "name": "Matt Filetto",
        "email": "matt.filetto@gmail.com",
        "time": "Sun Oct 27 02:25:16 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:40 2013 +0000"
      },
      "message": "camera: bring back more of the preview metadata workaround.\n\nFixes issues with switching between FFC and back camera on some devices.\n\nChange-Id: Ie2cef65263816b22e45513cfc639c32b48a49bec\n"
    },
    {
      "commit": "f8e417d0f00a1c9ef4138d7c1755bc7e40b7ce5f",
      "tree": "c7e95c8abf916c52e4776b4665e3e49349225408",
      "parents": [
        "a8abeff1582178c27ca27ff0d595f8ea98da1cc4"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Sun Oct 20 12:19:16 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:40 2013 +0000"
      },
      "message": "camera: Re-add micromanagement of preview metadata\n\n * Some devices still have issues without this fix.\n\nChange-Id: Iae2d4410086fb38bf7f9abeee62c05cae824d436\n"
    },
    {
      "commit": "5018d39c03f4574ffa80f2b44cf028c59d6334de",
      "tree": "c54a55c3b320d4062a176b0fc338b4985b56fbe1",
      "parents": [
        "0296537cad19b8c96d2d68d5aaa3db4c18c3e62e"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeevs@codeaurora.org",
        "time": "Wed Aug 14 17:03:36 2013 +0300"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "CameraService: Adds support for longshot mode\n\n- This change introduces additional functionality inside\n  CameraClient for supporting continuous compressed data\n  callbacks. This is needed for \u0027Burst/Long shot\u0027 mode\n  where we could have indefinite number of callbacks after\n  capture is triggered.\n\nCRs-Fixed: 514199\nChange-Id: I8b155e305a836729b071e5388a7046c6347bb9f3\n"
    },
    {
      "commit": "0296537cad19b8c96d2d68d5aaa3db4c18c3e62e",
      "tree": "4584272f47b494ccfa2b37f053468802967fb0af",
      "parents": [
        "d9d754c59f2781b3bccf271f45ea38061d8971ae"
      ],
      "author": {
        "name": "Emilian Peev",
        "email": "epeevs@codeaurora.org",
        "time": "Thu Apr 18 14:46:13 2013 +0300"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "CameraClient: Enables meta data notifications\n\n- Adds the needed functionality for enabling/disabling\n  metadata messages depending on the camera client\n  commands.\n\nChange-Id: Iab597d5519b8fb85ee21c824ec19e9aaec9b5219\n"
    },
    {
      "commit": "d9d754c59f2781b3bccf271f45ea38061d8971ae",
      "tree": "c9f9f6bca5e76cd55e7f093d0946297ddc91eb1c",
      "parents": [
        "eb1b686985b11943a74ec030b7589fdce199b8ec"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Tue Oct 15 00:46:35 2013 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "camera: Remove deprecated QCOM camera hacks\n\nChange-Id: If48c5b7c904d26ec2a8307fa690f983660fd7b5a\n"
    },
    {
      "commit": "eb1b686985b11943a74ec030b7589fdce199b8ec",
      "tree": "a251c7622a66004da4237cc44844b591b1d5eff7",
      "parents": [
        "8ffd5b96c07a3bc2e9f6fda1a9b5f24ef905d0f3"
      ],
      "author": {
        "name": "Sharad Sangle",
        "email": "assangle@codeaurora.org",
        "time": "Mon Sep 02 20:13:56 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "audioflinger: Fix pops in LPA while effects are applied\n\n -Issue: LPA playback while effect are applied, has pops/noise\n  as below scenarios\n  1) LPA Playback + taking snapshot with camera\n  2) LPA Playback + changing media volume from settings app\n  3) LPA plaback after non-LPA playback\n -Rootcause:Effects meant for LPA are getting applied in\n  normal playback path\n -Fix: In threadloop of mixerthread if current effect\n  chain is equal to LPAeffectchain, don\u0027t apply effects.\n\nCRs-Fixed: 526799\n\nChange-Id: Ic255ef2db81545abd119633e8fc6a7bae5d2f38c\n"
    },
    {
      "commit": "8ffd5b96c07a3bc2e9f6fda1a9b5f24ef905d0f3",
      "tree": "ea8e20bfddd2d59add7e34cd3d18895be20127de",
      "parents": [
        "db86089551ff041b64c54368572ebcabcf35ac74"
      ],
      "author": {
        "name": "Kevin Bruckert",
        "email": "agrabren@yahoo.com",
        "time": "Tue Nov 20 04:48:00 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Add camera parameters for htc evo 3D. (1/2)\n\nUse BOARD_HTC_3D_SUPPORT to enable.\n\nChange-Id: I28fa3f1586071bcc78b8e887bbbf699d338a0ceb\n"
    },
    {
      "commit": "db86089551ff041b64c54368572ebcabcf35ac74",
      "tree": "c9385d8e49b706da1e960329fb6398c52add0cfd",
      "parents": [
        "84be04d50625918f9c50a35d4cddd9326d5ae9eb"
      ],
      "author": {
        "name": "Tom Briden",
        "email": "tom@decompile.me.uk",
        "time": "Tue Sep 03 20:49:26 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Added ifndef ICS_AUDIO_BLOB around non-existent functions (3/3)\n\nFor older audio blobs where is_source_active and is_stream_active_remotely\ndoesn\u0027t exist, receiving a notification and dumpsys crashes the audio service.\n\nChange-Id: I554f00ba7f171d2ea91627cae2281623383b3ca7\n"
    },
    {
      "commit": "53fb870cb0e6cbe068f4d49b552733f02642c6ae",
      "tree": "16ce898bd78e9a5e5c03b148610f5a63dc999c94",
      "parents": [
        "a9b5ad6112c9bb459072f1e64952e5d872b60fae"
      ],
      "author": {
        "name": "Alok Kediya",
        "email": "kediya@codeaurora.org",
        "time": "Sun Aug 11 14:47:14 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Camera: Disable TakePicture related messages in stopPreview,stopRecording\n\nThis change fixes the race condition and avoid the deadlock\nin abnormal snapshot stop I.e, Observed DeadLock when Data\nor Notify Callbacks is sent to App after StopPreview is\ntriggered and so disabling the corresponding take picture messages.\n\nChange-Id: Ifc20e495091c75cc718c24d29db3334fbf7ceb07\n"
    },
    {
      "commit": "a9b5ad6112c9bb459072f1e64952e5d872b60fae",
      "tree": "977f7c76693eb88798cb4364d8d12d3fe64fb751",
      "parents": [
        "c62d15799f983171666bc81425245736c0184abc"
      ],
      "author": {
        "name": "Alok Kediya",
        "email": "kediya@codeaurora.org",
        "time": "Sun Aug 11 14:20:01 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Camera: Fix deadlock due to mLock in pcb and takepicture\n\nIn non-zsl case of takepicture, we do streamoff for preview\nstream which is waiting on preview callback thread to exit.\nBy that time the lock has already been acquired by takePicture.\nSo preivew callback will not exit until it acquires lock and\ntakePicture cannot continue until PCB call back is returned.\nFix: Avoid the mLock at services when both Preview cb \u0026\nCompressed cb are enabled.\n\nChange-Id: I61ffa60af34a3fc19b8f45c119535243b53c7d3c\n"
    },
    {
      "commit": "c62d15799f983171666bc81425245736c0184abc",
      "tree": "c4188adee60c79f2cf8c2ce2ed3943c8caba14dc",
      "parents": [
        "d598a35002135644cb9dc5a26ae437751da3c8d9"
      ],
      "author": {
        "name": "tbalden",
        "email": "illespal@gmail.com",
        "time": "Sat Mar 23 23:06:45 2013 +0100"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:39 2013 +0000"
      },
      "message": "Camera: QCOM legacy definitions,HTC cam switch,NO_UPDATE_PREVIEW\n\nUpdating Camera parameters, and service with several\ncompatibility patches:\n\n1., QCOM legacy CameraParameters and functions:\nAdding these will make ICS qcomm camera blobs work on JB 4.3.\nUse BOARD_USES_QCOM_LEGACY_CAM_PARAMS :\u003d true in BoardConfig\nto use this.\n\nAlso fixes the problem of legacy qcom\ncamera blobs with recent libcameraservice QCOM_HARDWARE changes,\nwhere the orientation is messed up on first\npreview: the fix is leaving out setPreviewWindow(window) for\nlegacy qcomm cam blobs.\n\n2., Also adding NO_UPDATE_PREVIEW flag for legacy purposes.\n\n3., Adding adding the set orientation patch:\nAlways set buffers orientation when setting the qcom camera preview window\nFixes the rotated preview on TouchPad\nhttps://github.com/CyanogenMod/android_frameworks_base/commit/1a8e41a3c7434737db89b604352575f8b3109e7a\n\n4., camera: Full support for HTC camera switch\n\n5., Adding more parameters for HTC Explorer\n\nChange-Id: I2bfc72b8ef027665356788f1db7f96b31d037dbe\n"
    },
    {
      "commit": "395b6a127b962fe7a0c1f4fa85487e8c3645cc8f",
      "tree": "252e3cdf40c32578789aa14476e77652b3c4afb7",
      "parents": [
        "a7108232dc22a4562adbcc7aedc0c00c21a9b175"
      ],
      "author": {
        "name": "Vivek Singh",
        "email": "vising@codeaurora.org",
        "time": "Fri Jul 05 11:59:38 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:53:38 2013 +0000"
      },
      "message": "audioflinger: Fix for removing noise while resuming playback after pause\n\n-Issue: While resuming playback after pausing and seeking to backward,\nthere is a noise.\n-Rootcause: When Resuming a Playback after Pausing and seeking,\nAudioResampler\u0027s reset() function is resetting their member\nvariables but derived classes\u0027 s member variable are not resetting.\nThis is causing a noise in Playback because AudioResamplerSinc,\nAudioResamplerOrder1 and AudioResamplerCubic\u0027s member variables\npointing to some previous state/values.\n-Fix: To reset the derived class member variables,\noverride the reset function in all the derived classes.\n\nChange-Id: I0584947ac203f9470cdc4a680ebccadf60e4e7db\nCRs-Fixed: 482838\n"
    },
    {
      "commit": "6d327d5ebc530ce90d84331f5d8ee087a3f9d6c6",
      "tree": "6e16ed1034b475c115685385d696d3c59eadd94f",
      "parents": [
        "b589eadfdf8ea21fe50968946adc9a9939564586"
      ],
      "author": {
        "name": "Emerson Pinter",
        "email": "dev@pinter.com.br",
        "time": "Sun Jul 28 19:34:16 2013 -0300"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:14 2013 +0000"
      },
      "message": "More ifdefs for ICS audio blobs support\n\nChange-Id: I1e01db9b7cb2da45a3e52aafe7574b689a9c57f4\n"
    },
    {
      "commit": "b589eadfdf8ea21fe50968946adc9a9939564586",
      "tree": "a4eb8d41364954080aff66c42f39c0fe33520e83",
      "parents": [
        "3ba19956ab3781267aa9853dd7d7f2959d4308cb"
      ],
      "author": {
        "name": "Kiran Kumar H N",
        "email": "hurlisal@codeaurora.org",
        "time": "Thu Jun 27 21:32:54 2013 +0530"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:13 2013 +0000"
      },
      "message": "Camera: Add support for ZSL burst mode.\n\nAdded ability to set number of snapshots in burst mode.\n\nChange-Id: I598781c5d5a613d8f58e0783c563aedb3be027cb\n"
    },
    {
      "commit": "3ba19956ab3781267aa9853dd7d7f2959d4308cb",
      "tree": "8da6453abf7b80fac04e84829fc22df30d89318c",
      "parents": [
        "7339d048b358ae8b74007dd373065220e3e7a798"
      ],
      "author": {
        "name": "Apurva Rajguru",
        "email": "arajguru@codeaurora.org",
        "time": "Fri Dec 21 17:49:40 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:47:13 2013 +0000"
      },
      "message": "Camera: Enable Histogram feature.\n\nLink the histogram enable/disable commands from\napplication to the HAL layer.\n\nChange-Id: I7803da586a85720a8ec9ca98d61f6d67d75f40d5\n"
    },
    {
      "commit": "0d44b5b2acbdc2579509da9ff4d63afb837943fc",
      "tree": "e352596e95e8c98bf3f42631ed3afdbb0326229d",
      "parents": [
        "89ad23a2d0ebc317e62ffb87e048469b1df3d69e"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:46:27 2013 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:46:27 2013 +0000"
      },
      "message": "Add support for ICS audio blobs\n\nEnable with the ICS_AUDIO_BLOB CFLAG\n\nChange-Id: Ie174d5997202b8931c1f11db62b6ec2e377f096a\n\nConflicts:\n\tservices/audioflinger/AudioFlinger.cpp\n"
    },
    {
      "commit": "96db5f2754d07dc2d4b44fe0eae93f9e32ca8022",
      "tree": "e716695b6d625c3d76306997768be720007455a8",
      "parents": [
        "3142d888bba540849071804d14e1313271cba56c"
      ],
      "author": {
        "name": "Apurva Rajguru",
        "email": "arajguru@codeaurora.org",
        "time": "Thu Jul 12 11:34:12 2012 -0700"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:26 2013 +0000"
      },
      "message": "Camera: Enable QC Camera feature set.\n\nChange-Id: Ie52b6207293abe5a57d3bbe9d9c43e8c5b070af5\n"
    },
    {
      "commit": "2b3c797bcf833857694ca6ca3340da59554b4d45",
      "tree": "28a1cc9a89d305b1f93e8b20f60d895ec45eaf4c",
      "parents": [
        "6b8f36a3c4ae8a9112b15f1505454f8810be8eee"
      ],
      "author": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Thu Jan 10 23:53:09 2013 +0000"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:25 2013 +0000"
      },
      "message": "audioflinger: Allow mixed use of JB A2DP HALs and ICS policy\n\nOld policies don\u0027t address the modules by handle and expect them\nall to be scanned for supported devices; new modules stopped\nlisting supported devices. The combination of a new A2DP with\nan old policy left policy unable to find A2DP outputs, so the\nnew HALs couldn\u0027t be used.\n\nSo... if an old policy is in use, searching for an A2DP output,\nand finds a non-primary HAL that doesn\u0027t list any device, assume\nit\u0027s A2DP and use it.\n\nChange-Id: Ie946c065b5c325afd02ba3437077f634e079b386\n"
    },
    {
      "commit": "3a85aca35ac6b33327f7495e823408cf86dd3760",
      "tree": "d062f80e8bb91c65264cce97b25313b8755db00f",
      "parents": [
        "7db68c9ca9b5837afaa313f975f7011c0cfd4771"
      ],
      "author": {
        "name": "Steve Kondik",
        "email": "shade@chemlab.org",
        "time": "Sat Dec 15 20:29:59 2012 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "camera: Ignore CAF_RESTART callbacks\n\n * Ignore these callbacks which are sent by Samsung camera drivers, as\n   they can cause a deadlock in normal operation.\n\nChange-Id: Iae59eb0d3050751c1a4d372c80d430a8ba957252\n"
    },
    {
      "commit": "bf3be126b86d731e5b394b37c6ed009e806f0eea",
      "tree": "3953bccb0a8a9ad382a802ba967400a0ffbe897c",
      "parents": [
        "23faa62ebed997f737313f996216b0eea749b49a"
      ],
      "author": {
        "name": "Ankit Premrajka",
        "email": "ankitp@codeaurora.org",
        "time": "Mon Nov 21 19:25:02 2011 -0800"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:45:24 2013 +0000"
      },
      "message": "Camera: Qcom parameters partial rebase\n\nAdd customized parameters for qcom camera features.\n\nSquashed commit of the following submissions to CAF:\n\ncamera: add custom camera parameters to hardware java file.\n\nChange-Id: Ic2b363df6d25a0c3a49aed30e717d10874f533ae\n\nCamera: Add support for wavelet denoise\n\nChange-Id: I97be72615fe5909987ac430034bbdc16f2d20509\n\nCamera : Add support for histogram in frameworks\n\nChange-Id: Ibf751c3b2d488f4be0afaaa3e994372bafeffbe7\n\nCamera: Add ZSL support in framework.\n\nChange-Id: I4e863020d7d407d9c3936beb83dc7abf385c4654\n\nCamera: Add touch AF/AEC support in ICS framework\n\nIn, ICS the old touch AF/AEC functions getTouchIndexAf(),\nsetTouchIndexAf() etc  are no longer valid. Added new functions  to get\nthe center of touched area.\n\nChange-Id: I37d00040f895cd8a4de2e2a438971aa2d9c1a045\n\nCamera: Add support for Red eye reduction\n\nChange-Id: Iada280ac33aee8b1114dc40d8d79e0e47ad5c2fd\n\nConflicts:\n\n\tapi/current.txt\n\nCamera: Enable streaming texture and YV12 feature\n\nChange-Id: I814c92b469e0f25baef0ce80338761d1e6443085\n\nCamera: Add frameworks support for high frame rate\n\nChange-Id: I9722e9b7e61433651ab5f76f76208853eb1fd849\n\nCamera: Simplify ASD menu and best mode menu.\n\nChange-Id: Ia7a1eca9268eec021a6e2c3f7ce2a932e8819d50\n\nCamera : Macro definition change. PIXEL_FORMAT_YV12 to \"yuv420p\"\n\nWhy: CTS testcase is expecting \"yuv420p\" as the format string for YV12 mode.\n\nCRs-Fixed: 328252\n(cherry picked from commit 0a263f67b75497e4b95b9de8c370ed9496ab59ef)\n\nChange-Id: I66f418a52775a969d81bcb332bbe500370e3ab7c\n\nCamera: Changes for face detection\n\nChange-Id: I7b2172e8690d6e23762e42f5888fecbfda15ba61\n\nCamera: Add support for burst count\n\nChange-Id: I4488a5eac1eebb0b5c8e2cc7cbbe7be0c7301be7\n\nCamera: enable HDR feature\n\n(cherry picked from commit e40770bbdadd925fc1e07a08249a15981b961570)\n\nChange-Id: Ie9ca3066e8e53710bf292d047a3724aefc029854\n\nCamera : Add API to find fullsize liveshot support\n\nChange-Id: I3c2fc3578decbe5cf87fded5362f317df0b40b5e\n(cherry picked from commit 65d80f04892776eec1c19c844eacb8c454b4bd1a)\n\nCamera: Set default camera area string\n\nThe default invalid value for KEY_FOCUS_AREA and\nKEY_METERING_AREA is changed to \"(0,0,0,0,0)\"\nCRs-fixed: 334934\n\nChange-Id: I354802c8611ee5c00a591b96b1a1ca04926969cb\n\nCamera: Change the scenemode names in framework\n\nTo comply with ICS API Specification,\nSCENE_MODE_AUTO changed to SCENE_MODE_ASD\nSCENE_MODE_OFF changed to SCENE_MODE_AUTO\n\nChange-Id: I8e744f10c728f469923b09f69d6d64bc5c7c6850\n\nCamera : Framework changes for camcorder UI menu\n\nChange-Id: Iff9e9021da44b67f81a24c828b960113ee249248\n\nCamera : Remove unwanted video resolution in Framework\n\n- FWVGA, WQVGA resolution UI options are removed for camcorder.\n\nChange-Id: If621140966b01dbc8c30a4d161e6771528b8adda\n\nCamera : Enable FWVGA and WQVGA resolutions in camcorder media profiles\n\nChange-Id: Iad9cc33f7b6d8eb7de21df372c016edeef0b99ba\n\nUnlock camera AWB lock only when white-balance is changed.\n\nbug:5633546\nChange-Id: I90bb4b5b445daedf38a64e2f8fb980fc0f0aaa81\n\nChange-Id: Ie3cc15132489502e64321776d49d96846b5705d6\n\nConflicts:\n\tcamera/Android.mk\n\tcamera/CameraParameters.cpp\n\tinclude/camera/CameraParameters.h\n\tservices/camera/libcameraservice/CameraService.cpp\n\tservices/camera/libcameraservice/CameraService.h\n"
    },
    {
      "commit": "1c960844f826584a2967dcdd60f3153fd812e650",
      "tree": "f8e40aa9e2e63b45bb609690713ab62bef582cb9",
      "parents": [
        "a9e1193ac5b4d41f9096f8d42750fe7bf5dd2ff5"
      ],
      "author": {
        "name": "x0118064",
        "email": "saravanan.s@ti.com",
        "time": "Mon Sep 26 19:03:36 2011 -0500"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:22 2013 +0000"
      },
      "message": "CameraService: Add compatibility for OMAP ICS blobs\n\nWorkaround the conflict created by usage of the 0x800 enum\nin JB (focus move) vs its OMAP usage in ICS (burst jpeg)\n\nOriginally:\nCameraService: Adds support for burst compressed images\n\nSigned-off-by: Emilian Peev \u003cepeev@mm-sol.com\u003e\n\nMoved the changes under OMAP_ENHANCEMENT\n\nSigned-off-by: Solaiyappan Saravanan \u003csaravanan.s@ti.com\u003e\nChange-Id: I1f17675b2854793de83c2b7cdecafc039c46f355\n\nCameraService: Adds support for burst compressed images\n\nDepends on:\n  - http://review.omapzoom.org/#/c/24537/\n  - http://review.omapzoom.org/#/c/24538/\n\nChange-Id: I1f17675b2854793de83c2b7cdecafc039c46f355\nSigned-off-by: Solaiyappan Saravanan \u003csaravanan.s@ti.com\u003e\nSigned-off-by: Emilian Peev \u003cepeev@mm-sol.com\u003e\nSigned-off-by: Daniel Levin \u003cdendy@ti.com\u003e\n\nAdd CAMERA_MSG_RAW_BURST handling to CameraService\n\nChange-Id: Id958836e726e9908f60311d5bfc6d26eb8298cea\nSigned-off-by: Vladimir Petrov \u003cvppetrov@mm-sol.com\u003e\n\nCameraService: Disable capture message types before stopping preview\n\nIf we try to stopPreview in the middle of capture, these\ncallbacks might occur. In this case, stopPreview will already be\nholding mLock while the message handler will try to grab mLock.\nDeadlock occurs if the stopPreview and message callback dependencies\nare in the same thread.\n\nIssue reproduced with Image Capture/Home Key scenario.\n\nPort from GB: Issue is still reproducible (although extremely\n              rarely) in ICS.\n\nSigned-off-by: Emilian Peev \u003cepeev@mm-sol.com\u003e\nSigned-off-by: Jean Johnson \u003cjean-johnson@ti.com\u003e\nSigned-off-by: Daniel Levin \u003cdendy@ti.com\u003e\nChange-Id: I222d00f8bd69c11302a35610095efe0ddc49f876\n"
    },
    {
      "commit": "a9e1193ac5b4d41f9096f8d42750fe7bf5dd2ff5",
      "tree": "7a96a7818c992acfc98c2c2002f1ca7d531002bc",
      "parents": [
        "e575d59f14359818d24547ac4b37b6c798524ab5"
      ],
      "author": {
        "name": "Dejan Ivanovski",
        "email": "x0162121@ti.com",
        "time": "Tue Oct 11 12:03:40 2011 +0300"
      },
      "committer": {
        "name": "Ricardo Cerqueira",
        "email": "cyanogenmod@cerqueira.org",
        "time": "Sun Nov 03 02:44:21 2013 +0000"
      },
      "message": "Camera Service: Change max number of cameras to 3\n\nMaximum number of cameras increased to 3 in order to support Stereo camera\nin addition to the existing ones.\n\nChange-Id: I63279daa17723669a8f116798b2687b73ddb5516\nSigned-off-by: Dejan Ivanovski \u003cx0162121@ti.com\u003e\n"
    },
    {
      "commit": "5c7ffaed6f04b844c2e4e2024bfb0203ac2233dd",
      "tree": "71dac4a8045e2c0eca9dfbd341936f731ffa0a9b",
      "parents": [
        "3ff5792adfdbf67662a5f8064315a55690d53944",
        "2c3740f01acca69c3e0bcc5e01bb0edc51b6777f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 31 22:29:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 31 22:29:50 2013 +0000"
      },
      "message": "Merge \"AudioFlinger: fix duplicating thread standby.\" into klp-dev"
    },
    {
      "commit": "2c3740f01acca69c3e0bcc5e01bb0edc51b6777f",
      "tree": "fafcc00b076ae05c67b4cd0d3cd7de406b418c09",
      "parents": [
        "fd4779740ec3e9e865d5514464df26d015354388"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 16:57:06 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 16:57:06 2013 -0700"
      },
      "message": "AudioFlinger: fix duplicating thread standby.\n\nCommit fd47797 fixing issue 11247103 introduced a regression\nwhere the duplicating thread does not exit standby state as\nexpected. This in turn prevents the tracks sending audio to\nother threads to complete their activity cycle normally.\n\nThe fix conists in clearing mStandby state also in the specialized\nthreadLoop_write() method of DuplicatingThread subclass.\n\nBug: 11451415.\nChange-Id: Ie8a92c819a56a2834ea25fa70a8b7b2125721775\n"
    },
    {
      "commit": "3ff5792adfdbf67662a5f8064315a55690d53944",
      "tree": "ed42f922d8280b2464a0b5bfdd1b167220f32f32",
      "parents": [
        "c76b9f52cf4e39f6943c53f5b3657dfee65857ac",
        "ff3e31d2b100d8efd969b358b18e4405c49dd10d"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 30 21:09:49 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 21:09:49 2013 +0000"
      },
      "message": "Merge \"camera: Collect stack traces when bad things happen, print with dumpsys\" into klp-dev"
    },
    {
      "commit": "1c594b637df26499ce1dae2db34f2b3290efd838",
      "tree": "0d231e939a18d3f28f1e19658a7b7ed2e61ed1fb",
      "parents": [
        "fd4779740ec3e9e865d5514464df26d015354388",
        "d72b7c0180ee83fc3754629ed68fc5887a125c4c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Oct 30 01:13:52 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Oct 30 01:13:52 2013 +0000"
      },
      "message": "Merge \"audioflinger: enable effects after registration if needed\" into klp-dev"
    },
    {
      "commit": "ff3e31d2b100d8efd969b358b18e4405c49dd10d",
      "tree": "6d3bcd6772305f06fcf85c498365c8c198a7fbc9",
      "parents": [
        "95c03858e2ab4fb693a2bfe47b3caa806e43c044"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Oct 23 16:40:06 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 29 11:49:05 2013 -0700"
      },
      "message": "camera: Collect stack traces when bad things happen, print with dumpsys\n\nBug: 11324229\nChange-Id: Ic920e170a8f5a389fc139bbf5416c0e3186c7fb6\n"
    },
    {
      "commit": "fd4779740ec3e9e865d5514464df26d015354388",
      "tree": "11e6523dd9d2d04b6e0d3ea742968c6988646e2c",
      "parents": [
        "9cae217050aa1347d4ac5053c305754879e3f97f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 25 18:10:40 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Oct 28 14:17:22 2013 -0700"
      },
      "message": "AudioFlinger: more fixes for offload audio lost\n\nmStandby being false was not a reliable indication that\nsomething had been written to audio HAL.\n\nConsidering the last track in mActiveTracks vector as the\nlatest activated track was wrong as this is a SortedVector.\n\nBug: 11247103.\nChange-Id: I397d011c5afcdd779def3fe25aaae7669a472cfc\n"
    },
    {
      "commit": "9cae217050aa1347d4ac5053c305754879e3f97f",
      "tree": "dff82f277cba8f34af39eaeeb00adec01bbda26c",
      "parents": [
        "be567be3f92026f5964c1c9ecce00e30bb7df412"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 14:12:05 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 14:06:03 2013 -0700"
      },
      "message": "Assign blame for playback wakelocks.\n\nSet a work source for the playback wakelock, so that playback is\ncounted against the requesting app instead of the media server.\n\nCherrypicked from master.\n\nb/9464621\n\nChange-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31\n"
    },
    {
      "commit": "a6f2c7b1ac67075197ccbaba61e5e23277aab5f7",
      "tree": "f872e4b7570cf2f431cca474e47d9d10c6cbed66",
      "parents": [
        "6a99d2058d0e5afed3643367166abee6b978209f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:00:29 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Sun Oct 20 12:32:53 2013 -0700"
      },
      "message": "Allow releaseBuffer after flush\n\nAfter AudioTrack start checks for pending flush,\nallow releaseBuffer on any previously obtained buffer.\nFor example, this can happen if the resampler has obtained\na buffer but not released the whole buffer yet.\nNote that the resampler will be reading obsolete data.\n\nBug: 11285590\nChange-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5\n"
    },
    {
      "commit": "95c03858e2ab4fb693a2bfe47b3caa806e43c044",
      "tree": "f872e4b7570cf2f431cca474e47d9d10c6cbed66",
      "parents": [
        "6a51d7ed7062536ccc892c8850a34ed55cbc8d5c",
        "2e422c472c91aa7912befd0fc038d1e11f354bc1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 22:02:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 18 22:02:47 2013 +0000"
      },
      "message": "Merge \"Allow releaseBuffer after flush\" into klp-dev"
    },
    {
      "commit": "6a99d2058d0e5afed3643367166abee6b978209f",
      "tree": "95746546a67c27a04a0e5bd82f9760d80ad5f0d9",
      "parents": [
        "e3a7ca2e823c3d9bb1cecc6fe6a597a11fdd1129"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Fri Oct 18 14:48:42 2013 -0700"
      },
      "message": "audioflinger: fix track terminated before playing\n\nWhen a track is terminated before any audio was written,\nwe should not send a drain request to the HAL. The drain\nwill be ignored and we will wait the async callback for ever.\n\nAlso fix a potential deadlock by not deleting a track with the\nthread mutex held: mPreviousTrack changed from a sp to a raw pointer.\n\nBug: 11247103.\nChange-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae\n"
    },
    {
      "commit": "2e422c472c91aa7912befd0fc038d1e11f354bc1",
      "tree": "7583e04f353f9cadf5081fafdcb8042450e3c85c",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:00:29 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Oct 18 13:53:41 2013 -0700"
      },
      "message": "Allow releaseBuffer after flush\n\nAfter AudioTrack start checks for pending flush,\nallow releaseBuffer on any previously obtained buffer.\nFor example, this can happen if the resampler has obtained\na buffer but not released the whole buffer yet.\nNote that the resampler will be reading obsolete data.\n\nBug: 11285590\nChange-Id: I0614fbb62e43604aac3089cce4b7797c87a306b5\n"
    },
    {
      "commit": "6a51d7ed7062536ccc892c8850a34ed55cbc8d5c",
      "tree": "95746546a67c27a04a0e5bd82f9760d80ad5f0d9",
      "parents": [
        "dedc7b0fa23c21b525dc8abb572bb8161ad66a9b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Oct 17 18:59:26 2013 -0700"
      },
      "message": "audioflinger: fix track terminated before playing\n\nWhen a track is terminated before any audio was written,\nwe should not send a drain request to the HAL. The drain\nwill be ignored and we will wait the async callback for ever.\n\nAlso fix a potential deadlock by not deleting a track with the\nthread mutex held: mPreviousTrack changed from a sp to a raw pointer.\n\nBug: 11247103.\nChange-Id: I0a4b47b099204c7c326d45d700234ab8f72d8eae\n"
    },
    {
      "commit": "4ce5dd9c2cb8b149a3423d941c6fb0fcefede7ac",
      "tree": "ba799e32b0699249e7fb8e6f5d6fa4120b978d67",
      "parents": [
        "f8f15b05fe051009945c9042a1a9260280e0feb2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:32:39 2013 -0700"
      },
      "committer": {
        "name": "The Android Automerger",
        "email": "android-build@google.com",
        "time": "Thu Oct 17 16:39:58 2013 -0700"
      },
      "message": "Fix flush() followed by start()\n\nBug: 11259166\nChange-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d\n"
    },
    {
      "commit": "12022ff8d223ccf4dfae019c81e4a93a3f44985c",
      "tree": "ba799e32b0699249e7fb8e6f5d6fa4120b978d67",
      "parents": [
        "f8f15b05fe051009945c9042a1a9260280e0feb2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:32:39 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Oct 17 11:33:31 2013 -0700"
      },
      "message": "Fix flush() followed by start()\n\nBug: 11259166\nChange-Id: I72526cdfd4e3ff4b06e6a317e577f57cc285205d\n"
    },
    {
      "commit": "afada1e56cf0f91be5e44678850fcead2a70cca2",
      "tree": "6d88090137f1b7129e0f953acecdb76760e4ef6e",
      "parents": [
        "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 16 15:09:17 2013 -0700"
      },
      "message": "Camera: don\u0027t do hw support check for ZSL\n\nOnly use camera.disable_zsl_mode to control disable/enable ZSL.\n\nBug: 11258054\nChange-Id: Ibf10b959d0913f7dedb59d89b571e9bf66fe978a\n"
    },
    {
      "commit": "014e7fa2e90827d911c37bb0ce4d2e10e14d0bb3",
      "tree": "1eebc29942794f1688fde67b9056803b8194355a",
      "parents": [
        "b3cb72a17d9a472883e9e2faa18b42eac533fe99"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 14 15:03:38 2013 +0100"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Mon Oct 14 17:29:57 2013 +0100"
      },
      "message": "Make Audio wakelock names less unique.\n\nThese wakelocks now show up in the client process, where they\nmight cause wakelock overflows if AudioFlinger threads die often.\n\nThe client process should be agnostic of audio flinger threading,\nso don\u0027t make the wakelock names rely on audioflinger thread names.\n\nWakelock names now depend only on the audio flinger thread type, and\nnot the ID itself.\n\nbug: 11200551\n\nChange-Id: Ia1f71b569cb7502d617b77596abc245f461a6ec0\n"
    },
    {
      "commit": "d72b7c0180ee83fc3754629ed68fc5887a125c4c",
      "tree": "9c6bef31eaca96d7420a65fcdd2438666c5668dd",
      "parents": [
        "15ad2470b2f2ac34473eb568b606ad75e8e63ac6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 16:17:46 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Sat Oct 12 16:37:00 2013 -0700"
      },
      "message": "audioflinger: enable effects after registration if needed\n\nThis fixes a bug where effects were not properly reenabled after\nbeing moved from one playback thread to another. The effect\nis enabled but the audio policy manager sees it as disabled.\n\nBug: 11181933.\nChange-Id: I19cac7acbaf61c546e667fd85ed7d4eda1c716d8\n"
    },
    {
      "commit": "15ad2470b2f2ac34473eb568b606ad75e8e63ac6",
      "tree": "7b1785a6c1c284fc345e5e1d9722ea87432f8491",
      "parents": [
        "d5ed2263a485d6e633fe08f033d04fad75daec6f"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:21:11 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 16:48:16 2013 -0700"
      },
      "message": "Camera: Fix deadlock in Camera3OutputStream\n\nprocess capture request thread, process capture result and setParameter\nbinder threads can run into circular locking situation when acquiring\nStreamingProcessor lock, Camera3Stream lock, and bufferQueue lock.\nReleasing the Camera3Stream lock briefly in process capture request\nthread getbuffer call can break this deadlock.\n\nBug: 11016037\nChange-Id: If08d4b134c26be26039b1d5363759e60f911bad6\n"
    },
    {
      "commit": "d5ed2263a485d6e633fe08f033d04fad75daec6f",
      "tree": "6122aedd6246cef0185d35d726ce1f6670a5d750",
      "parents": [
        "1dd08b30e2366cabc50d883885d6229dab8218f2",
        "b790abf4d17f1c6865af7eb1595ec94dc0306447"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:22:15 2013 +0000"
      },
      "message": "Merge \"Camera: Skip AE precapture when possible\" into klp-dev"
    },
    {
      "commit": "1dd08b30e2366cabc50d883885d6229dab8218f2",
      "tree": "9939b56d22eea0e02b14f7274f098bc6cfbea425",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
        "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Oct 11 19:21:51 2013 +0000"
      },
      "message": "Merge \"Camera2/3: Add more tracing for API1\" into klp-dev"
    },
    {
      "commit": "b790abf4d17f1c6865af7eb1595ec94dc0306447",
      "tree": "af2b7e55f779d29f89fdc82cefba8f941928a440",
      "parents": [
        "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 10:26:52 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Fri Oct 11 12:03:36 2013 -0700"
      },
      "message": "Camera: Skip AE precapture when possible\n\nSkip AE precapture when AE is already converged for still capture use case. This\ncould save still capture latency 6-7 frame time for AE already converged case.\n\nBug: 10712902\nChange-Id: Ie5512618b76e5d87c62c57c3d96d2004c604e29e\n"
    },
    {
      "commit": "2b07e0207da44d7b3cc63c369fd10c9f12a5e2cd",
      "tree": "65036c507cfc269e59847bee8e359536e1af2ec2",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 15:13:09 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Oct 10 22:48:43 2013 +0000"
      },
      "message": "Camera2/3: Add more tracing for API1\n\n- AF state\n- Async autofocus completion\n- Async takePicture completion\n- Stages of takePicture\n\nBug: 10570497\nChange-Id: Ida9fedd81aa4ee3ae3fb8dfada858a3bc3c213a3\n"
    },
    {
      "commit": "cc27e117ed01c9a2b4def5a9c7a3103af83ee47e",
      "tree": "25ffe85682c673330d8b806fdef1e9d978f6d698",
      "parents": [
        "b6028c4243fb7e4e16e41d893c1d48679d28ca6c"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 16:12:43 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 09 13:25:21 2013 -0700"
      },
      "message": "Camera: Save 1 frame time for takePicture call\n\nMove the latest request signal call right before submitting request to HAL,\nwhich avoids unnecessary 1 frame time wait.\n\nAlso fix request status constructor issue, and the log tag for Camera2Client.\n\nBug: 10570497\nChange-Id: I0b1818658bee9983b117e49a5a00f1aab515c567\n"
    },
    {
      "commit": "828363dada5878fca6e0cb1553fbea96f38671c8",
      "tree": "608bb4956dad2e8582fb874c350d40f7d3367cb9",
      "parents": [
        "a676e96c6ed71846bdf60448bd63100ee2b357fb",
        "215bb3499c7eeea6303e55fac66452f2574c022a"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 22:57:32 2013 +0000"
      },
      "message": "Merge \"camera2: Don\u0027t race while dumping last frame metadata\" into klp-dev"
    },
    {
      "commit": "a5209c2e6a89ecd8d3bec79cb0e82a677301d794",
      "tree": "1ffffa90a5d70ef23fbd554f32cfa52bb5cc42df",
      "parents": [
        "aab5b08cb4a3b5a47daece6168f41ec918020739",
        "07d2169d46f3536add6044dbf106967a1982252f"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 18:46:21 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 08 18:46:21 2013 +0000"
      },
      "message": "Merge \"Camera3: Improve resilience to stream failures\" into klp-dev"
    },
    {
      "commit": "07d2169d46f3536add6044dbf106967a1982252f",
      "tree": "08090732d0c87e4dc781505e6396c33419b0ef62",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Sep 24 18:04:19 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Oct 08 11:21:06 2013 -0700"
      },
      "message": "Camera3: Improve resilience to stream failures\n\n- Handle binder connection drops (DEAD_OBJECT) for streams\n- Just log an error, don\u0027t go to an error state when queue/dequeue fails\n\nBug: 10347526\nChange-Id: Ib463ffe15d58db444cf5d8cad176a201c7d1facc\n"
    },
    {
      "commit": "215bb3499c7eeea6303e55fac66452f2574c022a",
      "tree": "4a42ea582e33d46c79c9a033ff8d10b14e4aad42",
      "parents": [
        "fee4ce338d78eeb58af1f66831ead53322d3859e"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Oct 07 18:01:46 2013 -0700"
      },
      "message": "camera2: Don\u0027t race while dumping last frame metadata\n\nBug: 11095203\nChange-Id: Icfb31e1719634b62004d6c15a95a9316e9642e4c\n"
    },
    {
      "commit": "fee4ce338d78eeb58af1f66831ead53322d3859e",
      "tree": "f90931a7c5c4628b0e8e47976d68a9d586802b53",
      "parents": [
        "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
        "e93cf2ca27ae6f4a81d4ef548bbf10a34db6d98f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Oct 07 16:16:06 2013 +0000"
      },
      "message": "Merge \"Cleanup openRecord error handling\" into klp-dev"
    },
    {
      "commit": "ea0fadeb5d81ef3cb7f9db458c9033d628bdb86a",
      "tree": "1650f71cf339cd9d561377e239e2a12f7b08cffc",
      "parents": [
        "026c5b07fefd36e0e2dd7035c2898d0e28596d0f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 16:23:48 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 16:37:07 2013 -0700"
      },
      "message": "audioflinger: offload: fix pause/flush/resume\n\nIf a pause/flush/resume sequence is fast enough, resume is received while\nwe are still in PAUSING state in which case it is a NOP. If this happens,\nflush is still forwarded to the audio HAL but is not preceeded by a pause\nwhich can cause problems to the audio DSP.\nIt is necessary to preserve the flush as this sequence is typical to a seek.\n\nThe fix consists in forcing a pause/resume when a flush request must be\nexecuted and the audio HAL has not been paused previously.\n\nBug: 11081559.\nChange-Id: Ib84ed26d503a61c05933b923ec556b10cedfe140\n"
    },
    {
      "commit": "547789d25dc6bd6561553bcf6b384fb0d4fee834",
      "tree": "767ae4b24b4fc71cc547cfa16898f5299d26a6cc",
      "parents": [
        "7bab024867996bec6dc4e3e31ed4570da9afbc25"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 11:46:55 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Oct 04 11:46:55 2013 -0700"
      },
      "message": "audioflinger: fix wake lock acquisition check\n\nCommit e14a5d6 introduced a bug in ThreadBase::acquireWakeLock() where\nthe wake lock acquisition return code is not initialized before\nbeing checked causing the wake lock token to be sometines not set\nand potential failure to release the wake lock later.\n\nBug: 10985160.\nChange-Id: Iffd40e773ae3bcfec3c148a844d5dbebbf474eaf\n"
    },
    {
      "commit": "19fffcbd89a51af797265af2e11c97be5820a07d",
      "tree": "c3a796d2b8aad1ea24158d22053a2524634de8f1",
      "parents": [
        "8097068de97c0cdab8150931f290edbd5b3721e5",
        "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 23:05:41 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 23:05:42 2013 +0000"
      },
      "message": "Merge \"Camera3: track request status in inflight queue\" into klp-dev"
    },
    {
      "commit": "1d1f846c0dbaa36d0944e7b1e54cc07863e00a92",
      "tree": "1e29ccb730ffb1fe799d3f55ccabf5579851fae5",
      "parents": [
        "6ea551fa13b69e5ce359a7dba7485d857a005304"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Oct 02 16:29:51 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Oct 03 15:14:34 2013 -0700"
      },
      "message": "Camera3: track request status in inflight queue\n\nBug: 9758581\nChange-Id: I1d7135cd0932bd6b453acabfeb9a553985c887bc\n"
    },
    {
      "commit": "8097068de97c0cdab8150931f290edbd5b3721e5",
      "tree": "953f68c84ab80ca4f899e88081768d81dd31c93e",
      "parents": [
        "580ed263a6ea6c766f9f715e101340c7fe26ab75",
        "e14a5d6d2cc91dd2fc09ffdf7aa670b37da0795d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 21:15:05 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Oct 03 21:15:05 2013 +0000"
      },
      "message": "Merge \"Better recording wake lock accounting\" into klp-dev"
    },
    {
      "commit": "e14a5d6d2cc91dd2fc09ffdf7aa670b37da0795d",
      "tree": "ab8d3ea087c653c632068af36e443c5c3609cfe4",
      "parents": [
        "3d97e23fcd78f752443cb6c30a1ee39f49f1f987"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 08:51:24 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Oct 03 13:54:53 2013 -0700"
      },
      "message": "Better recording wake lock accounting\n\nCount wake lock use against the app that initiated the recording,\nnot against the media server.\n\nb/10985160\n\nChange-Id: Iae6e6c030b7f1c6081d9c79725d6990f60dadaaa\n"
    },
    {
      "commit": "f1e98d857ec377f2c9b916073d40732e6ebb7ced",
      "tree": "2a435e723f17c0c7b3e6db323d68be6cfb7d5c66",
      "parents": [
        "f05e50eb06d3f70e50fa7f44c1fd32128033b49d"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Fri Sep 06 09:32:43 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Oct 02 18:11:21 2013 -0700"
      },
      "message": "Camera API 2, Device 2/3: Implement idle and shutter callbacks\n\n- Update callback Binder interface\n- Rename frameId to be requestId to be consistent and disambiguate\n  from frameNumber.\n- Implement shutter callback from HAL2/3 notify()\n  - Add in-flight tracking to HAL2\n  - Add requestId to in-flight tracking\n  - Report requestId from shutter callback\n- Implement idle callback from HAL3 process_capture_result\n  - Add new idle tracker thread\n  - Update all idle waiting to use the tracker\n  - Add reporting from request thread, all streams to tracker\n  - Remove existing idle waiting infrastructure\n\nBug: 10549462\nChange-Id: I867bfc248e3848c50e71527e3561fe92dc037958\n"
    },
    {
      "commit": "f05e50eb06d3f70e50fa7f44c1fd32128033b49d",
      "tree": "32263232ea4d6d250f6f14011461f8f1c6914b60",
      "parents": [
        "26c1fb23a1e2cc059aac42fd1814efba2a3e9640"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 11:05:33 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 11:14:06 2013 -0700"
      },
      "message": "Camera: only return static metadata for HAL3 device\n\nThis effectively disables the camera2 APIs for HAL2.x or lower HAL device.\n\nBug: 10360518\nChange-Id: I0f374ac533468c6181f5672c75088b7144b9c53d\n"
    },
    {
      "commit": "26c1fb23a1e2cc059aac42fd1814efba2a3e9640",
      "tree": "fa826d7d7161228093f99fbe85263f6663777c98",
      "parents": [
        "353fb9bf940ee34a3885bc85ec7891228e958a4b",
        "893068ad0ca0cce8428f5a358c86b81139399c07"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 17:47:18 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 17:47:18 2013 +0000"
      },
      "message": "Merge \"Camera: drop stale callback buffer\" into klp-dev"
    },
    {
      "commit": "893068ad0ca0cce8428f5a358c86b81139399c07",
      "tree": "cc82f5bf690cecf792aed9fb9e8a0bbe957468c5",
      "parents": [
        "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 19:31:39 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 20:59:50 2013 -0700"
      },
      "message": "Camera: drop stale callback buffer\n\nSometimes, when preview size is changed and preview callback is enabled, stale\ncallback buffer from previous size could be delivered to callback processor\nbecause stop preview doesn\u0027t guarantee consumer side buffers are properly\ncleaned up. We need drop these buffers to avoid sending wrong data to app side.\n\nBug: 11009183\nChange-Id: If9281e8c02481f883872ce58dfd8660a06d56a47\n"
    },
    {
      "commit": "8b905e19548248904ab0fd0b63c9adcab2331a1a",
      "tree": "1058d370b8fd4bbed5871498f060c659fd0faa22",
      "parents": [
        "1adf20ce868b80a24f7387daa6549364d5509c6a",
        "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Oct 01 00:23:50 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Oct 01 00:23:50 2013 +0000"
      },
      "message": "Merge \"Camera: Set default thumbnail size with matched aspect ratio\" into klp-dev"
    },
    {
      "commit": "9fc79c6fccc41255bb4f3538e2a21b01db8dc2dc",
      "tree": "740664cdaee397b28c75e91d0e8feef0b4189df0",
      "parents": [
        "f2c8b02786c58b98d41d3f7c30e882cacc34e7ab"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 12:07:57 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Sep 30 13:43:45 2013 -0700"
      },
      "message": "Camera: Set default thumbnail size with matched aspect ratio\n\nMake default thumbnail size match the default still capture size aspect ratio.\n\nBug: 10885012\nChange-Id: If46da9508d3b71992f0e14a35c600b7e8d347f4e\n"
    },
    {
      "commit": "59fe010bcc072597852454a2ec53d7b0a2002a3b",
      "tree": "b6b42e04a89ead77c9ecd9635a328686a8bb9863",
      "parents": [
        "5d6d86a4d102704f49b9235eaf282c428d7100b6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Sep 27 18:48:26 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Sep 30 12:05:38 2013 -0700"
      },
      "message": "fix volume and effect enable delay on offloaded tracks\n\nVolume: add a method to wake up the mediaserver playback\nthread when a volume command is received on an offloaded track.\n\nEffects: call effect chain process on offloaded playback threads\nasynchronously from writes to allow effect state updates while\nwaiting for async write callback.\n\nBug: 10796540.\n\nChange-Id: Id2747ae88783575d1d7ffd6fc86fbd054ab2c739\n"
    },
    {
      "commit": "a2340b3059b9d6e4286d0db7069df477c164df0c",
      "tree": "4e14bcf9309bda5e444479b0e45a0c24c3e98a54",
      "parents": [
        "0adc67dfc5cedb211c36f06849681a60a32f5805",
        "fed6292af65a0b97b583ecbd3c232b3811a3f37b"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri Sep 27 00:50:59 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Sep 27 00:50:59 2013 +0000"
      },
      "message": "Merge \"Don\u0027t call audio effect process on offloaded playback threads\" into klp-dev"
    },
    {
      "commit": "0adc67dfc5cedb211c36f06849681a60a32f5805",
      "tree": "699e80ab445a2c03b399477bf4f697f5ed8d315c",
      "parents": [
        "1da3b602130d71ac3bff1a1fdecdc5e0d7b9d701",
        "4de95592980dba88a35b3dc8f3fd045588387a4f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 26 22:58:26 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Sep 26 22:58:26 2013 +0000"
      },
      "message": "Merge \"audioflinger: fix crash when starting offload thread\" into klp-dev"
    },
    {
      "commit": "4de95592980dba88a35b3dc8f3fd045588387a4f",
      "tree": "e871e1ad9318cdd21fe82eb6f44f687f366d1c60",
      "parents": [
        "1802399c7c4d8557922688f246df292703f417f1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 26 15:28:21 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Sep 26 15:56:43 2013 -0700"
      },
      "message": "audioflinger: fix crash when starting offload thread\n\nPassing a sp to parent thread to AsyncCallbackThread() constructor\ncauses a strong reference to be acquired on the OffloadThread inside\nits constructor which causes an early launch of the thread loop\nwith unpredictable consequences.\n\nPass a wp to parent thread instead.\n\nAlso move the creation of the AsyncCallbackThread to\nreadOutputParameters() where mUseAsyncWrite is initialized which\nmakes more sense.\n\nAlso change the type of AsyncCallbackThread parent thread to PlaybackThread\ninstead of OffloadThread to allow a broder use of non blocking write which\nin theory is not limited to audio offload use case.\n\nBug: 8174034.\nChange-Id: I4b093b022030cd4f5eb8b8e477333e91098a6549\n"
    },
    {
      "commit": "1da3b602130d71ac3bff1a1fdecdc5e0d7b9d701",
      "tree": "76bbec452f81cd29b844f856882c46d5b4e3ea6d",
      "parents": [
        "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 26 15:28:55 2013 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Thu Sep 26 15:37:59 2013 -0700"
      },
      "message": "Camera2 API: Hack: Always use async mode with GLConsumer\n\nUntil a cleaner solution is implemented, force buffer queues to\nconsumers that set USAGE_HW_TEXTURE usage to be asynchronous.\n\nBug: 10949105\nChange-Id: I69e6b02b773831396767c282ce8c5936c5d41f03\n"
    },
    {
      "commit": "fed6292af65a0b97b583ecbd3c232b3811a3f37b",
      "tree": "24d1dc7750659a108dd48ec46ba89a9a49bd019d",
      "parents": [
        "d2ac3144e201398340cc5b9bb36e5efe39edd9eb"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Sep 25 18:50:33 2013 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Sep 26 11:43:58 2013 -0700"
      },
      "message": "Don\u0027t call audio effect process on offloaded playback threads\n\nAn audio effect process command is not meant to be called for\n playback threads belonging to offloaded playback.\n\nBug 10933817\n\nChange-Id: Idc7b6a0224791bbf8d61648474d3c288617c498f\n"
    },
    {
      "commit": "6914de6dd1d74fcf74e3247c89f9293fbf7bafe5",
      "tree": "a112a276227b9c897fe2bd25a8ad70b51b7155e5",
      "parents": [
        "1802399c7c4d8557922688f246df292703f417f1",
        "2b59be89dc245b6e2475d9e8b0c5f2392370e71e"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 23:52:06 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Sep 25 23:52:07 2013 +0000"
      },
      "message": "Merge \"Camera: Implement getCameraCharacteristics\" into klp-dev"
    },
    {
      "commit": "2b59be89dc245b6e2475d9e8b0c5f2392370e71e",
      "tree": "85564dae05e9343c75e9a5d1f54f7efee4b349f7",
      "parents": [
        "d2ac3144e201398340cc5b9bb36e5efe39edd9eb"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 10:14:30 2013 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Sep 25 15:36:07 2013 -0700"
      },
      "message": "Camera: Implement getCameraCharacteristics\n\nBug: 10904541\nBug: 10360518\nChange-Id: Ie9ca6b3b0b5f2fe529e6b0decc193096e770a017\n"
    }
  ],
  "next": "1802399c7c4d8557922688f246df292703f417f1"
}
