)]}'
{
  "log": [
    {
      "commit": "7edbacf24e60c01e2d3b10715ec8f9cc2f55c11a",
      "tree": "e8b2d0ecda3008ecb890f8cbb7e4be9e054fff9b",
      "parents": [
        "603b12efa16e7afb4e6c75f6b353216c83e8e135",
        "fa514f007bd144eb99cdd68f2fe5302a4508db28"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Aug 10 10:25:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 10 10:25:51 2012 -0700"
      },
      "message": "Merge \"Handle malformed raw AAC/AMR writer better\" into jb-mr1-dev"
    },
    {
      "commit": "fa514f007bd144eb99cdd68f2fe5302a4508db28",
      "tree": "f9926f2b11d287a4cbb8812d437cca5c79c51830",
      "parents": [
        "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 09 18:58:01 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 09 19:01:45 2012 -0700"
      },
      "message": "Handle malformed raw AAC/AMR writer better\n\nChange-Id: I196fe196c26b83be09fcd54174ceb4e135073c2b\n"
    },
    {
      "commit": "b9787142c5f5f8f47e7e35409f4f2ef7112ab72e",
      "tree": "3966271224e78b6d8e88da104385a67900890635",
      "parents": [
        "0d27c65ddb5c968baa6db0c26e80f5c451bc52bc"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 09 09:15:48 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Thu Aug 09 13:25:48 2012 -0700"
      },
      "message": "Fix static sample table processing, add support for h.263 video.\n\nChange-Id: I5628d3437b5e6f8836d78557fd07ab87e5a914e3\n"
    },
    {
      "commit": "e983aa4ff4d80af7702888e230b9aaa93a7b7e57",
      "tree": "09e62e3a573248dd1a3c7b2dae082810f16dfe79",
      "parents": [
        "f6a3576006f3fbe7d87ab49c1ebf292be5ddaa24",
        "51af4af2414cdaaf0185b971a41fc0b4f8c0b7e4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 14:08:28 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 14:08:28 2012 -0700"
      },
      "message": "am 51af4af2: am e28df5b9: Merge \"Store correct time stamps in recorded mp4 files\"\n\n* commit \u002751af4af2414cdaaf0185b971a41fc0b4f8c0b7e4\u0027:\n  Store correct time stamps in recorded mp4 files\n"
    },
    {
      "commit": "51af4af2414cdaaf0185b971a41fc0b4f8c0b7e4",
      "tree": "3e7a2ca1401597ed506a8725e8a0934a28404024",
      "parents": [
        "ef62009372d050b431939835d4e2c5ee77da8831",
        "e28df5b996af3480b457c7a9908dbb9d52ad8d7c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 14:04:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 14:04:18 2012 -0700"
      },
      "message": "am e28df5b9: Merge \"Store correct time stamps in recorded mp4 files\"\n\n* commit \u0027e28df5b996af3480b457c7a9908dbb9d52ad8d7c\u0027:\n  Store correct time stamps in recorded mp4 files\n"
    },
    {
      "commit": "e28df5b996af3480b457c7a9908dbb9d52ad8d7c",
      "tree": "ab1896ce5aa5df33cce6f0f4101262b299633fe7",
      "parents": [
        "efee009528f446542d51f1ce50e2189e8a2f71dd",
        "efcdf187baab9ec29e12adcf85e63fe3e6d5aa4d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:40:33 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 13:40:34 2012 -0700"
      },
      "message": "Merge \"Store correct time stamps in recorded mp4 files\""
    },
    {
      "commit": "1e357f4610e788c3e5dea5dd2f01b26bb75c5e36",
      "tree": "e158c52828130a41acece15ac9b4f10ea39587ff",
      "parents": [
        "4bb0e2aa1410191a8cff1f921d1b246232ed42e9",
        "ef62009372d050b431939835d4e2c5ee77da8831"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:20 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:20 2012 -0700"
      },
      "message": "am ef620093: am efee0095: Merge \"Correct ID3::StringSize calculation for UCS-2 data.\"\n\n* commit \u0027ef62009372d050b431939835d4e2c5ee77da8831\u0027:\n  Correct ID3::StringSize calculation for UCS-2 data.\n"
    },
    {
      "commit": "4bb0e2aa1410191a8cff1f921d1b246232ed42e9",
      "tree": "0847f62c311f5875d39214604ab4d3403341de60",
      "parents": [
        "49e74946370e7af2378e28733ba6d8df8951b068",
        "662b15c377e1ebe6aed8ff5cf82c684f0c8894dc"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:19 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:19 2012 -0700"
      },
      "message": "am 662b15c3: am a858aa96: Merge \"avcenc: Remove redundant zero-initialization of allocated memory\"\n\n* commit \u0027662b15c377e1ebe6aed8ff5cf82c684f0c8894dc\u0027:\n  avcenc: Remove redundant zero-initialization of allocated memory\n"
    },
    {
      "commit": "49e74946370e7af2378e28733ba6d8df8951b068",
      "tree": "ad58044e45949e2b1283beeb3dbc580b677f1d28",
      "parents": [
        "f5a66877655695af619909db6c831f78373d733e",
        "44237a8d58dc218257687f2cbe8fd33d73a713e8"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:18 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:18 2012 -0700"
      },
      "message": "am 44237a8d: am b71298ee: Merge \"avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function\"\n\n* commit \u002744237a8d58dc218257687f2cbe8fd33d73a713e8\u0027:\n  avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function\n"
    },
    {
      "commit": "f5a66877655695af619909db6c831f78373d733e",
      "tree": "2b7107ac5ff90e4bf9d7fc44522f677a2368bab2",
      "parents": [
        "76d46c5a3637d6ac9e664c449839befbbd09c0a0",
        "68d44b061e92fb6832240457d4f683635bf5328f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:17 2012 -0700"
      },
      "message": "am 68d44b06: am 0ab18f85: Merge \"avcenc: Remove useless casts\"\n\n* commit \u002768d44b061e92fb6832240457d4f683635bf5328f\u0027:\n  avcenc: Remove useless casts\n"
    },
    {
      "commit": "93f902d58cd287e8dd046621824b7de7aa985d36",
      "tree": "7ec6e8769cc9863a74e83f303d6b122172db4e0d",
      "parents": [
        "3269b5314f02eb3724be8d45880f15762fac09c0",
        "96d18cca4546045df118660017e74ddd751dfbb4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:15 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:15 2012 -0700"
      },
      "message": "am 96d18cca: am 0822156c: Merge \"avcenc: Fix indentation\"\n\n* commit \u002796d18cca4546045df118660017e74ddd751dfbb4\u0027:\n  avcenc: Fix indentation\n"
    },
    {
      "commit": "3269b5314f02eb3724be8d45880f15762fac09c0",
      "tree": "6720852bc5377b410f2f279f5462fbd20cc7a9ad",
      "parents": [
        "c107387cef844aabad80ea1430bb768c2605e89f",
        "80c46255bcf3d4d5a3ffe9a1ef3aefd9310c6ed4"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:11:13 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:11:13 2012 -0700"
      },
      "message": "am 80c46255: am 874a074a: Merge \"avcenc: Switch malloc/free callbacks to use pointers instead of ints\"\n\n* commit \u002780c46255bcf3d4d5a3ffe9a1ef3aefd9310c6ed4\u0027:\n  avcenc: Switch malloc/free callbacks to use pointers instead of ints\n"
    },
    {
      "commit": "ef62009372d050b431939835d4e2c5ee77da8831",
      "tree": "fce7ba1a7b5f5fa320b605117335f9343f18d45d",
      "parents": [
        "662b15c377e1ebe6aed8ff5cf82c684f0c8894dc",
        "efee009528f446542d51f1ce50e2189e8a2f71dd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:17 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:17 2012 -0700"
      },
      "message": "am efee0095: Merge \"Correct ID3::StringSize calculation for UCS-2 data.\"\n\n* commit \u0027efee009528f446542d51f1ce50e2189e8a2f71dd\u0027:\n  Correct ID3::StringSize calculation for UCS-2 data.\n"
    },
    {
      "commit": "662b15c377e1ebe6aed8ff5cf82c684f0c8894dc",
      "tree": "94b0542d5a59ef169dad0b8bb13ad54d49210ed2",
      "parents": [
        "44237a8d58dc218257687f2cbe8fd33d73a713e8",
        "a858aa963d2a7e767d0d8694e29cb6fe87c9ef9f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:16 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:16 2012 -0700"
      },
      "message": "am a858aa96: Merge \"avcenc: Remove redundant zero-initialization of allocated memory\"\n\n* commit \u0027a858aa963d2a7e767d0d8694e29cb6fe87c9ef9f\u0027:\n  avcenc: Remove redundant zero-initialization of allocated memory\n"
    },
    {
      "commit": "44237a8d58dc218257687f2cbe8fd33d73a713e8",
      "tree": "adb18ef017ae629be478eee1e3eff62aa51547e2",
      "parents": [
        "68d44b061e92fb6832240457d4f683635bf5328f",
        "b71298eeeb16d942dd5144e550731e6e29b6436e"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:15 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:15 2012 -0700"
      },
      "message": "am b71298ee: Merge \"avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function\"\n\n* commit \u0027b71298eeeb16d942dd5144e550731e6e29b6436e\u0027:\n  avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function\n"
    },
    {
      "commit": "68d44b061e92fb6832240457d4f683635bf5328f",
      "tree": "e4e70183ec1416704c27f689f644e789d5310c67",
      "parents": [
        "4348cbcec6c3aec02af722d633ebda24f94dfcc8",
        "0ab18f853571149de700930fbb783ecd6b2c5582"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:14 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:14 2012 -0700"
      },
      "message": "am 0ab18f85: Merge \"avcenc: Remove useless casts\"\n\n* commit \u00270ab18f853571149de700930fbb783ecd6b2c5582\u0027:\n  avcenc: Remove useless casts\n"
    },
    {
      "commit": "96d18cca4546045df118660017e74ddd751dfbb4",
      "tree": "ad115436899a0b098c565783af4ff684814ce4ab",
      "parents": [
        "80c46255bcf3d4d5a3ffe9a1ef3aefd9310c6ed4",
        "0822156cfd25c111cd33932ee9a89b3100d0350c"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:12 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:12 2012 -0700"
      },
      "message": "am 0822156c: Merge \"avcenc: Fix indentation\"\n\n* commit \u00270822156cfd25c111cd33932ee9a89b3100d0350c\u0027:\n  avcenc: Fix indentation\n"
    },
    {
      "commit": "80c46255bcf3d4d5a3ffe9a1ef3aefd9310c6ed4",
      "tree": "f4490c5f1ae330852d1eee5dba1eecaf1bedb524",
      "parents": [
        "17fa4ab45a87e042a0503356e641fa6ff72ef572",
        "874a074ad88117d9fabf178b5b4a1c885dc512f5"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:11 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:11 2012 -0700"
      },
      "message": "am 874a074a: Merge \"avcenc: Switch malloc/free callbacks to use pointers instead of ints\"\n\n* commit \u0027874a074ad88117d9fabf178b5b4a1c885dc512f5\u0027:\n  avcenc: Switch malloc/free callbacks to use pointers instead of ints\n"
    },
    {
      "commit": "17fa4ab45a87e042a0503356e641fa6ff72ef572",
      "tree": "6b0aba1c3489801c32ea4d819df727cd6902fae7",
      "parents": [
        "a9ab66c5fac826a765186146128158672bfac67c",
        "b7ee9c4436c50cc5ff6e72059bf27c2c16dc1b92"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 13:08:10 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Wed Aug 08 13:08:10 2012 -0700"
      },
      "message": "am b7ee9c44: Merge \"mediacodec: Return an error on getOutputFormat if there is no output format yet\"\n\n* commit \u0027b7ee9c4436c50cc5ff6e72059bf27c2c16dc1b92\u0027:\n  mediacodec: Return an error on getOutputFormat if there is no output format yet\n"
    },
    {
      "commit": "efee009528f446542d51f1ce50e2189e8a2f71dd",
      "tree": "0c502480e6e493fe06e741ba10620d871af09b07",
      "parents": [
        "a858aa963d2a7e767d0d8694e29cb6fe87c9ef9f",
        "be5016bac5c1b422d850e299d3cb11fecf0ac19d"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:58:42 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:58:42 2012 -0700"
      },
      "message": "Merge \"Correct ID3::StringSize calculation for UCS-2 data.\""
    },
    {
      "commit": "a858aa963d2a7e767d0d8694e29cb6fe87c9ef9f",
      "tree": "19d521b2ac7b1d8d1f4ff7f58ea284a1cde4b8fe",
      "parents": [
        "b71298eeeb16d942dd5144e550731e6e29b6436e",
        "21dc4b6a99f0427cc1c0b10d3dcdb34c7571d10f"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:09:01 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:09:01 2012 -0700"
      },
      "message": "Merge \"avcenc: Remove redundant zero-initialization of allocated memory\""
    },
    {
      "commit": "b71298eeeb16d942dd5144e550731e6e29b6436e",
      "tree": "d139330ca50b2ed5a2404560877f6e22319959db",
      "parents": [
        "0ab18f853571149de700930fbb783ecd6b2c5582",
        "359d8fcd30ff0a8390e4c5560d53ec55a4cc5bcd"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:08:44 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:08:45 2012 -0700"
      },
      "message": "Merge \"avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function\""
    },
    {
      "commit": "0ab18f853571149de700930fbb783ecd6b2c5582",
      "tree": "4bb0c358c68813141eaf1daf6339eb48c85794f8",
      "parents": [
        "67f694d6b4234ea0d7ce2f8be8e6a9cc3b104eb9",
        "2f3152dee8e763fd7eae9d7b71078d5c6aec5881"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:08:19 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:08:19 2012 -0700"
      },
      "message": "Merge \"avcenc: Remove useless casts\""
    },
    {
      "commit": "0822156cfd25c111cd33932ee9a89b3100d0350c",
      "tree": "d85aa84ada30e17fc2c71601a9ffa78bf12b2c18",
      "parents": [
        "874a074ad88117d9fabf178b5b4a1c885dc512f5",
        "955585cca11173b07e2e7db3d636ee97b69b053b"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:07:47 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:07:48 2012 -0700"
      },
      "message": "Merge \"avcenc: Fix indentation\""
    },
    {
      "commit": "874a074ad88117d9fabf178b5b4a1c885dc512f5",
      "tree": "4bf614aa2a00475b2d2a8fc1364f83c94e27829c",
      "parents": [
        "b7ee9c4436c50cc5ff6e72059bf27c2c16dc1b92",
        "23da4cf305b9bfff07954711a8a2d9ec040865af"
      ],
      "author": {
        "name": "Jean-Baptiste Queru",
        "email": "jbq@google.com",
        "time": "Wed Aug 08 12:07:27 2012 -0700"
      },
      "committer": {
        "name": "android code review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Aug 08 12:07:28 2012 -0700"
      },
      "message": "Merge \"avcenc: Switch malloc/free callbacks to use pointers instead of ints\""
    },
    {
      "commit": "3478eaa23c19dbbe473be70e8f3cc0c904d2465c",
      "tree": "ae5bd9610d447e33a9526499d8f765381b65376d",
      "parents": [
        "6fb082ae298a0c6028d540c099ae5a1838701bdd"
      ],
      "author": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:18:56 2012 -0700"
      },
      "committer": {
        "name": "John Grossman",
        "email": "johngro@google.com",
        "time": "Wed Aug 08 11:20:05 2012 -0700"
      },
      "message": "Fix a small build warning.\n\nChange-Id: I2b228db8f11a829399cdc6efe67d7b6e0a1917ba\n"
    },
    {
      "commit": "6fb082ae298a0c6028d540c099ae5a1838701bdd",
      "tree": "adc9d0004f299a5e0ea640f135fe30e38463e0fb",
      "parents": [
        "e2229fba1c7e98c243ea777f567fd72579d91e41",
        "219f195159f93d627af2b243732e3f9020511a46"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 08 11:05:15 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 11:05:16 2012 -0700"
      },
      "message": "Merge \"Make sure that the trackId starts from 1\" into jb-mr1-dev"
    },
    {
      "commit": "e2229fba1c7e98c243ea777f567fd72579d91e41",
      "tree": "c9896144a6719480f828d568319c81f0bba9a2ca",
      "parents": [
        "a9e0ea58738a50de84a80d3b4db1936e7433dce4",
        "b7e75cfd64893dde230dfc1c3b281a00ca1b4470"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 08 09:43:26 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Wed Aug 08 09:43:26 2012 -0700"
      },
      "message": "Merge \"Handle empty stsc box\" into jb-mr1-dev"
    },
    {
      "commit": "b7e75cfd64893dde230dfc1c3b281a00ca1b4470",
      "tree": "1ed2135b58a8762cdefda74197ea688a50b907b5",
      "parents": [
        "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 08 09:19:05 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Aug 08 09:19:05 2012 -0700"
      },
      "message": "Handle empty stsc box\n\nChange-Id: I867e2499fac3045075654aaaecf44327753327fd\n"
    },
    {
      "commit": "219f195159f93d627af2b243732e3f9020511a46",
      "tree": "3f8c072142c982726d9e56c4858c5493c8d128ba",
      "parents": [
        "a9e0ea58738a50de84a80d3b4db1936e7433dce4"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 07 16:54:22 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Aug 07 16:57:49 2012 -0700"
      },
      "message": "Make sure that the trackId starts from 1\n\no this patch avoids sending incorrect track events to applications because\n  track events contain the trackId\n\nChange-Id: I1cf054da8ab413d31a5b7fe8ed729486d1475c46\n"
    },
    {
      "commit": "a9e0ea58738a50de84a80d3b4db1936e7433dce4",
      "tree": "d107c25c3bc97a6cb1f25fb00aeb10a2882d5f26",
      "parents": [
        "51d7547944967d1157b7fe18e1fb8f7ee6810412",
        "1f8834711f23f66d528aca98cca9602fb18cab66"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 15:17:19 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 07 15:17:19 2012 -0700"
      },
      "message": "Merge \"Remove the no longer used PV software aac decoder.\" into jb-mr1-dev"
    },
    {
      "commit": "1f8834711f23f66d528aca98cca9602fb18cab66",
      "tree": "63625d311b37da5455e58e76fa8ab62612f924ee",
      "parents": [
        "e671207115fac3914134c61b336d5fa0242c68ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:41:05 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:41:05 2012 -0700"
      },
      "message": "Remove the no longer used PV software aac decoder.\n\nChange-Id: Ia260f706780b66dc16a108aaa8780f68970380bd\n"
    },
    {
      "commit": "51d7547944967d1157b7fe18e1fb8f7ee6810412",
      "tree": "5c5d6cb884a163c7ea1f23899776f856fefbd1fa",
      "parents": [
        "e671207115fac3914134c61b336d5fa0242c68ca"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:24:00 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 14:24:00 2012 -0700"
      },
      "message": "Only emit padding at the end of the stream in the aac and mp3 decoders\n\nif we actually discarded content at the beginning of the stream.\n\nChange-Id: I1e79835bb3a02350060a137b94f85f2c90f4a12b\n"
    },
    {
      "commit": "e671207115fac3914134c61b336d5fa0242c68ca",
      "tree": "466cda101e1528b81bf72c228d7060c33788dedf",
      "parents": [
        "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Jun 26 10:56:14 2012 -0700"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 13:08:15 2012 -0700"
      },
      "message": "Make sure codec names and corresponding quirks are returned together.\n\nPreviously they were returned in separate vectors and only one of them was sorted if\nsoftware codecs were preferred, leaving the quirks no longer matching the codec name\nat the same index.\n\nChange-Id: Id3f1e6f9f7f8c9cc4b6ebfb86a203b4d59de8604\nrelated-to-bug: 6737884\n"
    },
    {
      "commit": "28620ee3e9926ef07f0b4cb3e22b156b812e2d7e",
      "tree": "9b86960e4b0b76e5d11987de8d51e4ec9fc103a0",
      "parents": [
        "42c5ef98bd09e7d93610d4ca1f4959b63bc3267d",
        "972f2321583ef4094477271e0fc6a1d05a1a0eea"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 11:40:04 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Aug 07 11:40:05 2012 -0700"
      },
      "message": "Merge \"mediacodec: Return an error on getOutputFormat if there is no output format yet\" into jb-mr1-dev"
    },
    {
      "commit": "972f2321583ef4094477271e0fc6a1d05a1a0eea",
      "tree": "ae5c8ddade5a100486d8a989c7c4d755b7908d60",
      "parents": [
        "97197157cf619fb716710eb67915fdfa93502750"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Jul 13 12:48:19 2012 +0300"
      },
      "committer": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 07 11:08:12 2012 -0700"
      },
      "message": "mediacodec: Return an error on getOutputFormat if there is no output format yet\n\nThis avoids crashing if calling the public java method\nMediaCodec.getOutputFormat immediately after MediaCodec.start\n(as the documentation example shows that one should do!).\n\nChange-Id: Icd3dd7ab9ae9e8f2a67cef171ff176735de95f58\n"
    },
    {
      "commit": "a6ee7bc5f9524c220377e37f6525e2d46c69b75b",
      "tree": "a400db737ac5e0c2bb7961fef314bbb975656eef",
      "parents": [
        "8da4cd7d706d9f551bf2d08cd8b61907a10cd38d"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 06 22:02:27 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Aug 06 22:03:28 2012 -0700"
      },
      "message": "Remove obsolete hack for TI specific code\n\no related-to-bug: 6566886\n\nChange-Id: I39aad214cbf7b748a95a9d22db50cd8f421931e6\n"
    },
    {
      "commit": "e643ccba8b8476595ab353c9bcecc8863c53242e",
      "tree": "baa6bc04da0a672f11ca6dd8fd5007b9776f466a",
      "parents": [
        "a3b71fa5235b758d5f9ea00b9c58fbfd707fb9dd",
        "8d5ec2a336c114688e5d2950b124440e07e79ad9"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 03 17:46:37 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 17:46:38 2012 -0700"
      },
      "message": "Merge \"Remove circular dependency.\" into jb-mr1-dev"
    },
    {
      "commit": "8d5ec2a336c114688e5d2950b124440e07e79ad9",
      "tree": "12bce370a9f92dca263a27fc32e768c4ab9774a5",
      "parents": [
        "428b77a2b94b74665a47375b3fdb893b98d71269"
      ],
      "author": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 03 17:42:01 2012 -0700"
      },
      "committer": {
        "name": "Ying Wang",
        "email": "wangying@google.com",
        "time": "Fri Aug 03 17:43:41 2012 -0700"
      },
      "message": "Remove circular dependency.\n\nlibstagefright_chromium_http is added to build/target/product/core.mk\ninstead.\n\nBug: 6933259\nChange-Id: I2e87037eea0f1f2a56936dd02419cde564c8670d\n"
    },
    {
      "commit": "a3b71fa5235b758d5f9ea00b9c58fbfd707fb9dd",
      "tree": "74897f534787e1da1855a4b87f6de0aa3de278ac",
      "parents": [
        "36cdfb185877a7f573621d19ed2b2e1cac13d62e",
        "840667883fd09d44015716d79bc3ac4d60edc0f0"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 03 14:16:33 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Aug 03 14:16:33 2012 -0700"
      },
      "message": "Merge \"experimental support for fragmented mp4 playback in nuplayer\" into jb-mr1-dev"
    },
    {
      "commit": "840667883fd09d44015716d79bc3ac4d60edc0f0",
      "tree": "cb55492dbe3ca64b2ab9ba2f5a3bb6d0a0bcf650",
      "parents": [
        "9cb20d4a41eb84bfab7f9f0d0829393f378583f4"
      ],
      "author": {
        "name": "Andreas Huber",
        "email": "andih@google.com",
        "time": "Tue Aug 16 09:34:26 2011 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Aug 03 13:57:32 2012 -0700"
      },
      "message": "experimental support for fragmented mp4 playback in nuplayer\n\ncherry picked from change 170999\n\nChange-Id: I407775f0290154ad4961134839a15c9f296424c0\n"
    },
    {
      "commit": "983cf231ab2d176a14595cdae46ff1b0c239af47",
      "tree": "01942a13a082e2116f8df5dbaca1a902ac52a299",
      "parents": [
        "15d7245ed2193e4956ea87998321cbc16a3b0a46"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 16:39:55 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 17:06:05 2012 -0700"
      },
      "message": "Dynamically configure the number of video buffers used by camera source, if supported\n\no related-to-bug: 6920805\n\nChange-Id: I413bb50954cc84e32ed40bcb713842dc7b58e2b6\n"
    },
    {
      "commit": "0dff606f42292b8a31b9eee842877f9875279dab",
      "tree": "84529f95eacfe525e3ecbc0d9a6f4b49fb0c737b",
      "parents": [
        "c9729ca1cb1760da836e293e3ed7a82f769f3e07"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Wed Aug 01 19:32:46 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Aug 02 14:01:25 2012 -0700"
      },
      "message": "Allocate buffers before calling start on its source in OMXCodec::start() for encoder case\n\no This makes it possible to configure the source to use the same number of input buffers\n  as requested by the video encoder, before the source starts. As a result, hardcoded\n  number of video buffers for camera source, for instance, can be avoided.\n\no related-to-bug: 6920805\n\nChange-Id: I13d2c308dce34967768cd407f02988e92ef10a89\n"
    },
    {
      "commit": "c9729ca1cb1760da836e293e3ed7a82f769f3e07",
      "tree": "7e080db5914465b3f739f68ae9a21cef94646c9f",
      "parents": [
        "6472badc497a9e748411f8c8c9ed5d83ef335a85"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 24 14:44:06 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Unifying TimedTextDriver\u0027s resume() and start().\n\n(cherry picked from gtv bb23a2b7e06c59f56e353fd4a2a66a9b8179d425)\n\nChange-Id: If5f14549fa315c34e32d6fed7c1ea09deabceb63\n"
    },
    {
      "commit": "6472badc497a9e748411f8c8c9ed5d83ef335a85",
      "tree": "682bc926abcc04dff0783b1fa4ecb379d2908cb5",
      "parents": [
        "bb6bc8491fe819f96e1902e56694715cb110ce94"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Mon Jun 18 16:51:48 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Fix: status checking in TimedTextDriver.\n\no fixes seeking error when there\u0027s no enabled text track.\no clean up status checking code for deselectTrack.\no fixes a potential bug : pause-\u003ebackward seek can trigger unwanted\nresume.\n\nBug: 6682160\nChange-Id: I03d8788b27fb9c0a6092be83ad3578ccf3266905\n(cherry picked from commit 2dafb6071d4f14e0e208912500694912211aa26b)\n"
    },
    {
      "commit": "bb6bc8491fe819f96e1902e56694715cb110ce94",
      "tree": "276e8c9aac3e7838ed61cdbda857ae27947975e9",
      "parents": [
        "2f0632f12cd02b0350918720443c888b48f4417b"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 10 15:53:44 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Adds resume() function\n\no Revived resume() function to fix pause/resume bug. (Bug: 6663740)\no Mannually cherry-picked from GTV change.\n(commit: ad1197226d1c6745959f0e469f510ca06f99489f)\n\nChange-Id: I77ac90085fb1f1d2e7eb706642978a4fa4d28b49\n"
    },
    {
      "commit": "2f0632f12cd02b0350918720443c888b48f4417b",
      "tree": "e1cfdbfb3834e49e165cea7f80a10f0f612c384b",
      "parents": [
        "9007619d1f786a75dae0fff31feadbf9aed9cfb8"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jun 01 16:21:11 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Thu Aug 02 11:56:07 2012 +0900"
      },
      "message": "Adjust fire time of a timed text message before firing it.\n\nrelated-to-bug: 6501328\n\no When Video/Audio is stuttering, subtitle\u0027s firing time should be\nadjusted.\n\nChange-Id: I0e7e8a1796cb2b3c8a09c8fbd41690bce2689e85\n(cherry picked from gtv: commit b2c3aedcb6c145e33ded39ef81e3202b2419469f)\n"
    },
    {
      "commit": "5a81ad893eada20c32596be53dabe203b99bec3c",
      "tree": "f499f67ddf2abb203f952c84c83f8d9cb017c415",
      "parents": [
        "25f0d7ba1987de61c75f8c68b19de48e0ad9736c"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 31 14:41:35 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 31 14:46:38 2012 -0700"
      },
      "message": "Allows MediaMetadataRetriever to retrieve video rotation angle\n\no related-to-bug: 6872687\n\nChange-Id: I34e74b0756f8269edefdf3a25d8806c76fd1e2f8\n"
    },
    {
      "commit": "25f0d7ba1987de61c75f8c68b19de48e0ad9736c",
      "tree": "5ce28fa7e34a1246c474184705413c1686cb3ca5",
      "parents": [
        "c620cbd7f8dc75f6819e2b862d3c09970560bc63"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 18:06:12 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 18:06:12 2012 -0700"
      },
      "message": "Should really compare the pos to the total number of values in get() and set() methods in ListTableEntries class\n\no related-to-bug: 6435176\n\nChange-Id: Ib6f6e598304e7c9becfa6cb3fc925c55b2df2682\n"
    },
    {
      "commit": "c620cbd7f8dc75f6819e2b862d3c09970560bc63",
      "tree": "dcc433846ff4918819ace5ed5b57e3e70290aae6",
      "parents": [
        "9fbe94294ce2053d102ff5de89846a0c5015fb58"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 27 17:14:44 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 30 13:44:37 2012 -0700"
      },
      "message": "Refactoring how the box table entries are stored in MPEG4Writer\n\no Helps drastically reduce the time writing all the box table entries for long duration video recording sessions.\n  Experiments showed that the time is reduced from multiple seconds to less than one second for around 2.5 hours of video recording.\n\nChange-Id: I6a696823e2938b76fcf2c73605f51bf5e5c2d749\n\nrelated-to-bug: 6435176\n"
    },
    {
      "commit": "efcdf187baab9ec29e12adcf85e63fe3e6d5aa4d",
      "tree": "d85166122a684b6020e166d4e3bb005c5285db13",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939"
      ],
      "author": {
        "name": "Johannes Carlsson",
        "email": "johannes.carlsson.x@sonymobile.com",
        "time": "Thu Mar 08 11:06:13 2012 +0100"
      },
      "committer": {
        "name": "Johan Redestig",
        "email": "johan.redestig@sonymobile.com",
        "time": "Mon Jul 30 14:52:08 2012 +0200"
      },
      "message": "Store correct time stamps in recorded mp4 files\n\nAccording to the specification (ISO_IEC_14496-12_2008 page 17, 19 and\n21) the time is \"in seconds since midnight, Jan. 1, 1904, in UTC time\"\nwhich is not the same as Unix epoch time. This is already correctly\nhandled in MPEG4Extractor.cpp when reading files.\n\nThe specification also supports 64 bit timestamps which would make\nit a bit more future proof, but unfortunately it seems like support\nfor this in players are poor (tested both Windows media player and\nQuicktime player).\n\nChange-Id: I102d728f098b8b0a21013956f017b0c4f2d69112\n"
    },
    {
      "commit": "9fbe94294ce2053d102ff5de89846a0c5015fb58",
      "tree": "7ba08233afeb658bdd59e1e0b12e96638ee796a4",
      "parents": [
        "3beb3ff4af08ea02da87e6548e0544d2ba47daf1",
        "5d246efa220a7c7b22e490576c488b3853c664dd"
      ],
      "author": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sun Jul 29 16:47:58 2012 -0700"
      },
      "committer": {
        "name": "Ed Heyl",
        "email": "ed@google.com",
        "time": "Sun Jul 29 16:47:58 2012 -0700"
      },
      "message": "Merge remote-tracking branch \u0027goog/jb-dev-mako\u0027 into jb-mr1-dev\n\nConflicts:\n\tservices/audioflinger/AudioFlinger.cpp\n\nChange-Id: If27e4ff35de1e182394cc149e1557a49f0f7c95b\n"
    },
    {
      "commit": "5d464eb0b8cffb994a754ff108795e858a882414",
      "tree": "e5d78a91a03a1895cc03cfeb89c26aac49d15a9e",
      "parents": [
        "0ec23ce0d1ff79566c402bc30df3074f6e25a22b"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jun 22 17:19:53 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:58:43 2012 -0700"
      },
      "message": "Swap the order of creating IAudioTrack and thread\n\nSimplifies the error recovery in case IAudioTrack fails.\n\nChange-Id: I6aee41a2ac747a5689fb4836b04174e6107bf32f\n"
    },
    {
      "commit": "0ec23ce0d1ff79566c402bc30df3074f6e25a22b",
      "tree": "8925eca2b9f4b9bccb7fa4d032ab80070179912d",
      "parents": [
        "e4e2a37dbe2a4d923232305549101f779a2e3638"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 12:56:08 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 27 14:54:48 2012 -0700"
      },
      "message": "Clean up start() parameters\n\nDocument where int is used instead of AudioSystem::sync_event_t\n  (probably because of a header file dependency).\nTrackBase::start() and RecordTrack::start() don\u0027t need default parameters.\n\nChange-Id: I82f4a4d078be900f3aa4bd926697e32f5ed68ec8\n"
    },
    {
      "commit": "58e5aa34f01d663654d8bafad65db1dda42161ff",
      "tree": "706a80113457f48feae3eab9f8720bcc3da2b397",
      "parents": [
        "1d491ff06f4b9c90ff24fe953b90d0843eaf1c04"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jun 20 14:08:14 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 25 14:43:19 2012 -0700"
      },
      "message": "effect_descriptor_t const correctness\n\nChange-Id: Iad008f20d35a18acf500f773900164552fd0c19e\n"
    },
    {
      "commit": "5d246efa220a7c7b22e490576c488b3853c664dd",
      "tree": "8258668e5e235b67d51d8f4554e77f8c2434fe2c",
      "parents": [
        "45dfb6ae94b33eea04d74afa378c1664e884f09a"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jul 09 10:36:57 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Wed Jul 25 01:28:36 2012 -0700"
      },
      "message": "NuPlayer: Prevents creation of Video Decoder when we use Music Player\n\n- Prevents instantion of Video Decoder when we use applications like\nMusic Player  which do not support Video Playback\n- Adds a check to prevent scanning for sources when it is either an\nAudio only clip or a video only clip or an AV clip played with a\nMusic Player.\n\nChange-Id: I74dd9bc53e54fd4f3682536c987289ac252690b0\nSigned-off-by: Arvind Thatikonda \u003carvindt@codeaurora.org\u003e\n"
    },
    {
      "commit": "bf5bea96f236adb5eef78c2f414ef82b3602a0f7",
      "tree": "ec9dcb7ffdb2de6257fcee026583ffe998fef1d8",
      "parents": [
        "7aa1b72252749c990c9a5efce3d8fe399261b88e"
      ],
      "author": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Wed Jul 18 17:46:06 2012 -0700"
      },
      "committer": {
        "name": "Eino-Ville Talvala",
        "email": "etalvala@google.com",
        "time": "Tue Jul 24 16:59:21 2012 -0700"
      },
      "message": "Codecs: Add MetaDataMode support to software video encoders.\n\nThis support is needed to enable efficient video recording with\nemulator and camera HAL 2.\n\n- Update SoftAVCEncoder and SoftMPEG4Encoder to support MetaDataMode\n  extension.\n- Allow CameraSource to handle opaque pixel formats, so that\n  MetaDataMode can be used.\n- Remove hardware codec restriction for MetaDataMode\n\nBug: 6243944\nChange-Id: I970eb3d55542a413b6d75a78f76d3a8583155601\n"
    },
    {
      "commit": "3499e2d178960ca3392855716c963eec7403a089",
      "tree": "a29b0b4d569a9b51808e88062c6ac5b2b6153c20",
      "parents": [
        "f1b3ee26cafc80900bae681bddf47446a6a3733f"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 10:49:48 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Mon Jul 23 10:49:48 2012 -0700"
      },
      "message": "Don\u0027t make the decrypted content available to Java applications via MediaExtractor.java API\n\nChange-Id: I38df6a6be30a34ce3f2640f79784dc94c8ca1158\n"
    },
    {
      "commit": "f1b3ee26cafc80900bae681bddf47446a6a3733f",
      "tree": "e4458438ee1340f2810ba35be2a8cd31f8982a12",
      "parents": [
        "68ea6cab354a635ea848bc2b5cf172d7a215a057",
        "13210f3346462a86ce9fe3af72a0c200dba84e27"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 18:40:52 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 18:40:53 2012 -0700"
      },
      "message": "Merge \"Added number of encoded frames and duration to the MPEG4Writer::Track::dump\""
    },
    {
      "commit": "f5545b962794b78a97cafa73d0b592f55ffe06d8",
      "tree": "9a2ce9fe77de2cc8e2c3cf01145935058fcbcdeb",
      "parents": [
        "e65c89113232d070dd9153c54ca19301bca7a162",
        "a3c9d82d0f898d30982840b48d1f00fd0d831e19"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 17:13:21 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 17:13:21 2012 -0700"
      },
      "message": "Merge \"Bugfix: Seek on SRT external track\""
    },
    {
      "commit": "76da2635edbe0e6d023c665d5c344a3b7e070d73",
      "tree": "c797b865163cbef189704d724bb047e208190031",
      "parents": [
        "c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd",
        "f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 15:30:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 15:30:35 2012 -0700"
      },
      "message": "Merge \"Added a callback in nuplayer via informational event to signal the start of video rendering\""
    },
    {
      "commit": "c374dae535b83d9b499dd9fe8f9dabdb8b0ac9fd",
      "tree": "9e854a53f611c1a6a08c7ac507037c9fcf49c3c9",
      "parents": [
        "33e6e35b03a726e35203e97550f32154c91d5f13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 19:18:06 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 15:28:25 2012 -0700"
      },
      "message": "Added a callback to signal when the rendering of the video frame just occurred\n\nChange-Id: Ifbd78606ffc33483aecebf02cb18e0e52af9624d\nrelated-to-bug: 6851811\n"
    },
    {
      "commit": "f57b4ea3e409537b1d5f9aaea93d356b1cebbc6a",
      "tree": "ca0ff108318bbe53657e62ec27f241750b6a4b55",
      "parents": [
        "33e6e35b03a726e35203e97550f32154c91d5f13"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 13:38:36 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jul 20 13:38:36 2012 -0700"
      },
      "message": "Added a callback in nuplayer via informational event to signal the start of video rendering\n\nChange-Id: Id7b9b82d4e5467ad8701bfbad4dcc5070f3703cf\n"
    },
    {
      "commit": "a08412711b3266d336134b16a45e98baa8d11b9d",
      "tree": "f58f6e72ad397dda999ef18807a810f91297ca7f",
      "parents": [
        "be5f05e0fdfc4e3799653702187861a2afa072ee",
        "6f434482331b55876cb09c638149c21ca40c7690"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 11:15:51 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 11:15:51 2012 -0700"
      },
      "message": "Merge \"Ensure MEDIA_INFO_BUFFERING_END is always sent\""
    },
    {
      "commit": "cf9465b83405a1ec26a164b079d9898c09d87fcd",
      "tree": "dddd46b6c96c68fd59b295c3cfb47eb0c3cc3a22",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6",
        "955e78180ac6111c54f50930b0c4c12395e86cf7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 20 11:01:34 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 20 11:01:35 2012 -0700"
      },
      "message": "Merge \"AudioRecord locking\""
    },
    {
      "commit": "6f434482331b55876cb09c638149c21ca40c7690",
      "tree": "93973261c6356026e56c46700b51ab76b61266db",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 09:50:46 2012 -0700"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Jul 20 10:58:53 2012 -0700"
      },
      "message": "Ensure MEDIA_INFO_BUFFERING_END is always sent\n\nb/6620761\n\nChange-Id: Iafd2eeac7b3cbbeb42af3638628a32dc6c2bb414\n"
    },
    {
      "commit": "45dfb6ae94b33eea04d74afa378c1664e884f09a",
      "tree": "4fc280e001b95a441cc0cc4c4124ff960d477cda",
      "parents": [
        "1f1493ce72a3e823daac1b9cd94b2535e27ec8e0"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Thu Jul 05 17:27:00 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Fri Jul 20 07:13:13 2012 -0700"
      },
      "message": "Synchronize access to OMX class member variables\n\n- Protect access to mLiveNodes KeyedVector member variable in freeNode function\n\nChange-Id: Ic86844aabc2bc897ffb7fc91cd1f54254f5e29fe\n"
    },
    {
      "commit": "a3c9d82d0f898d30982840b48d1f00fd0d831e19",
      "tree": "f11bc23bc6447b3b6b4410f733424db3cdecac04",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Tue Jul 10 21:18:22 2012 +0900"
      },
      "committer": {
        "name": "Insun Kang",
        "email": "insun@google.com",
        "time": "Fri Jul 20 11:49:01 2012 +0900"
      },
      "message": "Bugfix: Seek on SRT external track\n\no Need to return closest upcoming subtitle when seeking time is within\ngap ranges.\no Manually cherry-picked from GTV change.\n(commit e026a83dc88888b42da77eca739b8f09a0cd6dae)\n\nrelated-to-bug: 6796228\nChange-Id: I02b7718a432d6b2f5575fa1a1a42bda6f04aa25b\n"
    },
    {
      "commit": "13210f3346462a86ce9fe3af72a0c200dba84e27",
      "tree": "0faa7e47806b95098c2dc01cf3b980d2124f0733",
      "parents": [
        "4865aa8a84465108e044480c1d976677f138fca6"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 17:12:51 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 17:15:07 2012 -0700"
      },
      "message": "Added number of encoded frames and duration to the MPEG4Writer::Track::dump\n\no also removed unused varialble mMaxTimeStampUs\n\nChange-Id: I61a47e1ec8ee96a25df668637c4d4661188a1a8c\n"
    },
    {
      "commit": "77e8ae9967a078770416619e99ddb5b010def312",
      "tree": "092570e7a1345d24c4b27761510e6a817188ebd7",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Tue Jul 17 19:18:29 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Thu Jul 19 11:47:37 2012 -0700"
      },
      "message": "When a request max file size is relatively small, don\u0027t store moov header at the\nbeginning of a recorded mp4 file.\n\nTrying to put the \u0027moov\u0027 box at the beginning of an mp4 file requires to reserve\nsome estimated space for \u0027moov\u0027. The estimate can be larger or smaller than the\nactual \u0027moov\u0027 size. When the estimate is larger, we could meet the file\nsize limit, although some space is wasted; but when the estimate is smaller than\nthe actual \u0027moov\u0027 size, we not only waste the reserved space but also have to\nuse extra space to write \u0027moov\u0027 space at the end of the file. In this case, often\nthe requested file size limit could be exceeded by a large margin.\n\nThis patch avoids putting the \u0027moov\u0027 box at the beginning when a file size limit\nis explicitly requested.\n\nChange-Id: I838443d08b5589f33f3c486c662195600e3edb9b\nrelated-to-bug: 6697505\n"
    },
    {
      "commit": "955e78180ac6111c54f50930b0c4c12395e86cf7",
      "tree": "b4c12804643f73e9acbbf1db58f5ffa7e0bd7bc7",
      "parents": [
        "ea682976030a3930f6ee49b33b7e21abfc68174a"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 21 10:32:45 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 18:06:19 2012 -0700"
      },
      "message": "AudioRecord locking\n\nFix race conditions for EVENT_MARKER and EVENT_NEW_POS callbacks.\nMarker and new position update fields are protected by lock.\n\ngetSampleRate() doesn\u0027t need a lock because it reads from shared memory\ncontrol block.\n\nEnforce that the parameter passed with EVENT_MARKER and EVENT_NEW_POS\ncannot not be changed by the callback handler, and will not change during\nthe call by another thread.\n\nSession ID should never change; log if it does.\n\nChange-Id: Ia2c63cf1a71b10bb06c37981bd76437f83fffa91\n"
    },
    {
      "commit": "b46ccde3610d3f1713f7ebf0e9ffe943e44b54d2",
      "tree": "0cc18c7a6b51033a0f81e75991d2fa5d746dfb51",
      "parents": [
        "faa5bdd1efff301962537a7b271bd31c78ec13dc"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 17 15:03:25 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 17 15:17:23 2012 -0700"
      },
      "message": "Merge from jb-dev for \"sample video corruption in MediaCodec mode.\" DO NOT MERGE\n\njb-dev commit: fa2b8f243eb048fb2b8e5a14356190f69eb31a36\n\nChange-Id: I4f08b9c8e9682a998db01c509a390e51bae60c2d\nrelated-to-bug: 6732061\n"
    },
    {
      "commit": "a189a6883ee55cf62da1d7bf5bf5a8ab501938a4",
      "tree": "7ab4133c0ce507e289baacf76d745de27f9e8136",
      "parents": [
        "28b76b334f92a15a2be3cc9e2f7d229a3275d1ac"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Feb 20 12:16:30 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 11:35:16 2012 -0700"
      },
      "message": "Use struct assignment instead of explicit memcpy\n\nfor POD structs effect_descriptor_t and effect_config_t\n\nChange-Id: Ib2fc47f85fb65ed91b0abb1f87217c49b5eb571d\n"
    },
    {
      "commit": "28b76b334f92a15a2be3cc9e2f7d229a3275d1ac",
      "tree": "c605d3e995f4b6be55dd4b10e1c998b059990d0d",
      "parents": [
        "fd4e20c226eca185fc789de761beae64855bfbbb"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 17:24:41 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 17 11:31:59 2012 -0700"
      },
      "message": "Use audio_channel_mask_t for channel mask\n\nChange-Id: I1c1896da48983aa9f1462a4b471f910498816f60\n"
    },
    {
      "commit": "dcda3b325f465aa6ec2be11db1c56c8a5e867f33",
      "tree": "0f7709ccea7f3c3cb5a63747adb7d5bfb82e194a",
      "parents": [
        "2bdb2f25861f3a3ac9cf3b7af561975fc9b9eead",
        "d64cd233eef39430561c1e1df423336a199cc5d7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 16 08:27:30 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Mon Jul 16 08:27:30 2012 -0700"
      },
      "message": "Merge \"AudioRecord::stop() return void\""
    },
    {
      "commit": "2bdb2f25861f3a3ac9cf3b7af561975fc9b9eead",
      "tree": "58b79b403e5ec36812aa8ef233cb404b2fcd7341",
      "parents": [
        "1ea6d23396118a9cfe912b7b8a4e6f231e318ea2",
        "190313ec68e81c10d200ff3c20ac152cf90760d6"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 17:54:32 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 13 17:54:32 2012 -0700"
      },
      "message": "am 190313ec: am 65e8d62a: Merge \"Fixed sample video corrupted in MediaCodec mode.\" into jb-dev\n\n* commit \u0027190313ec68e81c10d200ff3c20ac152cf90760d6\u0027:\n  Fixed sample video corrupted in MediaCodec mode.\n"
    },
    {
      "commit": "d64cd233eef39430561c1e1df423336a199cc5d7",
      "tree": "34f6adda18ee4c4f2d1dea9ea4dbf0c84c2d0bfe",
      "parents": [
        "68337edf595a0c345ba4b8adcd4f1e541a1d7eb7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Feb 21 10:21:23 2012 -0800"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 15:55:04 2012 -0700"
      },
      "message": "AudioRecord::stop() return void\n\nlike AudioTrack::stop()\n\nChange-Id: Iab62f4665151345f1ad5874c97a21d1a331f0154\n"
    },
    {
      "commit": "190313ec68e81c10d200ff3c20ac152cf90760d6",
      "tree": "7a0a8e099c9a90c42cb84b65d8462c7186e6b3cf",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939",
        "65e8d62a5b243518795cdafa498df4a49baf6940"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 15:12:24 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Fri Jul 13 15:12:24 2012 -0700"
      },
      "message": "am 65e8d62a: Merge \"Fixed sample video corrupted in MediaCodec mode.\" into jb-dev\n\n* commit \u002765e8d62a5b243518795cdafa498df4a49baf6940\u0027:\n  Fixed sample video corrupted in MediaCodec mode.\n"
    },
    {
      "commit": "68337edf595a0c345ba4b8adcd4f1e541a1d7eb7",
      "tree": "121fce48f2765c8d13ecbc84dcf06c44d62096b4",
      "parents": [
        "9cca4c6d976d2d4127286e9eaa54d1b99880c25c"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 09:05:58 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 14:49:12 2012 -0700"
      },
      "message": "AudioRecord client threading cleanup\n\nRename ClientRecordThread to AudioRecordThread to be more similar to\nAudioTrack naming.\n\nOnly create the thread once, and use resume() and pause() for start()\nand stop().  This will allow us to have a known client callback thread\ntid that we can pass to AudioFlinger before start().\n\nmActive:\nMade mActive a bool not int.\nmActive is protected by mLock; volatile is meaningless.\nFixed a few places where mActive was accessed without a lock:\n - stopped()\n - processAudioBuffer()\nThese aren\u0027t used internally, so no need for _l() versions.\n\nChange-Id: I4b8a5c90f3a22d3894b344564cb1c5aef4f1fda2\n"
    },
    {
      "commit": "fa2b8f243eb048fb2b8e5a14356190f69eb31a36",
      "tree": "d54232d4c61bf767677bcee2373069c4969301c1",
      "parents": [
        "4221e2813f7a307936036e62b6a63bbda23005ee"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Tue Jul 10 20:01:13 2012 -0700"
      },
      "committer": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Jul 13 13:05:56 2012 -0700"
      },
      "message": "Fixed sample video corrupted in MediaCodec mode.\n\nChange-Id: I50c5660072d40f6e297e58fd026ea04c89d6a70a\nrelated-to-bug: 6732061\n"
    },
    {
      "commit": "04cd0186305e2b59d23c9147787046c6662029cc",
      "tree": "5c2da34c5489ab0741729ba6b66cec980c384720",
      "parents": [
        "5f0033d27b75fead593ed7ca2b86f5b6f5adf6cc"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jun 25 11:49:27 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 09:05:50 2012 -0700"
      },
      "message": "getMinFrameCount error handling\n\nConvention is for \"get\" APIs that directly return status_t and indirectly\nreturn a value via a pointer, to return BAD_VALUE if the pointer is NULL.\nAlso indirectly return 0 for other errors.\n\nChange-Id: I1599f20ecb26e9723f9fb384ffbf911ff3a2ce1c\n"
    },
    {
      "commit": "5f0033d27b75fead593ed7ca2b86f5b6f5adf6cc",
      "tree": "e12cae6d070d56571a5ce2160199b4a54edd0f7a",
      "parents": [
        "1879fff068422852c1483dcf8365c2ff0e2fadfc",
        "d4070955e28ae62aa4be1657f9d32acde104bb86"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Fri Jul 13 07:20:47 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Fri Jul 13 07:20:47 2012 -0700"
      },
      "message": "Merge \"Remove dead code in libmedia\""
    },
    {
      "commit": "5c63a648f943b0ec91c3262ced77d1598ff32093",
      "tree": "121b6750448db559bd9785d16d3a69cc93b95f68",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Jul 13 12:48:19 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Jul 13 14:09:22 2012 +0300"
      },
      "message": "mediacodec: Return an error on getOutputFormat if there is no output format yet\n\nThis avoids crashing if calling the public java method\nMediaCodec.getOutputFormat immediately after MediaCodec.start\n(as the documentation example shows that one should do!).\n\nChange-Id: Icd3dd7ab9ae9e8f2a67cef171ff176735de95f58\n"
    },
    {
      "commit": "1879fff068422852c1483dcf8365c2ff0e2fadfc",
      "tree": "f374fae563e2854ce20b4da16e9cae0d883aecd7",
      "parents": [
        "bf04a5d7f287fc712e0ed91849dc85c90c1e182d"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Wed Jul 11 15:36:59 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 13:43:08 2012 -0700"
      },
      "message": "Add tid parameter to IAudioFlinger::openRecord\n\nNot yet implemented\n\nChange-Id: I35523fb15ad71727ecc9f4bb870f07e4b7397dc4\n"
    },
    {
      "commit": "d4070955e28ae62aa4be1657f9d32acde104bb86",
      "tree": "4e289a66bb82da52f8e0e1c1691b35f1309d9f35",
      "parents": [
        "39c54f68804c1ce5c85ec588f3c2c63447a807b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 11:03:31 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 11:09:09 2012 -0700"
      },
      "message": "Remove dead code in libmedia\n\nChange-Id: I7d8201590cda29c9fa99662a4fdba222091febfe\n"
    },
    {
      "commit": "bf04a5d7f287fc712e0ed91849dc85c90c1e182d",
      "tree": "f9fd2ffd8df5a02c9c9373f5362da76204e5a676",
      "parents": [
        "39c54f68804c1ce5c85ec588f3c2c63447a807b4"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 09:07:11 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Thu Jul 12 09:36:34 2012 -0700"
      },
      "message": "Simplify AudioRecord::getInputFramesLost()\n\nThis also fixes a benign race in reading mActive without a lock.\n\nChange-Id: I19e953d4f275e5c266ca1ca3fece7b6c02ad1707\n"
    },
    {
      "commit": "21dc4b6a99f0427cc1c0b10d3dcdb34c7571d10f",
      "tree": "e1f5f87d30f28b5407bf6b76b55c23bb5a517e7e",
      "parents": [
        "359d8fcd30ff0a8390e4c5560d53ec55a4cc5bcd"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Mon Apr 16 20:51:34 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Thu Jul 12 18:19:27 2012 +0300"
      },
      "message": "avcenc: Remove redundant zero-initialization of allocated memory\n\nThe allocation callback is now supposed to always return initialized\nmemory.\n\nChange-Id: I7a4d036e498c9f87c730dda3aab5057eb764a1e7\n"
    },
    {
      "commit": "359d8fcd30ff0a8390e4c5560d53ec55a4cc5bcd",
      "tree": "efec98a8194e6be3d10aa986fbb264f869023c7b",
      "parents": [
        "23da4cf305b9bfff07954711a8a2d9ec040865af"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Mon Apr 16 20:50:37 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Thu Jul 12 18:19:26 2012 +0300"
      },
      "message": "avcenc: Initialize all memory allocated by the CBAVC_Malloc callback function\n\nValgrind reported use of uninitialized memory in AVCEncodeSlice,\nwhich this fixes.\n\nChange-Id: Ia09ad3e50d05b2b0487a4d588d9b00fc0828c816\n"
    },
    {
      "commit": "be5016bac5c1b422d850e299d3cb11fecf0ac19d",
      "tree": "17428986fa1b37a56a5040b42868b5950b303b4c",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939"
      ],
      "author": {
        "name": "Jesper Tragardh",
        "email": "jesper.tragardh@sonyericsson.com",
        "time": "Wed Jul 11 14:13:47 2012 +0200"
      },
      "committer": {
        "name": "Henrik Baard",
        "email": "henrik.baard@sonymobile.com",
        "time": "Wed Jul 11 14:34:03 2012 +0200"
      },
      "message": "Correct ID3::StringSize calculation for UCS-2 data.\n\nAlbum art was not displayed when albums were transferred via MediaGo\nbecause the length of the description in the APIC tag was not\ncorrectly calculated.\n\nThe method StringSize used to calculate the length of the tag\ndoes not add the size of the null termination in UCS-2 case.\n\nChange-Id: I5409d42f5e87d315e6e03c4d7e6cbd8a378a160d\n"
    },
    {
      "commit": "254af180475346b6186b49c297f340c9c4817511",
      "tree": "bee0e313aaa97645167e86f4678e513ab38d1c99",
      "parents": [
        "4d2132c866228eaef563e8141ebf06aa25ee9ff7"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 14:59:05 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 10:05:31 2012 -0700"
      },
      "message": "Use audio_channel_mask_t more places\n\nUse it in AudioSystem::getOutput(), AudioSystem::getInput(),\nIAudioPolicyService::getOutput(), IAudioPolicyService::getInput(),\nand various other places in AudioFlinger.\n\nNot done: AudioTrack and OutputDescriptor.\n\nChange-Id: I70e83455820bd8f05dafd30c63d636c6a47cd172\n"
    },
    {
      "commit": "f89a0deef1ecafcba164045b76d4d6c7bf8eb24d",
      "tree": "2791c97dc25f847e89c4be5d5649600139cceab6",
      "parents": [
        "94479fd5405642c67efd14cebe722feb9cbe6e77",
        "d3a9ff4b725de612bf0354c035ba8f8564dbc6e8"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 10 08:23:31 2012 -0700"
      },
      "committer": {
        "name": "Android (Google) Code Review",
        "email": "android-gerrit@google.com",
        "time": "Tue Jul 10 08:23:31 2012 -0700"
      },
      "message": "Merge \"Move declarations of local variables to first use\""
    },
    {
      "commit": "955585cca11173b07e2e7db3d636ee97b69b053b",
      "tree": "9ed09e5574969bd2bbc2172554272bdb813cff5f",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Apr 13 14:17:14 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Jul 10 14:48:08 2012 +0300"
      },
      "message": "avcenc: Fix indentation\n\nChange-Id: I4fcdf619e3b75387a7909272f3164b8d608b6cc2\n"
    },
    {
      "commit": "2f3152dee8e763fd7eae9d7b71078d5c6aec5881",
      "tree": "8fab093ef2b9f939712e2fc19e9e6ff4c4a3738b",
      "parents": [
        "23da4cf305b9bfff07954711a8a2d9ec040865af"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Apr 13 14:15:36 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Jul 10 14:03:47 2012 +0300"
      },
      "message": "avcenc: Remove useless casts\n\nChange-Id: I73a6f74268bcf6ca22d489d13936be8fd1b3fc92\n"
    },
    {
      "commit": "23da4cf305b9bfff07954711a8a2d9ec040865af",
      "tree": "c4b49aa2bcd9817e8364d828a9cfc291195922fd",
      "parents": [
        "ffb829430ff20ccd6c13e6ed894f2373b2d93939"
      ],
      "author": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Fri Apr 13 14:15:08 2012 +0300"
      },
      "committer": {
        "name": "Martin Storsjo",
        "email": "martin@martin.st",
        "time": "Tue Jul 10 14:03:46 2012 +0300"
      },
      "message": "avcenc: Switch malloc/free callbacks to use pointers instead of ints\n\nThere is no reason for casting the pointers to ints. This fixes\nbuilding the code on platforms where pointers are larger than ints,\ne.g. 64 bit platforms.\n\nChange-Id: I910cd207d0908287931c9a96eb270139967e029b\n"
    },
    {
      "commit": "dd8104cc5367262f0e5f13df4e79f131e8d560bb",
      "tree": "46c95f24576ec352d7d5d363606db9a46a44e9c3",
      "parents": [
        "f1da96d8cf60842538e00a9c950cc451f7da2c10"
      ],
      "author": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Mon Jul 02 12:42:44 2012 -0700"
      },
      "committer": {
        "name": "Glenn Kasten",
        "email": "gkasten@google.com",
        "time": "Tue Jul 03 10:24:45 2012 -0700"
      },
      "message": "Use audio_channel_mask_t more consistently\n\nIn IAudioFlinger::createTrack() and IAudioFlinger::openRecord(),\ndeclare input parameter to use correct type audio_channel_mask_t.\n\nIn IAudioFlinger::getInputBufferSize(), input parameter is now channel mask\ninstead of channel count.\n\nRemove unused IAudioFlinger::channelCount(audio_io_handle_t).\n\nIn AudioRecord::getMinFrameCount() and AudioSystem::getInputBufferSize(),\ninput parameter is channel mask instead of channel count.\n\nChange-Id: Ib2f1c29bea70f016b3cfce83942ba292190ac965\n"
    },
    {
      "commit": "faa5bdd1efff301962537a7b271bd31c78ec13dc",
      "tree": "f53ae4ed0c39ffa726eeb3c2145d23e747a87423",
      "parents": [
        "fb3aacec395d5917e29244fbef4b200ac8d08d07"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Fri Jun 15 13:56:18 2012 -0700"
      },
      "committer": {
        "name": "Keun young Park",
        "email": "keunyoung@google.com",
        "time": "Mon Jul 02 16:13:31 2012 -0700"
      },
      "message": "libstagefright: dynamically load libstagefright_chromium_http\n\ndlopen libstagefright_chromium_http to allow it to be on the platform\nside of the pdk without getting overwritten during a pdk fusion build.\n\nBug: 6772533\n\nChange-Id: I391e81d98beab165c3313bc8a71bb370ebb8584d\n"
    },
    {
      "commit": "a0108697f86d8625eb7ad3f13e422427fe7573ca",
      "tree": "10c9449ae11e4f915c17d2a4364ddb7b6a23ab97",
      "parents": [
        "af8e8aa1ada2948972555592570ec9ad90cbf372"
      ],
      "author": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 29 15:14:20 2012 -0700"
      },
      "committer": {
        "name": "James Dong",
        "email": "jdong@google.com",
        "time": "Fri Jun 29 15:15:51 2012 -0700"
      },
      "message": "Fixed a media server crash due to unintialized mRecord member variable\n\nmRecord is not properly initialized if the call to AudioRecord::getMinFrameCount() fails.\nmedia server crashes when the unintialized mRecord object is deleted in AudioSource\u0027s destructor.\n\nChange-Id: Ia89222789d044c11c9957a99725bc89f9c709e17\n\nrelated-to-bug: 6744014\n"
    },
    {
      "commit": "f89a87ab3708e75c406b2abcb7e69dc1b076868a",
      "tree": "e4b976bac1b17474efea3e8cb97e5ed0c6c59bd2",
      "parents": [
        "f18da5524ecc50b12ea8233f82892f99106fc009"
      ],
      "author": {
        "name": "Haynes Mathew George",
        "email": "hgeorge@codeaurora.org",
        "time": "Mon Jun 25 21:27:56 2012 -0700"
      },
      "committer": {
        "name": "Iliyan Malchev",
        "email": "malchev@google.com",
        "time": "Thu Jun 28 12:45:51 2012 -0700"
      },
      "message": "Process EBD and FBD messages in ERROR state\n\n- OMXCodec::on_message() function drops all OMX messages if\n  OMXCodec is in ERROR state\n- This can cause EBD/FBD messages containing valid buffers to be\n  dropped\n- Avoid dropping EBD/FBD messages so that buffer book-keeping is still\n  possible\n\nChange-Id: Idc1174b3fa946b26458d49394b87fba1738b228e\nSigned-off-by: Iliyan Malchev \u003cmalchev@google.com\u003e\n"
    },
    {
      "commit": "af8e8aa1ada2948972555592570ec9ad90cbf372",
      "tree": "c573478e9f30dfe62dab9674fa4c04170f4b9626",
      "parents": [
        "0dc6d5ef45c0721c76f0e55354ff80371d795e5d"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 13:32:23 2012 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Tue Jun 26 13:53:00 2012 -0700"
      },
      "message": "Add mode when open(O_CREAT) is used.\n\nWhen creating a new file using open(..., O_CREAT), it is an error\nto fail to specify a creation mode. If a mode is not specified, a\nrandom stack provided value is used as the \"mode\".\n\nThis will become a compile error in a future Android change.\n\nChange-Id: I36a3d67d294a915c1f79632a1b0ba45edd1214b1\n"
    },
    {
      "commit": "f18da5524ecc50b12ea8233f82892f99106fc009",
      "tree": "f9d65b6fa740b346a8318dfec869bfe79d1b1d37",
      "parents": [
        "18faac2af4e3b27deec0a707757883e5e569c591",
        "33e28dd3c033641f4db9d1b99c7c88d6d08c61f7"
      ],
      "author": {
        "name": "Jamie Gennis",
        "email": "jgennis@google.com",
        "time": "Mon Jun 25 15:38:04 2012 -0700"
      },
      "committer": {
        "name": "Android Git Automerger",
        "email": "android-git-automerger@android.com",
        "time": "Mon Jun 25 15:38:04 2012 -0700"
      },
      "message": "am 33e28dd3: Merge \"SurfaceMediaSource: keep refs to current buffers\" into jb-dev\n\n* commit \u002733e28dd3c033641f4db9d1b99c7c88d6d08c61f7\u0027:\n  SurfaceMediaSource: keep refs to current buffers\n"
    }
  ],
  "next": "20010053daabfa43fcfe781bbf004473b4c08538"
}
