)]}'
{
  "log": [
    {
      "commit": "eca012646226d397a7076ff8d6da026db5d11d5b",
      "tree": "ffb9c02a2c6859c18dafe5713c5f59d08d4bf3dd",
      "parents": [
        "641d56b15d11ba806b60f1f32543444016bf045a",
        "6f9c5e26c710dbee50e57316f1c460dda4850fa5"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri May 15 22:33:20 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 15 22:33:23 2015 +0000"
      },
      "message": "Merge \"Change mime for HLS timed ID3 stream to application/x-id3v4\" into mnc-dev"
    },
    {
      "commit": "6f9c5e26c710dbee50e57316f1c460dda4850fa5",
      "tree": "8368f61969f53ea80838f561a2cf9f8385e409e2",
      "parents": [
        "804a77d1045c6c4023f73a0975a09025b2e8eef2"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu May 14 16:26:20 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu May 14 17:25:18 2015 -0700"
      },
      "message": "Change mime for HLS timed ID3 stream to application/x-id3v4\n\nBug: 21151892\nChange-Id: I6a243b0edbbb445df0caf65f395f81926fd515f0\n"
    },
    {
      "commit": "e6858d597ca98ce7e68e10545dfb604ed572d46a",
      "tree": "696d7e70e9716872079503ba7d57ca19f17c1255",
      "parents": [
        "467b6e152e3064b8da58551effb39e72acec14af",
        "0806340688c937e7b78c2d89db3809274130df4e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 14 19:52:38 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu May 14 19:52:38 2015 +0000"
      },
      "message": "Merge \"stagefright: prevent more crashes in ACodec\" into mnc-dev"
    },
    {
      "commit": "0806340688c937e7b78c2d89db3809274130df4e",
      "tree": "ee10886944d275f9254286e8e8f36832627f158b",
      "parents": [
        "777cf6d2788b12bbd68f620cda94a128462a208d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed May 13 11:51:18 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed May 13 14:23:57 2015 -0700"
      },
      "message": "stagefright: prevent more crashes in ACodec\n\nSignal errors if OMX or native window reports an error\n\nBug: 20439174\nChange-Id: Iebeb16f5a29c6819d39568a184b921799a234686\n"
    },
    {
      "commit": "55c3bd0cacfb6e1601cd03fdba814be544a34326",
      "tree": "24ea9b5be6334e24c10cb1846778e3ad687e8c9f",
      "parents": [
        "2e69a987ea5a6430c9804e1b59faa0e6ca45a43e",
        "8f469e18c307cb9dc0d16ed9225972aa8be4516f"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 13 19:55:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 13 19:55:58 2015 +0000"
      },
      "message": "Merge \"stagefright: rename usePersistentInputSurface to setInputSurface\" into mnc-dev"
    },
    {
      "commit": "8f469e18c307cb9dc0d16ed9225972aa8be4516f",
      "tree": "c8e07383c8bdef3b0214def08f6b2d6da7e622f4",
      "parents": [
        "635bc8f90429b2fdcaf7f8d43f7f59bcd0fe951c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 13 10:21:33 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed May 13 10:49:35 2015 -0700"
      },
      "message": "stagefright: rename usePersistentInputSurface to setInputSurface\n\nand clear persistent surface pointer when MediaRecorder is reset\n\nbug: 21045118\nbug: 21045402\nChange-Id: Ifd0d6deeb969f2252123929541b30b518cecbf9a\n"
    },
    {
      "commit": "814463259cfc0b3c30535e6cba89a736f56c4a16",
      "tree": "4d3c7e3a9b3f102c6e55a4d685271d578cdd2a64",
      "parents": [
        "dce0777a1c82557fc108dfcd9665e06d583780d1",
        "0eb7c79398ef04e457c76f117feef6d7bcbbc684"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed May 13 17:07:51 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed May 13 17:07:51 2015 +0000"
      },
      "message": "am 0eb7c793: am b5fbb811: am c8c86c1d: am bcf2becf: am c531d995: am 438217a0: Merge \"Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\" into lmp-dev\n\n* commit \u00270eb7c79398ef04e457c76f117feef6d7bcbbc684\u0027:\n  Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n"
    },
    {
      "commit": "94183482a089690278fbe2346fa6946c9c7d97ef",
      "tree": "8127c65f4280eca22817c9ecf71457308ca7796f",
      "parents": [
        "9586592ed94478af8ab2feb921459aa63a402970",
        "b6ea1292f8adae45d95c6f37d50c96534219b6d2"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue May 12 23:46:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 23:46:53 2015 +0000"
      },
      "message": "Merge \"MediaSync: support changing surface on the fly.\" into mnc-dev"
    },
    {
      "commit": "0eb7c79398ef04e457c76f117feef6d7bcbbc684",
      "tree": "f4858d5db5415c19ca25f3e8899f880307b3b6a5",
      "parents": [
        "a4b4ca508827cc85db9708307243886024f298bc",
        "b5fbb81157eaab594bb37275176a0a178098dc46"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue May 12 22:55:01 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 12 22:55:01 2015 +0000"
      },
      "message": "am b5fbb811: am c8c86c1d: am bcf2becf: am c531d995: am 438217a0: Merge \"Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\" into lmp-dev\n\n* commit \u0027b5fbb81157eaab594bb37275176a0a178098dc46\u0027:\n  Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n"
    },
    {
      "commit": "bcf2becf206b5d56c89bf2b43356fd7995003302",
      "tree": "0fa5c016138944033cdfe35b821853499541dc56",
      "parents": [
        "07e80f7a2da0a28d977adfb0372fdf385f964bc7",
        "c531d9956513b9b82dad84aeb507b866e6b3951a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Tue May 12 22:14:58 2015 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue May 12 22:14:58 2015 +0000"
      },
      "message": "am c531d995: am 438217a0: Merge \"Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\" into lmp-dev\n\n* commit \u0027c531d9956513b9b82dad84aeb507b866e6b3951a\u0027:\n  Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n"
    },
    {
      "commit": "d9f493ebcd1830c76d7b1782e64c7ba9ad8ab4bd",
      "tree": "1d075b113943a8e3a032b9162100f05490213250",
      "parents": [
        "69dce3343ffe33d2ba60ab4c6755953a7ec96899",
        "db4c031f518ae5806af73756273ff32cd8d0e4f8"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 12 18:42:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 18:43:00 2015 +0000"
      },
      "message": "Merge \"Update sampling rate to 192kHz for devices\" into mnc-dev"
    },
    {
      "commit": "d0e25a2529584b07e4fe3544f973c6b0ebda7fc3",
      "tree": "e59d9497976b71d5860f5939a7e4f6f9e7e7a0ee",
      "parents": [
        "28e8ef72dab287af59663b89b12507e43f760701",
        "022ed72e650f756288492ac7a10a7b41e0b14f82"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue May 12 17:10:03 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 12 17:10:04 2015 +0000"
      },
      "message": "Merge \"mediaresourcemanager: change resource manager service log to use ring buffer.\" into mnc-dev"
    },
    {
      "commit": "db4c031f518ae5806af73756273ff32cd8d0e4f8",
      "tree": "62f9e0541acccc3acacf808d2a3cdad130eb819b",
      "parents": [
        "18aa27016a94d0fee243637a80fd0741f89e08f2"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed May 06 08:46:52 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue May 12 09:30:51 2015 -0700"
      },
      "message": "Update sampling rate to 192kHz for devices\n\nChange-Id: I0a83206be51d7ae18ccf85b94b2127356307be69\n"
    },
    {
      "commit": "022ed72e650f756288492ac7a10a7b41e0b14f82",
      "tree": "6c07c47b9b3c2d0b68eb9b989a879065a96f15bc",
      "parents": [
        "9ba21b9418d10ddcc39f08901e24fbf43d82b2bc"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon May 11 15:15:09 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon May 11 15:16:54 2015 -0700"
      },
      "message": "mediaresourcemanager: change resource manager service log to use ring buffer.\n\nmove the ring buffer implementation from libcameraservice to media include.\n\nalso add line prefix support to the service log.\n\nBug: 20637674\nChange-Id: Ib6b32f31abe92c42644ef7012f1e3d46220ccfbd\n"
    },
    {
      "commit": "b6ea1292f8adae45d95c6f37d50c96534219b6d2",
      "tree": "6e7bb052c951853364226209bf4b3309ff542831",
      "parents": [
        "d975e98aac096b8b0ed600f39c18630ba234ef7d"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu May 07 18:08:27 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 11 12:50:00 2015 -0700"
      },
      "message": "MediaSync: support changing surface on the fly.\n\nBug: 19666434\nChange-Id: I5809df2d3bb0dd6b4a982f11d62c4b7a452ed6fb\n"
    },
    {
      "commit": "8bae3aa349f9d03934a170d3bafbf0008bfc3a9d",
      "tree": "fabce753498abea0a2de91de1c4bf0f895b10531",
      "parents": [
        "3af8a321d06b3ee59afe159479c58e6b549c7b8f",
        "47a2e875bdd2bd25cb8500208940ff1488b01e08"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri May 08 20:08:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 20:08:42 2015 +0000"
      },
      "message": "Merge \"libstagefright: report special error when codec is released by resource manager.\" into mnc-dev"
    },
    {
      "commit": "3af8a321d06b3ee59afe159479c58e6b549c7b8f",
      "tree": "f1489cb14319accdd640fa3cb0d0303b147eab07",
      "parents": [
        "635bc8f90429b2fdcaf7f8d43f7f59bcd0fe951c",
        "011778fd4cb9606b68bfea1ed483d73c04fc6dcd"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 08 18:44:14 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 18:44:15 2015 +0000"
      },
      "message": "Merge changes from topic \u0027codec-surface\u0027 into mnc-dev\n\n* changes:\n  stagefright: enable experiments\n  stagefright: allow connecting to surfaces that attach buffers\n"
    },
    {
      "commit": "47a2e875bdd2bd25cb8500208940ff1488b01e08",
      "tree": "1efa5ac26dcc85af40e50241392e04bb228434d5",
      "parents": [
        "6ff06612638a13faa85c6219d42a9c4b645003d9"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Mar 13 10:47:08 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri May 08 09:59:42 2015 -0700"
      },
      "message": "libstagefright: report special error when codec is released by resource manager.\n\nBug: 19620911\nChange-Id: I3403da361adbf2ea6979fcadb0d5ad0889d3513e\n"
    },
    {
      "commit": "9ba21b9418d10ddcc39f08901e24fbf43d82b2bc",
      "tree": "363f0598085516cf16ddd4ee5df2d1043e2955da",
      "parents": [
        "ba21a9ac7b6b76f85681cfb5e756e947c0ae3b53"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 21 14:23:06 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri May 08 09:51:26 2015 -0700"
      },
      "message": "libstagefright: config resource manager with secure codec co-existing policy.\n\nBug: 19620911\nChange-Id: I0d729782c1622f23e9c37b7a9231e58e3f807470\n"
    },
    {
      "commit": "2a834fc09e1b22e7f70250c55ae2f462f5f60987",
      "tree": "4b1627f8c579b42a4aa2396f3f094764d2faf5b8",
      "parents": [
        "6ff06612638a13faa85c6219d42a9c4b645003d9",
        "65c8fbcf91f0f0b5f60a45d2777c36d396c4ba16"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri May 08 00:45:15 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 08 00:45:16 2015 +0000"
      },
      "message": "Merge \"libstagefright: export profiling results directly to xml.\" into mnc-dev"
    },
    {
      "commit": "011778fd4cb9606b68bfea1ed483d73c04fc6dcd",
      "tree": "95c668c8b5f3ae6afb072750366e24d53d7be2c6",
      "parents": [
        "dd248abd2c3e5e82b0049d40c7e9fb741fd4540c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed May 06 11:52:00 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 07 13:59:14 2015 -0700"
      },
      "message": "stagefright: enable experiments\n\nBug: 20894716\nChange-Id: I8c05b99dca8b3099a3a1b2b465f0f58bef786572\n"
    },
    {
      "commit": "8b23759763dbf11b0c628a7e62dc5b3dea7dc188",
      "tree": "c9497edda694bfdcf2832f29480209d18e556537",
      "parents": [
        "484979b1ab25aa41f503bd846323ab93b46d37e5"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed May 06 14:01:44 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 07 11:46:15 2015 -0700"
      },
      "message": "stagefright: support push-blank-buffers-on-shutdown for SW renderer\n\nBug: 20885565\nChange-Id: I2a361b8dd6d39d2cf994f6748ed562be4c642b77\n"
    },
    {
      "commit": "b2d0b487efd40700199852c9a18b369b1651f15b",
      "tree": "abfee9d4cd5df8e4e99d3cb6b5350ef54d543011",
      "parents": [
        "70c75d8c15707d5eade38fe3e622f8500c29556b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed May 06 14:01:08 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu May 07 11:46:15 2015 -0700"
      },
      "message": "stagefright: move native window helpers into SurfaceUtils\n\nBug: 20885565\nChange-Id: I2ed14be8a7cb08b1ed4ea65cb9286dc1384fe64a\n"
    },
    {
      "commit": "d7ab7afa57ed1fa6fb9c4ce18ea0df3ec939c067",
      "tree": "ed0fd03c176ba5ae421795f4665d47faec653c52",
      "parents": [
        "eb58c6d9ee8eac81864aaecb38a1831014ebf152",
        "296fb13dd9b5e90d6a05cce897c3b1e7914a478a"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 17:51:41 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed May 06 17:51:42 2015 +0000"
      },
      "message": "Merge \"Implement audio device callback\" into mnc-dev"
    },
    {
      "commit": "296fb13dd9b5e90d6a05cce897c3b1e7914a478a",
      "tree": "d3ed4e6ff2902da6f556d038c71605c091b75f64",
      "parents": [
        "32fa6d0e65dbf956e253a1006e9419dce2fe75c9"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 01 11:38:42 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 06 10:14:42 2015 -0700"
      },
      "message": "Implement audio device callback\n\nAdd class AudioSystem::AudioDeviceCallback notifying\nAudioSystem clients upon device selection change on a given\ninput or output thread.\nMaintain a list of installed callback per I/O handle in AudioSystem\nand call registered callbacks when an OPEN of CONFIG_CHANGED event\nis received on IAudioFlingerClient::ioConfigChanged().\nAdd methods to AudioTrack and AudioRecord to add and remove device\nchange callbacks.\nAdd methods to AudioTrack and AudioRecord to query currently selected\ndevice.\nioConfigChanged() events now convey the audio patch describing\nthe input or output thread routing.\n\nFix AudioRecord failure to start when invalidation is\nhandled by start().\n\nChange-Id: I9e938adf025fa712337c63b1e02a8c18f2a20d39\n"
    },
    {
      "commit": "65c8fbcf91f0f0b5f60a45d2777c36d396c4ba16",
      "tree": "b22419f78ab6f243b7ab7027482e5c5fda9db09f",
      "parents": [
        "5e95559255d1abd62c78b308731ebe3991186e94"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 21 11:52:58 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue May 05 14:45:29 2015 -0700"
      },
      "message": "libstagefright: export profiling results directly to xml.\n\nBug: 19620911\nChange-Id: Icdeb1c30816d6de120ea0acd0880b3a9614bea8f\n"
    },
    {
      "commit": "9f578d3297782be6de5373e171f3b4af49726709",
      "tree": "d6063a06edf2c17868195472d63869c069dbfbb8",
      "parents": [
        "c8a70d340f0ce610dfb8bd44d833708269484e99",
        "4cb668392ee0433462251afbee109405c6efacc8"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 05 15:55:07 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue May 05 15:55:08 2015 +0000"
      },
      "message": "Merge \"AudioRecord keeps track of UID\" into mnc-dev"
    },
    {
      "commit": "4cb668392ee0433462251afbee109405c6efacc8",
      "tree": "50e324bd1af8951136ec9b7c4a7538e514490e80",
      "parents": [
        "1de1e25cba872bd4c077c2e394f8ca9c70b65856"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Fri May 01 18:34:17 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue May 05 02:04:33 2015 +0000"
      },
      "message": "AudioRecord keeps track of UID\n\nBug 20832981\n\nChange-Id: If5f3c61fae02d86b9d6fdf411711f854fd56c77d\n"
    },
    {
      "commit": "ce8c218ec9db7acd86f9f8929f8bbb668151b53d",
      "tree": "d5ed67b731218db60fcdf2820b423c4fa611b7a9",
      "parents": [
        "32fa6d0e65dbf956e253a1006e9419dce2fe75c9"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 04 15:48:01 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Mon May 04 15:48:01 2015 -0700"
      },
      "message": "MediaSync: clean up configureAudioTrack and configureSurface.\n\nBug: 19666434\nChange-Id: I579956aad4a6d591b5338d518e610b8532a72402\n"
    },
    {
      "commit": "8651c6f5069cca40ef805b800a9730617ff7f9b8",
      "tree": "129d2b9634ed11d920253265e86b171033887b39",
      "parents": [
        "e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049",
        "1dcdfead2971c1fa7c02f24ba86f706890c9f99e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat May 02 02:23:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 02 02:23:07 2015 +0000"
      },
      "message": "Merge \"stagefright: add support for dynamically setting MediaCodec output surface\" into mnc-dev"
    },
    {
      "commit": "e2a2dfcbf0c9d6bb7139263ecf0d8e53b4ca1049",
      "tree": "8060421e6bb2732c1b84d0810f5e83a57a7d25ea",
      "parents": [
        "d291c222357303b9611cab89d0c3b047584ef377"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 01 12:36:13 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 01 19:18:49 2015 -0700"
      },
      "message": "MediaRecorder: implement persistent input surface APIs\n\nBug: 19127604\nBug: 19489395\n\nChange-Id: I7dd8015a8fe029f9867fcdb52322629c77eff50b\n"
    },
    {
      "commit": "d291c222357303b9611cab89d0c3b047584ef377",
      "tree": "953551d93d5a215cefb14470387ff7494c9b60e5",
      "parents": [
        "64da6f045b1a1d1b8f01391b6e37287f77f85d1e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 30 18:15:52 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri May 01 19:06:38 2015 -0700"
      },
      "message": "MediaCodec: implement persistent input surface APIs\n\nBug: 19127604\nBug: 19489395\n\nChange-Id: Idaf1cc9008016f66903e93907a676f54e342e1a3\n"
    },
    {
      "commit": "1dcdfead2971c1fa7c02f24ba86f706890c9f99e",
      "tree": "e07226a98400e308d1a82499fbdb76757603937c",
      "parents": [
        "64da6f045b1a1d1b8f01391b6e37287f77f85d1e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 13:59:10 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 01 18:45:35 2015 -0700"
      },
      "message": "stagefright: add support for dynamically setting MediaCodec output surface\n\nBug: 11990461\nChange-Id: I2aee89ef504234dc66eb5fcf6e62e1706088f758\n"
    },
    {
      "commit": "64da6f045b1a1d1b8f01391b6e37287f77f85d1e",
      "tree": "f0ff2afd1653e1f1705c1267389f4028118fb714",
      "parents": [
        "0247f0db93a828f0754a6d2d278cb08c6609cf26",
        "f06cc24ce7aeb5ff6f45b770a15286c95f8cc9ff"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Sat May 02 00:40:52 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat May 02 00:40:52 2015 +0000"
      },
      "message": "Merge \"stagefright: MediaCodec: rename mNativeWindow to mSurface\" into mnc-dev"
    },
    {
      "commit": "939270353bff5bc7497b0c77e203520b997268c9",
      "tree": "3138d9682c0449dfd2d66d46fa6a216bbf019b3f",
      "parents": [
        "cc85abcf4ac398dca240db356b8b4db052b415a4",
        "4c5a3675ed6b429dfaa2707acf2b3faf2808baf2"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 01 21:49:38 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 21:49:39 2015 +0000"
      },
      "message": "Merge \"AudioTrack: reduce retrograde motion spew\" into mnc-dev"
    },
    {
      "commit": "cc85abcf4ac398dca240db356b8b4db052b415a4",
      "tree": "65f9eccab6b0d9b9f3dcee48e2c44326b0edbef4",
      "parents": [
        "0bbf8b213ad96051357e3ad6d6d2808bfa31a59a",
        "73e26b661af50be2c0a4ff6c9ac85f7347a8b235"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 01 19:10:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri May 01 19:10:26 2015 +0000"
      },
      "message": "Merge \"AudioSystem: refactor audio config cache and callbacks\" into mnc-dev"
    },
    {
      "commit": "73e26b661af50be2c0a4ff6c9ac85f7347a8b235",
      "tree": "7290cb83e5f7df830447fe2badf99c43e0afc020",
      "parents": [
        "054d9d3dea1390294650ac704acb4aa0a0731217"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Mon Apr 27 16:55:58 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri May 01 11:45:07 2015 -0700"
      },
      "message": "AudioSystem: refactor audio config cache and callbacks\n\nClean up implementation of audio configuration cache and\ncallback events from AudioFlinger:\n\n- Define class AudioIoDescriptor for audio input and output\nconfigurations outside of AudioSystem class.\n- Do not use void * but an AudioIoDescriptor as argument to\naudio config callbacks from AudioFlinger.\n- Remove unused configuration events.\n- Move AudioSystem audio input and output cache from static singletons to\nmembers of AudioFlingerClient subclass.\n\nChange-Id: I67c196c32c09ce2756af0755ee1fe631040c3270\n"
    },
    {
      "commit": "4c5a3675ed6b429dfaa2707acf2b3faf2808baf2",
      "tree": "b0697130f34c1957f26b84f74d00fb8455890fae",
      "parents": [
        "1de1e25cba872bd4c077c2e394f8ca9c70b65856"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 30 16:18:53 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Fri May 01 10:32:54 2015 -0700"
      },
      "message": "AudioTrack: reduce retrograde motion spew\n\nChange-Id: I96aced52b136ceea924aa3d9ef56374dd4c49784\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "f06cc24ce7aeb5ff6f45b770a15286c95f8cc9ff",
      "tree": "22ce17daecad35ec164ff03caec5e9b02396ef14",
      "parents": [
        "1de1e25cba872bd4c077c2e394f8ca9c70b65856"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:46:16 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri May 01 01:59:35 2015 +0000"
      },
      "message": "stagefright: MediaCodec: rename mNativeWindow to mSurface\n\nbecause mNativeWindow is of type sp\u003cSurface\u003e\n\nBug: 19489395\nChange-Id: I5ddc78b04e387915a2293b71195d7a6494986356\n"
    },
    {
      "commit": "1de1e25cba872bd4c077c2e394f8ca9c70b65856",
      "tree": "7f01e01b5a3731a9c345684e38755d97e6a67f19",
      "parents": [
        "31de88566257d5546cf4eee9064d96926a4b0c24"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:18:34 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 18:53:52 2015 -0700"
      },
      "message": "stagefright: remove NativeWindowWrapper\n\nNow that Surface and SurfaceTextureClient are the same and Surface,\nit does not add value.\n\nBug: 19489395\nChange-Id: I016ecd1cf5cc51ce6244b6fa34ecd75f84e3db01\n"
    },
    {
      "commit": "3a474aa67fc31505740526dd249d96204c08bf79",
      "tree": "4db784ee57ffad037fa2ded86d0fd8b3a40173d5",
      "parents": [
        "a8df0b716bdfda1e10790e6f7297eeff83d2e52a"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 24 17:10:07 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Apr 30 16:56:10 2015 -0700"
      },
      "message": "stagefright: support setting/getting playback/sync config in MediaSync\n\nBug: 18249558\nBug: 19666434\nBug: 20057497\nChange-Id: I5868b17423d7c20cfaf4a399f3eb67bfba440605\n"
    },
    {
      "commit": "457e82586d51c6d360ce4feb4c1dff1a31dcb8d3",
      "tree": "6b64f269ba9d971077ab26c3112d5e90a80f2fb7",
      "parents": [
        "dc0ac804721efff054ec9720d53e93ecca86cf5e",
        "bac588208fadec78e3fa205c238089df277d3817"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 30 21:14:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 30 21:14:54 2015 +0000"
      },
      "message": "Merge \"MediaSync: map returned output buffers to previously received input buffers.\" into mnc-dev"
    },
    {
      "commit": "dc0ac804721efff054ec9720d53e93ecca86cf5e",
      "tree": "8560f730cb37dddfccc6ea2a513d99889998e2c2",
      "parents": [
        "5f9bf49397b36ad4ebd838aef66b83e9e9fa42bc",
        "1b42097f38e72574ed853a35f4e8a66e4739c421"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Thu Apr 30 20:48:54 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 30 20:48:55 2015 +0000"
      },
      "message": "Merge \"AudioTrack: fix spurious retrograde messages\" into mnc-dev"
    },
    {
      "commit": "5f9bf49397b36ad4ebd838aef66b83e9e9fa42bc",
      "tree": "f69b635690cbc2cff9e5cfb8843e4473cc327208",
      "parents": [
        "1471e7a112aed5ff120c2b97bced9523ed39fe6c",
        "8c7e6dac6f5eb38cef627dab92eac8b38513450c"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 30 19:50:55 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 30 19:50:55 2015 +0000"
      },
      "message": "Merge \"audio policy: session routes continued.\" into mnc-dev"
    },
    {
      "commit": "8c7e6dac6f5eb38cef627dab92eac8b38513450c",
      "tree": "6aede3a6ac013462a117ffb181d93439525eebeb",
      "parents": [
        "f62a067a5b21c840c915d36392679346ac0abfd7"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Apr 21 17:37:00 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Apr 30 12:43:06 2015 -0700"
      },
      "message": "audio policy: session routes continued.\n\n- Clear session routes when client process dies.\n- Enforce the route only when the requesting session is active.\n- Fix requested route not working if an output mix change is required\n(e.g forcing to SPEAKER when the default route is USB or A2DP).\n- Make sure all sessions sharing the strategy with a rerouted session\nhave the same route (needed for volume control consistency)\n\nChange-Id: I0ab347a8fb97e73e2c5965374544c5f4fe509ef1\n"
    },
    {
      "commit": "bac588208fadec78e3fa205c238089df277d3817",
      "tree": "3feebbd56bf126f282d96583f2a60f17fdfabdfe",
      "parents": [
        "c0239eca6d022b498d21cc467f83f715f7e7ed89"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Apr 28 18:22:36 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 30 09:53:14 2015 -0700"
      },
      "message": "MediaSync: map returned output buffers to previously received input buffers.\n\nBug: 19666434\nChange-Id: I81e9cb8e73d950b3be5d29cf010c6793894ad802\n"
    },
    {
      "commit": "d641af3e9faf6c053ccbeea1bc20790021e57a11",
      "tree": "f2c1fa01f2321024396ac4bda949d74965a547f9",
      "parents": [
        "d707ac5a0494398cb1306ead0ba587034f610f30",
        "f613d42b12389335b2ecf06df18d0d095d6bfd44"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 30 16:43:17 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 30 16:43:21 2015 +0000"
      },
      "message": "Merge \"AudioSystem callback for dynamic policy mix activity\" into mnc-dev"
    },
    {
      "commit": "f613d42b12389335b2ecf06df18d0d095d6bfd44",
      "tree": "b36177007932b781d9db2bb973cb2feaab3cde13",
      "parents": [
        "dae24729d0b3ced8c4a7d7f9b631e852f564db4f"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Thu Apr 23 18:41:29 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 29 17:54:12 2015 -0700"
      },
      "message": "AudioSystem callback for dynamic policy mix activity\n\nAdd method to AudioPolicyServiceClient for dynamic policy mix\n activity notification.\nPropagate notification to a dedicated callback.\n\nBug 20226914\n\nChange-Id: I37928ed38e15ea2b8fed022cccadeca8c4d6c876\n"
    },
    {
      "commit": "1b42097f38e72574ed853a35f4e8a66e4739c421",
      "tree": "e708293755e42bca48d47380b8b8568cfc3d2f1f",
      "parents": [
        "5f88cdae61079be7920aee166eaac4941f65fb9f"
      ],
      "author": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 22 10:52:21 2015 -0700"
      },
      "committer": {
        "name": "Phil Burk",
        "email": "philburk@google.com",
        "time": "Wed Apr 29 23:36:01 2015 +0000"
      },
      "message": "AudioTrack: fix spurious retrograde messages\n\nThe retrograde motion was confused by some positions coming from\nthe DSP on offloaded tracks. So the retrograde check was moved up\ninto AudioTrack.cpp. This allows us to take advantage of the checks\nfor invalid positions based on timing.\n\nBug: 2047891\nChange-Id: Ifcad2349201443a7f1711347c203297100449536\nSigned-off-by: Phil Burk \u003cphilburk@google.com\u003e\n"
    },
    {
      "commit": "be71aa29a3c86d2e01cd17839d2a72ab09a1bce5",
      "tree": "ca29cd10f78ff053761eb809c391019180836742",
      "parents": [
        "f62a067a5b21c840c915d36392679346ac0abfd7"
      ],
      "author": {
        "name": "Svet Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Tue Apr 28 12:06:02 2015 -0700"
      },
      "committer": {
        "name": "Svetoslav Ganov",
        "email": "svetoslavganov@google.com",
        "time": "Wed Apr 29 19:06:41 2015 +0000"
      },
      "message": "Respect the record audio app op - media\n\nChange-Id: I3a97977b6e9a09355e2008f780d22d480fb7308b\n"
    },
    {
      "commit": "466dc8ed6ca6b7f585104806c48613dd34e608c9",
      "tree": "086bbd91d48e366377c02df8a65a5e2bad8675a6",
      "parents": [
        "dae24729d0b3ced8c4a7d7f9b631e852f564db4f"
      ],
      "author": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Fri Apr 17 13:15:36 2015 -0600"
      },
      "committer": {
        "name": "Paul McLean",
        "email": "pmclean@google.com",
        "time": "Tue Apr 28 10:46:14 2015 -0600"
      },
      "message": "Explicit routing in AudioRecord\n\nChange-Id: I9cc5d54883a3e5c75d553fabb619fc8e49f4f9e5\n"
    },
    {
      "commit": "4275065e89b121fd2f9bd4e0440577348d5ce663",
      "tree": "79c39316a30e8c413a5c614eaaa157f710a650fb",
      "parents": [
        "c721e71f4d7e3cd4fc9332fd55fb6942f54cec39",
        "8db8813d39e3c8b5fbd580dfc3062830744afd63"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 27 22:55:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Apr 27 22:55:38 2015 +0000"
      },
      "message": "Merge \"DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer.\" into mnc-dev"
    },
    {
      "commit": "c721e71f4d7e3cd4fc9332fd55fb6942f54cec39",
      "tree": "d6dbd9af50ecfb1f8b9f0f1ecf3033920008ca8a",
      "parents": [
        "5e95559255d1abd62c78b308731ebe3991186e94"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Apr 24 15:29:49 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 27 21:22:13 2015 +0000"
      },
      "message": "DO NOT MERGE libmedia: add sub resource type audio-codec and video-codec.\n\nBug: 20559813\nChange-Id: If231cb44337ca7dc74c39fc3cd73e2b6f3cb85b8\n(cherry picked from commit d4c1f6b4ecfef7323422359fc38bd1edb1abf205)\n"
    },
    {
      "commit": "8db8813d39e3c8b5fbd580dfc3062830744afd63",
      "tree": "e2573de1c55ee05a5c075153835cebaeadecb4eb",
      "parents": [
        "5e95559255d1abd62c78b308731ebe3991186e94"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Apr 22 13:51:35 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 27 21:20:31 2015 +0000"
      },
      "message": "DO NOT MERGE libmediaplayerservice: set priority and operating rate for the codec used by nuplayer.\n\nBug: 20481562\nChange-Id: I9806414962352fbcda726f8274f1cd348c961de0\n(cherry picked from commit f19f5d716b39a5d9dc1abdcd5a16a7aaf1b1ab8b)\n"
    },
    {
      "commit": "bfed843041b6aaec13ee19996748a7a1476db9c8",
      "tree": "f6f6744dbf809a6d7897767f264944922fe954cf",
      "parents": [
        "eb204f82afd5519eb544bf8bee692e7152820c3b"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Apr 01 19:32:25 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 24 17:10:41 2015 -0700"
      },
      "message": "Add AUtils::isInRange, and use it to detect malformed MPEG4 nal sizes\n\nBug: 19641538\nChange-Id: I5aae3f100846c125decc61eec7cd6563e3f33777\n"
    },
    {
      "commit": "21db57282da8b3daba1549f3a8e41c4fbaf80059",
      "tree": "2c51b5f8ffe7015ffdc3fdaf19bd36982546bf89",
      "parents": [
        "7d7ea036436320b03bef826d78c4c035b67edbd0",
        "8f9dd872366f54b6260506c75c3d0cc3f9f73f81"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Apr 24 21:35:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 21:35:38 2015 +0000"
      },
      "message": "Merge \"mediaresourcemanager: add dumpsys support.\""
    },
    {
      "commit": "a739165147bd58f7396d605fed1dfa8b68aaf6a8",
      "tree": "1a4eedd42858a27613f2a28d257357ae017e0f6c",
      "parents": [
        "e2e2cb08acf267b5151e61cda261cdda25afac38",
        "f8bd851cc652501239a8e3759b21890dfa2afdea"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Apr 24 15:33:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 24 15:33:14 2015 +0000"
      },
      "message": "Merge \"Copy sei offset/size during ABuffer/MediaBuffer conversion\""
    },
    {
      "commit": "f8bd851cc652501239a8e3759b21890dfa2afdea",
      "tree": "895659041fb0a778e00999b056d79395ad617fcf",
      "parents": [
        "38ad9c7d19a0699065b078a0e8dd7ece3d055bf7"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 23 16:39:18 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 23 18:22:24 2015 -0700"
      },
      "message": "Copy sei offset/size during ABuffer/MediaBuffer conversion\n\nBug: 20537676\nChange-Id: I0bd11527ccd022c39d94b7877df81de4da1b14a6\n"
    },
    {
      "commit": "8f9dd872366f54b6260506c75c3d0cc3f9f73f81",
      "tree": "6b20eb7ca59c4c40936e27806f5d76bce005b146",
      "parents": [
        "1ac91ed2c67245ea5052182212463d3f0afe8b5a"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 23 15:24:25 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 23 18:03:30 2015 -0700"
      },
      "message": "mediaresourcemanager: add dumpsys support.\n\nBug: 20233206\nChange-Id: Ic253985e408b05b488e87cd5c50c0d619ac568ef\n"
    },
    {
      "commit": "99d1f78c9b16b5668e78c353373e0e7f4592cab9",
      "tree": "8970f2f018cc0829ee78c4ed5461c39c8f9a1775",
      "parents": [
        "1ac91ed2c67245ea5052182212463d3f0afe8b5a"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 23 14:06:42 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 23 16:08:06 2015 -0700"
      },
      "message": "MediaSync: allow users to query play time for pending audio frames.\n\nBug: 19666434\nChange-Id: I5cfd3e1a9b4f56aaa6482facd55a22ed1e7ed3e6\n"
    },
    {
      "commit": "5a8a95de6dad1a3bcf3da5a37b35766e89086e13",
      "tree": "64b82016eaef26f51b75470714172c06287c9c56",
      "parents": [
        "ea44f41bb142555e747cc11382296e94af99d312"
      ],
      "author": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Sat Apr 18 14:47:04 2015 -0700"
      },
      "committer": {
        "name": "Ricardo Garcia",
        "email": "rago@google.com",
        "time": "Wed Apr 22 10:57:24 2015 -0700"
      },
      "message": "Use AudioPlaybackRate to hold TimestretchBufferProvider parameters\n\nUse this struct to handle the parameters for TimestretchBufferProvider all\nacross the system.\nAdd stretch mode and fallback mode to TimestretchBuffer Provider.\n\nChange-Id: I19099924a7003c62e48bb6ead56c785cb129fba2\n"
    },
    {
      "commit": "7184bab920699d49718e8fc3cf8a23d3c9d8d54a",
      "tree": "06913515dd08a743e9e092171c91666f011cee18",
      "parents": [
        "5030647ab3860575312532655ccf2ea3cc96088f",
        "978449984366946a2e5c9f7cf350746f4306caf8"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Apr 18 00:20:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Apr 18 00:20:11 2015 +0000"
      },
      "message": "Merge \"HLS: reduce number of guessed wrong seq numbers\""
    },
    {
      "commit": "6d339f1f764bbd32e3381dae7bfa7c6c575bb493",
      "tree": "3b29d455c9f3ac73327a0117d2bc18d8b199a265",
      "parents": [
        "ee4e1b1a63758941460ae79a064249d3a5189443"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 16:15:53 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 16:16:27 2015 -0700"
      },
      "message": "libmediaplayerservice: fix warnings, make warnings errors, use clang\n\nChange-Id: I1b2f6b65c5abbc366068a60b8909104f31b94228\n"
    },
    {
      "commit": "978449984366946a2e5c9f7cf350746f4306caf8",
      "tree": "21d406ec763c97554a5db234b49807ecb7a659b2",
      "parents": [
        "2170233c49e50f3986cdc4f726016d6003cb5b8e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sun Apr 12 01:03:51 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 17 14:26:32 2015 -0700"
      },
      "message": "HLS: reduce number of guessed wrong seq numbers\n\n- account for playlist age in live streaming when calculating\n  segment time\n\n- be more conservative on downswitching if bandwidth is unstable\n\n- adjust forward or backward if guessed wrong seq number\n\n- code refactor\n\nbug: 19567254\n\nChange-Id: I0b61cea888fdffd1b3ee2446747ed10152e9e7d7\n"
    },
    {
      "commit": "ee4e1b1a63758941460ae79a064249d3a5189443",
      "tree": "d27f03a73170da9cce96b6eae5b2ecd874eace22",
      "parents": [
        "2170233c49e50f3986cdc4f726016d6003cb5b8e"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 13:46:19 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 17 13:46:43 2015 -0700"
      },
      "message": "stagefright: warnings be gone, some are now errors, use clang\n\nChange-Id: I81f438ae444f04c12ae27ae4ef6d073033de172c\n"
    },
    {
      "commit": "0852843d304006e3ab333081fddda13b07193de8",
      "tree": "f60be26aad988e89bc135a86f6e4ae8853c69a49",
      "parents": [
        "3d66eb4128aebef31bb0fa44c4d53d6122294a26"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Apr 08 09:06:54 2015 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Apr 16 19:01:15 2015 -0700"
      },
      "message": "stagefright: initial timed id3 support in hls\n\nChange-Id: I00a8a786b3f4b74742c34770edd94e937abe20a8\n"
    },
    {
      "commit": "3d66eb4128aebef31bb0fa44c4d53d6122294a26",
      "tree": "b532ebd2b434a9f6f90039bdb46f775fbe2ebefe",
      "parents": [
        "71933d769c54dadb5d8618ccb1ae69a3926f890b"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 16 12:44:11 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Apr 16 13:58:38 2015 -0700"
      },
      "message": "MediaCodec: hold input buffers during FLUSHED state\n\nbug: 20267388\nChange-Id: I21a12cb2ebb74e17dcdb7b502c3f674e9e64b5dc\n"
    },
    {
      "commit": "c224ec53a17994fa97ab2f29304647c9f195c51c",
      "tree": "6086a1cf5720b82e7dc25b7ecd60af39d66c738d",
      "parents": [
        "f2326ac96366ec4d05f470cc4a0b407e7805bab7",
        "99f31604136d66ae10e20669fb6b5716f342bde0"
      ],
      "author": {
        "name": "Chris Watkins",
        "email": "watk@google.com",
        "time": "Thu Apr 16 17:06:37 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 16 17:06:42 2015 +0000"
      },
      "message": "Merge \"Unhide the android.media.[Media]DataSource interface.\""
    },
    {
      "commit": "99f31604136d66ae10e20669fb6b5716f342bde0",
      "tree": "20e64f4f26533b37b087ce8656b1040b8189e24f",
      "parents": [
        "2f33dbc6ca08d45efea2df775c158e2a11e07ab6"
      ],
      "author": {
        "name": "Chris Watkins",
        "email": "watk@google.com",
        "time": "Fri Mar 20 13:06:33 2015 -0700"
      },
      "committer": {
        "name": "Chris Watkins",
        "email": "watk@google.com",
        "time": "Wed Apr 15 17:12:22 2015 -0700"
      },
      "message": "Unhide the android.media.[Media]DataSource interface.\n\nThis allows apps to implement MediaDataSource, which is modeled on\nstagefright\u0027s DataSource, to supply media data to the framework. This\nwas already implemented for MediaExtractor, but it was renamed from\nDataSource.\n\nMediaExtractor, MediaPlayer and MediaMetadataRetriever each have a new\noverload: #setDataSource(android.media.MediaDataSource)\n\nOnly NuPlayer supports this new data source.\n\nThe change introduces:\n * IDataSource:        The binder interface for DataSource.\n * JMediaDataSource:   The native counterpart to the java interface. It\n                       implements IDataSource.\n * CallbackDataSource: A stagefright DataSource that wraps an\n                       IDataSource.\n\nChange-Id: Ib3c944b49cc8a792c8eb9c85e5015c07f298ebc1\n"
    },
    {
      "commit": "554a277d4e42a3d3df3d90ba0e7dfa2d31690e32",
      "tree": "3647500470a7eca8095102a0e2818acb848cdf6a",
      "parents": [
        "3249558196082087fb8bd0a847ef5c6000c8b925"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Apr 10 11:29:24 2015 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Apr 15 23:15:38 2015 +0000"
      },
      "message": "audio policy: add binder calls for audio source control\n\nAdd binder methods to IAudioPolicyService to control activity\nof external audio sources (e.g FM tuner).\n\nChange-Id: I2008308a6a996baeae502b68a790d87281efe2ff\n"
    },
    {
      "commit": "cfdd52423cee9efea73023feeaa74279ebd45b7c",
      "tree": "154c4ea34b3fc95dbde268fb24be2f2915438c78",
      "parents": [
        "5e1c007038df74b389018e762d5059cacecff59e",
        "de80105c3f2db0eabd47640c49387ea3b44d4782"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Wed Apr 15 21:11:49 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 21:12:01 2015 +0000"
      },
      "message": "Merge \"AudioPolicyManager: notification of dynamic policy mix activity\""
    },
    {
      "commit": "a5bf4e0339a10b7db936c739fbfd6cf3cb00fbb8",
      "tree": "fea070a835cfb6fc870072331926020623bce8bf",
      "parents": [
        "7233234a32d22d2ffb63ed4e92df339458047887",
        "99acce4526db0f14be6e516ecb3920d5ed66877b"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Apr 15 03:11:13 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 03:11:14 2015 +0000"
      },
      "message": "Merge \"Revert \"stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\"\""
    },
    {
      "commit": "de80105c3f2db0eabd47640c49387ea3b44d4782",
      "tree": "9775c7bbe30ef1ab13a888def8531cb0f87b1756",
      "parents": [
        "079e121934106860af5ff5491bd3884453d1fdb3"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:10:14 2015 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Apr 14 19:20:20 2015 -0700"
      },
      "message": "AudioPolicyManager: notification of dynamic policy mix activity\n\nImplement non-stream type specific ref counting in output\n  descriptors to keep track of mix activity.\nNotify audio policy client of mix activity changes.\n\nBug 20226914\n\nChange-Id: Iec939cb640c58056f88947b611d23b4bb6d8a11b\n"
    },
    {
      "commit": "7233234a32d22d2ffb63ed4e92df339458047887",
      "tree": "807509f7cba92cf490d3c82da300a9d686eea02d",
      "parents": [
        "be39e102a64f48fb3afe6ca412231f17df3c3c87",
        "67e7f543c7f1c4fe4ee1989ceb0aebe44a63b49e"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Apr 15 01:41:58 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 01:41:58 2015 +0000"
      },
      "message": "Merge \"media: use ResourceManagerService with MediaCodec\""
    },
    {
      "commit": "be39e102a64f48fb3afe6ca412231f17df3c3c87",
      "tree": "cdcef473819021571445f55fb2059c71f2fe147e",
      "parents": [
        "948dbbbe0d75f1975a80eafd53d6b8daa8f92223",
        "a0d0ba51ad60a68117a0ee78e37ab78715b8a069"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Apr 15 01:32:25 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Apr 15 01:32:25 2015 +0000"
      },
      "message": "Merge \"HLS: parse stream resolution and set maxWidth/maxHeight\""
    },
    {
      "commit": "948dbbbe0d75f1975a80eafd53d6b8daa8f92223",
      "tree": "1394f250b7657a7d39ee2b270c7a51281c30c692",
      "parents": [
        "4123d6db0642cd13e69230705b12d6b6fee6f73f",
        "8cfad968d5ec429b033caff9743f1ef15090be61"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 14 22:28:26 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 22:28:27 2015 +0000"
      },
      "message": "Merge \"stagefright: metadata retriever changes for capture fps\""
    },
    {
      "commit": "67e7f543c7f1c4fe4ee1989ceb0aebe44a63b49e",
      "tree": "7de894fc9626b36de6eed70812962380ca217f22",
      "parents": [
        "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Mar 13 10:47:08 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 14:16:12 2015 -0700"
      },
      "message": "media: use ResourceManagerService with MediaCodec\n\nBug: 19620911\nChange-Id: I235a97e5195b28645b7834dda0dd77307d93f4a8\n"
    },
    {
      "commit": "99acce4526db0f14be6e516ecb3920d5ed66877b",
      "tree": "d97838f1d697448b4b55c3485761518b3037ac7a",
      "parents": [
        "ea20d117ef9b4e867ec3982c7d070e719617ba2f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 21:12:53 2015 +0000"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 21:12:53 2015 +0000"
      },
      "message": "Revert \"stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\"\n\nThis reverts commit ea20d117ef9b4e867ec3982c7d070e719617ba2f.\n\nChange-Id: Ia77448a81429814e6915eca9c1cd854ca0e623cc\n"
    },
    {
      "commit": "a0d0ba51ad60a68117a0ee78e37ab78715b8a069",
      "tree": "8d7555285a426fd3b77b93fcfd550dc5c1e9f0c2",
      "parents": [
        "db93079daf06a94e50622d0383b9ed8e767e2f92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Apr 10 22:41:56 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 14 11:39:16 2015 -0700"
      },
      "message": "HLS: parse stream resolution and set maxWidth/maxHeight\n\nbug: 20160436\n\nChange-Id: Ic3adb84d3c65cc65f62fc509a99d09602db862a1\n"
    },
    {
      "commit": "b23cabdb71b98dc5e852f5d06be271696fea92c7",
      "tree": "5fd928f892970e2d905fdfcc502a0204d62a149d",
      "parents": [
        "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0",
        "551b5355d34aa42890811fc3606d3b63429296cd"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Apr 14 15:02:11 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 15:02:12 2015 +0000"
      },
      "message": "Merge \"AudioRecord::obtainBuffer() can return nonContig like AudioTrack\""
    },
    {
      "commit": "8cfad968d5ec429b033caff9743f1ef15090be61",
      "tree": "10780dace38525633eb6c55f5ecf2d1713980eba",
      "parents": [
        "db93079daf06a94e50622d0383b9ed8e767e2f92"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Apr 07 17:53:11 2015 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Apr 13 22:26:33 2015 -0700"
      },
      "message": "stagefright: metadata retriever changes for capture fps\n\nbug: 19460202\nChange-Id: I20afded0b7eec45b2f25b51cf59d9f48eada74d8\n"
    },
    {
      "commit": "551b5355d34aa42890811fc3606d3b63429296cd",
      "tree": "a55a6f457f11025f653241a58d475fe6a8269be5",
      "parents": [
        "7d669b3551c20109f5544455ca1555499693e1e1"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Mar 20 11:30:28 2015 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Apr 13 18:02:09 2015 -0700"
      },
      "message": "AudioRecord::obtainBuffer() can return nonContig like AudioTrack\n\nAnd fix error handling in both AudioRecord and AudioTrack.\n\nChange-Id: I4853d736cc6d2c05de5b18b0eac62716edfa62ec\n"
    },
    {
      "commit": "9e6955a19bf77ebf27b770e910efbe1ebf1ceac0",
      "tree": "04fbb621d9f9262bdec827d80f9df998a48f90ff",
      "parents": [
        "5795cb168634680fd5c835849c8fcf48dd6f532b"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Mar 26 13:52:57 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 13 18:01:51 2015 -0700"
      },
      "message": "media: handle overrides and measure max codec instance.\n\nBug: 19620911\nChange-Id: I68d5919284700f37ccc6c6b9f96cd87ccdd40e6a\n"
    },
    {
      "commit": "5795cb168634680fd5c835849c8fcf48dd6f532b",
      "tree": "b57d8881970ec7f29ceaf20bcbd604991f6a1444",
      "parents": [
        "4264bbd7af97aeae87f1907b96f62e4025c989d0",
        "c1f5cb4b11d0c9f52f69aec4fe2d36da2f8139c9"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Tue Apr 14 00:57:56 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Apr 14 00:57:57 2015 +0000"
      },
      "message": "Merge \"libstagefright: parse global settings from codec xml file.\""
    },
    {
      "commit": "c1f5cb4b11d0c9f52f69aec4fe2d36da2f8139c9",
      "tree": "7e5049d6725c4a6c1947a743659598c391cf0665",
      "parents": [
        "52e88b2986536e83a7a6da63461556b8734a85f3"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Wed Mar 25 16:19:58 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 13 17:51:14 2015 -0700"
      },
      "message": "libstagefright: parse global settings from codec xml file.\n\nAlso parse a new codec limit \"max-supported-instances\".\n\nBug: 19620911\nChange-Id: I6574c168b0c2b1aa649883958d3073edc01a4a03\n"
    },
    {
      "commit": "e6109e2f10b43c2cc2561c6fd6633b5f988bd7a9",
      "tree": "3b8f9bd7d8caab7cdd2e58ad5a918619938db9a3",
      "parents": [
        "421f47ca9c2dcc78584b2bb609c3755483b55155"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 10 17:18:22 2015 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Apr 10 17:48:56 2015 -0700"
      },
      "message": "mediaplayer: support async mode for widevine legacy mode\n\nBug: 14679336\nChange-Id: Id224eb8c31ec148ca9a144758cc56ddbf5465f5c\n"
    },
    {
      "commit": "ed5554fb1c837f6b1008d3910018c979c57da502",
      "tree": "65ebd5ffd8e905b4756f01a508974464e2b4e5f0",
      "parents": [
        "52e88b2986536e83a7a6da63461556b8734a85f3"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Mon Apr 06 14:17:24 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Fri Apr 10 14:49:44 2015 -0700"
      },
      "message": "libstagefright: handle MediaFormat \"operating-rate\" key.\n\nBug: 19620911\nChange-Id: I846d3cc10308a13f2ed92bb82ba7e8236d9c67d1\n"
    },
    {
      "commit": "4c1efbc76f1dfeb9427617e451042a12bfb59ad3",
      "tree": "43c39c7172b3cfbbc26678a5233702a011ef27b3",
      "parents": [
        "c255757c795e5db87bafa6609c4ae052cf38b45b",
        "1849570240443d1f75775c205fa658f7070849c6"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 10 21:03:23 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 21:03:24 2015 +0000"
      },
      "message": "Merge \"Add a method to associate MediaDrm session with MediaCrypto\""
    },
    {
      "commit": "1849570240443d1f75775c205fa658f7070849c6",
      "tree": "86ad28892b0e8b49c8666ad39e340234c610e709",
      "parents": [
        "2fb25c873e1a7f346bd8c7c072a85ca6a74b0e95"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 10 04:10:59 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Fri Apr 10 04:10:59 2015 -0700"
      },
      "message": "Add a method to associate MediaDrm session with MediaCrypto\n\nPreviously, to associate a MediaDrm session with MediaCrypto,\nthe MediaDrm sessionId was passed as initData to the MediaCrypto\nconstructor.  This is not ideal for two reasons: it\u0027s pretty\nobscure and you can\u0027t change the association without tearing\ndown the MediaCodec/MediaCrypto and starting all over.  Use\ncases like key rotation require being able to update the\nMediaDrm session post-construction.  This CL addresses both of\nthese issues.\n\nbug: 19570317\nChange-Id: Ieb32d04d61742fc1dee2105dd904690d44c46c7b\n"
    },
    {
      "commit": "7d014e50b3acd60e73ed7d7a74dc58485c7a413c",
      "tree": "d2d5a07889b721c5d775c9da8c9dbc0531d19173",
      "parents": [
        "e62e16371b6c2f33072b3345e1d1853673b9a3d8",
        "8edb8dc44b8a2f81bdb5db645b6b708548771a31"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 03:28:12 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 03:28:12 2015 +0000"
      },
      "message": "Merge \"Add playback rate to AudioTrack\""
    },
    {
      "commit": "e62e16371b6c2f33072b3345e1d1853673b9a3d8",
      "tree": "7b771118f2df495918ce679dbd62f42b30392603",
      "parents": [
        "1c2dc0643141483cb7f90ee032845a1c38fe093a",
        "c5656cc900aeb4a705e27508dd82c70030a97709"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Fri Apr 10 03:27:59 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Apr 10 03:28:00 2015 +0000"
      },
      "message": "Merge \"Add playback rate to AudioMixer\""
    },
    {
      "commit": "8edb8dc44b8a2f81bdb5db645b6b708548771a31",
      "tree": "663bda0f8a3d43894fa6d3d3f4283ed0df427f03",
      "parents": [
        "c5656cc900aeb4a705e27508dd82c70030a97709"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 26 19:13:55 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 18:49:15 2015 -0700"
      },
      "message": "Add playback rate to AudioTrack\n\nBug: 19196501\nChange-Id: I6411e1d3ce652b711a71a6d9df020cb5f60d4714\n"
    },
    {
      "commit": "541c1721e517a44127f0086f77b4e679849bb8cc",
      "tree": "18d35f7ffc8bdd7dc5d006c548b20af554a7f42a",
      "parents": [
        "2fb25c873e1a7f346bd8c7c072a85ca6a74b0e95",
        "fa6a06765e7b92b7ba265482bd4cf3074f9ff6cc"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 09 23:59:06 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 23:59:06 2015 +0000"
      },
      "message": "Merge \"MediaClock: allow user to query playback rate.\""
    },
    {
      "commit": "079e121934106860af5ff5491bd3884453d1fdb3",
      "tree": "9e632f4ac530466a4d98ddde47b8f44f8378679c",
      "parents": [
        "bd903e363faeacaeae98252bfc753d5cac9de602",
        "ea20d117ef9b4e867ec3982c7d070e719617ba2f"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 09 22:28:53 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 22:28:54 2015 +0000"
      },
      "message": "Merge \"stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\""
    },
    {
      "commit": "ea20d117ef9b4e867ec3982c7d070e719617ba2f",
      "tree": "3a573f404a1fdbc793aa659ea2cfe63403f4adb4",
      "parents": [
        "31ffe45a22b72ee5d25bb4932d0525e90dbc19fe"
      ],
      "author": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 09 13:54:27 2015 -0700"
      },
      "committer": {
        "name": "Ronghua Wu",
        "email": "ronghuawu@google.com",
        "time": "Thu Apr 09 14:56:47 2015 -0700"
      },
      "message": "stagefright: define CB_CODEC_RELEASED and ReleaseReason enum.\n\nBug: 19620911\nChange-Id: I95e257c8aea2ef218f27ffaa2e62a8f12554d824\n"
    },
    {
      "commit": "fa6a06765e7b92b7ba265482bd4cf3074f9ff6cc",
      "tree": "745f872831d337fb97d6130765b1078ae74607b0",
      "parents": [
        "31ffe45a22b72ee5d25bb4932d0525e90dbc19fe"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 09 14:56:25 2015 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Apr 09 14:56:25 2015 -0700"
      },
      "message": "MediaClock: allow user to query playback rate.\n\nBug: 19666434\nChange-Id: I306579e481cfcf923422d50d3d5cfae045ef2227\n"
    },
    {
      "commit": "c5656cc900aeb4a705e27508dd82c70030a97709",
      "tree": "930d4266db7b4d93eb7ade5629812a722dc7920f",
      "parents": [
        "857d5a20a956ef61b64ae07b018ecc2f1eb0a503"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Mar 26 19:04:33 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Thu Apr 09 12:37:01 2015 -0700"
      },
      "message": "Add playback rate to AudioMixer\n\nBug: 19196501\nChange-Id: I42d1f90e6297cf3f1304860d1691a5dfedd4c37d\n"
    },
    {
      "commit": "03763a9573fcfdd0f85dd9ac0203e7da525a6c98",
      "tree": "cf48ab8ce281938ef7440a3ad67664cbbd628a39",
      "parents": [
        "31ffe45a22b72ee5d25bb4932d0525e90dbc19fe",
        "c481b5012a5f6cf72e5e93b36f1ed4c9169916f2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 09 17:47:46 2015 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Apr 09 17:47:47 2015 +0000"
      },
      "message": "Merge \"Pass crypto source data using a shared buffer\""
    },
    {
      "commit": "c481b5012a5f6cf72e5e93b36f1ed4c9169916f2",
      "tree": "bbb7920204199b43cd24075d48b8fa387a43059f",
      "parents": [
        "e41b5f31148f9cfb7316295c900c7d3c695510b2"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Mon Apr 06 18:21:05 2015 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 08 18:33:59 2015 -0700"
      },
      "message": "Pass crypto source data using a shared buffer\n\nMediaCodec was using a binder transaction buffer\nto pass encryption source data for protected content.\nOn some 4K content, the max binder transaction buffer\nsize was being exceeded.  This change uses a shared\nbuffer for the encryption source data instead of a\nbinder transaction buffer, which avoids the problem and\nmay be more efficient.\n\nbug: 20027687\nChange-Id: I36a24ebf600d7e1064b78e48b167fdc29b2c65e9\n"
    },
    {
      "commit": "6770c6faa3467c92eabc5ec9b23d60eb556a0d03",
      "tree": "45470127b227dbda5a346bb1902f92f8998c25bb",
      "parents": [
        "73c02e4277b399c2ec1555d32b6ad5df23bb83dc"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Tue Apr 07 13:43:36 2015 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Wed Apr 08 15:58:56 2015 -0700"
      },
      "message": "Enable 8 bit and float pcm record formats for AudioFlinger\n\nUpdate sampling rate handling as well.\n\nBug: 19570772\nChange-Id: I872248e64c0578b2e48869a68fee0d51bd0640c3\n"
    }
  ],
  "next": "6dc4dc4ad23dc82eca9af3112292f3e6d5b17b15"
}
