)]}'
{
  "log": [
    {
      "commit": "f6f4c0d7c5e2d33b38f080896466e56e2d0a97d4",
      "tree": "91469dbf726e28b68a80af692bd4160381c62e64",
      "parents": [
        "b104d5a4dfbd8415f6bc227106b9f0130350d79a",
        "114819633470ebd5b346c13c2a82a0025d2d39c0"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 23 01:31:34 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 22 16:13:36 2014 +0000"
      },
      "message": "Merge \"StagefrightRecorder: webm (video only) support\" into lmp-dev"
    },
    {
      "commit": "114819633470ebd5b346c13c2a82a0025d2d39c0",
      "tree": "1b18e4333bb8d3bde991fcea29e956be83e94b8b",
      "parents": [
        "d8cf55d878edddfc36bb821a95b88dfb2453c2c3"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 09 20:09:43 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Tue Jul 22 14:20:38 2014 -0700"
      },
      "message": "StagefrightRecorder: webm (video only) support\n\nBug: 16329805\nChange-Id: I8a0ecd100fca397add97a1416125bcc6aeb86364\n"
    },
    {
      "commit": "3a2956d148d81194e297408179e84a47a309ef48",
      "tree": "01af40a9fb8f1d5f0703ec8525f2a24583b8f8d7",
      "parents": [
        "ecc01ef05aea6b04aafc1b7d2d8f8519d0a8d928"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 22 16:01:33 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 22 17:27:23 2014 -0700"
      },
      "message": "Fall back to s/w decoding when audio offloading fails.\n\nChange-Id: Icde3d65c964b2a13fb1c6636adcce52ae048a3fb\n"
    },
    {
      "commit": "095248375e29adde961ec2a44989ecb3a6dda6a2",
      "tree": "41c5e1378f8c7274b257837a4356efc54436d330",
      "parents": [
        "cc227036b05f7c2f960a89c567a61f9decefe742"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 14:29:51 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 21:14:52 2014 -0700"
      },
      "message": "nuplayer: support widevine sources\n\n- handle widevine:// scheme\n- add separate looper for renderer (as it can block initial buffer\n  handling if all buffers are used)\n- initiate secure codecs before source is started\n- don\u0027t read secure buffers\n- share ACodec\u0027s input buffers with Widevine source\n\non the decoder side\n\n- keep track of mediabuffers released by widevine source\n- keep track of dequeued input buffers (for safety)\n- release mediabuffer when buffer is subsequently dequeued.  (This\n  was hardcoded into OMXCodec to do this when buffer-empties message\n  was handled, but MediaCodec does not support such functionality.)\n\nBug: 15699665\nChange-Id: I4a369443294e45c644be8b0257010e52db1d7c9b\n"
    },
    {
      "commit": "cc227036b05f7c2f960a89c567a61f9decefe742",
      "tree": "d0603a8e06d1c0de45c0c54177e463af7bf261d9",
      "parents": [
        "3cb576166020bfdc1522b33919fe5ff8d211d0a3"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 15:33:06 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Jul 17 19:35:25 2014 -0700"
      },
      "message": "nuplayer: add widevine support to GenericSource\n\nBug: 15699665\nChange-Id: Ided823bd0b1118bbabb288cf62d6389518f820a9\n"
    },
    {
      "commit": "dd235727a1b4e283deeb581559f99c2c8889da07",
      "tree": "f0adac3a3a1cc1c48e40caf470452608f12cbf20",
      "parents": [
        "d81d48961da30f657fb095ed00a697bd50266269"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jun 12 14:49:23 2014 -0700"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Wed Jul 16 20:32:21 2014 +0000"
      },
      "message": "GenericSource: implement getTrackCount/getTrackInfo\n\nBug: 15153976\nChange-Id: I0204c4188d485cda026497469c7cde24f7bd5c95\n"
    },
    {
      "commit": "bc2fb720bbd0acd122bacc67e844e982d068f6f9",
      "tree": "180dc675e82bdfe264f16cff93c719e576a5be06",
      "parents": [
        "0dba9b1719a598f5d78cbcef4b0b9e47313f1037"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jul 08 16:37:57 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jul 09 16:29:58 2014 -0700"
      },
      "message": "Add support of audio offloading for NuPlayer.\n\nChange-Id: Ic83973339fb46a83b48382e6097925f45d200867\n"
    },
    {
      "commit": "ba5e39b994b44cc458708eedd26c2d50404c9a46",
      "tree": "fdad016a3634de91ec5e89573bf9d46b0beaf45e",
      "parents": [
        "718cee5f3ba7c0a055fbeced90f26296f8acb117",
        "632740c58119a132ce19f6d498e39c5c3773971a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 23:30:13 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 07 17:47:39 2014 +0000"
      },
      "message": "Merge \"HLS: do not discard packets when queuing explicit discontinuity\""
    },
    {
      "commit": "718cee5f3ba7c0a055fbeced90f26296f8acb117",
      "tree": "c051432b32783dd4072bc460abd9fdc008d947c1",
      "parents": [
        "e8eb7a885e574858ddfe3dfd836fbe9ce62f92b8",
        "862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 20:52:31 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 08 17:33:57 2014 +0000"
      },
      "message": "Merge \"handle emulation_prevention_three_bytes for AVC\""
    },
    {
      "commit": "862f8455eaacc1ffb5d8911f0bc7ecc3cf7ec46c",
      "tree": "27f7ae818997dde8df89fac5b65fd21180b21911",
      "parents": [
        "e8f2c6cfe9afc5b303ab6b0fb51e18ddce512b54"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 26 19:55:23 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Jul 08 10:18:33 2014 -0700"
      },
      "message": "handle emulation_prevention_three_bytes for AVC\n\nbug: 15917805\nChange-Id: I824fe7eea807f8faba6b149c31890b7a5df87825\n"
    },
    {
      "commit": "d9d7fa0873796ac661c44a7fcd6ad5ff697ff01f",
      "tree": "237375ce1605b2d7bd896b23f0a2ba2f0235ae09",
      "parents": [
        "f92f22becdf7fce1f55d5ebd80ac2caa2ad55602"
      ],
      "author": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jun 24 08:01:46 2014 -0700"
      },
      "committer": {
        "name": "Jean-Michel Trivi",
        "email": "jmtrivi@google.com",
        "time": "Tue Jul 01 07:57:32 2014 -0700"
      },
      "message": "Support for audio attributes on audio output of media player\n\nChange-Id: Iae4995c98e64add1ab9e6c8ae6501515032755f5\n"
    },
    {
      "commit": "632740c58119a132ce19f6d498e39c5c3773971a",
      "tree": "834b867457d9f538f452e58c2372d791668befa5",
      "parents": [
        "e8f2c6cfe9afc5b303ab6b0fb51e18ddce512b54"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 26 13:03:47 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 26 16:30:00 2014 -0700"
      },
      "message": "HLS: do not discard packets when queuing explicit discontinuity\n\nin case of explicit discontinuity (#EXT-X-DISCONTINUITY tag in the\nplaylist), do not discard packets that\u0027s already queued.\n\n(when seeking, the old fetcher will be discarded so this won\u0027t affect\nseeking case.)\n\nBug: 15020526\nChange-Id: I5d3fc489df35e3bc44acb1ee7851571cb99cb56b\n"
    },
    {
      "commit": "840797f674f7c38d5215d0bcf0f4547c4e9a6957",
      "tree": "c1009748a8288b9b418b9597f0be853dd1f01c2a",
      "parents": [
        "a21fabc0639b79a71efb326449faf750a8347cc8",
        "76e4e02d6b6c1da140b8cbe48fc58035d2b7d311"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 24 19:42:42 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 24 19:42:42 2014 +0000"
      },
      "message": "am 76e4e02d: am 940c688d: Merge \"libmediaplayerservice: unused argument warning messages\"\n\n* commit \u002776e4e02d6b6c1da140b8cbe48fc58035d2b7d311\u0027:\n  libmediaplayerservice: unused argument warning messages\n"
    },
    {
      "commit": "76e4e02d6b6c1da140b8cbe48fc58035d2b7d311",
      "tree": "7a48c2c67e7c83055f26c0fe59584b3a52c44429",
      "parents": [
        "620f348faf3ce0c39e71338a005f1528765f4d1e",
        "940c688d76828ffd83929c661e75b5197903d30f"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 24 19:35:26 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 24 19:35:26 2014 +0000"
      },
      "message": "am 940c688d: Merge \"libmediaplayerservice: unused argument warning messages\"\n\n* commit \u0027940c688d76828ffd83929c661e75b5197903d30f\u0027:\n  libmediaplayerservice: unused argument warning messages\n"
    },
    {
      "commit": "247d9ebdbe7f165644f308745eee061fcbb77771",
      "tree": "195d7783e3105323156a8f9a846a1d4b67047dbb",
      "parents": [
        "da69fdbbeb79885a3c063a2017bd6d2848fcc312"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Mon Jun 23 14:14:40 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Tue Jun 24 10:10:04 2014 -0700"
      },
      "message": "libmediaplayerservice: unused argument warning messages\n\nChange-Id: I7dbf62858114ac9b8de6d7b66cc00e002769a5cf\n"
    },
    {
      "commit": "215ebcddf7216d15fde34f9a32d27f280d1b19d3",
      "tree": "c170ab50fd00c47edbc8db999afb0c947c410c0c",
      "parents": [
        "eaf07697a9146d27ca863db5c43da64af4f8c94a",
        "c1f4b2b73fe9432cb75ce1dd368475a2867e70ed"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 23 18:11:53 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jun 23 17:14:09 2014 +0000"
      },
      "message": "Merge \"Parse trex and mehd boxes\""
    },
    {
      "commit": "c1f4b2b73fe9432cb75ce1dd368475a2867e70ed",
      "tree": "88b7af43ca9c2d1752a28c602bacb4adc38e6172",
      "parents": [
        "7a4d7d6670f1766442b54045fb420dbf42b75750"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jun 17 14:48:32 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jun 23 10:24:14 2014 -0700"
      },
      "message": "Parse trex and mehd boxes\n\nAlso get duration from mvhd if available, use that in addition to track\ndurations to determine total length of file, clear track header\nstruct so we don\u0027t read uninitialized garbage from it, and take\ncomposition time offset into account for proper ordering when B frames\nare used.\n\nb/15669839\n\nChange-Id: Ibf3e35b5c7299bac11d0e78a391545fc325dd2d0\n"
    },
    {
      "commit": "77342f72fdf96603938a95fcbb9888ec90e71e68",
      "tree": "6d2abbaa5d530c2cfe65c1449e2ab0c41558f34d",
      "parents": [
        "7e4082ff105f5b2d8fe889b04703f9b828304fbd"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Wed Jun 18 16:31:32 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Jun 20 12:43:37 2014 -0700"
      },
      "message": "libmediaplayerservice: 64-bit compile warnings\n\nChange-Id: I333e52dc377becc774f3fa971c230ecb55ea8d7b\n"
    },
    {
      "commit": "3ea91c9593c2c792f96682f436b587c278fe228c",
      "tree": "b18751e595306babd0a818897c6c91f93035235b",
      "parents": [
        "bdb8ef09f119c3fa8cc751babd483e942ad17749",
        "a7fa1d9530b6870f2c7850e3025d7db963661803"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 16 18:13:39 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Jun 14 02:21:10 2014 +0000"
      },
      "message": "Merge \"support for CEA-608 closed caption\""
    },
    {
      "commit": "a7fa1d9530b6870f2c7850e3025d7db963661803",
      "tree": "384a6c52d5b13b09860eab611c264384e5444592",
      "parents": [
        "404fced9bfa8fa423ee210a271ca051ffd1bec13"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 11 14:49:23 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 13 10:18:09 2014 -0700"
      },
      "message": "support for CEA-608 closed caption\n\nBug: 15470448\n\nChange-Id: Ic6a527f5c35a8ee0a08a5b043336e4d193216083\n"
    },
    {
      "commit": "404fced9bfa8fa423ee210a271ca051ffd1bec13",
      "tree": "fe0cf90c5346cdcd2fcc6a78a8c245018c5f6b55",
      "parents": [
        "31dcd338b3826928646d77f23f977ecdd52598a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 11 14:45:31 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 13 10:17:23 2014 -0700"
      },
      "message": "refactor getTrackInfo()\n\n(this is in preparation for supporting other cc source)\n\n- split into two methods: getTrackCount() and getTrackInfo()\n\n- move track info parcelling to NuPlayer\n\n- parcel in the mime type of the subtitle format\n\nBug: 15470448\nChange-Id: If00724d8c3a2b2319cb9c5f29d3fe76347bfe947\n"
    },
    {
      "commit": "bdb8ef09f119c3fa8cc751babd483e942ad17749",
      "tree": "a21381af19f59d2a902e59cb71e4ebef9068a8cf",
      "parents": [
        "9c68ac03f16cc32625f6965e869432eae4fded2d",
        "404fced9bfa8fa423ee210a271ca051ffd1bec13"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Mon Jun 16 18:11:22 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Jun 12 17:09:07 2014 +0000"
      },
      "message": "Merge \"refactor getTrackInfo()\""
    },
    {
      "commit": "7903bb2b3065d58cc75637900922b434f50024d9",
      "tree": "33e825d96a3c1ca8a7778d50068e738d0cfa7272",
      "parents": [
        "14c403fbab456a4a63586a767fbae498f5f8c260",
        "2a8270e6944fb3addfcba87f6885aaad196b8b88"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 00:15:39 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 12 00:15:39 2014 +0000"
      },
      "message": "am 2a8270e6: am c323737d: Merge \"Offer a type-safe album art interface.\"\n\n* commit \u00272a8270e6944fb3addfcba87f6885aaad196b8b88\u0027:\n  Offer a type-safe album art interface.\n"
    },
    {
      "commit": "2a8270e6944fb3addfcba87f6885aaad196b8b88",
      "tree": "991b282008b0b02747b7b29c929e9d157dc08e62",
      "parents": [
        "ca44dc79b5a163030ab0963f80aa771871de092d",
        "c323737dd46d724b4c1ec230b283f26ae2a22b4f"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Thu Jun 12 00:06:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Jun 12 00:06:25 2014 +0000"
      },
      "message": "am c323737d: Merge \"Offer a type-safe album art interface.\"\n\n* commit \u0027c323737dd46d724b4c1ec230b283f26ae2a22b4f\u0027:\n  Offer a type-safe album art interface.\n"
    },
    {
      "commit": "c323737dd46d724b4c1ec230b283f26ae2a22b4f",
      "tree": "71f5fa54cfecfeffdce0b738e6b78e93f91f2ee8",
      "parents": [
        "8d6d8f546c1d6c55b79b454c720c03a80c738444",
        "f3e80dddd7376aa9deeb27de25e1d50030a2ad98"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 23:59:18 2014 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Jun 11 08:41:21 2014 +0000"
      },
      "message": "Merge \"Offer a type-safe album art interface.\""
    },
    {
      "commit": "f3e80dddd7376aa9deeb27de25e1d50030a2ad98",
      "tree": "a3ebf2e96fa0bb9b0375281692adf48333bca468",
      "parents": [
        "d3af4265dca4c8ebcead5376f1c73a5dafc34778"
      ],
      "author": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Tue Jun 10 16:55:38 2014 -0700"
      },
      "committer": {
        "name": "Elliott Hughes",
        "email": "enh@google.com",
        "time": "Wed Jun 11 14:45:27 2014 -0700"
      },
      "message": "Offer a type-safe album art interface.\n\nBug: 15514223\nChange-Id: Iddfc33a00e6cd3779ca09c01a55f62b151f6ec95\n"
    },
    {
      "commit": "ca44dc79b5a163030ab0963f80aa771871de092d",
      "tree": "90b01f61f3e9c228430d0790d2f61c3c61d59285",
      "parents": [
        "281b884c42fb6c2ba225009af3ecb4d84fbcc607",
        "8d6d8f546c1d6c55b79b454c720c03a80c738444"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 10 23:46:41 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Jun 10 23:46:41 2014 +0000"
      },
      "message": "am 8d6d8f54: Merge \"Add libcrypto for users of libstagefright.\"\n\n* commit \u00278d6d8f546c1d6c55b79b454c720c03a80c738444\u0027:\n  Add libcrypto for users of libstagefright.\n"
    },
    {
      "commit": "7dc5bfcf42cfb59025f615f494e29ff9e55990cc",
      "tree": "af628e9334fbc55b7fc8076fd905c6af08f05145",
      "parents": [
        "d3af4265dca4c8ebcead5376f1c73a5dafc34778"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 10 15:15:04 2014 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Jun 10 15:42:01 2014 -0700"
      },
      "message": "Add libcrypto for users of libstagefright.\n\nlibstagefright_rtsp uses some MD5 functions that used to be in bionic,\nbut it was removed recently. As an initial fix, I statically linked in\nlibcrypto_static to the libstagefright_rtsp library. However, I think\nit\u0027s better to modify the single user of this library to link against\nthe shared libcrypto library.\n\nChange-Id: Iaf2e1aeea32fd8af038f6e77bf58ea7df50d807a\n"
    },
    {
      "commit": "b9e55c4f17a91f070f78fb9fd72c08e461526e9e",
      "tree": "0ba19979f9dc8866047d9dd8102b7416f1085989",
      "parents": [
        "77fc9bbc4163c7ec7ac4b0dabf4f84325cca8473",
        "ca44dc79b5a163030ab0963f80aa771871de092d"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Jun 11 20:49:48 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Jun 11 20:49:48 2014 +0000"
      },
      "message": "am ca44dc79: am 8d6d8f54: Merge \"Add libcrypto for users of libstagefright.\"\n\n* commit \u0027ca44dc79b5a163030ab0963f80aa771871de092d\u0027:\n  Add libcrypto for users of libstagefright.\n"
    },
    {
      "commit": "ef0cf50343f8a6d74894f96f5ecb5eec4c5f1bc6",
      "tree": "175548fc3f59c7402f6c3676a5cea4505a740ae2",
      "parents": [
        "31dcd338b3826928646d77f23f977ecdd52598a3"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 11 10:27:28 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Jun 11 10:42:15 2014 -0700"
      },
      "message": "Log an error when audio/video encoder failed to create\n\nChange-Id: I493981cddeb9452c533e2917d8c440897d5e6b49\nrelated-to-bug: 15106730\n"
    },
    {
      "commit": "1cfe8ce28eafd5ff758adbb73bfb257503d7704b",
      "tree": "428175aa97ff5bcca5d867e9b5bb4cb931f61902",
      "parents": [
        "f7ceda1957d83f41f9af6c1991ee4cb767574349"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Jun 05 12:03:56 2014 -0700"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Jun 06 13:20:52 2014 -0700"
      },
      "message": "check camera permission for video source other than SURFACE\n\nBug: 15448704\nChange-Id: I5f5417037b877a6da3a46700ebb5a80ea59aac36\n"
    },
    {
      "commit": "704e72658b1082264a26a83c50046da34f07d1a1",
      "tree": "4c0877c83a827dafae8153430034a2da9d9ad9b2",
      "parents": [
        "ee777157c12a02e7350e18d49f7571b1222dfa69"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Jun 04 16:21:56 2014 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Thu Jun 05 09:25:32 2014 -0700"
      },
      "message": "Added paused state to NuPlayerDecoder\n\nThis prevents decoder from requesting new buffer until the decoder\nis resumed, and prevents processing a potential DISCONTINUITY while\nthe player is still flushing.\n\nBug: 13133027\n\nChange-Id: I2f9fa9f00c8583aa6908809cb7c31ddde07cfaf0\n"
    },
    {
      "commit": "dd114d19f65d8a5cdfddbaf6d3ef8119c6169b28",
      "tree": "df8064291ebf7bd7f761656b8aa5a8826f2d8fa4",
      "parents": [
        "5584c58c7c952b5ed891bbff3b00a0be3f96196d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 28 15:23:14 2014 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed May 28 15:23:14 2014 -0700"
      },
      "message": "Fix some NuPlayer issues.\n\nFixes OnSeekCompleted callback and calling getDuration immediately\nafter prepare().\n\nChange-Id: Ie58c509005cded278a0e50c87240b0a2d920b7d7\n"
    },
    {
      "commit": "14ead787204a1bfc13e92067691efaefd624fcae",
      "tree": "dfda813f08145e11cb1d2b4ca991c18490852060",
      "parents": [
        "7c96d53a65085f42ac2b6d416cbc16fd36ed72ff"
      ],
      "author": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 19 21:36:20 2014 -0700"
      },
      "committer": {
        "name": "Andy Hung",
        "email": "hunga@google.com",
        "time": "Mon May 19 21:36:20 2014 -0700"
      },
      "message": "Fix OGG recognition for 64 bit\n\nChange-Id: I4cef86ca05e06f508929d109a52e375169c33bf9\n"
    },
    {
      "commit": "1a7be1ec9c769203e6c8e26378de0ab8e2ad493d",
      "tree": "68773b199cc4adcb96124270863244477570c78e",
      "parents": [
        "f131f87369ec06fc27fc1f14ea72f0ca1a066509",
        "91820d46b5f3065c2fded3cdf65d305715b33bb1"
      ],
      "author": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 11:34:16 2014 -0700"
      },
      "committer": {
        "name": "Bill Yi",
        "email": "byi@google.com",
        "time": "Tue Apr 29 11:34:16 2014 -0700"
      },
      "message": "Merge commit \u002791820d46b5f3065c2fded3cdf65d305715b33bb1\u0027 into HEAD\n"
    },
    {
      "commit": "dd01ce9c28e37d4556606f481faeec032a1fe04e",
      "tree": "9d15e20598193a7c4ab3d90beb5f8405c8d27a6f",
      "parents": [
        "52a23bd3f8ace9f3a6295fc2d2b97e64665d77d8",
        "52a861d2825544fe2eb90f8e5f6351d02ff95536"
      ],
      "author": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 11 17:26:28 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Apr 11 17:26:28 2014 +0000"
      },
      "message": "am 52a861d2: Merge \"warnings be gone.\"\n\n* commit \u002752a861d2825544fe2eb90f8e5f6351d02ff95536\u0027:\n  warnings be gone.\n"
    },
    {
      "commit": "d411b4ca2945cd8974a3a78199fce94646950128",
      "tree": "e1c9e21525348fe826b91ecee7075ccb743f843d",
      "parents": [
        "51b3ea2b8f7298bffbd246c65a606cd053357b66"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Apr 11 07:54:53 2014 -0700"
      },
      "committer": {
        "name": "Mark Salyzyn",
        "email": "salyzyn@google.com",
        "time": "Fri Apr 11 17:12:03 2014 +0000"
      },
      "message": "warnings be gone.\n\n(cherry picked from commit 84333e0475bc911adc16417f4ca327c975cf6c36)\n\nModified by Mark Salyzyn \u003csalyzyn@google.com\u003e to keep merge conflicts\nor errors downstream to a minimum.\n\nChange-Id: Ic3b272f9cbf3155001aabd2f79728f1bc31de613"
    },
    {
      "commit": "638986a78c94081cded0cd87dc9d3b31965092a4",
      "tree": "44113f9b32efc0a8aa09edf4178ff9aab7204386",
      "parents": [
        "6b66a33d399bf2e5b5c555d22c39a9543839827a",
        "d009aa2bac4a4c8ca2e0c1203148194e237cc5d0"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 03 08:31:22 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 03 08:31:22 2014 +0000"
      },
      "message": "am d009aa2b: am 81e0bd44: Add signature|system permission to MediaDrm signer APIs\n\n* commit \u0027d009aa2bac4a4c8ca2e0c1203148194e237cc5d0\u0027:\n  Add signature|system permission to MediaDrm signer APIs\n"
    },
    {
      "commit": "d009aa2bac4a4c8ca2e0c1203148194e237cc5d0",
      "tree": "ccb0affb48caf578a223cbd6d2fd1a869f2c560e",
      "parents": [
        "54654025d656b437eeb5c5c9267104625bcc496d",
        "81e0bd44a10e90778ab5b0a3babd4fc52cadedd8"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Thu Apr 03 01:35:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Apr 03 01:35:29 2014 +0000"
      },
      "message": "am 81e0bd44: Add signature|system permission to MediaDrm signer APIs\n\n* commit \u002781e0bd44a10e90778ab5b0a3babd4fc52cadedd8\u0027:\n  Add signature|system permission to MediaDrm signer APIs\n"
    },
    {
      "commit": "81e0bd44a10e90778ab5b0a3babd4fc52cadedd8",
      "tree": "e593e5db634c29de4c9351d9a5f64f2f2e49d503",
      "parents": [
        "68d9d71a792deed75d32fe13febc07c9c12c8449"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 02 16:41:38 2014 -0700"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Wed Apr 02 16:41:38 2014 -0700"
      },
      "message": "Add signature|system permission to MediaDrm signer APIs\n\nChange-Id: If970e5ff8dcab2e67af2f3376dcd14dca82f2394\nrelated-to-bug: 12702350\n"
    },
    {
      "commit": "99021c47f45ee8bf3317cff7d08226e76c8d8227",
      "tree": "5f8c264aefbb41cab611f5db8272c36827b9fa39",
      "parents": [
        "118e7ff24af2e470ffed2bf7b37c9afa69afee92",
        "f356a123bf966150965a1af1cb9bd6ff2ca020de"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 01 22:23:23 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 01 22:23:23 2014 +0000"
      },
      "message": "am f356a123: am 68d9d71a: Support CAST V2 Authentication in MediaDrm\n\n* commit \u0027f356a123bf966150965a1af1cb9bd6ff2ca020de\u0027:\n  Support CAST V2 Authentication in MediaDrm\n"
    },
    {
      "commit": "f356a123bf966150965a1af1cb9bd6ff2ca020de",
      "tree": "22c31d7cd8430663ee6a78b5daafffc718f11454",
      "parents": [
        "4f1ef2cd65d734edae17f8586cf717598b40f2c3",
        "68d9d71a792deed75d32fe13febc07c9c12c8449"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Apr 01 22:00:45 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Apr 01 22:00:45 2014 +0000"
      },
      "message": "am 68d9d71a: Support CAST V2 Authentication in MediaDrm\n\n* commit \u002768d9d71a792deed75d32fe13febc07c9c12c8449\u0027:\n  Support CAST V2 Authentication in MediaDrm\n"
    },
    {
      "commit": "68d9d71a792deed75d32fe13febc07c9c12c8449",
      "tree": "15ba0a2a541bd0b69fa286d04c9cc40d30b49871",
      "parents": [
        "1000d426bedb1ec38bdfff98fc8f004b64af13cb"
      ],
      "author": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Tue Mar 04 13:21:31 2014 -0800"
      },
      "committer": {
        "name": "Jeff Tinker",
        "email": "jtinker@google.com",
        "time": "Sat Mar 29 08:43:09 2014 -0700"
      },
      "message": "Support CAST V2 Authentication in MediaDrm\n\nJava API version\n\nUpdate frameworks to enable support for CAST\nV2 Authentication in the DRM Plugin.\n\nChange-Id: I9066ada0edf8e0d777c503897d8c7fc7f76f2861\nrelated-to-bug: 12702350\n"
    },
    {
      "commit": "b47558f87ee9bd4fce11a2d5bc213bd1aa9031a8",
      "tree": "762e884fdd1ab5720f2de39080188cbf1b868d77",
      "parents": [
        "1490d5142d8d485ea0d56a9974726fb6dff0a62d"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 28 09:53:46 2014 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 28 09:58:26 2014 -0700"
      },
      "message": "mediaplayer: add temporary developer settings to use NuPlayer as default\n\nBug: 11784824\nChange-Id: Ic98f5fd15ee283d7f581bdc3331d000198ecc9e8\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": "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": "236104afb2300b7d969b1dc786f14b5f912df1cf",
      "tree": "d8b9d1ea56541d1c7a9cdc7e7f4eeea86f1b30bd",
      "parents": [
        "f10b9885462bea2f0c683038d6833ee230ad9eb2",
        "089affb6c2d9ed1e2d49df4be02d30dc490506f9"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Fri Mar 14 20:53:30 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 14 20:53:30 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": "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": "af783aa91f7a279153fb8bab8d0d6b9f737996e9",
      "tree": "25c5b54bf884f220cce4ee21a9cbaf6583820f91",
      "parents": [
        "19afb3869eb6a3e3733dc1f7420e1d4c3c03d376"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Sun Mar 02 19:48:19 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@android.com",
        "time": "Wed Mar 12 11:24:53 2014 -0700"
      },
      "message": "mediaserver and associated services are 32-bit only\n\nalso 32-bit only command-line apps\n\nChange-Id: I9ac557a8d02bbf6986a9b5c3cdce23d400b306a3\n"
    },
    {
      "commit": "1cd139824b2e6832f239cd27d8962d3239053c02",
      "tree": "a56580b67303cd3a4aef0ab6914facc98f6f9a83",
      "parents": [
        "e0381245dff04aa823a59aa8b85869eddab0f39f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Jan 17 15:12:51 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 10 11:40:04 2014 -0700"
      },
      "message": "NuPlayer: use MediaCodec instead of ACodec\n\nBug: 11785204\nChange-Id: I1455bfc683469c7a69e565b179aceacbc5c459f5\n"
    },
    {
      "commit": "259f1624cf7b93ba831af10a616267487601c27f",
      "tree": "69e0a151701a0a3b97f88d0859f0f674219e073b",
      "parents": [
        "664334fc2204b9968e1600313383f5a6ff321811"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Feb 21 15:39:01 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Mar 10 11:40:03 2014 -0700"
      },
      "message": "Revert \"NuPlayer: Use a software renderer when using software codecs\"\n\nRemove software renderer support from NuPlayer because it is included\nin MediaCodec.\n\nChange-Id: I06e001df76df2e18ea8169620ff33aeec57e5ca2\n"
    },
    {
      "commit": "3eee65fa79e382b065ff5299bdc81f3a5b85be9a",
      "tree": "06ae58990f32e0f8d51a90a22cce7733290156ad",
      "parents": [
        "c202aed28f3a24a7fbc74f7a65d806ef8deefb0b",
        "49ea13379fb15ddb73183ebafa3a377342ef932f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 07 18:31:25 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 18:31:25 2014 +0000"
      },
      "message": "am 49ea1337: Merge changes I787e1c05,I72d3a5e1,I0a5cc65f,I75fc2a25,I2c2be08d, ... into klp-dev\n\n* commit \u002749ea13379fb15ddb73183ebafa3a377342ef932f\u0027:\n  LiveSession: Use the actual, possibly redirected url as base in the M3U\n  M3UParser: Skip query strings when looking for the last slash in a URL\n  ChromiumHTTPDataSource: Keep track of the redirected URL\n  Initial HLS seamless switch implementation.\n  NuPlayer side support for seamless format switch.\n  LiveSession refactor\n  PlaylistFetcher: Add support for block-by-block decryption.\n  LiveSession: Add support for block-by-block fetchFile.\n"
    },
    {
      "commit": "31a98ad0da98227f3c76469e7a8a267c9539b6e8",
      "tree": "c78392dbff169a61ae80e20759e109f4a70c2159",
      "parents": [
        "621d382baa8e300036f58e7acd43bda9ce87f854",
        "8d1caa026caef3673799481c5fba454306f831e9"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 07 10:29:08 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Fri Mar 07 10:29:08 2014 +0000"
      },
      "message": "resolved conflicts for merge of 8d1caa02 to klp-modular-dev-plus-aosp\n\nChange-Id: Ibcb60d0d3bbc8beb54440951ffe8a14b946ccc85\n"
    },
    {
      "commit": "8d1caa026caef3673799481c5fba454306f831e9",
      "tree": "654e8de748a437c7d25550381ff7c0c8015fe40e",
      "parents": [
        "04352de2e32d6dc0901436951f69357f5cd8655c",
        "49ea13379fb15ddb73183ebafa3a377342ef932f"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Fri Mar 07 02:42:14 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Mar 07 02:42:14 2014 +0000"
      },
      "message": "am 49ea1337: Merge changes I787e1c05,I72d3a5e1,I0a5cc65f,I75fc2a25,I2c2be08d, ... into klp-dev\n\n* commit \u002749ea13379fb15ddb73183ebafa3a377342ef932f\u0027:\n  LiveSession: Use the actual, possibly redirected url as base in the M3U\n  M3UParser: Skip query strings when looking for the last slash in a URL\n  ChromiumHTTPDataSource: Keep track of the redirected URL\n  Initial HLS seamless switch implementation.\n  NuPlayer side support for seamless format switch.\n  LiveSession refactor\n  PlaylistFetcher: Add support for block-by-block decryption.\n  LiveSession: Add support for block-by-block fetchFile.\n"
    },
    {
      "commit": "0523da8f16557a85395da86ab76be6d8cb771da0",
      "tree": "41e633ee427fcec6193782b8cd1766089d5e20ed",
      "parents": [
        "6c8495c8f1ccc35db972ee7ac0dbb8baf5843548"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jan 23 16:18:22 2014 -0800"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Thu Mar 06 16:26:58 2014 -0800"
      },
      "message": "NuPlayer side support for seamless format switch.\n\nAvoid reinstantiating decoder if seamless format switch is supported.\n\nBug: 11854054\nChange-Id: I2c2be08d6da90cc835ec747d04a76db2313dfc7c\n"
    },
    {
      "commit": "d0115d8c4db2f337030dea706bc0a434c4a03ed6",
      "tree": "239450c60bc4cb8519edeb8985dbc601fe51c652",
      "parents": [
        "7e92abeafb184e8a34213d7149592e95a72601b0"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 26 17:16:50 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed Mar 05 12:17:54 2014 -0800"
      },
      "message": "update offloaded audio track sampling rate\n\nAudioPlayer must read the sampling rate from offloaded audio sinks\nwhenever a new time position is computed as the decoder can update\nthe sampling rate on the fly.\n\nBug: 12823955.\n\nChange-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88\n"
    },
    {
      "commit": "bce50bfc3846ab008bafa75c5d3f29fd7b5395f7",
      "tree": "ebefb9f660bf71aec96bd297e155d12c9d3588e8",
      "parents": [
        "838b3d8bafa4a781e277870dee4e0390165cff52"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Feb 27 15:29:51 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 28 07:56:38 2014 -0800"
      },
      "message": "Fix type of AudioTrack/AudioRecord parameter frameCount\n\nIt\u0027s size_t consistently\n\nChange-Id: I29638ef59ac773218025f2403a3508a307b487e0\n"
    },
    {
      "commit": "e27e2d9bcabc1a367cb56b4599665c931a1d22ec",
      "tree": "5ec47116fa737797ad8fd1d737ce27d4161103f2",
      "parents": [
        "3d2e09f0221693de08129edd02adf340a44e7a38"
      ],
      "author": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 14:29:56 2014 -0500"
      },
      "committer": {
        "name": "Derek Sollenberger",
        "email": "djsollen@google.com",
        "time": "Thu Feb 27 14:29:56 2014 -0500"
      },
      "message": "Fix includes to no longer pull in Skia includes directories.\n\nbug:13225538\nChange-Id: I4fccc414923f7e62cd46d691c67cb44b9692c225\n"
    },
    {
      "commit": "1a5690652f3f6ee40f15c2f9f6c4b6badf4dbcf5",
      "tree": "2bfbca1610aa0124277262905ae7eb6bb171a2e1",
      "parents": [
        "882469cfe767188a4c67d2d83f3d72ab553a4818"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 25 21:56:07 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 26 10:44:51 2014 -0800"
      },
      "message": "initialize encoder at start() time for camera source\n\nBug: 13156212\nChange-Id: I845ef51f662f04c50179dbfb128204922a424e1d\n"
    },
    {
      "commit": "9e2c298daec57edcf3d4d740673ebb94819f84c1",
      "tree": "3321238a97e8d7ab8a79bfc71b26b97bb208ca1e",
      "parents": [
        "20550a3ae42e2797776802149e3be420ecb064b8",
        "6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Feb 24 19:59:27 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Feb 24 19:59:29 2014 +0000"
      },
      "message": "Merge \"NuPlayer side support for seamless format switch.\""
    },
    {
      "commit": "6d0a94ead4f6e62b8ca9b2b1d775ffcd0a7a7aab",
      "tree": "ae76d5da5f6acb66e553abc039e7e8d4bfc6c0f5",
      "parents": [
        "3a005b3b19b750afe24577ae322aff4602ca2740"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Thu Jan 23 16:18:22 2014 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Feb 24 11:26:54 2014 -0800"
      },
      "message": "NuPlayer side support for seamless format switch.\n\nAvoid reinstantiating decoder if seamless format switch is supported.\n\nChange-Id: I2c2be08d6da90cc835ec747d04a76db2313dfc7c\n"
    },
    {
      "commit": "dc6ac201032d0f6ad0c8149ae2f009ec38693025",
      "tree": "66b04298c58f76a0c9723dcd6c6dbb2ebfa6ee63",
      "parents": [
        "323da1015a758243c2c43017b026a01c6cf0c6f2",
        "2c9c8cba8562cc3a27532e4cd348912cc78d8d98"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Sat Feb 22 04:42:25 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Sat Feb 22 04:42:25 2014 +0000"
      },
      "message": "Merge \"support for time lapse/slow motion when using SURFACE source\""
    },
    {
      "commit": "2c9c8cba8562cc3a27532e4cd348912cc78d8d98",
      "tree": "dab3690baff0f03f604a41321281ce2f39167272",
      "parents": [
        "b63d2433350d56bda9f3477549086c90bb6d535e"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Tue Feb 11 13:54:59 2014 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Fri Feb 14 17:42:47 2014 -0800"
      },
      "message": "support for time lapse/slow motion when using SURFACE source\n\nBug: 13032650\nChange-Id: Iecbadf9f29c8c49353416fc467fb3acdde279595\n"
    },
    {
      "commit": "c940c38242e8e0265db25a646ad63263934f2bb9",
      "tree": "6da7629ff9195d916a7ee7974dced87e830bce51",
      "parents": [
        "240abcc4bf661a10ffca24859945796acc76ac6e",
        "d457c970c8d08519cd77280a90b61ae1e342cfe3"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 13 22:44:29 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 13 22:44:30 2014 +0000"
      },
      "message": "Merge \"Track pid for each session\""
    },
    {
      "commit": "240abcc4bf661a10ffca24859945796acc76ac6e",
      "tree": "b3d3669ccb1da7a3cf2fc27cbd30d4c596acbdbd",
      "parents": [
        "29182ee0515bd8dd56a22bc1d0c7cad7ca4cfd86"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 13 13:32:37 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Feb 13 13:40:46 2014 -0800"
      },
      "message": "Remove unused FragmentedMP4Parser and friends. The functionality has been\n\nsubsumed into MP4Extractor.\n\nChange-Id: Ic1b6445660adfb985c604f1ca6f0c86585f8de04\n"
    },
    {
      "commit": "ccb067b1d8424ba610cbd3de83368bd55b532b5b",
      "tree": "bf84c5014263d1d72370d5274edb4a3f9711aa8f",
      "parents": [
        "880c6b2dd8b2fe2ab0054e74bbc108d322e82aa0"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 11 14:45:59 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 11 14:48:27 2014 -0800"
      },
      "message": "fix the build by fixing more warnings.\n\nChange-Id: Ied0ec39eb83b101582702d1e30c21643ccf6353e\n"
    },
    {
      "commit": "d457c970c8d08519cd77280a90b61ae1e342cfe3",
      "tree": "f0f409db4d834b4d70b2244dd97dfa707496df50",
      "parents": [
        "1d6fa7af1288b550faabe4ec2cf98684236723db"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 11 08:47:07 2014 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Feb 11 12:39:43 2014 -0800"
      },
      "message": "Track pid for each session\n\nso they can be properly freed.\n\nChange-Id: I6f389035bc29e74e7c367c1c6d0252b180f666b3\n"
    },
    {
      "commit": "84333e0475bc911adc16417f4ca327c975cf6c36",
      "tree": "4973c505d7c73d883c2cd796bc66ba96312c4a7a",
      "parents": [
        "1d6fa7af1288b550faabe4ec2cf98684236723db"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Fri Feb 07 15:36:10 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 11 11:41:07 2014 -0800"
      },
      "message": "warnings be gone.\n\nChange-Id: Ie3bae3f037730e316d7fca12e7a3527973f752ef\n"
    },
    {
      "commit": "1d6fa7af1288b550faabe4ec2cf98684236723db",
      "tree": "a8801ca9a0925ba1faccf17acea4aa78d71a9d29",
      "parents": [
        "b82a9f105f89d6b3684c9f626918042bd8977912",
        "566be7c33fc56ae4c34168ecbee5316374f7e3c5"
      ],
      "author": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 13:47:53 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 13:53:20 2014 +0000"
      },
      "message": "resolved conflicts for merge of 566be7c3 to master\n\nChange-Id: I7b1cc71057b2bd4f771e7bcf508a8c3abd6017ce\n"
    },
    {
      "commit": "377b2ec9a2885f9b6405b07ba900a9e3f4349c38",
      "tree": "b938e1d75a1beefae86244f287ca22f4a277740d",
      "parents": [
        "cdda7bf4d3ca9cad6979374a18dd5be79ea83d80"
      ],
      "author": {
        "name": "Kévin PETIT",
        "email": "kevin.petit@arm.com",
        "time": "Mon Feb 03 12:35:36 2014 +0000"
      },
      "committer": {
        "name": "Narayan Kamath",
        "email": "narayan@google.com",
        "time": "Tue Feb 11 11:40:06 2014 +0000"
      },
      "message": "Make frameworks/av 64-bit compatible\n\nContains the necessary changes to make frameworks/av build and work\non a 64-bit machine.\n\nSigned-off-by: Craig Barber \u003ccraig.barber@arm.com\u003e\nSigned-off-by: Kévin PETIT \u003ckevin.petit@arm.com\u003e\nSigned-off-by: Ashok Bhat \u003cashok.bhat@arm.com\u003e\nSigned-off-by: Marcus Oakland \u003cmarcus.oakland@arm.com\u003e\n\nChange-Id: I725feaae50ed8eee25ca2c947cf15aee1f395c43\n"
    },
    {
      "commit": "8497416c40bae877bc67b0ef30bb41a73af54711",
      "tree": "34c4c44bab140953cfa9b3576f9a2a5e3c82f09d",
      "parents": [
        "1dd3da08445ac96e64a1ca72ba0c11876cc4d631",
        "429f2bf7527daf872a1bbdafca8ad28635b84644"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Mon Feb 10 12:51:29 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Feb 10 12:51:29 2014 +0000"
      },
      "message": "am 429f2bf7: am e2307ccb: Merge \"frameworks/av: fix errors inside ALOGV\"\n\n* commit \u0027429f2bf7527daf872a1bbdafca8ad28635b84644\u0027:\n  frameworks/av: fix errors inside ALOGV\n"
    },
    {
      "commit": "80520381d0bdf3451bd17c9ddef73d3fe71c58c2",
      "tree": "6e808da46811a04acb53993b6a5ba2c71d14e126",
      "parents": [
        "85f06f640d364490dbf133f55e9d62d7c7c0db11"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jan 31 16:49:31 2014 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Feb 07 08:42:56 2014 -0800"
      },
      "message": "Fix warnings about unused parameters\n\nChange-Id: I27dc108e2c1f7ffd414bb7ff3d4c349651da6c26\n"
    },
    {
      "commit": "94dcc94b16cc6c2a7aa02df2d0d6b8743d738d78",
      "tree": "56cdd5bda1b552f0c2cfc54efa0f44c4848c31ed",
      "parents": [
        "d66cd743525cc049033caa3e81cbdf74c72a4556"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 06 20:29:44 2014 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Thu Feb 06 20:29:44 2014 -0800"
      },
      "message": "frameworks/av: fix errors inside ALOGV\n\nFix errors exposed by adding compile-time checking to disabled ALOGVs.\n\nChange-Id: I9602a4a485dffa3caad732c2a19ec0e41a0ac65b\n"
    },
    {
      "commit": "7ca6e73bed1d2e1a928104feb6e9ae92953bfff5",
      "tree": "8c5d766aec7032948ec33172c060c3dc91bb9594",
      "parents": [
        "96f8436385163764cda10f1d45e13b9bd691a8b4",
        "72cecca17d735db6532c45f0a7e10c47ee6f065a"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Feb 06 18:15:49 2014 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Thu Feb 06 18:15:50 2014 +0000"
      },
      "message": "Merge \"Change StagefrightRecorder to use MediaCodec\""
    },
    {
      "commit": "72cecca17d735db6532c45f0a7e10c47ee6f065a",
      "tree": "d2f532b1909ea605f10e6044d2f027e7e58a8575",
      "parents": [
        "412d4744efae64083e4f99a664e3efaba031af48"
      ],
      "author": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Thu Dec 26 01:38:35 2013 -0800"
      },
      "committer": {
        "name": "Chong Zhang",
        "email": "chz@google.com",
        "time": "Wed Feb 05 15:46:26 2014 -0800"
      },
      "message": "Change StagefrightRecorder to use MediaCodec\n\nBug: 12305192\nChange-Id: I72d7cb571be5bd348b58ad650f3269d24c15d350\n"
    },
    {
      "commit": "81e68448f3361eaf8618930471fdc3c21bdf5cbc",
      "tree": "afc00a9a35746f18f85200755870067b4d63dd80",
      "parents": [
        "412d4744efae64083e4f99a664e3efaba031af48"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 05 11:52:33 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Feb 05 12:27:54 2014 -0800"
      },
      "message": "Remove no longer needed http proxy handling code, it\u0027s obsolete now\n\nsince we started to use java\u0027s HTTPConnection instead of the native\nimplementation. Also remove other remnants of the previous http implementation,\nsuch as accounting for the http user\u0027s uid.\n\nChange-Id: I60bfd31381ea40d2220db587ec5c433093b60034\n"
    },
    {
      "commit": "1b86fe063badb5f28c467ade39be0f4008688947",
      "tree": "d88660112d407540184ad8e1292ed8aa98fae317",
      "parents": [
        "5ce88270eb2d41462de8c4155673b802b2ca48cb"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Wed Jan 29 11:13:26 2014 -0800"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Feb 04 15:11:53 2014 -0800"
      },
      "message": "FINAL ATTEMPT: HTTP services are now provided from JAVA and made available to media code\n\nChange-Id: I9f74a86e70422187c9cf0ca1318a29019700192d\n"
    },
    {
      "commit": "8b567a219c3c7673d0b17e2a4da7e9ac4e984c3c",
      "tree": "6164dc629c28f24af2cb84861976be127ff7724b",
      "parents": [
        "543140eb709a07bc386eb5f667a4a72e31dba56c",
        "fea77cb3c22dcb691f44b939c626ae3070212b73"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jan 17 20:11:41 2014 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jan 17 20:11:41 2014 +0000"
      },
      "message": "am fea77cb3: am fd0daeb3: am 4cc47940: Merge \"Fix compile error in NuPlayerRenderer debug print\"\n\n* commit \u0027fea77cb3c22dcb691f44b939c626ae3070212b73\u0027:\n  Fix compile error in NuPlayerRenderer debug print\n"
    },
    {
      "commit": "d6074f08cc37843e8c599b2ab4b16d87c3bc67eb",
      "tree": "b9efca36c8d9890fcd86b33be746548a67e907c3",
      "parents": [
        "8115f4b206dbd04c620f062feb3c7785e2732ab3"
      ],
      "author": {
        "name": "Oscar Rydhé",
        "email": "oscar.rydhe@sonymobile.com",
        "time": "Tue Oct 15 09:54:08 2013 +0200"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Fri Jan 03 13:58:02 2014 +0100"
      },
      "message": "Fix compile error in NuPlayerRenderer debug print\n\nWhen activating verbose log prints in NuPlayerRenderer the build\nfails because a variable have changed but the log print hasn\u0027t been\nupdated.\n\nChange-Id: I3089b087d296c37dfe6379d7e75d5892912fef96\n"
    },
    {
      "commit": "5e49afd05566820517747b9a8071c99ec0918328",
      "tree": "0dd9697822c0bd70f03bb776bc78e2da60f28991",
      "parents": [
        "a67c76538fff102cd44b2f38dd073df5f2a33605"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 26 17:16:50 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Dec 17 13:41:37 2013 -0800"
      },
      "message": "update offloaded audio track sampling rate\n\nAudioPlayer must read the sampling rate from offloaded audio sinks\nwhenever a new time position is computed as the decoder can update\nthe sampling rate on the fly.\n\nChange-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88\n"
    },
    {
      "commit": "e2d617f5ba7fb90f27b03e2593666b2c927e4dc9",
      "tree": "187992f0c2d4bc565ca24b34aa0ee78e359a3f68",
      "parents": [
        "92630351d265a61faae2dfe006a8bb330283aa7b",
        "2381f06f374ee0cb8bca0edf5388394432b00e6d"
      ],
      "author": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Dec 05 12:38:14 2013 -0800"
      },
      "committer": {
        "name": "The Android Open Source Project",
        "email": "initial-contribution@android.com",
        "time": "Thu Dec 05 12:38:14 2013 -0800"
      },
      "message": "Merge commit \u00272381f06f374ee0cb8bca0edf5388394432b00e6d\u0027 into HEAD\n"
    },
    {
      "commit": "84acd489b93e04bea7aab06d8abb024eef2576fd",
      "tree": "71ac66fba81649361ae864a9b99a696fc9b5d95d",
      "parents": [
        "866d90595a177f6027e97161781948baebf2aa68",
        "7ecfe4ec3f6842377f840513850ad31933bcea30"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Dec 02 23:31:18 2013 +0000"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Dec 02 23:31:18 2013 +0000"
      },
      "message": "am 7ecfe4ec: am 92630351: Merge \"NuPlayer: Use a software renderer when using software codecs\"\n\n* commit \u00277ecfe4ec3f6842377f840513850ad31933bcea30\u0027:\n  NuPlayer: Use a software renderer when using software codecs\n"
    },
    {
      "commit": "7ecfe4ec3f6842377f840513850ad31933bcea30",
      "tree": "c95547faa2d3b54defca0991f755b3e04de9b62f",
      "parents": [
        "616c2cf1507898a0de4228b95d435fd36ec1e029",
        "92630351d265a61faae2dfe006a8bb330283aa7b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 28 09:34:37 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Thu Nov 28 09:34:37 2013 -0800"
      },
      "message": "am 92630351: Merge \"NuPlayer: Use a software renderer when using software codecs\"\n\n* commit \u002792630351d265a61faae2dfe006a8bb330283aa7b\u0027:\n  NuPlayer: Use a software renderer when using software codecs\n"
    },
    {
      "commit": "92630351d265a61faae2dfe006a8bb330283aa7b",
      "tree": "c3f2d9f3e92406c1a9922eba728a6499a9608aec",
      "parents": [
        "90892d1be84776f59a619ea4ef9ce51be5828ff8",
        "da38df5f080eb62a06b22c5bada4357cf756255e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Nov 28 17:26:16 2013 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Nov 28 17:26:18 2013 +0000"
      },
      "message": "Merge \"NuPlayer: Use a software renderer when using software codecs\""
    },
    {
      "commit": "6f59db12a64f4496866952a251122ccb77a36c6b",
      "tree": "29fcb69aa1f491974ec2b2ea5a01155b53940be5",
      "parents": [
        "23700debf767ef7fdfc30d96612771c3a03ad40d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jul 26 17:16:50 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 22 09:09:51 2013 -0800"
      },
      "message": "update offloaded audio track sampling rate\n\nAudioPlayer must read the sampling rate from offloaded audio sinks\nwhenever a new time position is computed as the decoder can update\nthe sampling rate on the fly.\n\nChange-Id: I997e5248cfd4017aeceb4e11689324ded2a5bc88\n"
    },
    {
      "commit": "b4213a1252c23115f3fac77101adb33a9c6b9423",
      "tree": "1477fe0312af38a2a24e655f7d62d7c1b9b1f38f",
      "parents": [
        "b5099903c059dc913e0e592969c10d15fac0c14c",
        "576e89b523d7705545032edc67d98d9ab1dedbd2"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Nov 15 08:27:06 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Nov 15 08:27:06 2013 -0800"
      },
      "message": "am 576e89b5: am 7dae71d6: Merge \"AwesomePlayer: correct stream type for offload\" into klp-dev\n\n* commit \u0027576e89b523d7705545032edc67d98d9ab1dedbd2\u0027:\n  AwesomePlayer: correct stream type for offload\n"
    },
    {
      "commit": "22612345ae97648d5b6db43cc1aa30aad77f7bba",
      "tree": "73b47a621118d0fa56d27929a9447e90ca27c97d",
      "parents": [
        "4215e6166fca9f87a6e9e848b3dfd4ab0d25c954"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 14 17:28:47 2013 -0800"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Nov 14 17:36:42 2013 -0800"
      },
      "message": "AwesomePlayer: correct stream type for offload\n\ncanOffloadStream() function in stagefright utils forces the\nstream type to AUDIO_STREAM_MUSIC when querying the audio policy\nmanager if a particular track is offloadable or not.\nThis causes MP3 ringtones to be offloaded which is not a validated use case.\n\nThe fix consists in using the actual stream type read from the AudioSink.\n\nBug: 11410937.\nChange-Id: I44b8e033a8e785a79cdc291b142f80b5580bdc4d\n"
    },
    {
      "commit": "b5099903c059dc913e0e592969c10d15fac0c14c",
      "tree": "3b483d46c7f73ac56109aef87a30e3747c3a63b1",
      "parents": [
        "27c70d391da6fde79d2e03fb767f9913555c1e9c",
        "4db37cedd4db8230f3ec6191d8d7ba2b0036886e"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Fri Nov 15 01:18:55 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Nov 15 01:18:56 2013 +0000"
      },
      "message": "Merge \"Fixed StagefrightRecorder::setupVideoEncoder to use the clipped bitrate value mVideoBitRate; removed unused arguments after refactoring.\""
    },
    {
      "commit": "4db37cedd4db8230f3ec6191d8d7ba2b0036886e",
      "tree": "d5869a78738ed4dff4c843d25e84a78ca0afbb63",
      "parents": [
        "0f3984ed3271484e223826e8a2e5f70c4111e08f"
      ],
      "author": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 11 21:14:30 2013 -0800"
      },
      "committer": {
        "name": "Robert Shih",
        "email": "robertshih@google.com",
        "time": "Mon Nov 11 21:14:30 2013 -0800"
      },
      "message": "Fixed StagefrightRecorder::setupVideoEncoder to use the clipped bitrate value\nmVideoBitRate; removed unused arguments after refactoring.\n\nBug: 11074303\nChange-Id: Ieb5dd7dc67e5bc16b6e580ba11b157e4365f3cd6\n"
    },
    {
      "commit": "41e7ae8f7f1ec93f8473142d1f3bfe07b22c5c51",
      "tree": "5617abecb89dfaddc547f4c73d8363d9d7f92ce6",
      "parents": [
        "0f3984ed3271484e223826e8a2e5f70c4111e08f",
        "cc5aeced30609326c7495eca1286163af3933fe1"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Nov 11 20:50:31 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 11 20:50:31 2013 -0800"
      },
      "message": "am cc5aeced: am e100b813: Merge \"StageFrightRecorder: do not use meta-data mode for software encoders\" into klp-dev\n\n* commit \u0027cc5aeced30609326c7495eca1286163af3933fe1\u0027:\n  StageFrightRecorder: do not use meta-data mode for software encoders\n"
    },
    {
      "commit": "e100b813c4d833b48b48b74100ad0b9a82c46954",
      "tree": "9a4688c5998afa5dfd86cb04e01e8b47c3fd702d",
      "parents": [
        "a72911563b0e5b21b196d40249b53975bf8d8f85",
        "9c7f845780d62ea09469a8dac7117cc01adfea5c"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Mon Nov 11 16:16:46 2013 +0000"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Nov 11 16:16:47 2013 +0000"
      },
      "message": "Merge \"StageFrightRecorder: do not use meta-data mode for software encoders\" into klp-dev"
    },
    {
      "commit": "36bbb12410d4119cf3871ae9453a898c80d94800",
      "tree": "e58ce30e3cef7220c48f6e2c73cd2ef48c146156",
      "parents": [
        "21264c4f0de2e2e74a62290a4aaafea4cc865528",
        "921688852b72bfa921913b8afe18c0d749c6797d"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Nov 04 21:59:12 2013 -0800"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Nov 04 21:59:12 2013 -0800"
      },
      "message": "am 92168885: am f8a1169d: Merge \"Notify current video size if available\" into klp-dev\n\n* commit \u0027921688852b72bfa921913b8afe18c0d749c6797d\u0027:\n  Notify current video size if available\n"
    },
    {
      "commit": "3e518fd5d679abb83b654e473ea0fa5f7f16235f",
      "tree": "96ca7ab7e49d6f1535bc459bf89d8a1040e5a219",
      "parents": [
        "9cae217050aa1347d4ac5053c305754879e3f97f"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 01 10:33:18 2013 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Nov 01 10:33:18 2013 -0700"
      },
      "message": "Notify current video size if available\n\nb/11248101\n\nChange-Id: I0fa3b5592efcf400c86692002267da6825e331ad\n"
    },
    {
      "commit": "9c7f845780d62ea09469a8dac7117cc01adfea5c",
      "tree": "1c69c580de33cf8dc15a5060447e4d9109181fbe",
      "parents": [
        "1c594b637df26499ce1dae2db34f2b3290efd838"
      ],
      "author": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 30 10:02:12 2013 -0700"
      },
      "committer": {
        "name": "Lajos Molnar",
        "email": "lajos@google.com",
        "time": "Wed Oct 30 11:29:29 2013 -0700"
      },
      "message": "StageFrightRecorder: do not use meta-data mode for software encoders\n\nCamera HAL v1 uses vendor-specific camera-source meta-data mode, but\nsoftware encoders use generic gralloc-source mode, so they are not\ncompatible.\n\nChange-Id: I0d1bab8eada26dcb70c97b1eec83f06d1f331239\nSigned-off-by: Lajos Molnar \u003clajos@google.com\u003e\nBug: 11446505\n"
    },
    {
      "commit": "9cae217050aa1347d4ac5053c305754879e3f97f",
      "tree": "dff82f277cba8f34af39eaeeb00adec01bbda26c",
      "parents": [
        "be567be3f92026f5964c1c9ecce00e30bb7df412"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 14:12:05 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 14:06:03 2013 -0700"
      },
      "message": "Assign blame for playback wakelocks.\n\nSet a work source for the playback wakelock, so that playback is\ncounted against the requesting app instead of the media server.\n\nCherrypicked from master.\n\nb/9464621\n\nChange-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31\n"
    },
    {
      "commit": "462fd2fa9eef642b0574aa7409de0bde3fec8d43",
      "tree": "65446a138d197f062bf199480b96cca4df560fcf",
      "parents": [
        "f7d89bd79d170be3b299717ac11aff62909314c5"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Jan 14 14:12:05 2013 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Oct 25 11:13:17 2013 -0700"
      },
      "message": "Assign blame for playback wakelocks.\n\nSet a work source for the playback wakelock, so that playback is\ncounted against the requesting app instead of the media server.\n\nChange-Id: I7329f88a288a95a582a78005a1c3d16a5a611e31\n"
    },
    {
      "commit": "da38df5f080eb62a06b22c5bada4357cf756255e",
      "tree": "3adf6f4e8629b797f0a9a1ed71f6b9d73c20165a",
      "parents": [
        "e56f3c96fa6e7550b67e8b049f999aaa2ada1192"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Sep 25 16:05:36 2013 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Wed Sep 25 16:35:33 2013 +0300"
      },
      "message": "NuPlayer: Use a software renderer when using software codecs\n\nThis mimics what is done in AwesomePlayer and MediaCodec -\nideally this logic perhaps should be moved into ACodec to\navoid having to replicate it in every caller.\n\nThis makes HLS and RTSP playback work in the emulator.\n\nChange-Id: I18027dc3e469889baaae3e1c4afb559de7d0f7d3\n"
    },
    {
      "commit": "c666b8f16310fc826471c0fb6ee3f7e4d3a2d067",
      "tree": "50aff85e062cf2016ed3a835a02350dc8e420635",
      "parents": [
        "aab58d138ab3baccbf1badd6cfda1de1bfc24681",
        "8ee02943b61e0a7dd78e5596720261b185a223d5"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 14:11:46 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Tue Sep 24 14:11:46 2013 -0700"
      },
      "message": "am 8ee02943: am 1c7f35d1: Merge \"soundpool: allocate shared memory heap by client\" into klp-dev\n\n* commit \u00278ee02943b61e0a7dd78e5596720261b185a223d5\u0027:\n  soundpool: allocate shared memory heap by client\n"
    },
    {
      "commit": "3d00aa6de95fb46e36f2bab4e3facdf0b96acf06",
      "tree": "1ad12df4c11ca37280cbe6850eed9bff1e0a2f35",
      "parents": [
        "402dfba6dcd68f5fd8d8921f9751f3e47eb1449d"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 09:53:27 2013 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Tue Sep 24 11:59:59 2013 -0700"
      },
      "message": "soundpool: allocate shared memory heap by client\n\nCurrent SoundPool implementation allocates the shared memory heap\ncontaining decoded PCM samples in mediaserver process.\nWhen mediaserver process crashes, the shared memory heaps allocated by\nAudioCache cannot be mapped anymore in the new instance of mediaserver.\nThis causes a silent failure to end playback of new sounds because\nAudioFlinger believes the new AudioTracks are opened in streaming mode\nand not static mode: it sees a NULL shared memory pointer when the track\nis created.\n\nThe fix consists in allocating the memory heap in the client process. Thus\nthe heap is not lost when mediaserver restarts. The global memory usage is\nthe same as this is shared memory.\n\nAlso added a way to detect that a shared memory is passed when the track is\ncreated but cannot be mapped on mediaserver side.\n\nAlso fix a crash in SoundPool when ALOGV is enabled.\n\nBug: 10894793.\nChange-Id: Ice6c66ec3b2a409d75dc903a508b6c6fbfb2e8a7\n"
    },
    {
      "commit": "b5c682905d2735785bab6d7a27c131afbfe7650b",
      "tree": "81da87041939d507b4ba0015cf033d7c8c9ed6bc",
      "parents": [
        "9dbf87543b3a08fe39ba160494207f074294134c",
        "83774965fefc5d0315ec41641bdd99cf0a657462"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Sep 16 16:04:21 2013 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Sep 16 16:04:21 2013 -0700"
      },
      "message": "am 83774965: am bc910e5c: Merge \"Fix hang\" into klp-dev\n\n* commit \u002783774965fefc5d0315ec41641bdd99cf0a657462\u0027:\n  Fix hang\n"
    }
  ],
  "next": "bc910e5c8d05f24531bd6b11379cf41cc73415ed"
}
