)]}'
{
  "log": [
    {
      "commit": "f0948bcf06b8a9679f4b772237c80ee63829423f",
      "tree": "fa3c6bf9ef16143a65c25ab121ab7224a4e12ad8",
      "parents": [
        "96b0d5ef85d4d71690c41c84456afbf19864c785",
        "6056bdda5b17c62ba320c806489e4d1a3b7653c7"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Apr 15 17:06:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 15 17:06:04 2014 +0000"
      },
      "message": "Merge \"Camera: don\u0027t dereference timestamp if it is missing\""
    },
    {
      "commit": "6056bdda5b17c62ba320c806489e4d1a3b7653c7",
      "tree": "c37595e7cf1c8c34b78ca942518bf6cefa9898d3",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 14 19:35:04 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Mon Apr 14 19:35:04 2014 -0700"
      },
      "message": "Camera: don\u0027t dereference timestamp if it is missing\n\nBug: 14059542\nChange-Id: I8b45a98ef4b296db314cab3819d11626ac7211be\n"
    },
    {
      "commit": "96b0d5ef85d4d71690c41c84456afbf19864c785",
      "tree": "4b63ae9e7b754ca77792ad6a062d767250847116",
      "parents": [
        "17ca0141634a7fa552db3cfdf2a3e79289ec54af",
        "bafa561d0c9363c5307b6b1daa498bd3ae36089d"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 15 02:09:14 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 15 02:09:14 2014 +0000"
      },
      "message": "Merge \"Improve resampler filter computation speed\""
    },
    {
      "commit": "c125f38cd0ae35409a01b98a99e483550daa1313",
      "tree": "efee74222317630cd7e90c2d3c25867906030639",
      "parents": [
        "27a17103f99d23157ac80ef7d75e25a3aae788bd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Apr 11 18:37:33 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 14 09:54:46 2014 -0700"
      },
      "message": "audioflinger: forward device change to effects in direct thread\n\nDevice change during offload playback is not informed to effect chain\nwhich causes effects still work on unexpected output devices. Add device\nchange notification in direct output thread.\n\nOriginal author wjiang \u003cwjiang@codeaurora.org\u003e\n\nCRs-Fixed: 630408\nBug: 14053172\nSigned-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\nChange-Id: I094a99bdf540479cee2fca6614ec35c2fa7d6046\n"
    },
    {
      "commit": "27a17103f99d23157ac80ef7d75e25a3aae788bd",
      "tree": "ff57e716497c6583aa264ff02e1ffd42840d17d6",
      "parents": [
        "8e1554f35ffcc0f7ac833a796adf3926371fcb76",
        "df383a5a54582811e5e038efc557172b8ec69dd1"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Sat Apr 12 00:43:36 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 12 00:43:36 2014 +0000"
      },
      "message": "Merge \"Update test-resample to handle multichannel\""
    },
    {
      "commit": "df383a5a54582811e5e038efc557172b8ec69dd1",
      "tree": "e619d601e84167d4122bae647bd15aff030f4e86",
      "parents": [
        "771386e6e6e79697e2d839ef0f25a242946ba1e5"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 19:10:15 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 10 15:19:08 2014 -0700"
      },
      "message": "Update test-resample to handle multichannel\n\nOption -c # specifies number of channels (mono default).\nOption -s to specify stereo is removed (-c 2 replaces).\nOption -h to specify WAV header is removed (WAV is now default).\n\nChange-Id: Iba4b83806028a8a9c1ddba6f555182d214ef73ff\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "43827aea591c2fffdb87006462a5aa7a131a25c0",
      "tree": "9d0e7165f522972b5359d5a2b63928eef376e97f",
      "parents": [
        "9e5763aefde93afd375e0d9874e515d7c27b212b",
        "13d315eb8c0848ea0584b9fb1d27bab55bc8158b"
      ],
      "author": {
        "name": "Vineeta Srivastava",
        "email": "vsrivastava@google.com",
        "time": "Thu Apr 10 20:44:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 10 20:44:30 2014 +0000"
      },
      "message": "Merge \"camera3: Remove register_stream_buffers for HAL 3.2+\""
    },
    {
      "commit": "9e5763aefde93afd375e0d9874e515d7c27b212b",
      "tree": "7bb421efe179aaa521745cc570b208bcb3ba09e1",
      "parents": [
        "771386e6e6e79697e2d839ef0f25a242946ba1e5",
        "cb0652e5a850b2fcd919e977247e87239efaf70e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 19:53:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 10 19:53:05 2014 +0000"
      },
      "message": "Merge \"CameraService: trigger appropriate callbacks for burst capture.\""
    },
    {
      "commit": "cb0652e5a850b2fcd919e977247e87239efaf70e",
      "tree": "bdba4ac95dedd4ad9be77b9f5a86e147c11224f3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Thu Apr 10 11:54:08 2014 -0700"
      },
      "message": "CameraService: trigger appropriate callbacks for burst capture.\n\n* Instead of tracking CameraMetadata only, now we track both\nCameraMetadata and CaptureResultExtras, which is not part of\nthe HAL metadata. This will enable the correct callback of\nonCaptureStarted and onResultReceived given burst requests.\n\n* Get last frame number in reply when submitting requests,\ncanceling requests, and flushing device. For repeating requests,\nthis frame number is the last frame number of the previous\nrequest. For non-repeating requests, this frame number is the\nexpected last frame number of the current request. The goal\nis provide frame number to Java side in order to trigger\nonCaptureSequenceCompleted correctly.\n\n* Fix notifyError so that onDeviceError can be called correctly.\n\nBug: 10749500\nChange-Id: I2f3dda6c530090055d4a2ff9f0f087bbbe8d9257\n"
    },
    {
      "commit": "771386e6e6e79697e2d839ef0f25a242946ba1e5",
      "tree": "a96089d65f91b69e94dfa09c9a31ac6d9274f1cd",
      "parents": [
        "d549139155b20d7cbf6a4326133e06def465ef54"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:44:38 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 14:30:31 2014 -0700"
      },
      "message": "Add and enable floating point option for audio resampler\n\nCan be tested with test-resample.\n\nChange-Id: I8339846d7c647444b6025d33cfa145d5d3658121\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "d549139155b20d7cbf6a4326133e06def465ef54",
      "tree": "2d11e173c5e471f26ebeb11721a2fa65df31a01a",
      "parents": [
        "430b61c72094882bc48693dfc10c256a6ae36ee9"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:28:09 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 09 14:21:54 2014 -0700"
      },
      "message": "Add floating point to audio resample processing\n\nAdd template type parameters for input, output data type.\nMinor change in non-NEON mono channel handling.\nMinor fixup on comments.\n\nChange-Id: I7dc9972d130913718b62f32c02d31f99c06682f2\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "13d315eb8c0848ea0584b9fb1d27bab55bc8158b",
      "tree": "901bbfa0db6cb5771235b38d00cf84af03b5a4ab",
      "parents": [
        "0d521d91154fe0199181c845b6dc70faf38ca8fb"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Apr 03 18:09:04 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Wed Apr 09 11:35:01 2014 -0700"
      },
      "message": "camera3: Remove register_stream_buffers for HAL 3.2+\n\nUse \u0027setprop camera.dev.register_stream 1\u0027 to skip the fatal NULL check\n- This property will be removed before shipping L\n\nBug: 13301331\nBug: 13435680\nChange-Id: I16aacd7b22e0a10b34f6fb8501be0256170a8cd5\n"
    },
    {
      "commit": "430b61c72094882bc48693dfc10c256a6ae36ee9",
      "tree": "c707e9098f59017e639c5cb1923572ea17b5cd85",
      "parents": [
        "781366833a12877b8d5ad4aa081114e30f799319"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:10:02 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 18:10:02 2014 -0700"
      },
      "message": "Add capability for floating point Kaiser window filters\n\nChange-Id: Idbb33248bbab2300c2650a4657d8fbc482a5d46c\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "781366833a12877b8d5ad4aa081114e30f799319",
      "tree": "0f020ad949f608a8af1991b7d84d0fa264dbac4f",
      "parents": [
        "0d521d91154fe0199181c845b6dc70faf38ca8fb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 17:59:59 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 08 17:59:59 2014 -0700"
      },
      "message": "Update test-resample to handle floating point\n\nChange-Id: Ib34d716fbabcd5eb70f8a5ffcf362e242671d916\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "0d521d91154fe0199181c845b6dc70faf38ca8fb",
      "tree": "aa82d7bf0dffdf6d04323067dae8795931b68ab3",
      "parents": [
        "d27368f7d28813f7dad37fc31940c822df80e68e",
        "1e4e4f40b4e2c655ca377adbba53df897545c3ae"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 19:16:11 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 08 19:16:11 2014 +0000"
      },
      "message": "Merge \"Fix 64-bit build warnings\""
    },
    {
      "commit": "1e4e4f40b4e2c655ca377adbba53df897545c3ae",
      "tree": "abf495ff585fcda3118bbf02adfc05690200b366",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 10:41:02 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 08 10:41:02 2014 -0700"
      },
      "message": "Fix 64-bit build warnings\n\nChange-Id: I667401522cb4ccd41013e2883a4c75ddeca08ef6\n"
    },
    {
      "commit": "bc6ae9bd4ee93e91e212ad35be038f21797ef31e",
      "tree": "848701c25988f69b4a2c10ae1c25afb28cf84725",
      "parents": [
        "c51db0a6bfb71ea9c934fb7971cb5ae1f1cf03a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 13:02:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 07 13:03:40 2014 -0700"
      },
      "message": "Fix regression in FastMixer statistics\n\nAt some point, the mSampleRate in FastMixerDumpState stopped being\ninitialized correctly.  I\u0027m not sure when this happened, it doesn\u0027t seem to\nbe introduced in recent CLs.  This lack of initialization caused\nsome of the FastMixer statistics based on sample rate to be useless.\n\nChange-Id: Id2a96d606130a90c4c4f1bddd59778f6c6428a9c\n"
    },
    {
      "commit": "84a0c6e87c48f58a0d3be71961432c086a4d24cc",
      "tree": "a9bea7e95223dc4d1f3219d4e60dd385881ec6d8",
      "parents": [
        "99021c47f45ee8bf3317cff7d08226e76c8d8227"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 11:24:53 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 14:33:26 2014 -0700"
      },
      "message": "Change references of Q19.12 to Q4.27 for clarity\n\nChange-Id: I5beb7daf6ff9bc123ff3582f7c294edcaf8652f6\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "bafa561d0c9363c5307b6b1daa498bd3ae36089d",
      "tree": "725ae0e8b8c8bc532c4c23c2b4a133aec35a9410",
      "parents": [
        "2ade30003882f0c3782d68018d06cb81b99dfeb2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 13:52:10 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 02 13:52:10 2014 -0700"
      },
      "message": "Improve resampler filter computation speed\n\nApproximate speed improvement is 10-15% for filter computation,\nwhich is floating point intensive. This will be important\nfor devices without hw floating point support.\n\nChange-Id: I10b4e778c8d632b52218a777504b092c189e437f\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "2ade30003882f0c3782d68018d06cb81b99dfeb2",
      "tree": "515a19da1dc7387195367c0d706ab2cc92a5e6e5",
      "parents": [
        "1e0c8cd8fad2108c8ea085748fcca2059e3ce4ab",
        "f7160b5dc3091fd9624f25d534c6848ee831b706"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 01 17:47:00 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 01 17:47:01 2014 +0000"
      },
      "message": "Merge \"FastMixer use FastThread and FastMixerState use FastThreadState\""
    },
    {
      "commit": "1e0c8cd8fad2108c8ea085748fcca2059e3ce4ab",
      "tree": "27d07871207369abdba016641f900838fe6f7c28",
      "parents": [
        "3a6c90aa0617666d9abc94c02b752d9eb3d64772",
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 01 17:32:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 01 17:32:17 2014 +0000"
      },
      "message": "Merge changes I5748f47d,I3f074933\n\n* changes:\n  Add FastThread.h\n  Add FastThreadState\n"
    },
    {
      "commit": "f7160b5dc3091fd9624f25d534c6848ee831b706",
      "tree": "521236419b4532dc8e91ed22be147a6aeb8baa34",
      "parents": [
        "4cd161b5bf7a8008d684db4b217ed84d1704e683"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:01:15 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:11 2014 -0700"
      },
      "message": "FastMixer use FastThread and FastMixerState use FastThreadState\n\nChange-Id: I594c973e9f575113bdefee6f4cf8c29d8beac1f3\n"
    },
    {
      "commit": "4cd161b5bf7a8008d684db4b217ed84d1704e683",
      "tree": "7ef8cd9b1e9167a027922256e24675d214551884",
      "parents": [
        "a18f644ce5eb4ab876b343e24ea613566c00058f"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 16:25:04 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:23:03 2014 -0700"
      },
      "message": "Add FastThread.h\n\nChange-Id: I5748f47dbfa42c14cc93973742e05ac963bf3ba8\n"
    },
    {
      "commit": "a18f644ce5eb4ab876b343e24ea613566c00058f",
      "tree": "0ae47695a79fd411a88c2ae9272bc76c01469071",
      "parents": [
        "5e184b0d12f1ec436246a391da8d9355cc21ee08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 17:17:04 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:22:54 2014 -0700"
      },
      "message": "Add FastThreadState\n\nChange-Id: I3f07493375ace6e5cfdcd02ad90c4b6fad543b0c\n"
    },
    {
      "commit": "3a6c90aa0617666d9abc94c02b752d9eb3d64772",
      "tree": "150424841e6732f1d3a1c6df6139f8f307db0d2f",
      "parents": [
        "5e184b0d12f1ec436246a391da8d9355cc21ee08"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:07:51 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Mar 31 12:22:09 2014 -0700"
      },
      "message": "Add FIXMEs to createRecord for fast capture\n\nChange-Id: I759be200fae32969212c52a409f46f2e704081e3\n"
    },
    {
      "commit": "1490d5142d8d485ea0d56a9974726fb6dff0a62d",
      "tree": "8f3e0673fd986949b0e307e401bbbb832bca0d3f",
      "parents": [
        "afe1ba72551d6bd6e3bee9b77fe7538201ab6193",
        "cf515ab0030cf5e0bef843638af7c989a8f6843a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 28 16:43:59 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 28 16:43:59 2014 +0000"
      },
      "message": "Merge \"Mark the logging heap read-only to media.log service\""
    },
    {
      "commit": "5bdb3c4d93269511d21d155c78790ee70d423095",
      "tree": "98bcbd76fafee2cec1743000d3e1205a7e093799",
      "parents": [
        "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
        "95dd5ba5bf83716f2eed5fe72366c4212464d710"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 20:24:18 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 20:24:19 2014 +0000"
      },
      "message": "Merge \"Camera3: fix HAL3.x version check issue\""
    },
    {
      "commit": "2f8a36fc8df14cba33fa7c5c1c9d5a52f8a133c2",
      "tree": "7d46255b2e5a25ca5de3cc756152a3a64121ea6c",
      "parents": [
        "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 19:05:55 2014 -0700"
      },
      "message": "Fix the build\n\nChange-Id: I2169a3d26f4e35e5cfa35a1264175aab6ac4db41\n"
    },
    {
      "commit": "95dd5ba5bf83716f2eed5fe72366c4212464d710",
      "tree": "eb079faddf0fac3f259b9529f4171081105cf2db",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Wed Mar 26 18:18:00 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Thu Mar 27 01:24:52 2014 +0000"
      },
      "message": "Camera3: fix HAL3.x version check issue\n\nCamera service should support HAL3.x instead of only HAL3.0.\n\nBug: 13609405\nChange-Id: If7e86f9abe019547fc0be2e11337551cd7c57870"
    },
    {
      "commit": "2347c7b0502f5f71d2f0e22d39f1d5a61add3f6b",
      "tree": "6a1902c2f1bbb9c1283d3689e12b251ccdae8c4e",
      "parents": [
        "ec31c8d17f587cba01d5516ccd336aa54323c668",
        "1b512c05f46465a7b1a1d69f82937d7199d5d926"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 27 01:22:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 01:22:34 2014 +0000"
      },
      "message": "Merge \"audio policy: remove obsolete AudioPolicyManager class members\""
    },
    {
      "commit": "ec31c8d17f587cba01d5516ccd336aa54323c668",
      "tree": "7c18ea28c41e59211b5cc99f2ef42b897977d83c",
      "parents": [
        "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Mar 27 01:22:16 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 27 01:22:16 2014 +0000"
      },
      "message": "Merge \"audio policy: use new audio device representation\""
    },
    {
      "commit": "c9b8d90dabdf1234be0117c592f635a92c4eb0d9",
      "tree": "8bbeb033b0eb0bcbbfb12faaa6f2133d3cd093ea",
      "parents": [
        "5c4fa907328c8ee586367272c7525cb87742f14d",
        "142f519aa1acd5804d111e60d100f170fed28405"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 23:23:09 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "1b512c05f46465a7b1a1d69f82937d7199d5d926",
      "tree": "354295c76a76128d3122f8f4ac58bb5a1bf4c601",
      "parents": [
        "3a4311c68348f728558e87b5db67d47605783890"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:42:06 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:47 2014 -0700"
      },
      "message": "audio policy: remove obsolete AudioPolicyManager class members\n\nRemove mHasA2dp, mHasUsb and mHasRemoteSubmix members from\nAudoPolicyManager. They are not needed any more since\nwe use device descriptors with additional attributes.\n\nAlso remove obsolete limitation on device address\nlength (MAX_DEVICE_ADDRESS_LEN).\n\nChange-Id: Iffe760a521692a4b50be3f6b935af84afb61bb86\n"
    },
    {
      "commit": "3a4311c68348f728558e87b5db67d47605783890",
      "tree": "920ecdf2868176572b6770200d6e3314c5462dd7",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 12:00:47 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 26 15:28:33 2014 -0700"
      },
      "message": "audio policy: use new audio device representation\n\nRepresent audio devices with more attributes than just the\ntype (audio_device_t).\nThis is in preparation for new routing APIs allowing\ndevice selection based on more criteria than just the type\n(address, channel mask...)\nA new class DeviceDescriptor is created and used by functions\nneeding more information than just the device type.\nBit fields for available and supported input or output devices are\nreplaced by vectors of device descriptors.\nEach available device is allocated a unique ID for future use.\nRemoved obsolete mA2dpDeviceAddress, mScoDeviceAddress and mUsbCardAndDevice\nfields replaced by address stored in DeviceDescriptor.\n\nPolicy decisions like getDeviceForStrategy() are still based\nonly on the device type.\n\nChange-Id: I5de3b3ffb12ff8dcfb746782ab1e6b15bf040d0c\n"
    },
    {
      "commit": "5c4fa907328c8ee586367272c7525cb87742f14d",
      "tree": "072ee3fe93cbcc8505118b51bc371265214036f3",
      "parents": [
        "2301acc6a9c7a3af4ad01f3d1d0f76f13eca7350",
        "adad3d7d935da176ff24941b4ae9edf7340e9b96"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 22:22:23 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 22:22:24 2014 +0000"
      },
      "message": "Merge \"Use LOG_ALWAYS_FATAL instead of LOG_FATAL\""
    },
    {
      "commit": "142f519aa1acd5804d111e60d100f170fed28405",
      "tree": "aaffc4a234a4b0a5e719374056edf12eb2333b29",
      "parents": [
        "ecdca392ed40e89a6ef14b86446e952c35497ac4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:44:59 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:56:54 2014 -0700"
      },
      "message": "Use symbol AUDIO_IO_HANDLE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: Id6b1aa17558eb73e17f22b8eab6cd02e00a96dff\n"
    },
    {
      "commit": "adad3d7d935da176ff24941b4ae9edf7340e9b96",
      "tree": "7a8a2f8e31c7dd690805c1cfd9982d218c66296b",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 21 14:51:43 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 14:46:28 2014 -0700"
      },
      "message": "Use LOG_ALWAYS_FATAL instead of LOG_FATAL\n\nLOG_FATAL is compiled out in most builds, so the\nassertion checks were not being performed.\n\nChange-Id: I774f0985ab9c5ccecd8989a0f1c940386b73fc35\n"
    },
    {
      "commit": "ecdca392ed40e89a6ef14b86446e952c35497ac4",
      "tree": "bf796efe37aca6ded41ca0ad4291ca344af337ac",
      "parents": [
        "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
        "66e4635cb09fadcaccf912f37c387396c428378a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:29:28 2014 +0000"
      },
      "message": "Merge \"Use symbolic constants from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "51beebba9d4989d05831a13bbe5cdf53ecac1bf5",
      "tree": "b2c6af1099ba3c20b8dd08d39f8dcf822303971a",
      "parents": [
        "b8f8d231685afdec472136b45c527a71bfb8bcc4",
        "45faf7e02791993a487d6e038d16ff46395f1975"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 21:14:17 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 21:14:17 2014 +0000"
      },
      "message": "Merge \"Use symbol AUDIO_DEVICE_NONE from \u003csystem/audio.h\u003e\""
    },
    {
      "commit": "73ec11738cd4399c55d4905665a14a7c4cd42cbf",
      "tree": "1105d7402857079f44e234ba1ab6ecfa8290a094",
      "parents": [
        "8c7b9fb41585fccb06573252823b929c82a40999",
        "9ea65d0f4a564478343b1a722fae4ce5883670c3"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 20:56:04 2014 +0000"
      },
      "message": "Merge \"Fix uses of KeyedVector\""
    },
    {
      "commit": "1cebdb77323e4554a316b9c34bf36957b7dad5ae",
      "tree": "fb2657136544bb4cb32fa0d8adf0782b421884d9",
      "parents": [
        "551cec544652783e3342c18386f64cee22412b60"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:10:09 2014 +0000"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Mar 26 18:33:45 2014 +0000"
      },
      "message": "Revert \"camera: Fix setParameters for Preview FPS single/range values\"\n\nCauses a regression on some devices, so reverting until we\u0027re in a position to fix those devices.\n\nThis reverts commit 9078a1b3b9f9c0c48046ade0e8e18b0d79a659db.\n\nBug: 13563098\nChange-Id: I7aedd01fde8b8fdee77e972ec395f0ecadbf8ccb"
    },
    {
      "commit": "551cec544652783e3342c18386f64cee22412b60",
      "tree": "816a6acded4e9433fd30916ff71c161fdcc54a5e",
      "parents": [
        "172a7a965c21c29ee38c77d53d91780c7dca09bf",
        "bcefec31bd1346133052356ffc8d7ac8a5b13fab"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 26 17:38:35 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Mar 26 17:38:35 2014 +0000"
      },
      "message": "Merge \"Document AudioFlinger::nextUniqueId()\""
    },
    {
      "commit": "45faf7e02791993a487d6e038d16ff46395f1975",
      "tree": "d54ff27f6fd42e670ddebfa993a00b5202fb7633",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:23:01 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 17:29:00 2014 -0700"
      },
      "message": "Use symbol AUDIO_DEVICE_NONE from \u003csystem/audio.h\u003e\n\nChange-Id: I61f882c5e7c949bf00d3bfc745ebf3b5e1c42a58\n"
    },
    {
      "commit": "66e4635cb09fadcaccf912f37c387396c428378a",
      "tree": "7982a54dbc04375babd42e59c03ef930454a9687",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jan 16 17:44:23 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:22:54 2014 -0700"
      },
      "message": "Use symbolic constants from \u003csystem/audio.h\u003e\n\nAUDIO_INTERLEAVE_*\nAUDIO_STREAM_MIN\nAUDIO_SESSION_ALLOCATE\n\nChange-Id: I31dd6f327204685e50716079ce21c4ba206dff11\n"
    },
    {
      "commit": "9ea65d0f4a564478343b1a722fae4ce5883670c3",
      "tree": "7e23f994d376d45183eac141e914ddbfd126cdf5",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 10:21:24 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 16:13:00 2014 -0700"
      },
      "message": "Fix uses of KeyedVector\n\nConstructor for AudioFlinger::mAudioHwDevs was missing, and so\nAudioFlinger::findSuitableHwDev_l() could return an undefined pointer\nif a non-0 module wasn\u0027t found.\n\nA KeyedVector of Plain Old Data (POD) element type must specify the\ndefault value in the constructor, or else the default will be undefined.\n\nMinor:\n - Parameter had wrong type in constructor for AudioSystem::gOutputs.\n - Remove obsolete AudioSystem::gStreamOutputMap.\n\nChange-Id: I9841493e018440e559d8b8b0e4e748ba2b2d365b\n"
    },
    {
      "commit": "bcefec31bd1346133052356ffc8d7ac8a5b13fab",
      "tree": "4125808fe2bbae00a8bf93ba260688e2f7c11181",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 17 12:09:05 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 25 15:42:35 2014 -0700"
      },
      "message": "Document AudioFlinger::nextUniqueId()\n\nChange-Id: Iafe96f1c10bd85cb23a2553945ca68aa601dc2eb\n"
    },
    {
      "commit": "29cdd9bb46437ab580deabf33b2242106e0090b6",
      "tree": "dd68d54734eb8fe5f4aa749f7f9d55dd5b138de7",
      "parents": [
        "1392eb3d1802e9f894f87d7a7387207d1b6faca1",
        "a1aaaf86cd04eabaf961a30d7b0a9fa857089862"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 21:22:52 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 21:22:52 2014 +0000"
      },
      "message": "am a1aaaf86: am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u0027a1aaaf86cd04eabaf961a30d7b0a9fa857089862\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "a1aaaf86cd04eabaf961a30d7b0a9fa857089862",
      "tree": "0a5552a3fb27bda556afa0cd69ee672fc6f499ac",
      "parents": [
        "5c679d41714e42f153f6aeb492df54510a195bc1",
        "4f53fe74051026e6635ba5bdbed4f1898cb66028"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 25 19:09:34 2014 +0000"
      },
      "message": "am 4f53fe74: Merge \"CameraService: deadlock fix\"\n\n* commit \u00274f53fe74051026e6635ba5bdbed4f1898cb66028\u0027:\n  CameraService: deadlock fix\n"
    },
    {
      "commit": "6ec3a15257ca2b56b675a610aef43cc4ec6aaf00",
      "tree": "f28808875e71939c1c9e0d30e69a283dac93b9db",
      "parents": [
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Kalle Lampila",
        "email": "kallex.lampila@intel.com",
        "time": "Tue Apr 30 15:27:19 2013 +0300"
      },
      "committer": {
        "name": "Xiaokang Qin",
        "email": "xiaokang.qin@intel.com",
        "time": "Tue Mar 25 04:29:31 2014 -0700"
      },
      "message": "CameraService: deadlock fix\n\nRelease lock before return from CameraService::dump()\n\nChange-Id: Ia20b0921fc675a284f3b7f8d26e0e3596b5a8774\nSigned-off-by: Kalle Lampila \u003ckallex.lampila@intel.com\u003e\n"
    },
    {
      "commit": "d6d1883f607d40be5d9a87909ae563cf94256c24",
      "tree": "db522970675c8149535f004910e73bb161871f4e",
      "parents": [
        "32ce52b01dab863f2b4749e1c69f619cf820486f",
        "69a374897392c8bd70f441b7284f6f578c651ec9"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Tue Mar 25 01:08:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 25 01:08:25 2014 +0000"
      },
      "message": "Merge \"Camera3: Fix flush call deadlock\""
    },
    {
      "commit": "32ce52b01dab863f2b4749e1c69f619cf820486f",
      "tree": "489e255200d3a7bfdac8269bee29a9b55707f14e",
      "parents": [
        "f555c47f1843b5a3557e18c16cb06b0ec06dcf34",
        "5c679d41714e42f153f6aeb492df54510a195bc1"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Mar 24 19:36:36 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 24 19:36:36 2014 +0000"
      },
      "message": "am 5c679d41: resolved conflicts for merge of 3d7c5002 to klp-modular-dev-plus-aosp\n\n* commit \u00275c679d41714e42f153f6aeb492df54510a195bc1\u0027:\n  libcameraservice: build 64-bit\n  libcameraservice: fix 64-bit print format warnings\n"
    },
    {
      "commit": "69a374897392c8bd70f441b7284f6f578c651ec9",
      "tree": "de179831b224e28e6693430e80e3299f35c874bf",
      "parents": [
        "2f5d0b32a8c5fcb03e4b0d55c53ff540052b5374"
      ],
      "author": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Mar 23 18:44:49 2014 -0700"
      },
      "committer": {
        "name": "Zhijun He",
        "email": "zhijunhe@google.com",
        "time": "Sun Mar 23 18:44:49 2014 -0700"
      },
      "message": "Camera3: Fix flush call deadlock\n\nFlush shouldn\u0027t call waitUntilDrained directly, as they are all API calls\nwith mLock and mInterfaceLock held. Move the waitUntilDrained implementation\ninto waitUntilDrainedLocked to solve this issue.\n\nChange-Id: Id7d931091d5c11e12204790841097433515446db\n"
    },
    {
      "commit": "5c679d41714e42f153f6aeb492df54510a195bc1",
      "tree": "b8100421f7339771067ad447d94ad2a5f6494068",
      "parents": [
        "ba1390335794a38472bf0349568bc4f199dc5c90",
        "3d7c500234d98464d37ba3e1b65cea763b316b69"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 17:43:32 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 17:43:32 2014 -0700"
      },
      "message": "resolved conflicts for merge of 3d7c5002 to klp-modular-dev-plus-aosp\n\nChange-Id: Ia6d87d56174d1388c1148fb55b6e4bc57d8666db\n"
    },
    {
      "commit": "cfe09079608d78a0a358f01bb49f279859e38664",
      "tree": "9a1b044149726ec242d3a5e948029d71803aaf7e",
      "parents": [
        "55d15957bc44d11052e1cb3eea3340ec00f70bae",
        "90e59c98c343e941b1a75307ffa4b4b5f1eb50d6"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Sat Mar 22 00:04:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Mar 22 00:04:20 2014 +0000"
      },
      "message": "Merge \"CameraService: Add support for burst capture and repeating burst.\""
    },
    {
      "commit": "90e59c98c343e941b1a75307ffa4b4b5f1eb50d6",
      "tree": "e7fa81cc62b2dd7fbaa30d059b7faacc9633e7b6",
      "parents": [
        "a44148187c21d431aec7c7a6915f0fad2c44cd70"
      ],
      "author": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Wed Mar 12 18:29:36 2014 -0700"
      },
      "committer": {
        "name": "Jianing Wei",
        "email": "jianingwei@google.com",
        "time": "Fri Mar 21 16:12:24 2014 -0700"
      },
      "message": "CameraService: Add support for burst capture and repeating burst.\n\nBug: 10749500\nChange-Id: I292a485b222e5cf97388d76bf0d956a6ac54bb2f\n"
    },
    {
      "commit": "4bd71b4ed6f1825b287e448c336e3e59138c2956",
      "tree": "c8c46021cf9d734226dc2c9f94111bc3d398c015",
      "parents": [
        "e5729fac81c8a984e984fefc90afc64135817d4f"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:09:19 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:09:19 2014 -0700"
      },
      "message": "libcameraservice: build 64-bit\n\nlibcameraservice builds fine for 64-bit, remove LOCAL_32_BIT_ONLY\n\nChange-Id: I9f28bc42dc424dee9b92e6ab092f86d3aa1419b7\n"
    },
    {
      "commit": "e5729fac81c8a984e984fefc90afc64135817d4f",
      "tree": "526e94e71d66a2cf8faac48c16716bf3c757a2a6",
      "parents": [
        "24e1bd71ac6850d9062b3bd803b37c0e92f69c7a"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:04:25 2014 -0700"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Mar 21 15:04:25 2014 -0700"
      },
      "message": "libcameraservice: fix 64-bit print format warnings\n\nUse PRId64 from inttypes.h to print nsecs_t (int64_t)\nUse %zu to print size_t\n\nChange-Id: I135620e0388db33587a8a7da393b48a45cb7275a\n"
    },
    {
      "commit": "9ac3c9a7ee931088d09027ffa09414cb0402886f",
      "tree": "44309833a9ac1af6b4edb3a7354ed4e7eb45dc06",
      "parents": [
        "6c38d8a2037d5c0cc110ad9bac71ab677a9d6359",
        "dce54a1492c410ad0d93253b341fb33305337505"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Mar 21 01:09:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 21 01:09:34 2014 +0000"
      },
      "message": "Merge \"audio policy: add option to use new policy manager\""
    },
    {
      "commit": "9078a1b3b9f9c0c48046ade0e8e18b0d79a659db",
      "tree": "b621ec3b2db6b4dcb12df7d201eb474a09183386",
      "parents": [
        "b4a7a2df4c28c3f32b5d877b54831d2cc5d78f81"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 18:15:23 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Thu Mar 20 00:21:25 2014 +0000"
      },
      "message": "camera: Fix setParameters for Preview FPS single/range values\n\nBug: 12609188\nChange-Id: I82ea6f5de2183dd046d4bf5683600c97f37ab4db\n"
    },
    {
      "commit": "46d1b4ab7e83c677532587c7c8bd46eb8b30fc67",
      "tree": "0238e0ff00c67b6dfbcf38b4b50c400bd67b0b39",
      "parents": [
        "d74110cdef2becd4f7fd2334c34c3ca73f56b355",
        "f40c4c561151ae93595e8fab5dcaaa1c69df74ef"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 19 13:21:51 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Mar 19 13:23:17 2014 -0700"
      },
      "message": "resolved conflicts for merge of f40c4c56 to master\n\nChange-Id: Ifd5385ad42a81e02e6a6afc6281f09fbff361671\n"
    },
    {
      "commit": "f40c4c561151ae93595e8fab5dcaaa1c69df74ef",
      "tree": "5e0105a852e0587a366b49d6a84ec0db1d265c37",
      "parents": [
        "129c76538570cd42fce2154bfb0aec934cf84ff3",
        "36817364738d4c45adc3e448fbec02a9611bfeda"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 19:56:09 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Mar 19 19:56:09 2014 +0000"
      },
      "message": "am 36817364: Merge \"Add libaudioresampler\"\n\n* commit \u002736817364738d4c45adc3e448fbec02a9611bfeda\u0027:\n  Add libaudioresampler\n"
    },
    {
      "commit": "ddf887c08b58382920effb7f0b2049e471960b4a",
      "tree": "a1f2797399f967b46ec2d823f6f520f5b8426684",
      "parents": [
        "b2ecad7f079f4f852d334e67fd7a72ff1696a78e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 09:05:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 19 10:53:13 2014 -0700"
      },
      "message": "Add libaudioresampler\n\nlibaudioresampler is available in both 32-bit and 64-bit,\nunlike libaudioflinger which is currently 32-bit only.\n\nBug: 8141282\nChange-Id: I839f7b4e6aaed6984012ca6d514323f927669df6\n"
    },
    {
      "commit": "cf515ab0030cf5e0bef843638af7c989a8f6843a",
      "tree": "9bc764714f1daf1a8c4bb9222eddf3dedb3b0aa4",
      "parents": [
        "b5ea3014b8be9eaa16da0144bd81af6fa514d8e2"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 16:01:58 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Mar 18 16:01:50 2014 -0700"
      },
      "message": "Mark the logging heap read-only to media.log service\n\nChange-Id: Ie26a9e7e37c951774c71d2c53886db52dd5479aa\n"
    },
    {
      "commit": "c7e05b0fc54f9ad22c6d219bf8cf6f10f8d9ba9c",
      "tree": "7936019ac07522ded8e35362289f05201f6db34c",
      "parents": [
        "da677084cf68b62063815217156e7b262b493c3d",
        "0c282de73240b1efce64558ab2fa0a8be1f4292b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 18 20:52:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 20:52:42 2014 +0000"
      },
      "message": "am 0c282de7: am 77658a06: Merge \"AudioPolicyService: malloc/delete pair\"\n\n* commit \u00270c282de73240b1efce64558ab2fa0a8be1f4292b\u0027:\n  AudioPolicyService: malloc/delete pair\n"
    },
    {
      "commit": "da677084cf68b62063815217156e7b262b493c3d",
      "tree": "f67833e29f8d8d63e21f99cc45a08eb6ec47aab6",
      "parents": [
        "89a677950917263e34327c7b47f3bb7a06ab0b28",
        "2d3ca68363f723fbe269d3ce52dab4985dfc7154"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 19:29:19 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 19:29:19 2014 +0000"
      },
      "message": "Merge \"audioflinger: OffloadThread fix for resume underrun\""
    },
    {
      "commit": "89a677950917263e34327c7b47f3bb7a06ab0b28",
      "tree": "010aed55f64f518f34ff8dacfda19973ca043bcf",
      "parents": [
        "9d9cba5be2b51d4c6c31cb7169ef2b786c35ddfd",
        "164985121796cf214c7a83d32005d9b01125b558"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 19:28:44 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 19:28:44 2014 +0000"
      },
      "message": "Merge \"AudioFlinger: Change track ready condition in STOPPING_1 state\""
    },
    {
      "commit": "9d9cba5be2b51d4c6c31cb7169ef2b786c35ddfd",
      "tree": "6cfcc1716f1206195f2d059ed8d8bd9050128ed8",
      "parents": [
        "1143ca58e659ded1e851eb12813793ad8ac0563e",
        "8d6c292a0bed3d63b5b7297d09a604af6327c663"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 19:28:04 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 19:28:04 2014 +0000"
      },
      "message": "Merge \"audioflinger: Handle pause /resume in stopping state\""
    },
    {
      "commit": "dce54a1492c410ad0d93253b341fb33305337505",
      "tree": "2580556580832583ce5cd5a640684b8dc0948783",
      "parents": [
        "0fab43120972dfbf4d6f0ec19ab470131b6c8b09"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 10 12:19:46 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 10:55:33 2014 -0700"
      },
      "message": "audio policy: add option to use new policy manager\n\nAdd build option USE_LEGACY_AUDIO_POLICY to use either new\naudio policy manager in local AudioPolicyManager.cpp\nor the legacy AudioPolicyManagerBase.cpp via the policy HAL.\n\nNew features will be implemented only by the new audio policy manager.\nPlatform customiization will be by config file or new policy HAL.\n\nAudioPolicyClientImplLegacy.cpp copied from AudioPolicyClientImpl.cpp\nAudioPolicyInterfaceImplLegacy.cpp copied from AudioPolicyInterfaceImpl.cpp\n\nNew implementations of AudioPolicyInterface and AudioPolicyClient talking directly to\nAudioPolicyManager.\n\nChange-Id: I7a320883a1de13de2c9295343e996addf2f3c154\n"
    },
    {
      "commit": "b5ea3014b8be9eaa16da0144bd81af6fa514d8e2",
      "tree": "32f343096a8be778e31a4e15456fbd830b0383ea",
      "parents": [
        "0fab43120972dfbf4d6f0ec19ab470131b6c8b09",
        "8aa0f0619ea867e8fb240cf27913d4f8ae767385"
      ],
      "author": {
        "name": "Dan Stoza",
        "email": "stoza@google.com",
        "time": "Tue Mar 18 17:55:05 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 17:55:05 2014 +0000"
      },
      "message": "Merge \"Remove deprecated BufferQueue constructor\""
    },
    {
      "commit": "0c282de73240b1efce64558ab2fa0a8be1f4292b",
      "tree": "1dc389ec1992e8d5afaab470a0c6aeb7fbfd5298",
      "parents": [
        "098b28fc88b3d96eada2f9db318d9c38c70cf674",
        "77658a069c81a0d5b4a1b81443b470a3ea64cab0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 18 17:40:58 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 17:40:58 2014 +0000"
      },
      "message": "am 77658a06: Merge \"AudioPolicyService: malloc/delete pair\"\n\n* commit \u002777658a069c81a0d5b4a1b81443b470a3ea64cab0\u0027:\n  AudioPolicyService: malloc/delete pair\n"
    },
    {
      "commit": "77658a069c81a0d5b4a1b81443b470a3ea64cab0",
      "tree": "3e08958e7ac8f848823003064713cb731a05b5e9",
      "parents": [
        "64727dd7c8513b6c9ddcce2f4b305618bb76121c",
        "db358afc965d9bfb703953ac004275428a7cda64"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Tue Mar 18 17:31:25 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 18 17:31:26 2014 +0000"
      },
      "message": "Merge \"AudioPolicyService: malloc/delete pair\""
    },
    {
      "commit": "0fab43120972dfbf4d6f0ec19ab470131b6c8b09",
      "tree": "dc7bfa09769684b1acc77328fed2dc0400a91ad9",
      "parents": [
        "6fe207b2992a5de2f766b6ab30bc760aa243f4a9",
        "e07208765fcd5904165e425ec714a25c350a2f40"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 17:04:52 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 17:04:52 2014 +0000"
      },
      "message": "Merge \"audio policy: renamed AudioPolicyManagerBase to AudioPolicyManager\""
    },
    {
      "commit": "6fe207b2992a5de2f766b6ab30bc760aa243f4a9",
      "tree": "ee2b7b461dacb1c662965fbae7c7a56b40d8653f",
      "parents": [
        "402cf17a14331f731686413ab088c628bfb2cc7a",
        "3b73df74357b33869b39a1d69427673c780bd805"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 17:03:54 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 17:03:55 2014 +0000"
      },
      "message": "Merge \"audio policy: remove dependency from AudioSystemLegacy\""
    },
    {
      "commit": "47b496dac93235740011fcfe7578b19c6b8445e5",
      "tree": "acee92101b8b6403ba5e9a8d894459e5e459e5ce",
      "parents": [
        "a2b81d6cb02d8427dc0d719aa75c34ceddfc3c09",
        "e552edb33fb5873179ae0a46d9579d1103eb13c6"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 15:56:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 15:56:41 2014 +0000"
      },
      "message": "Merge \"audio policy: import audio policy manager from hardware legacy\""
    },
    {
      "commit": "a2b81d6cb02d8427dc0d719aa75c34ceddfc3c09",
      "tree": "81a505bd98671b90c8278986b10c0055a9d97b7c",
      "parents": [
        "9ff25ced1404c896df9e6ed3a6ad289305559361",
        "2d388eccc9dc085337c7a03a68467cbee6b809e1"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 01:54:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 01:54:53 2014 +0000"
      },
      "message": "Merge \"audio policy: split implementation\""
    },
    {
      "commit": "2d3ca68363f723fbe269d3ce52dab4985dfc7154",
      "tree": "c1f8c7bbae0e128158ce90a9985d0219dd719182",
      "parents": [
        "164985121796cf214c7a83d32005d9b01125b558"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Fri Mar 07 13:43:49 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 18:32:07 2014 -0700"
      },
      "message": "audioflinger: OffloadThread fix for resume underrun\n\nAudioFlinger can miss resuming h/w on a pause-\u003eresume transition\nif sufficient data isn\u0027t available\n\nBug: 11358524.\nChange-Id: Ic3c75256290d3515fd4a96dfcc900909fbe5bc15\n"
    },
    {
      "commit": "164985121796cf214c7a83d32005d9b01125b558",
      "tree": "5e84c9a2511f94338b116962ef4eb7ba5903b708",
      "parents": [
        "8d6c292a0bed3d63b5b7297d09a604af6327c663"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 17:22:08 2014 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 18:31:43 2014 -0700"
      },
      "message": "AudioFlinger: Change track ready condition in STOPPING_1 state\n\nSet FS_FILLED only if framesReady() \u003e 0\n\nChange-Id: Ibb1d2e988ff17fcf3a7ab61031a3f85df82f18d5\n"
    },
    {
      "commit": "8d6c292a0bed3d63b5b7297d09a604af6327c663",
      "tree": "344c2297ed00e1e10998490bc4e2f00358536133",
      "parents": [
        "9ff25ced1404c896df9e6ed3a6ad289305559361"
      ],
      "author": {
        "name": "Krishnankutty Kolathappilly",
        "email": "kkolat@codeaurora.org",
        "time": "Tue Feb 04 16:23:42 2014 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Mar 17 18:30:13 2014 -0700"
      },
      "message": "audioflinger: Handle pause /resume in stopping state\n\n-Pre-requisite:\n Perform seek on the clip. After seek the data remaining till EOS\n is little more than the driver and common block buffering.\n-Framework state:\n Offload thread is waiting for signal from the HAL for a free\n buffer. Audio Player calls sink stop on reaching EOS. Audio\n track is waiting on obtain buffer for a free space in common\n block to send the last buffer. The track is moved to stopping\n state as input EOS is reached.\n-Issue:\n Perform pause/ resume in this state(STOPPING), Audio playback\n does not resume.\n-Fix\n Ensure resume is called in stopping state if frames ready is\n greater than zero.\n\nBug: 12870871\n\nChange-Id: Ib1378c4ee5ce4bea655691e93de0775f7b1d2804\nSigned-off-by: Glenn Kasten \u003cgkasten@google.com\u003e\n"
    },
    {
      "commit": "9ff25ced1404c896df9e6ed3a6ad289305559361",
      "tree": "95dd0a04cc1e9977910131196c4829000c73cfc2",
      "parents": [
        "314869117d5e3365fc3e43fee01209d18515ca42",
        "557847ee511dd5e75d584ff04449322f0f098241"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 00:32:24 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 00:32:24 2014 +0000"
      },
      "message": "am 557847ee: am a6ca0acf: am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027557847ee511dd5e75d584ff04449322f0f098241\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "557847ee511dd5e75d584ff04449322f0f098241",
      "tree": "bae95f72a0c78169db8fd138f82629e73400bac3",
      "parents": [
        "9a9481f89b26211b20d7f3fde3d54b455843bf70",
        "a6ca0acf0d009acf45b05561273aaad44ab22533"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Tue Mar 18 00:20:54 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Mar 18 00:20:54 2014 +0000"
      },
      "message": "am a6ca0acf: am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027a6ca0acf0d009acf45b05561273aaad44ab22533\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "314869117d5e3365fc3e43fee01209d18515ca42",
      "tree": "a1975d895276c929a5e5a20166124368f2e21eb9",
      "parents": [
        "37e05edf1cfe297f9c7d382787ecab53d5a2b5c8",
        "c7e5040aa8b8e4da86814bf560346c7571e48087"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Mar 18 00:14:12 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Mar 18 00:14:12 2014 +0000"
      },
      "message": "Merge \"move audio policy service to a separate library\""
    },
    {
      "commit": "a6ca0acf0d009acf45b05561273aaad44ab22533",
      "tree": "e6c7049fd6bbce66f21b37f5d08bd371daeaf87f",
      "parents": [
        "8788c40c7b5bdcaef1dcaa7f36598ae767880047",
        "bd3e2e03f3ab686c52982a9e50cae853128172cf"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 22:56:00 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Mar 17 22:56:00 2014 +0000"
      },
      "message": "am bd3e2e03: camera2: Fix segfault when using null availability listener\n\n* commit \u0027bd3e2e03f3ab686c52982a9e50cae853128172cf\u0027:\n  camera2: Fix segfault when using null availability listener\n"
    },
    {
      "commit": "947237f67dd5335b26326a98fd7d3eae5fd7d702",
      "tree": "500d3539bfa868bd70ef910b0ae338f810c07f78",
      "parents": [
        "e1445da74730473a66a3ae8414e940aebfe6585d"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Mar 10 18:59:38 2014 -0700"
      },
      "committer": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Mon Mar 17 22:12:51 2014 +0000"
      },
      "message": "camera3: Remove old vendor tag ops dependencies.\n\nBug: 12134423\nChange-Id: I7acdf76d4c0674bdb1cc939592d4620687c785c3\n"
    },
    {
      "commit": "e1445da74730473a66a3ae8414e940aebfe6585d",
      "tree": "4156e14e4528fffe1ec29f48bffd78c2fcd0d786",
      "parents": [
        "1c2b6e5e9671a5ea9eb26d24b772bb26bfa6d107"
      ],
      "author": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "committer": {
        "name": "Igor Murashkin",
        "email": "iam@google.com",
        "time": "Mon Mar 17 14:00:29 2014 -0700"
      },
      "message": "camera2: Don\u0027t log vendor tag errors when camera HAL too old\n\nChange-Id: Iac3d23284230c95c85ee404abbf9b22df1ae721c\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": "3ef14ef30359376006a233f6a21a165d4b65a7df",
      "tree": "78947d5e8dee6f3942fdc7891dd40777b21dd7de",
      "parents": [
        "15e5798908ccac14e10c84834eaf08c42931bd06"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:08:51 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:37 2014 -0700"
      },
      "message": "Make error handling more similar for output and capture\n\nAnd simplify error case\n\nChange-Id: I0bb1ec252945d672cc4cef137977b912f1b23d51\n"
    },
    {
      "commit": "15e5798908ccac14e10c84834eaf08c42931bd06",
      "tree": "a5f72fd4a8d0a73477d88cef7161a97d3754665c",
      "parents": [
        "570f633e0b02d1bc25f3312b92e72cc29a40ca38"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Sep 24 11:52:37 2013 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:37 2014 -0700"
      },
      "message": "Make error handling for audio driver initCheck more similar\n\nChange-Id: I8222f00f7ac89d52235af0f64f3fee7a8c471e1e\n"
    },
    {
      "commit": "570f633e0b02d1bc25f3312b92e72cc29a40ca38",
      "tree": "3f75613bffba57b64f3bb7abc2f467c13d3f2019",
      "parents": [
        "e848bd9abb3bbbd4c66f9fb9d1442f7663d7ba40"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:01:06 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:37 2014 -0700"
      },
      "message": "Make session ID code similar between output and capture\n\nChange-Id: I873a97d0e36e1a452421df4f749d51e1916797a5\n"
    },
    {
      "commit": "e848bd9abb3bbbd4c66f9fb9d1442f7663d7ba40",
      "tree": "0d1142dca373dbc7d53b5c922ef7ad5f1fa41f05",
      "parents": [
        "c5a17425986b4ce3384e6956762c86018b49c4a0"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:00:32 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:37 2014 -0700"
      },
      "message": "Move declarations to where needed\n\nAlso remove unnecessary ALOGV and dead variable inFrameCount\n\nChange-Id: I34547fb0fd2ff142fc60277bedfa4064e7356611\n"
    },
    {
      "commit": "c5a17425986b4ce3384e6956762c86018b49c4a0",
      "tree": "313484677c719c944bc7923b0c3766cba3bef5c6",
      "parents": [
        "c3df838434b37d8400eea2438083cc01a4c1cc71"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 14:59:59 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:36 2014 -0700"
      },
      "message": "Remove name output parameter from createTrack\n\nIt was only used for one log.\nA better solution will be a per-track unique ID.\n\nChange-Id: Ia440e02ae4a5a4019a9a2d08970e1ee93ac4c3a3\n"
    },
    {
      "commit": "c3df838434b37d8400eea2438083cc01a4c1cc71",
      "tree": "ecd066c03170c4dd2afae2d7247b6aafd4957fe2",
      "parents": [
        "05997e21af6c4517f375def6563af4b9ebe95f39"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:05:25 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:36 2014 -0700"
      },
      "message": "Replace if/else by switch\n\nChange-Id: Ibe96c8fb1f0ba7f850c0561f60769ce63aceba5d\n"
    },
    {
      "commit": "05997e21af6c4517f375def6563af4b9ebe95f39",
      "tree": "6a0892e14e34751cd10e11f6f73e92401f540505",
      "parents": [
        "0e0e846f3d86906ff990025981e514d6bcf44d8e"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:08:33 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:36 2014 -0700"
      },
      "message": "Whitespace and comments\n\nChange-Id: I99752cca74a459c4746ea4718acb0115439e50bd\n"
    },
    {
      "commit": "0e0e846f3d86906ff990025981e514d6bcf44d8e",
      "tree": "f3293f7c07b80af8cb952b6aa9187e61943d7d4d",
      "parents": [
        "758799cef41fc5495f59eeb6249d02ce9154cde8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Mar 13 15:02:40 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:49:17 2014 -0700"
      },
      "message": "Prepare for additional capture formats\n\nChange-Id: Ib10b004f0029191b33a97671e41b0d86ebfbe0b9\n"
    },
    {
      "commit": "758799cef41fc5495f59eeb6249d02ce9154cde8",
      "tree": "5cbfa825fd668d81c6fe6a8ec485dd8ebb2fd151",
      "parents": [
        "beb57a5a08207af80180b93dd80d611a85997c43",
        "3c7801882bbb6d5f3cc641525a54cb8a6c4aca34"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:22:08 2014 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 14 14:22:08 2014 -0700"
      },
      "message": "resolved conflicts for merge of 3c780188 to master\n\nChange-Id: Ic579d346c27ff05ea6444faaa60fa6caaec86fbf\n"
    },
    {
      "commit": "3c7801882bbb6d5f3cc641525a54cb8a6c4aca34",
      "tree": "f6f5e9f9d4ffecd658b76a3ef176564253768e3b",
      "parents": [
        "f1ac623fcc6bbda2faff9752cd611182a897afe1",
        "089affb6c2d9ed1e2d49df4be02d30dc490506f9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 14 20:53:02 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 14 20:53:02 2014 +0000"
      },
      "message": "am 089affb6: Merge \"mediaserver and associated services are 32-bit only\"\n\n* commit \u0027089affb6c2d9ed1e2d49df4be02d30dc490506f9\u0027:\n  mediaserver and associated services are 32-bit only\n"
    },
    {
      "commit": "4b12341875be1ee7f0b37fa9972f1ea09da94b59",
      "tree": "68c0bba9cf7fdabc1838887cfa8165f24cc45c65",
      "parents": [
        "37e0661f476d2f9a393cff80e1be4955c5ff014f",
        "5b10a2037a835e790994b9ebec3c2e55052f1f3b"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 14 17:21:41 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 14 17:21:42 2014 +0000"
      },
      "message": "Merge \"Fix Offload playback in AudioFlinger\""
    },
    {
      "commit": "37e0661f476d2f9a393cff80e1be4955c5ff014f",
      "tree": "0c02738a57188d46d2fceb6982d4a6552226e814",
      "parents": [
        "a1bfc70f27fc06429fe491b584df98515caa34ff",
        "010a1a1a552cdaad362cea8a0333b8906402dbcb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Mar 14 17:21:28 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Mar 14 17:21:28 2014 +0000"
      },
      "message": "Merge \"Revert \"Revert \"Convert AudioFlinger mSinkBuffer to flexible format\"\"\""
    },
    {
      "commit": "5b10a2037a835e790994b9ebec3c2e55052f1f3b",
      "tree": "f886a67e0d6ae5f9d6d192b76fab7e4bfaa2209a",
      "parents": [
        "010a1a1a552cdaad362cea8a0333b8906402dbcb"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 13 13:59:29 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 13 15:39:43 2014 -0700"
      },
      "message": "Fix Offload playback in AudioFlinger\n\nThis fixes Offload playback regression introduced by adding\nflexible format to mSinkBuffer.  Test case is AAC file playback.\n\nBug: 13450717\nChange-Id: I0fa11978295ed4793be90c565e5b8abedf156914\nSigned-off-by: Andy Hung \u003chunga@google.com\u003e\n"
    },
    {
      "commit": "010a1a1a552cdaad362cea8a0333b8906402dbcb",
      "tree": "d2f450bd5cecda7ce63e89d9f36b5877933115ad",
      "parents": [
        "e2a9c29f35e0c09782558542fc4cf9823779590e"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 13 13:57:33 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 13 13:57:33 2014 -0700"
      },
      "message": "Revert \"Revert \"Convert AudioFlinger mSinkBuffer to flexible format\"\"\n\nThis reverts commit e2a9c29f35e0c09782558542fc4cf9823779590e.\n"
    },
    {
      "commit": "1d59fea10d94e425cd48667d3030418e3907c56c",
      "tree": "04e17c2e613ee146d7e0c5dc5d0078936a419ec7",
      "parents": [
        "97ae4073c5c589f7df36cc840ec77d02eececbc8",
        "d1176ef16677b6c94fb893edb6a864cdccc0b190"
      ],
      "author": {
        "name": "Ruben Brunk",
        "email": "rubenbrunk@google.com",
        "time": "Thu Mar 13 20:18:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Mar 13 20:18:28 2014 +0000"
      },
      "message": "Merge \"camera3: Pass vendor tags through binder.\""
    }
  ],
  "next": "d1176ef16677b6c94fb893edb6a864cdccc0b190"
}
