)]}'
{
  "log": [
    {
      "commit": "951b49816b6b1dbc28fdc9b63dbcef02965cff61",
      "tree": "3e8d7be67acccbb10aacbaf3b571e169ece71919",
      "parents": [
        "894180e071abcc2685abc9ea2df0a9ee7a763fad"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed Apr 17 13:26:15 2019 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Fri Apr 19 11:26:14 2019 -0700"
      },
      "message": "Move to android_mallopt for malloc debug calls.\n\nBug: 130028357\n\nTest: Enable backtrace for mediaserver, run dumpsys media.player -m\nChange-Id: I75adddfc5048f732ee7ec27c17192efd5857af38\nMerged-In: I75adddfc5048f732ee7ec27c17192efd5857af38\n(cherry picked from commit bd0195ecacaa5381278d8f96b51af36631dc0cd9)\n"
    },
    {
      "commit": "894180e071abcc2685abc9ea2df0a9ee7a763fad",
      "tree": "ba03574f8020dc0b169867e96db58c8caf1bb68b",
      "parents": [
        "336c1fbad48af947bcee186f9d8934b8de132a0c",
        "b04657b542ee5268735b0ed6501b5bc2c0dd43d9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Apr 05 16:45:49 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Apr 05 16:45:49 2019 +0000"
      },
      "message": "Merge \"Add dependency on libdl_android\""
    },
    {
      "commit": "85fc3f4718e3d0a4f524e1f4d0fb214525f0d2a4",
      "tree": "e9588af3950d25303cf454626314182aaa56a513",
      "parents": [
        "5e705a56361a6d5a61a2bb1c04c48668c11d4bb4"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Apr 03 11:29:05 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Apr 03 02:30:18 2019 +0000"
      },
      "message": "Support multiple\n\nIf the parent element is multiple even though the element is not\nmultiple, it must be set to multiple. As a result, the element is\nchanged to multiple and the APIs are changed.\n\nBug: 128380795\nTest: m -j \u0026\u0026 make check-api\nChange-Id: Ifce1e86a91c23eee5ec945b36c7fc97a5db26c8a\n"
    },
    {
      "commit": "5e705a56361a6d5a61a2bb1c04c48668c11d4bb4",
      "tree": "d8d59892037d36b1c4df29d03c5f3f8f47059d9e",
      "parents": [
        "cfa3f496446d5703c382f714ae5608211cefcdbe",
        "6f8e3362c73a9a9e87f0964c27e3929c63520366"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Wed Apr 03 00:40:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 00:40:44 2019 +0000"
      },
      "message": "Merge changes I3f69e410,Ieccf3b8e\n\n* changes:\n  AMRWB_E_SAMPLE: Fix resource leaks in error cases\n  amrnbdec_test: Fix resource leaks in error cases\n"
    },
    {
      "commit": "cfa3f496446d5703c382f714ae5608211cefcdbe",
      "tree": "15150688ca6f043b79d6eb32929cd4a61023118b",
      "parents": [
        "98001b1bf3b01d353e48d8edc58c34fa3826ebb9",
        "b540e0e7d98dde4f40018dc4c5a971f8cd9627e5"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Apr 03 00:00:31 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Apr 03 00:00:31 2019 +0000"
      },
      "message": "Merge \"Fix rounding error accumulation of audio timestamp\""
    },
    {
      "commit": "6f8e3362c73a9a9e87f0964c27e3929c63520366",
      "tree": "cdcfcb43322e03566ca2ba68f80afb25a22ad561",
      "parents": [
        "c0884f535a3515c1c3e2eef9383d2dfa7983dfb9"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Mar 04 13:50:10 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 02 15:01:33 2019 -0700"
      },
      "message": "AMRWB_E_SAMPLE: Fix resource leaks in error cases\n\nWe also avoid a pontential call to dlclose(NULL) which was\npossible in the previous code.\n\nNote the leaks aren\u0027t really consequential since this is a\nstandalone sample.  But by putting in simple fixes for these,\nwe reduce the noise when using static analysis to find leaks\nin Android code.\n\nTest: TreeHugger\n\nChange-Id: I3f69e410ecf611dcb60e4f58aae27801b2141e4d\n"
    },
    {
      "commit": "c0884f535a3515c1c3e2eef9383d2dfa7983dfb9",
      "tree": "a5d0e677712553639717617ebd02e644af423886",
      "parents": [
        "98001b1bf3b01d353e48d8edc58c34fa3826ebb9"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Mar 04 13:43:38 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Tue Apr 02 06:12:30 2019 -0700"
      },
      "message": "amrnbdec_test: Fix resource leaks in error cases\n\nThese leaks aren\u0027t really consequential since this is a standalone\ntest.  But by putting in simple fixes for these, we reduce the\nnoise when using static analysis to find leaks in Android code.\n\nTest: TreeHugger\nChange-Id: Ieccf3b8ec49b4da2b031c7a407d69d64c8d7fa00\n"
    },
    {
      "commit": "98001b1bf3b01d353e48d8edc58c34fa3826ebb9",
      "tree": "df16cfbe9e05b3f651671a615e043a3cbc4bafbe",
      "parents": [
        "813a561aed7cf59b0c2cdcf06502854d8cd81e83",
        "768394445a7f2c57a2b975593ab1a6a3fe642c02"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Apr 02 01:03:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Apr 02 01:03:21 2019 +0000"
      },
      "message": "Merge \"Add vts test for media_codecs.xsd and media_profiles.xsd\""
    },
    {
      "commit": "813a561aed7cf59b0c2cdcf06502854d8cd81e83",
      "tree": "8ebe4c04e4bdafadf4a154c82d429dbcadd3d944",
      "parents": [
        "207ff86dcec301503f3db080b2d1105e6760da16",
        "f80d4a14eadfc399fbf0fb0d7bb8b796c13c01a1"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Mon Apr 01 19:15:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Apr 01 19:15:44 2019 +0000"
      },
      "message": "Merge \"use libc\u0027s powerof2\""
    },
    {
      "commit": "207ff86dcec301503f3db080b2d1105e6760da16",
      "tree": "1c791c7735e4fb9a53bf28824cb7c3d2e45ab1aa",
      "parents": [
        "75a0fc7cd7f856ae41c38d11b591b90dc6eb156f",
        "8892ca82ad2bb759cf22fca5da46355ce7f3ef82"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 29 14:30:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 29 14:30:21 2019 +0000"
      },
      "message": "Merge \"Remove updatable from mediaserver and mediaextractor\""
    },
    {
      "commit": "f80d4a14eadfc399fbf0fb0d7bb8b796c13c01a1",
      "tree": "01119d50dc8b29d659ea660198c3988f3689e7c6",
      "parents": [
        "c18cebd376aef4b6018e22face736bbbb0e54f65"
      ],
      "author": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 28 19:03:57 2019 -0700"
      },
      "committer": {
        "name": "Nick Kralevich",
        "email": "nnk@google.com",
        "time": "Thu Mar 28 19:03:57 2019 -0700"
      },
      "message": "use libc\u0027s powerof2\n\nInstead of rolling our own powerof2 function, use the version provided\nby libc. In particular, this version is not ubsan safe, whereas the libc\nversion is. See https://android-review.googlesource.com/c/platform/bionic/+/932279\n\nTest: compiles and boots\nChange-Id: I0dd39254357826c14c3185a5e6332faa90975f01\n"
    },
    {
      "commit": "b540e0e7d98dde4f40018dc4c5a971f8cd9627e5",
      "tree": "865906a0a8048477ca565cfc7b585606f012c568",
      "parents": [
        "5e195df5d73cae31c40f122336e35692cc5c439e"
      ],
      "author": {
        "name": "Yanqiang Fan",
        "email": "yanqiang.fan@mediatek.com",
        "time": "Wed Mar 01 15:59:58 2017 +0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Thu Mar 28 13:54:38 2019 -0700"
      },
      "message": "Fix rounding error accumulation of audio timestamp\n\nThe calculating method of audio timestamp would cause rounding error\naccumulated with a long time recording, as each current timestamp is\ncalculated with the previous timestamp.\nThis patch changes to calculate all timestamps on the basis of the\nfirst frame to avoid accumulation of rounding error.\n\nBug: 128277968\nTest: CTS - MediaRecorderTest\n ANDROID_BUILD_droid-cts/tools/cts-tradefed run cts -m\n CtsMediaTestCases --test android.media.cts.MediaRecorderTest\n\nChange-Id: I3464d62c30e7b1fd0976419b845e6b9067f44615\n"
    },
    {
      "commit": "b04657b542ee5268735b0ed6501b5bc2c0dd43d9",
      "tree": "e778340afb7fe2883314642f48b567066d2663cc",
      "parents": [
        "beb800f0c764b498c526da50fd1ad500e437be26"
      ],
      "author": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Wed Mar 20 13:42:18 2019 +0100"
      },
      "committer": {
        "name": "dimitry",
        "email": "dimitry@google.com",
        "time": "Thu Mar 28 12:55:14 2019 +0100"
      },
      "message": "Add dependency on libdl_android\n\nplatform private symbols have been moved to libdl_android.so\nsince they are not intended to be accessible from apps.\n\nTest: make\nBug: http://b/129387775\nChange-Id: I2ad02e0a6cdbf5b9aba323523dd56a2c378e72f0\n(cherry picked from commit 128a767f20f6c44128c3f2283d5026202fa4707d)\n"
    },
    {
      "commit": "9cb5a63417f105874ea627d3fec67d492e9533ec",
      "tree": "677a7ec736a90ccbefd1ec91ff1bc72f9f022c4d",
      "parents": [
        "8089e5a16ab33eb33a4b893508cd918c71bc7ffe"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Mar 07 17:43:25 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Mar 28 05:35:48 2019 +0000"
      },
      "message": "libmediandk: use libandroid_runtime_lazy\n\nlibmediandk and libbinder_ndk have a duplicate code\nthat loads libandroid_runtime lazily. That part has been extracted\ninto its own library: libandroid_runtime_lazy.\n\nBug: 125550121\nTest: m -j\nTest: readelf -d $OUT/system/lib64/libmediandk.so | grep NEED\nTest: # see if there is not libandroid_runtime)\nChange-Id: If7cde2f9d3076cec4e69fd8f6e7b19c99804f42e\nMerged-In: If7cde2f9d3076cec4e69fd8f6e7b19c99804f42e\n"
    },
    {
      "commit": "d4a26c4d124d68de235a9a838aec997859d9513e",
      "tree": "440fc564ec1a19d70810c1dad0d1353c9f901ffc",
      "parents": [
        "beb800f0c764b498c526da50fd1ad500e437be26"
      ],
      "author": {
        "name": "Aniket Kumar Lata",
        "email": "alata@quicinc.com",
        "time": "Fri Jan 18 17:04:01 2019 -0800"
      },
      "committer": {
        "name": "Hung-ying Tyan",
        "email": "tyanh@google.com",
        "time": "Wed Mar 27 02:28:33 2019 +0000"
      },
      "message": "av: stop puller before releasing encoder\n\nWhen encoder is released, it will no longer turn to media codec source\nfor fill-this-buffer. Hence, the buffer queue within puller will not be\ncleared by encoder.\n\nStop mPuller before releasing encoder to avoid being stucked in\nAudioSource::waitOutstandingEncodingFrames_l() if audiosource reset() is\ninvoked from SFRecorder destructor.\n\nBug: 123065628\nChange-Id: I78ecb2207ae595784204bd6392311dc194af306d\nMerged-In: I78ecb2207ae595784204bd6392311dc194af306d\n"
    },
    {
      "commit": "beb800f0c764b498c526da50fd1ad500e437be26",
      "tree": "10ffe31c19b180f690c81f45aa623be3d41cb071",
      "parents": [
        "c18cebd376aef4b6018e22face736bbbb0e54f65",
        "3cef6bbf0c11666ca054361a2ca861cecee2fcb2"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 25 18:43:32 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 25 18:43:32 2019 +0000"
      },
      "message": "Merge \"amrnb: Fix memory leaks\""
    },
    {
      "commit": "c18cebd376aef4b6018e22face736bbbb0e54f65",
      "tree": "863c17b8639f38b47322921c14d2308a208bc2e1",
      "parents": [
        "074b3f190d9f5b2796e222161282ffd664258b54",
        "38ac65cf5870e04bef59dfa191f4e840f322b707"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 22 11:05:55 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 22 11:05:55 2019 +0000"
      },
      "message": "Merge \"Add new tags\""
    },
    {
      "commit": "768394445a7f2c57a2b975593ab1a6a3fe642c02",
      "tree": "858be2b90a3aa5e2810ac53bf1e96fbb2ec7b5e7",
      "parents": [
        "074b3f190d9f5b2796e222161282ffd664258b54"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 20 23:02:57 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Fri Mar 22 04:53:49 2019 +0000"
      },
      "message": "Add vts test for media_codecs.xsd and media_profiles.xsd\n\nThe VtsValidateMediaCodecs and VtsValidateMediaProfiles tests are\nadded for checking xsd schema validation.\n\nBug: 128380795\nTest: vts-tradefed run vts -m VtsValidateMediaCodecs\nTest: vts-tradefed run vts -m VtsValidateMediaProfiles\nChange-Id: I300d6c76b39f9087ec562171230310e02e135155\n"
    },
    {
      "commit": "3cef6bbf0c11666ca054361a2ca861cecee2fcb2",
      "tree": "08f199b42c03950522f0eac9af6feaca399afcfd",
      "parents": [
        "5e195df5d73cae31c40f122336e35692cc5c439e"
      ],
      "author": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Mar 20 13:07:03 2019 -0700"
      },
      "committer": {
        "name": "George Burgess IV",
        "email": "gbiv@google.com",
        "time": "Wed Mar 20 13:16:20 2019 -0700"
      },
      "message": "amrnb: Fix memory leaks\n\nThis fixes two independent memory leaks.\n\nThe one in sp_dec also replaces apparently broken (and dynamically dead)\ncode. Decoder_amr_init and Post_Process_reset can apparently only fail\nif you pass them null pointers. In any case, `GSMDecodeFrameExit(s)`\nbasically does `free(*s)` if `(s !\u003d NULL \u0026\u0026 *s !\u003d NULL)`; as written,\nwe\u0027ll free the first *member* of `tmp` in the old block here, and leave\nthe original allocation unfreed.\n\nReported by the static analyzer:\n\nframeworks/av/media/libstagefright/codecs/amrnb/common/src/lsp.cpp:185:17:\nwarning: Potential leak of memory pointed to by \u0027s\u0027\n[clang-analyzer-unix.Malloc]\nframeworks/av/media/libstagefright/codecs/amrnb/dec/src/sp_dec.cpp:278:9:\nwarning: Potential leak of memory pointed to by \u0027tempVoid\u0027\n[clang-analyzer-unix.Malloc]\n\nBug: None\nTest: Built again with the analyzer\nChange-Id: Idcbd8fb98259693df5ecce14583367b98c9fe1d7\n"
    },
    {
      "commit": "969975c53fbf5a78304fa7eb4107629c0a353509",
      "tree": "a33c02ed25ab4442394b2342239341d340b363a2",
      "parents": [
        "e3a7f1b68091e9e8c6acd8ae07419075b082dd0b",
        "f6254a307e688ce9d7b5a7bdc676b8349499325d"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 20 17:35:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 20 17:35:03 2019 +0000"
      },
      "message": "Merge \"Switch to use aicu/AIcu.h\""
    },
    {
      "commit": "f6254a307e688ce9d7b5a7bdc676b8349499325d",
      "tree": "53e84b79cd3b2cf6a7d7843125aceb2f01f57573",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863"
      ],
      "author": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Mon Mar 11 19:35:25 2019 +0000"
      },
      "committer": {
        "name": "Neil Fuller",
        "email": "nfuller@google.com",
        "time": "Wed Mar 20 17:34:40 2019 +0000"
      },
      "message": "Switch to use aicu/AIcu.h\n\nSwitch to using a dynamically-linked library function to initialize\nICU, not a statically-linked function. This means the knowledge of file\npaths stays in the runtime module.\n\nBug: 120493361\nTest: build/boot\nExempt-From-Owner-Approval: It\u0027s just a cherry-pick\nMerged-In: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6\nChange-Id: Ibe1d5ffd50e5cce76b1b01788954dcfb4762b1c6\n"
    },
    {
      "commit": "38ac65cf5870e04bef59dfa191f4e840f322b707",
      "tree": "29261a9a8e59d8c3d4f3ef15e18a5a957ee640a8",
      "parents": [
        "5e195df5d73cae31c40f122336e35692cc5c439e"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 20 14:10:46 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 20 14:13:24 2019 +0900"
      },
      "message": "Add new tags\n\nThe ImageDecoding tag is added to media_profiles.xsd.\nThe Include, Included and Alias tags are added to media_codecs.xsd. And\nthe sequence type is changed to choice with min\u003d0 and max\u003dunbounded to\nsupport any order and any number elements.\n\nBug:128380795\nTest: m -j\n\nChange-Id: I9817c4d4b895fcf3a70e074bf27a384fecc43aad\n"
    },
    {
      "commit": "e3a7f1b68091e9e8c6acd8ae07419075b082dd0b",
      "tree": "f9c803f66453fb39e8d73fcd360e475fc1e5590d",
      "parents": [
        "5e195df5d73cae31c40f122336e35692cc5c439e",
        "007ac1ad82b7112e2e77db4914b93cd461c93c73"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Tue Mar 19 20:52:53 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 19 20:52:53 2019 +0000"
      },
      "message": "Merge \"Switch from getrlimit(RLIMIT_AS) to android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES).\""
    },
    {
      "commit": "007ac1ad82b7112e2e77db4914b93cd461c93c73",
      "tree": "531128cb966a4b5888fc7ebf44ba776a4d6fc471",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863"
      ],
      "author": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Thu Nov 29 15:08:46 2018 -0800"
      },
      "committer": {
        "name": "Peter Collingbourne",
        "email": "pcc@google.com",
        "time": "Mon Mar 18 13:48:02 2019 -0700"
      },
      "message": "Switch from getrlimit(RLIMIT_AS) to android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES).\n\nThe RLIMIT_AS limit was introduced as a security mitigation, but it\nisn\u0027t exactly what the media processes want to control. It is also\nproblematic under sanitizers which allocate large amounts of address\nspace as shadow memory, and is especially problematic under shadow\ncall stack, which requires 16MB of address space per thread. Instead,\nuse the newly introduced android_mallopt(M_SET_ALLOCATION_LIMIT_BYTES)\nto control the allocator\u0027s memory limit directly.\n\nAlso remove ASAN/HWASAN/CFI specific hacks; they are no longer\nnecessary because these tools consume address space using mmap and\nnot the allocator, and remove the 64-bit pointer check before calling\n__scudo_set_rss_limit, since otherwise the limit would stop being\nenforced in 32-bit mode with Scudo.\n\nBug: 118642754\nChange-Id: Ie66128626976c0b04d5dafd455c375bbfdccc083\n"
    },
    {
      "commit": "5e195df5d73cae31c40f122336e35692cc5c439e",
      "tree": "04c1140576a7cba2290dca8f8b4fc12dc5763895",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863",
        "348850bed95adbe762ee98bba7bbbbae268c1553"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 18 20:17:44 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 18 20:17:44 2019 +0000"
      },
      "message": "Merge \"The ozoaudio modification within Mainline media file scope\""
    },
    {
      "commit": "8892ca82ad2bb759cf22fca5da46355ce7f3ef82",
      "tree": "25be44543a04983c76d25c2d4b5023ccf2702dce",
      "parents": [
        "5ee05596015a14d01212ad73c085f0558bb3c863"
      ],
      "author": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Tue Mar 05 21:52:08 2019 +0900"
      },
      "committer": {
        "name": "Jiyong Park",
        "email": "jiyong@google.com",
        "time": "Thu Mar 14 07:35:53 2019 +0900"
      },
      "message": "Remove updatable from mediaserver and mediaextractor\n\nBug: 125549215\nTest: m; device boots\nTest: play some video\nChange-Id: Ib8ec81bcb476e0d1c9736962b49e4c5ccb58af03\n"
    },
    {
      "commit": "5ee05596015a14d01212ad73c085f0558bb3c863",
      "tree": "3a812c7dbd0c90142387c73a93ea00342f3dd623",
      "parents": [
        "9e2430163f3d87f97d3bf3ae15decb2b7195e067",
        "4c87ad76277114d019bd6c605e788659e02a9161"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 13 17:53:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 13 17:53:01 2019 +0000"
      },
      "message": "Merge \"Add media_codecs\""
    },
    {
      "commit": "9e2430163f3d87f97d3bf3ae15decb2b7195e067",
      "tree": "6fa3efcd630c062ad714b68bbbfccec93feb35e8",
      "parents": [
        "b3d28b96c61663ddb39e2f877e8b125a0774af34",
        "ceaa21bc0f0723a4112dd7fb405f41cd40827fd9"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Mar 13 17:52:57 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Mar 13 17:52:57 2019 +0000"
      },
      "message": "Merge \"Add media_profiles\""
    },
    {
      "commit": "ceaa21bc0f0723a4112dd7fb405f41cd40827fd9",
      "tree": "80e83e09f2d006f08aacc67da278e32c7254fd7b",
      "parents": [
        "fe610f0fa30cf58c448f718c05d53208431baf08"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 13 07:53:25 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Wed Mar 13 07:53:25 2019 +0900"
      },
      "message": "Add media_profiles\n\nThis module is for API check of java file generated from\nmedia_profiles.xsd\n\nBug: 128380795\nTest: m -j\nChange-Id: Icb112074f7d8290b0fa037a96c7e097e5e73e3f1\n"
    },
    {
      "commit": "4c87ad76277114d019bd6c605e788659e02a9161",
      "tree": "071f87ff5713cf360b519e49d3c962eb2c650f34",
      "parents": [
        "fe610f0fa30cf58c448f718c05d53208431baf08"
      ],
      "author": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Mon Jan 07 12:30:27 2019 +0900"
      },
      "committer": {
        "name": "Sundong Ahn",
        "email": "sundongahn@google.com",
        "time": "Tue Mar 12 06:26:12 2019 +0000"
      },
      "message": "Add media_codecs\n\nThis module is for API check of java file generated from\nmedia_codecs.xsd\n\nBug: 80453829\nTest: m -j\nChange-Id: I07090d7faf00fa35600bab4db49bdaeac8969d97\n"
    },
    {
      "commit": "348850bed95adbe762ee98bba7bbbbae268c1553",
      "tree": "3b0e02fc74a9d13b3fdc707a6a8368119795f0a9",
      "parents": [
        "fe610f0fa30cf58c448f718c05d53208431baf08"
      ],
      "author": {
        "name": "DanielMo",
        "email": "DanielMo@fih-foxconn.com",
        "time": "Thu Jan 10 15:01:25 2019 +0800"
      },
      "committer": {
        "name": "DanielMo",
        "email": "DanielMo@fih-foxconn.com",
        "time": "Tue Mar 12 10:16:22 2019 +0800"
      },
      "message": "The ozoaudio modification within Mainline media file scope\n\nThe ozoaudio integration mainly adds ozoaudiodec and ozoaudioenc under libstagefright/codecs.\nHowever, it also modifies MPEG4Extractor.cpp, and the file is in Mainline media file scope.\nUpstream the patch for reference.\n\nChange-Id: I98da8e5ffaf7873b20d877520993a11cda07a618\n"
    },
    {
      "commit": "628286b620d10a2395252a5bab7067bee0f221f6",
      "tree": "668fd26f6f15f6ba6f4b813d7ca8879a5dd14525",
      "parents": [
        "fe610f0fa30cf58c448f718c05d53208431baf08",
        "a31eb276a30e07c6431da1e5ea093fd8f3e3bf55"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Mar 11 09:13:27 2019 -0700"
      },
      "committer": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Mon Mar 11 09:13:27 2019 -0700"
      },
      "message": "DO NOT MERGE - Merge PPRL.190305.001 into master\n\nBug: 127812889\nChange-Id: I96d8fdd0e8a40a783a2f4ee91a01dbad44a22956\n"
    },
    {
      "commit": "50d2ce03c02d8d535967f50e0041a1fcacb21582",
      "tree": "66e644714e310f820433fe328b28bbba77203937",
      "parents": [
        "fb208d465903f7ffa504a196032bdd590ed22770"
      ],
      "author": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Mon Mar 04 13:53:39 2019 -0800"
      },
      "committer": {
        "name": "Greg Kaiser",
        "email": "gkaiser@google.com",
        "time": "Thu Mar 07 07:58:04 2019 -0800"
      },
      "message": "m4v_h263_enc_test: Fix leaks in error cases\n\nThese leaks aren\u0027t really consequential since this is a standalone\ntest.  But by putting in simple fixes for these, we reduce the\nnoise when using static analysis to find leaks in Android code.\n\nTest: TreeHugger\n\nChange-Id: Iace7028f8bc3951abf72ddcec2b741b7a5f61a3e\n"
    },
    {
      "commit": "ef280831346ccf08ee8d5e229a133cd26f701ff4",
      "tree": "92f252a4ebd5e9a169eb4bd1a9e0a648ad6258fe",
      "parents": [
        "7e7836e3e1dd4b4d2bf0b3209ada89ba63a0ebe8"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 21 15:27:38 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Mar 05 11:41:09 2019 +0900"
      },
      "message": "Use libandroid_runtime lazily\n\nThis is a part of cutting dependency from libmediandk to\nlibandroid_runtime.\n\nBy making a libandroid_runtime to be loaded lazily,\nlibmediandk won\u0027t load libandroid_runtime when it is used as a LL-NDK.\n\nBug: 124268753\nTest: m -j\nChange-Id: Ib040856c58d38e11a5f32cd5dd5519910573334b\nMerged-In: Ib040856c58d38e11a5f32cd5dd5519910573334b\n"
    },
    {
      "commit": "7e7836e3e1dd4b4d2bf0b3209ada89ba63a0ebe8",
      "tree": "f6fa27bb804c568edacf700b0108612bc4f9a9f4",
      "parents": [
        "f9ac0e84e274451054cd91e4ec908df4639b14b1",
        "9855ebdc1a10580af471dddbf3c692823e5f2482"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Tue Mar 05 02:16:42 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Mar 05 02:16:42 2019 +0000"
      },
      "message": "Merge \"Use PublicFormat from libui\""
    },
    {
      "commit": "f9ac0e84e274451054cd91e4ec908df4639b14b1",
      "tree": "1b87ec2c7ae149a0be869d6746a6384b0ed0c8ec",
      "parents": [
        "d3a512cbd7f30f33ce3e129dc1faaa21cd3f2484",
        "9d6fcae912905f6ec16e61270567210d7e5afd76"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Mon Mar 04 23:25:59 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 04 23:25:59 2019 +0000"
      },
      "message": "Merge \"Ignore audio sync sample list\""
    },
    {
      "commit": "d3a512cbd7f30f33ce3e129dc1faaa21cd3f2484",
      "tree": "9f72a917e2420d9ecc986d79487584062d7c37d2",
      "parents": [
        "b45a1898f8983f85817ff9c55ed324523b043fab",
        "fe30459ec638868040b1ec8df1b8642d5c1c2ad1"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 04 23:01:13 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 04 23:01:13 2019 +0000"
      },
      "message": "Merge \"Use libnativewindow\u0027s AHardwareBuffer directly\""
    },
    {
      "commit": "b45a1898f8983f85817ff9c55ed324523b043fab",
      "tree": "7b9be096fb1b0c692bfcd5765503938ce3639b17",
      "parents": [
        "dd27a6a112deceed9674e275f1f6975d4b068ea9",
        "e6fe88c8dbcaf38fe7ba4dfe8977984f22662bf4"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Mon Mar 04 22:47:16 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Mon Mar 04 22:47:16 2019 +0000"
      },
      "message": "Merge \"Cut dependency to libmedia_jni.so\""
    },
    {
      "commit": "9855ebdc1a10580af471dddbf3c692823e5f2482",
      "tree": "b7533f98fc50607917717d28cb5b3f1a5f953b91",
      "parents": [
        "fe30459ec638868040b1ec8df1b8642d5c1c2ad1"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Mar 04 16:15:11 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Mar 04 16:20:03 2019 +0900"
      },
      "message": "Use PublicFormat from libui\n\nThis is a part of cutting dependency from libmediandk to\nlibandroid_runtime.\n\nPublicFormat which was defined in android_view_Surface has\nbeen moved to libui.\n\nBug: 124268753\nTest: m -j\nChange-Id: I5f0e64ee6e2d5eb6b64491356a5bfa50b512a9c9\nMerged-In: I5f0e64ee6e2d5eb6b64491356a5bfa50b512a9c9\n"
    },
    {
      "commit": "fe30459ec638868040b1ec8df1b8642d5c1c2ad1",
      "tree": "916eb2dd5704941aac76bb8d0cb5cc0df3714ec4",
      "parents": [
        "dd27a6a112deceed9674e275f1f6975d4b068ea9"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 21 15:12:59 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Mon Mar 04 16:17:56 2019 +0900"
      },
      "message": "Use libnativewindow\u0027s AHardwareBuffer directly\n\nThis is a part of cutting dependency from libmediandk to\nlibandroid_runtime.\n\nThe following function is exported from libandroid_runtime.\n* android_hardware_HardwareBuffer_convertToGrallocUsageBits\n\nThis function just delegates to libnativewindow\u0027s\nAHardwareBuffer_convertToGrallocUsageBits function.\n\nThis commit is for libmediandk to call libnativewindow\u0027s\nfunction directly in order to cut the dependency to libandroid_runtime.\n\nBug: 124268753\nTest: m -j\nChange-Id: I5f927fc26829031a8c91a7ba51178a34d737a953\nMerged-In: I5f927fc26829031a8c91a7ba51178a34d737a953\n"
    },
    {
      "commit": "dd27a6a112deceed9674e275f1f6975d4b068ea9",
      "tree": "e844c601eb28d60ac2e551c09670f686cdb66054",
      "parents": [
        "d595860990a612bfd75f43d68600140331ee6031",
        "adb4e0066804a796ebb5ff4a17ab4582ed295996"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Sat Mar 02 02:30:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Sat Mar 02 02:30:06 2019 +0000"
      },
      "message": "Merge \"Cut dependency to libandroid.so\""
    },
    {
      "commit": "9d6fcae912905f6ec16e61270567210d7e5afd76",
      "tree": "1e4a3b76805394b5d67cfcdcd35fb277109e5457",
      "parents": [
        "c48a1bc70c7468ce63822544123bcde727eb8a16"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 01 13:40:57 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Mar 01 13:40:57 2019 -0800"
      },
      "message": "Ignore audio sync sample list\n\nIgnore the sync sample list for audio tracks, since some software\nwrites files with an empty sync sample list, resulting in unseekable\nfiles.\n\nBug: 112442775\nTest: manual\nChange-Id: Ib658463143b7d17845c1eb52bbab27106ae66cb7\n"
    },
    {
      "commit": "c48a1bc70c7468ce63822544123bcde727eb8a16",
      "tree": "99d088005ab41bc763b0ce822247a42dde7a918f",
      "parents": [
        "d2bac96d6e4817053cc23b2d046e3dc5d7b087a0",
        "be95a088893a0dc3fbdcde6d6aed13153390f5dc"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Fri Mar 01 17:25:46 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Mar 01 17:25:46 2019 +0000"
      },
      "message": "Merge \"Upsize the buffer of the raw decoder\""
    },
    {
      "commit": "e6fe88c8dbcaf38fe7ba4dfe8977984f22662bf4",
      "tree": "3d3748d523f18d9dd50cbab867b3a6cbd1bd55ac",
      "parents": [
        "3ab5a76d8602f38170b71cf91c5e345a3e881dc8"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Feb 22 16:19:46 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 28 12:06:37 2019 +0900"
      },
      "message": "Cut dependency to libmedia_jni.so\n\nThis is a part of job to cut dependency from libmediandk\nto libandroid_runtime. As a LL-NDK, libmediandk desn\u0027t have\nto depend on libandroid_runtime.\n\ndepependcy:\n* libmediandk -\u003e libmedia_jni -\u003e libandroid_runtime.\n\nLibmediandk calls three functions defined in libmedia_jni.\nHowever those three functions are independent from libandroid_runtime.\nAfter extracting those utility functions into a new library\n(libmedia_jni_utils), libmediandk now depends on it instead of\nlibmedia_jni.\n\nBug: 124268753\nTest: m -j\nChange-Id: If283fefca5cf4e282d1c29876b78037bc9df7625\nMerged-In: If283fefca5cf4e282d1c29876b78037bc9df7625\n"
    },
    {
      "commit": "adb4e0066804a796ebb5ff4a17ab4582ed295996",
      "tree": "1d6bd4248ecef2a8771b42973387ba54dd98e2b4",
      "parents": [
        "9e0c867f1525da8a6e49ffdadee968e15da26046"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 21 11:34:07 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Thu Feb 28 11:40:37 2019 +0900"
      },
      "message": "Cut dependency to libandroid.so\n\nThis is a part of job to cut dependency from libmediandk\nto libandroid_runtime. As a LL-NDK, libmediandk desn\u0027t have\nto depend on libandroid_runtime.\n\ndepependcy:\n* libmediandk -\u003e libandroid -\u003e libandroid_runtime.\n\nLibmediandk uses only one symbol(ANativeWindow_aquire) from\nlibandroid and it is re-exported from libnativewindow.\n\nSo by switching from libandroid to libnativewindow, the dependency\nfrom libmediandk to libandroid is cut easily.\n\nBug: 124268753\nTest: m -j\nChange-Id: I5da320780dba7c63ce39679dbf5d40fe9202eb00\nMerged-In: I5da320780dba7c63ce39679dbf5d40fe9202eb00\n"
    },
    {
      "commit": "19a282a4e63e3630eefaacbe080ed83007e7ba36",
      "tree": "859619261553f10dd92792024d690316ed494227",
      "parents": [
        "439774e7ca4a5cc755e3ffbbdc993bd284a2e0e9"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Fri Oct 19 10:24:12 2018 -0700"
      },
      "committer": {
        "name": "Ilya Matyukhin",
        "email": "ilyamaty@google.com",
        "time": "Wed Feb 20 19:49:59 2019 -0800"
      },
      "message": "Add onExpirationUpdate and onKeyStatusChange listeners.\n\nAdd AMediaDrm_setOnExpirationUpdateListener and\nAMediaDrm_setOnKeysChangeListener.\n\nbug: 77712870\n\nTest: native CTS test testClearKeyPlaybackCenc\nTest: CTS MediaDrmMockTest\n\nChange-Id: I81eb6ceda4527d9362e270fedbbb117d0d5b57e3\nMerged-In: I81eb6ceda4527d9362e270fedbbb117d0d5b57e3\n"
    },
    {
      "commit": "439774e7ca4a5cc755e3ffbbdc993bd284a2e0e9",
      "tree": "ebe77b66adaa363a3aabfa36ee5e6d5bed5000e2",
      "parents": [
        "1b7026ed1ec51851a997a7b0907fac5c3ab70146"
      ],
      "author": {
        "name": "Edwin Wong",
        "email": "edwinwong@google.com",
        "time": "Thu Aug 23 13:48:27 2018 -0700"
      },
      "committer": {
        "name": "Ilya Matyukhin",
        "email": "ilyamaty@google.com",
        "time": "Wed Feb 20 19:49:17 2019 -0800"
      },
      "message": "Add onExpirationUpdate and onKeyStatusChange listeners.\n\nWe must only create one DrmListener instance.\nWe then process different listeners in DrmListener::notify.\n\nTo facilitate testing, we call the listeners from clearkey plugin\u0027s\nprovideKeyResponse function. We have previously tested\nEventType::VENDOR_DEFINED in the same manner.\n\nbug: 77712870\n\nTest: native CTS test testClearKeyPlaybackCenc\nTest: CTS MediaDrmMockTest\nChange-Id: Ie15e3012a4068824f72371a66e9fca2ee27180f8\nMerged-In: Ie15e3012a4068824f72371a66e9fca2ee27180f8\n"
    },
    {
      "commit": "1b7026ed1ec51851a997a7b0907fac5c3ab70146",
      "tree": "73847b40f12ea07d13fd8c7f7b877c038b622c5b",
      "parents": [
        "1a3181d35941d1d64ec799ddf2636c025edfb2f4",
        "853c37d086a8e1876fc2906d23268b0a684a3b4a"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 22:42:29 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 22:42:29 2019 +0000"
      },
      "message": "Merge \"media: fixing klock work issue.\""
    },
    {
      "commit": "853c37d086a8e1876fc2906d23268b0a684a3b4a",
      "tree": "ab5b95d288fae520c16cfea1f96af7218baaf334",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 20 13:02:43 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 20 13:03:31 2019 -0800"
      },
      "message": "media: fixing klock work issue.\n\nFrom Keystone\nhttps://keystone-qcom-review.googlesource.com/c/platform/frameworks/av/+/17901\nCRs-Fixed: 2205452\nChange-Id: Ib7e0c092610c7573104decaa23abb95e95b96d3a\nBug: 70919418\nTest: TBD\n"
    },
    {
      "commit": "1a3181d35941d1d64ec799ddf2636c025edfb2f4",
      "tree": "2d03c5bc9e6189f85dd6838ca86fb14074d402fa",
      "parents": [
        "ecab82de83bdd7e2d698a29e93d72a705a25921c",
        "184cdb36c35f046d602549c67fcb8b4999983145"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 20 17:17:06 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 17:17:06 2019 +0000"
      },
      "message": "Merge \"stagefright: Clear RenderQueue on port settings changed\""
    },
    {
      "commit": "ecab82de83bdd7e2d698a29e93d72a705a25921c",
      "tree": "722d0d4041f28a16a1249693da34d7ab73d18da9",
      "parents": [
        "0cecba27510db17af510feccd75bf514d5e7cd98",
        "7aa9180125b2cdab7affc50425d3d0cad0bf004e"
      ],
      "author": {
        "name": "Xin Li",
        "email": "delphij@google.com",
        "time": "Wed Feb 20 16:26:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 16:26:01 2019 +0000"
      },
      "message": "Merge \"DO NOT MERGE - Merge PPRL.190205.001 into master\""
    },
    {
      "commit": "0cecba27510db17af510feccd75bf514d5e7cd98",
      "tree": "8f893752d3cddb0254ffa8b9e6ce81a5867969f6",
      "parents": [
        "aaa51ee21805f0994835cd113befa55e65d23cb1",
        "233d602beeb2709fdd1f8a5b2ef3943707eda0ce"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 12:08:01 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 12:08:01 2019 +0000"
      },
      "message": "Merge \"libstagefright: Check trackMeta for NULL\""
    },
    {
      "commit": "411c94ab97ae0f472bbf2adcd0d24154da9f185c",
      "tree": "40e634256a3864de22a7f7b50dbe380b9435117a",
      "parents": [
        "a2be3bea8a4da82e1d97e70a4a22936087cd8b55",
        "e851b9bdeef72a62808fbb684c52efbdb1b0f827"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 20 03:05:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 20 03:05:38 2019 +0000"
      },
      "message": "Merge \"media: initialize dequeue counter in buffer info\""
    },
    {
      "commit": "184cdb36c35f046d602549c67fcb8b4999983145",
      "tree": "2a43a70191ccdd80b765753640a18fd09a179f05",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@quicinc.com",
        "time": "Mon Jan 21 10:53:16 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 20 01:55:34 2019 +0000"
      },
      "message": "stagefright: Clear RenderQueue on port settings changed\n\nClear the RenderTracker RenderQueue before allocating new set of\nbuffers during port settings change. The graphicBuffers inside\nthe RenderQueue hold the actual buffer references which prevents\nthem from being freed until this queue is cleared.\nDo not wait till executing state to clear the queue as then\noverall memory consumption goes up for the brief period\n\nAuthor: Shalaj Jain \u003cshalajj@codeaurora.org\u003e\n\nBug: 70919418\nTest: AdaptivePlaybackTest#testXXX_adaptiveEosFlushSeek\nChange-Id: Iba746372da7388cf065cf91a1ff668dc01f833ad\n"
    },
    {
      "commit": "e851b9bdeef72a62808fbb684c52efbdb1b0f827",
      "tree": "c7d3f3162ed499c8009402ecce6e535cd083ff7e",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Fri Feb 08 10:53:33 2019 -0800"
      },
      "committer": {
        "name": "Wonsik Kim",
        "email": "wonsik@google.com",
        "time": "Wed Feb 20 00:39:57 2019 +0000"
      },
      "message": "media: initialize dequeue counter in buffer info\n\nUninitialized dequeue counter in buffer info may contain\ngarbage value, which potentially results in unexpected\nbehavior while accessing, hence initialize it.\n\nAuthor: Malathi Gottam\u003cmgottam@codeaurora.org\u003e\n\nBug: 70919418\nTest: TBD\nChange-Id: I59aaa30f060f6b3514647a159db6eb73535df86d\n"
    },
    {
      "commit": "2d68de583a48b8b83b325a9a4cbe8c00cb54f3f0",
      "tree": "082b9240c305d19a6f298bb428d957b3b906a0b8",
      "parents": [
        "22831131c9d770933ac68d83588691ff3878e33e"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Feb 15 13:45:49 2019 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Fri Feb 15 13:49:32 2019 -0800"
      },
      "message": "Disable native_coverage for libmediandk\n\nBug: http://b/116873221\nBug: http://b/124522995\n\nlibmediandk has linker errors when built with coverage:\n\nld.lld: error: undefined symbol: VTT for\nandroid::hidl::base::V1_0::IBase\n\u003e\u003e\u003e referenced by IBase.h:0\n(out/soong/.intermediates/system/libhidl/transport/base/1.0/android.hidl.base@1.0_genc++_headers/gen/android/hidl/base/1.0/IBase.h:0)\n\u003e\u003e\u003e\nout/soong/.intermediates/frameworks/av/media/ndk/libmediandk/android_arm_armv8-a_core_shared_cov/obj/frameworks/av/media/ndk/NdkImageReader.o:(android::hidl::base::V1_0::IBase::~IBase())\n\nOther symbols from the IBase struct (debug(), getHashChain, for e.g.)\nare also reported as undefined.\n\nTest: Build with native_coverage\nChange-Id: I648bfa658d389b4483eeb7dd90546df2672bc67c\n"
    },
    {
      "commit": "48c789eb50b9d61b08ae04e82e73a97a7554a904",
      "tree": "15cd8d3da0bc495ad8a55fb47102ec22b85bf915",
      "parents": [
        "62bdf4d940d4c23ba55666948645bf6972c5d955",
        "22831131c9d770933ac68d83588691ff3878e33e"
      ],
      "author": {
        "name": "Kyeongkab.Nam",
        "email": "Kyeongkab.Nam@sony.com",
        "time": "Thu Feb 14 11:23:22 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Feb 14 11:23:22 2019 -0800"
      },
      "message": "Merge \"Add the definitions as to 3ch and 4ch audio\"\nam: 22831131c9\n\nChange-Id: Id0c8450344f654b6baaa1899cac71f75114f8974\n"
    },
    {
      "commit": "22831131c9d770933ac68d83588691ff3878e33e",
      "tree": "c1aa250a7dc87fd52c19cdbc124c75dd71a9be12",
      "parents": [
        "11471da1f7b2ed954ad522b8e0bfec0b3186e006",
        "a4af050bab773a75c799bb9cbd886e3b83655daf"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 14 19:12:21 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 19:12:21 2019 +0000"
      },
      "message": "Merge \"Add the definitions as to 3ch and 4ch audio\""
    },
    {
      "commit": "62bdf4d940d4c23ba55666948645bf6972c5d955",
      "tree": "fe0635b8a0ff8294c7109acc6b154baf1de7d472",
      "parents": [
        "d98913f7b54e9f7a622325d6544789cccf72eebe",
        "11471da1f7b2ed954ad522b8e0bfec0b3186e006"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Wed Feb 13 23:07:01 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 23:07:01 2019 -0800"
      },
      "message": "Merge \"Mark libs as double_loadable\"\nam: 11471da1f7\n\nChange-Id: I4fd8878f0b2eb4bc22be5020d3d0ca795d53da88\n"
    },
    {
      "commit": "11471da1f7b2ed954ad522b8e0bfec0b3186e006",
      "tree": "8f6fb74f5162111ba2005c5eb86a6cee1d8c4b9b",
      "parents": [
        "bf430563f889db13dbd463dcea92c79b40ec82e9",
        "605a7af4213ed0b4eed0e2b2b69be738f965535d"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Thu Feb 14 06:52:25 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Feb 14 06:52:25 2019 +0000"
      },
      "message": "Merge \"Mark libs as double_loadable\""
    },
    {
      "commit": "d98913f7b54e9f7a622325d6544789cccf72eebe",
      "tree": "decb3ea5a382eacb9da0ed762c5236d8a47a2c7f",
      "parents": [
        "436d9e9d91adead6f62c1f1fb0b88808414d92ec",
        "bf430563f889db13dbd463dcea92c79b40ec82e9"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 13:11:13 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 13:11:13 2019 -0800"
      },
      "message": "Merge \"NuPlayer2: Call video flush on audio teardown\"\nam: bf430563f8\n\nChange-Id: I7c83aed564ac4bb5b4e4a006958ceb87d198a32d\n"
    },
    {
      "commit": "bf430563f889db13dbd463dcea92c79b40ec82e9",
      "tree": "62b80cf250aeb38ef10cee2dd53203eef01ad8c1",
      "parents": [
        "d0939173441f0ff2efcfea44de6924ef18454e6c",
        "8bd4d3946b0308da0fa457ac5ceb6dccb591d78b"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 20:52:26 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 20:52:26 2019 +0000"
      },
      "message": "Merge \"NuPlayer2: Call video flush on audio teardown\""
    },
    {
      "commit": "436d9e9d91adead6f62c1f1fb0b88808414d92ec",
      "tree": "2387e60f962441a09cc9fb19fc0ddfd5409cb4bf",
      "parents": [
        "23a9678be176a514ee8b626f5fb5062a958b2776",
        "d0939173441f0ff2efcfea44de6924ef18454e6c"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 10:47:02 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Feb 13 10:47:02 2019 -0800"
      },
      "message": "Merge \"NuPlayer: Call video flush on audio teardown\"\nam: d093917344\n\nChange-Id: Ia993392b3f12d2332b6e5d7c5762ed30d295306c\n"
    },
    {
      "commit": "8bd4d3946b0308da0fa457ac5ceb6dccb591d78b",
      "tree": "ff59d867724608353a6e18466f76286efbf738cf",
      "parents": [
        "eca08fb8619db79e7e47b0dba9f8f5f9e961dfef"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 10:38:06 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 10:38:06 2019 -0800"
      },
      "message": "NuPlayer2: Call video flush on audio teardown\n\nwhen audio tear down happens, audio gets flushed and seek is issued.\nIf video is not flushed before seek, previous video buffers will be\nrendered and leads to A/V sync issue. Hence call video flush.\n\nBug: 70919418\nTest: MediaPlayer2Test\nChange-Id: I66b6f8e024f29e797a89e68d52c819cddbf37016\n"
    },
    {
      "commit": "d0939173441f0ff2efcfea44de6924ef18454e6c",
      "tree": "bcb9e9d8380ee7e40dd6429ed75454e7d389b5e8",
      "parents": [
        "615d9ff50e81846a33dceace331650ddb2cae9ea",
        "eca08fb8619db79e7e47b0dba9f8f5f9e961dfef"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Wed Feb 13 18:33:16 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 18:33:16 2019 +0000"
      },
      "message": "Merge \"NuPlayer: Call video flush on audio teardown\""
    },
    {
      "commit": "23a9678be176a514ee8b626f5fb5062a958b2776",
      "tree": "4e5d813778e29c597fab81c3ea1103f37fb8e3c5",
      "parents": [
        "716f64f54cfef823e8b996427d4c52c9348db5cb",
        "615d9ff50e81846a33dceace331650ddb2cae9ea"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 20:57:04 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 20:57:04 2019 -0800"
      },
      "message": "Merge \"Fix bugs regarding clamping of numFrames variable.\"\nam: 615d9ff50e\n\nChange-Id: I948a0626bb9c3ca0c65eed3ba38cb905e285c7ca\n"
    },
    {
      "commit": "716f64f54cfef823e8b996427d4c52c9348db5cb",
      "tree": "dd7492506b355a86ac67aedfb7894be9cf98000d",
      "parents": [
        "e08a1f04f3d98d479325bd6ddf91ceaad1c03d1a",
        "f4935e88d1b38756033727c6a70d1530532636b7"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 20:54:40 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 20:54:40 2019 -0800"
      },
      "message": "Merge \"Fix bugs regarding clamping of numFrames variable.\"\nam: f4935e88d1\n\nChange-Id: Ibac7f239c1c60deae4b17e2ce5d422576c6112a8\n"
    },
    {
      "commit": "615d9ff50e81846a33dceace331650ddb2cae9ea",
      "tree": "cdb03567d808337ed86b15ccd2c0b3b411957869",
      "parents": [
        "f4935e88d1b38756033727c6a70d1530532636b7",
        "2c2050c6b67539465a1af1f98a4a626af3c85ff0"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Wed Feb 13 04:51:15 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 04:51:15 2019 +0000"
      },
      "message": "Merge \"Fix bugs regarding clamping of numFrames variable.\""
    },
    {
      "commit": "f4935e88d1b38756033727c6a70d1530532636b7",
      "tree": "87c078850191c7c7a0b1e870397ee0f6b371a96a",
      "parents": [
        "3b4bad329a84957bdfb0763aa87365eba6de1e86",
        "82b657f45c39cc22adc13b1fcb16c42ec9228336"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 13 04:14:51 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 04:14:51 2019 +0000"
      },
      "message": "Merge \"Fix bugs regarding clamping of numFrames variable.\""
    },
    {
      "commit": "e08a1f04f3d98d479325bd6ddf91ceaad1c03d1a",
      "tree": "1c5e68ef675b92d3f749f72c3e76ec5007bfcbbc",
      "parents": [
        "b6b8c975654cc2b065e58cdef6533d9c5f0a251b",
        "3b4bad329a84957bdfb0763aa87365eba6de1e86"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Tue Feb 12 19:20:29 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 19:20:29 2019 -0800"
      },
      "message": "Merge \"Mark functions in IMtpDatabase as pure virtual\"\nam: 3b4bad329a\n\nChange-Id: If2c1c989492afed65153a0c90c85a1511ada3bd4\n"
    },
    {
      "commit": "3b4bad329a84957bdfb0763aa87365eba6de1e86",
      "tree": "766ce268e3df7180c48a4b53ec36f1f06cf400a8",
      "parents": [
        "bceab46baa96f4b0f77707ec7e1f08c083f6fd14",
        "0e29fbafa80b6c7283564b12bdb33d90d514ff73"
      ],
      "author": {
        "name": "Treehugger Robot",
        "email": "treehugger-gerrit@google.com",
        "time": "Wed Feb 13 02:39:54 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Wed Feb 13 02:39:54 2019 +0000"
      },
      "message": "Merge \"Mark functions in IMtpDatabase as pure virtual\""
    },
    {
      "commit": "82b657f45c39cc22adc13b1fcb16c42ec9228336",
      "tree": "6c2d49631fa56bcc18992980b90cbff3499bb1cb",
      "parents": [
        "bceab46baa96f4b0f77707ec7e1f08c083f6fd14"
      ],
      "author": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 18:11:36 2019 -0800"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Feb 12 18:15:00 2019 -0800"
      },
      "message": "Fix bugs regarding clamping of numFrames variable.\n\nthere is a clamping value in getDurationUsIfPlayedAtSampleRate function\nnumFrames parameter is uint32_t type. when return value, cast uint32_t to int32_t.\nthat make clamp value of numFrames\nTest: compiles\nBug: 123665692\n\nChange-Id: I12e35df3030659bc10b3e86ed9d1712be6b62a88\n"
    },
    {
      "commit": "eca08fb8619db79e7e47b0dba9f8f5f9e961dfef",
      "tree": "a3a18d87a0351ffeef559dd8c1af7f38bac39245",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Praveen Chavan",
        "email": "pchavan@quicinc.com",
        "time": "Mon Jan 21 11:00:38 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 17:58:46 2019 -0800"
      },
      "message": "NuPlayer: Call video flush on audio teardown\n\nwhen audio tear down happens, audio gets flushed and seek is issued.\nIf video is not flushed before seek, previous video buffers will be\nrendered and leads to A/V sync issue. Hence call video flush.\n\nAuthor: Cong Jiajia \u003cjcong@codeaurora.org\u003e\n\nBug: 70919418\nTest: MediaPlayerTest\nChange-Id: I01f744c1eae99a1d0f81ca84f536d493a2a54b01\n"
    },
    {
      "commit": "b6b8c975654cc2b065e58cdef6533d9c5f0a251b",
      "tree": "be73ae835ee55e406ee52a0931b075933c935a10",
      "parents": [
        "e57360ffa8e956499236f90f2de18bd53298e424",
        "bceab46baa96f4b0f77707ec7e1f08c083f6fd14"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 14:08:31 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 14:08:31 2019 -0800"
      },
      "message": "Merge \"libstagefright: encoder must exist when source starting.\"\nam: bceab46baa\n\nChange-Id: Idd5eed870f52789b313229ec4913aaf4583fb2ee\n"
    },
    {
      "commit": "bceab46baa96f4b0f77707ec7e1f08c083f6fd14",
      "tree": "67c64a80018a14714f1f8077f6eb7e197761ca0c",
      "parents": [
        "ea1a0f0383e359645eca3e76567857e8ef4594ee",
        "e44e8aa81234a15f2a7fb4718db62da5f70b3bdc"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 21:52:48 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 21:52:48 2019 +0000"
      },
      "message": "Merge \"libstagefright: encoder must exist when source starting.\""
    },
    {
      "commit": "e57360ffa8e956499236f90f2de18bd53298e424",
      "tree": "123eab2e8c8f5856667ef695e79087fae5232c59",
      "parents": [
        "efb1eecb659bc7a9b1fe58968282341840784009",
        "ea1a0f0383e359645eca3e76567857e8ef4594ee"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 11:38:49 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 11:38:49 2019 -0800"
      },
      "message": "Merge \"video: Add null checks for MediaAnalyticsItem class\"\nam: ea1a0f0383\n\nChange-Id: I7a26591a7031142eef823ca8064d74a4a227a2fa\n"
    },
    {
      "commit": "efb1eecb659bc7a9b1fe58968282341840784009",
      "tree": "a0d4c67f4e275b8effe88bd79c8e6afa1b43db5c",
      "parents": [
        "1c0163ff3db1218def8df6a3fbc531d7009d3b09",
        "b6229652ed17ea48c39ca1fc17cca0ea6897118c"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 11:37:56 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Feb 12 11:37:56 2019 -0800"
      },
      "message": "Merge \"MediaPlayerService: Clear the vector holding tracks\"\nam: b6229652ed\n\nChange-Id: I4799ceb4b30ea24d682574714c6b3de396b88e3a\n"
    },
    {
      "commit": "ea1a0f0383e359645eca3e76567857e8ef4594ee",
      "tree": "4c1311924c5c452e903c39f15abce62ddeae7ce3",
      "parents": [
        "b6229652ed17ea48c39ca1fc17cca0ea6897118c",
        "f71144e8361b8e3d872d01dac71edbe8947eac3b"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 19:27:34 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 19:27:34 2019 +0000"
      },
      "message": "Merge \"video: Add null checks for MediaAnalyticsItem class\""
    },
    {
      "commit": "b6229652ed17ea48c39ca1fc17cca0ea6897118c",
      "tree": "1e5c397685c8e05ba2b0f6e71e872b14353ebf21",
      "parents": [
        "ecfbd58de82bfa2af715464045a7e5468b785f83",
        "b46073425ebd372f374e9681184c97b8f944f091"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Tue Feb 12 19:26:03 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Tue Feb 12 19:26:03 2019 +0000"
      },
      "message": "Merge \"MediaPlayerService: Clear the vector holding tracks\""
    },
    {
      "commit": "e44e8aa81234a15f2a7fb4718db62da5f70b3bdc",
      "tree": "c0521a99b0f6d7b11073176beacf05d7d82ce1f9",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Feb 11 18:29:31 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Feb 11 18:29:31 2019 -0800"
      },
      "message": "libstagefright: encoder must exist when source starting.\n\nwhen trying to start source, need to make sure encoder still exist.\nAlthough encoder starts before source, it may encounter error and be\nreleased before starting source, this will cause camera hardware can\u0027t\nbe released.\n\nAuthor: Cong Jiajia \u003cjcong@codeaurora.org\u003e\n\nBug: 70919418\nTest: TBD\nChange-Id: I68b0d3a86d7004d4d1b3aefb580093a6497dc485\n"
    },
    {
      "commit": "605a7af4213ed0b4eed0e2b2b69be738f965535d",
      "tree": "34f019068aea3a13db68fb5e57118a66afadb24f",
      "parents": [
        "ecfbd58de82bfa2af715464045a7e5468b785f83"
      ],
      "author": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Fri Jan 18 18:06:49 2019 +0900"
      },
      "committer": {
        "name": "Jooyung Han",
        "email": "jooyung@google.com",
        "time": "Tue Feb 12 09:54:48 2019 +0900"
      },
      "message": "Mark libs as double_loadable\n\nlibs (libmedia_helper, libstagefright_omx_utils, libstagefright_xmlparser)\nare VNDK and also used by LLNDK(libmediandk) which means these libs can be double-loaded.\n(deps:\n - libmediandk -\u003e libmedia -\u003e libaudioclient -\u003e libmedia_helper\n - libmediandk -\u003e libmedia_jni -\u003e libstagefright -\u003e libstagefright_omx_utils\n - libmediandk -\u003e libmedia_jni -\u003e libstagefright -\u003e libstagefright_xmlparser\n)\n\nBug: 121280180\nTest: m -j\nChange-Id: Ibbf5dede1f503e86484f805b252d4ced779445cb\nMerged-In: Ibbf5dede1f503e86484f805b252d4ced779445cb\n"
    },
    {
      "commit": "233d602beeb2709fdd1f8a5b2ef3943707eda0ce",
      "tree": "c2dc189cdb821b09ffecb6276bcd9d78ec4433d8",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Feb 11 14:54:41 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Feb 11 15:51:38 2019 -0800"
      },
      "message": "libstagefright: Check trackMeta for NULL\n\nAdd null-check for metadata returned by getTrackMetaData()\nsince it may return a nullptr\n\nAuthor: Karthikeyan Periasamy \u003ckperiasa@codeaurora.org\u003e\nCRs-Fixed: 1115425\n\nBug: 70919418\nTest: TBD\nChange-Id: Ic640b2dba815604fdeef1c546b17bfe5727c0dab\n"
    },
    {
      "commit": "b46073425ebd372f374e9681184c97b8f944f091",
      "tree": "2788d5f6298c985a59a7b67182ae510af27108db",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Feb 11 15:31:22 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Mon Feb 11 15:31:22 2019 -0800"
      },
      "message": "MediaPlayerService: Clear the vector holding tracks\n\nClear the vector which holds all tracks when the\nGenericSource is reset to prevent any stale access\n\nAuthor: Umesh Pandey \u003cumeshp@codeaurora.org\u003e\n\nBug: 70919418\nTest: TBD\nChange-Id: If7042b3344ce36ba56e38df1a43bc2bb287cc40c\n"
    },
    {
      "commit": "f71144e8361b8e3d872d01dac71edbe8947eac3b",
      "tree": "974259c45814f9b059d340cd4e61b371a4489c92",
      "parents": [
        "0d8553c9a1368d0837e8b154e19d15728417cd22"
      ],
      "author": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Fri Feb 08 15:18:05 2019 -0800"
      },
      "committer": {
        "name": "Dichen Zhang",
        "email": "dichenzhang@google.com",
        "time": "Fri Feb 08 15:18:05 2019 -0800"
      },
      "message": "video: Add null checks for MediaAnalyticsItem class\n\nCheck if MediaAnalyticsItem class is valid before\ncalling any of its functions.\n\nAuthor: Paras Nagda \u003cpnagda@codeaurora.org\u003e\n\nBug: 70919418\nTest: TBD\nChange-Id: I2d5704063b9479301f03d6f57ce74108873ef4cc\n"
    },
    {
      "commit": "1c0163ff3db1218def8df6a3fbc531d7009d3b09",
      "tree": "716a8c9ea847cb49b50c849d5ded9717759062b0",
      "parents": [
        "5812a529e486b2bd5a90ae8183fc4291bb9a905d",
        "ecfbd58de82bfa2af715464045a7e5468b785f83"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 08 12:27:37 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 08 12:27:37 2019 -0800"
      },
      "message": "Merge \"Replace FOURC(\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027) with FOURCC(\"abcd\")\"\nam: ecfbd58de8\n\nChange-Id: Ib745d5eafca19b4cbe5b4c9cf7dc4c85f35ad9ad\n"
    },
    {
      "commit": "ecfbd58de82bfa2af715464045a7e5468b785f83",
      "tree": "444bce9536e0d4cb71929d24517ac88e6fd173a3",
      "parents": [
        "b4e48f1c6d8d7efd7191081e7594880102bc236a",
        "e3b1dd20f5127e8ec44f2980585cc8f78192be5b"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Fri Feb 08 20:10:52 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Fri Feb 08 20:10:52 2019 +0000"
      },
      "message": "Merge \"Replace FOURC(\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027) with FOURCC(\"abcd\")\""
    },
    {
      "commit": "0e29fbafa80b6c7283564b12bdb33d90d514ff73",
      "tree": "f47fdea56b897cf9966449bd0b641940b97957f8",
      "parents": [
        "b4e48f1c6d8d7efd7191081e7594880102bc236a"
      ],
      "author": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Feb 07 15:47:54 2019 -0800"
      },
      "committer": {
        "name": "Pirama Arumuga Nainar",
        "email": "pirama@google.com",
        "time": "Thu Feb 07 15:49:36 2019 -0800"
      },
      "message": "Mark functions in IMtpDatabase as pure virtual\n\nBug: http://b/116873221\n\nMark beginCopyObject() and endCopyObject() as pure virtual.  If not,\nClang assumes that the TU which defines this function will contain the\nvtable for the class as well.  Since there\u0027s no out-of-line definition\nof this funciton, no TU ends up with the vtable.\n\nThis causes a problem with coverage builds, which are built with -O0,\nwhere calls don\u0027t get inlined, thereby requiring a definition of the\nvtable.  For non -O0 builds, the vtable is not required since the\nvirtual calls get inlined/optimized-out.\n\nTest: Build with and without -O0.\nChange-Id: I5e8dcf583a75af51af1e9dd31a6635aa2f9d4413\n"
    },
    {
      "commit": "e3b1dd20f5127e8ec44f2980585cc8f78192be5b",
      "tree": "cb4ec0607649bd37368214c4d62371ea69522eaa",
      "parents": [
        "0dd741827750e4163fb618e817b51088badb65ad"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Tue Jan 22 15:39:07 2019 -0800"
      },
      "committer": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Feb 07 17:37:14 2019 +0000"
      },
      "message": "Replace FOURC(\u0027a\u0027, \u0027b\u0027, \u0027c\u0027, \u0027d\u0027) with FOURCC(\"abcd\")\n\nTest: compare disassembly before/after\n\nChange-Id: I8f9c75d19f2dcd0f0f31a082c0e98cd7eb6655a4\nMerged-In: I8f9c75d19f2dcd0f0f31a082c0e98cd7eb6655a4\n"
    },
    {
      "commit": "812f306ff8565c638d3b56c7e349a525c9cab2e8",
      "tree": "d9cca758d21b8541d88e1f37d6ca39839cee5693",
      "parents": [
        "46c631d9217a9fb1a3b32e138a11c824e5dd1497",
        "479b735392d6e4b9d7dde9403e732847b670a9f1"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 07:09:02 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Feb 01 07:09:02 2019 -0800"
      },
      "message": "Merge \"Convert three media binaries to Android.bp\"\nam: 479b735392\n\nChange-Id: I8d969ef4046f7cc2e5e6eeeaf12f60bd1be2189b\n"
    },
    {
      "commit": "33de46e8f32aaf803bc4e2c0efebc15660d7045e",
      "tree": "1d096aa210da1bdb42a23a46e77f2a8ea346b80c",
      "parents": [
        "1128b3fa1a8c3859e517d141c8f289ec4e35ef91"
      ],
      "author": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 11:17:57 2019 +0000"
      },
      "committer": {
        "name": "Anton Hansson",
        "email": "hansson@google.com",
        "time": "Fri Feb 01 11:40:58 2019 +0000"
      },
      "message": "Convert three media binaries to Android.bp\n\nThis converts mediaserver, mediametrics and screenrecord and the\nlibraries they depend on to Android.bp\n\nSee build/soong/README.md for more information.\n\nBug: 122331945\nBug: 80410283\nTest: boot blueline\nTest: youtube\nTest: screenrecord\nChange-Id: I132b8b4f7965449df68fb1544034a7241c594a63\n"
    },
    {
      "commit": "46c631d9217a9fb1a3b32e138a11c824e5dd1497",
      "tree": "34020e23a6a9d596fbfb5d37fab85109a9156e17",
      "parents": [
        "deaa7218f79e1924c119193836e801228cd4d46e",
        "1128b3fa1a8c3859e517d141c8f289ec4e35ef91"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 31 11:01:25 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Thu Jan 31 11:01:25 2019 -0800"
      },
      "message": "Merge \"Set default value to mAttributes in AudioTrack\"\nam: 1128b3fa1a\n\nChange-Id: I38a974c651ce40348be9eb52d7109e52fc127ed5\n"
    },
    {
      "commit": "1128b3fa1a8c3859e517d141c8f289ec4e35ef91",
      "tree": "16a5eabde9dc8eee68b3c0fd15662a7e035e62d0",
      "parents": [
        "33bba18b2edaa8e2e09cc9368eda2fe8ca9a17dc",
        "5fa32ed75e09b1f01e6fdea509ef49492f729c7f"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jan 31 18:44:45 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 18:44:45 2019 +0000"
      },
      "message": "Merge \"Set default value to mAttributes in AudioTrack\""
    },
    {
      "commit": "deaa7218f79e1924c119193836e801228cd4d46e",
      "tree": "72c1932a913dd88204580b930b9ed60612c0c7e1",
      "parents": [
        "aa9bae79ef3726e131a16ec06d75cbcd3cdfe6cc",
        "33bba18b2edaa8e2e09cc9368eda2fe8ca9a17dc"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Wed Jan 30 21:27:18 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed Jan 30 21:27:18 2019 -0800"
      },
      "message": "Merge \"Respect system locale in ID3 tag encoding detection\"\nam: 33bba18b2e\n\nChange-Id: Ibb9d2c7774f9ff8c4900acc5e16fb3a10e699903\n"
    },
    {
      "commit": "33bba18b2edaa8e2e09cc9368eda2fe8ca9a17dc",
      "tree": "997df6096fb516f2337a609b705388ba3bb2ce55",
      "parents": [
        "4ae8b0c37c4b9852c15098cc5ba4129745d1d07b",
        "6dd481fe34dfc3a32668ce88fb963ec3f523ad92"
      ],
      "author": {
        "name": "Marco Nelissen",
        "email": "marcone@google.com",
        "time": "Thu Jan 31 05:14:38 2019 +0000"
      },
      "committer": {
        "name": "Gerrit Code Review",
        "email": "noreply-gerritcodereview@google.com",
        "time": "Thu Jan 31 05:14:38 2019 +0000"
      },
      "message": "Merge \"Respect system locale in ID3 tag encoding detection\""
    },
    {
      "commit": "2c2050c6b67539465a1af1f98a4a626af3c85ff0",
      "tree": "3cf55476bc2852da2e35192fd7fcd73c1878aecd",
      "parents": [
        "4ae8b0c37c4b9852c15098cc5ba4129745d1d07b"
      ],
      "author": {
        "name": "hyoungjun.byun",
        "email": "hyoungjun.byun@lge.com",
        "time": "Thu Jan 31 12:11:38 2019 +0900"
      },
      "committer": {
        "name": "hyoungjun.byun",
        "email": "hyoungjun.byun@lge.com",
        "time": "Thu Jan 31 12:11:38 2019 +0900"
      },
      "message": "Fix bugs regarding clamping of numFrames variable.\n\nthere is a clamping value in getDurationUsIfPlayedAtSampleRate function\nnumFrames parameter is uint32_t type. when return value, cast uint32_t to int32_t.\nthat make clamp value of numFrames\n\nSigned-off-by : Hyoungjun Byun \u003chyoungjun.byun@lge.com\u003e\n\nChange-Id: Ib97d89b33a8e5b6bea3d499e4b44d1056d7fae66\n"
    },
    {
      "commit": "5fa32ed75e09b1f01e6fdea509ef49492f729c7f",
      "tree": "0ff92513f38f3c04deda7e232c505814f8dcc9aa",
      "parents": [
        "caa0b292536bf8f4d455536404fed785e038c51a"
      ],
      "author": {
        "name": "Ippei Murata",
        "email": "ippei.x.murata@sony.com",
        "time": "Mon Oct 01 17:37:50 2018 +0900"
      },
      "committer": {
        "name": "Tomoharu Kasahara",
        "email": "Tomoharu.Kasahara@sony.com",
        "time": "Thu Jan 31 01:08:13 2019 +0000"
      },
      "message": "Set default value to mAttributes in AudioTrack\n\nmAttributes in AudioTrack can not be set in AudioTrack::set()\nwhen pAttributes is NULL.\nAudioTrack::getPosition() sometimes returns wrong value\nsince mAttributes is undefined value.\nThis change sets default values to mAttributes.\n\nBug: 123607740\nTest: manual\nChange-Id: Ie590c17efc466cc89cbd7e9f89fc3ebeed98eace\n"
    },
    {
      "commit": "c6a37161e15d1e22af5a992c6c6e765bbdf5dc82",
      "tree": "fdbf3da4a9371bcdee99c51e35cf4d62d4fe6365",
      "parents": [
        "d962410013c301dccf72c293b762d3113f117add",
        "caa0b292536bf8f4d455536404fed785e038c51a"
      ],
      "author": {
        "name": "Ben Romberger",
        "email": "bromberg@codeaurora.org",
        "time": "Tue Jan 29 21:33:18 2019 -0800"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Tue Jan 29 21:33:18 2019 -0800"
      },
      "message": "Merge \"libmediaplayerservice: Check for a possible divide by 0\"\nam: caa0b29253\n\nChange-Id: I3048774868263aac5af27591e7b3029309236c08\n"
    },
    {
      "commit": "259fb46dca67d43ce621fed18faf10c830eadcd0",
      "tree": "a6a48825daa4e129782f6a77cc240eb92c099d40",
      "parents": [
        "6327ed96140c54add317f6354d3e6a7f961a0404"
      ],
      "author": {
        "name": "Ben Romberger",
        "email": "bromberg@codeaurora.org",
        "time": "Tue Aug 07 17:58:53 2018 -0700"
      },
      "committer": {
        "name": "Wei Jia",
        "email": "wjia@google.com",
        "time": "Tue Jan 29 16:06:04 2019 -0800"
      },
      "message": "libmediaplayerservice: Check for a possible divide by 0\n\nCheck if variables used in AudioOutput::open()\nare 0 before using them as a divisor.\nBug: 123375287\nChange-Id: I1c65a80a12eda84d11e7526fe0c730cb10565c36\nCRs-Fixed: 2286455\n(cherry picked from commit 9e67171a2f4e2b7dc38017789700f629a3885734)\n"
    },
    {
      "commit": "69b73291138bf97fcdf09a4320e77f28568cf874",
      "tree": "5f6f2e069accd87b1d0ec04af4a67cd73d9f936b",
      "parents": [
        "0dd741827750e4163fb618e817b51088badb65ad"
      ],
      "author": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:34:47 2019 +0000"
      },
      "committer": {
        "name": "Suren Baghdasaryan",
        "email": "surenb@google.com",
        "time": "Fri Jan 25 05:44:51 2019 +0000"
      },
      "message": "DO NOT MERGE: Revert \"Revert \"Add libprocessgroup dependency and fix sched_policy include\"\"\n\nThis reverts commit 7194e6da8a37a0e222b2f81e2d55a8013e657a13.\n\nReason for revert: AOSP is fixed with new vendor image\n\nChange-Id: I15797a30abcc304379db05bec1b25a0bd95b2ff4\nSigned-off-by: Suren Baghdasaryan \u003csurenb@google.com\u003e\n"
    },
    {
      "commit": "be95a088893a0dc3fbdcde6d6aed13153390f5dc",
      "tree": "699182219f825d2ab4f817982bd50c99f72e4269",
      "parents": [
        "0dd741827750e4163fb618e817b51088badb65ad"
      ],
      "author": {
        "name": "inbok.kim",
        "email": "inbok.kim@lge.com",
        "time": "Fri Jan 25 09:30:00 2019 +0900"
      },
      "committer": {
        "name": "inbok.kim",
        "email": "inbok.kim@lge.com",
        "time": "Fri Jan 25 09:30:05 2019 +0900"
      },
      "message": "Upsize the buffer of the raw decoder\n\nTest: NA\nSigned-off-by : Inbok Kim \u003cinbok.kim@lge.com\u003e\n\nChange-Id: I738c67f3e94c9b3b227cc11b7c9d04009ba535e0\n"
    }
  ],
  "next": "7194e6da8a37a0e222b2f81e2d55a8013e657a13"
}
