)]}'
{
  "log": [
    {
      "commit": "07be14fb96fc5c106ea2b874faf2b768f468eb8e",
      "tree": "01cd8f75542d7581505bef8a5b9e2f09790ac0e1",
      "parents": [
        "f8ad7f85e9891b2614338330c75ae9e946fccc5a"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 24 06:14:03 2018 +0000"
      },
      "message": "Revert \"Audio V4: Split system and vendor Audio.h\"\n\nThis reverts commit f8ad7f85e9891b2614338330c75ae9e946fccc5a.\n\nReason for revert: Breaks the build of multiple devices\n\nChange-Id: I24f17a0fa0c7ba171c4a3639f890e7f4e42f6b1e\n"
    },
    {
      "commit": "f8ad7f85e9891b2614338330c75ae9e946fccc5a",
      "tree": "957d47ddc7419c688dda1d4c1ac3068eda6d894f",
      "parents": [
        "6d7582e9ad858301b3eeff7b187af6c34808cb7e"
      ],
      "author": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Wed Jan 17 15:57:39 2018 -0800"
      },
      "committer": {
        "name": "Kevin Rocard",
        "email": "krocard@google.com",
        "time": "Sat Jan 20 21:39:40 2018 -0800"
      },
      "message": "Audio V4: Split system and vendor Audio.h\n\naudio.h and its dependencies (audio-effect.h, sound_trigger.h...)\nused to be shared between system and vendor code.\n\nThis led to multiple problems:\n\n1) Such sharing contradicts the Treble policy of\nstrict independence of framework and vendor code.\n\n2) When audio.h was changed, every vendor needed to update\nits code in the next release. This meant that audio*.h\nheaders were mostly changed in backward compatible manner.\nNevertheless, for P the HIDL interface and thus the audio.h\ninterface are changed in backward incompatible way.\n(Some enum are becoming 64 bit long).\n\n3) As the headers were common, some API used only by the framework\nneeded to be visible to the vendors (mostly enum values).\n\n4) Treble policy is to support at least one previous HAL version\n\nAs a result the audio*.h headers are now duplicated,\none set for the framework, and one for the vendor.\n\nEach set will evolve independently. After this split,\nthe framework-only APIs will be removed from the vendor headers\nand vice versa.\n\nThe split is implements as such:\n\n + for system code\n\n    - NOT moving the libaudio_system_headers\n      Eg: system/audio.h and system/audio_effects/effect_equalizer.h\n          are still in system/media/audio\n\n    - the legacy audio HAL API that were in libhardware headers\n          are now in libaudiohal_legacy_headers\n      Eg: hardware/audio.h and hardware/audio_effect.h\n          are now in frameworks/av/media/libaudiohal/legacy/\n\n + for vendor code\n\n    - moving libaudio_system_headers and the legacy audio HAL API\n          that were in libhardware_headers in\n          android.hardware.audio.common.legacy@2.0\n      Note that those headers are now versioned, so migrating to a @4.0\n          HIDL HAL will mean changing the legacy dependency too.\n      Eg: system/audio.h, system/audio-effect.h, hardware/audio.h\n          are now in hardware/interfaces/audio/common/2.0/legacy\n\n    - the legacy audio effect HAL API that was in libaudioeffects\n          is now moved in android.hardware.audio.effect.legacy@2.0\n      Eg: audio_effects/effect*.h are now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\n    - the legacy sound trigger HAL API that were in libhardware_headers\n          is now moved in android.hardware.soundtrigger.legacy@2.0\n      Eg: hardware/sound_trigger.h is now in\n          hardware/interfaces/audio/effect/2.0/legacy\n\nlibaudioutil being used by both system and vendor, had\nto be renamed for system to libaudioutil_system.\n\nVendor libs that now depend on the audio.h of a specific\nversion and are not extensively referenced in non google code,\nappend @2.0 to their name.\n\nNote that headers that are not expected to change in the 4.0 HAL are\nleft in all-versions folder to avoid duplication.\nThis is an implementation detail as the versioned libraries export\nthe all-versions headers.\n\nNote that strict vendor-system separation is enforced by the\nbuild-system. The system headers are not available for vendor\nlibs and vice-versa.\n\nNote that this patch is split between numerous git repository (\u003e10),\nall the commits having the same Change-id for searchability.\n\nNote that audio_policy.h is no longer exposed to vendors\nas the legacy audio policy HAL API was never officially supported.\nAs a result the audiopolicy stub implementation has been removed.\n\nTest: compile taimen-userdebug walleye-userdebug\n              sailfish-userdebug marlin-userdebug\n              gce_x86_phone-userdebug gce_x86_phone\n              full-eng aosp_arm aosp_x86-eng\nTest: check that the emulator booted and played audio\nTest: full QA on sailfish-userdebug and taimen-userdebug\nBug: 38184704\nChange-Id: I950f4e0a55613d72e32eba31bd563cb5bafe2d1a\nSigned-off-by: Kevin Rocard \u003ckrocard@google.com\u003e\n"
    },
    {
      "commit": "783bd0d74d142493b4ef0a15a2664535854e99f9",
      "tree": "60cbf56cb9d37670194d12cda8180767b6b5cfa9",
      "parents": [
        "734d186db7ec3d1f877001d71c71de6562ead7f7"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 11 11:10:35 2018 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Jan 16 09:25:15 2018 -0800"
      },
      "message": "media.metrics changes AString -\u003e std::string\n\nchange from AString to std::string for how media.metrics handles\nstrings.  This severs the dependency on libstagefright_foundation,\nwhere AString is implemented, so we can integrate into places\nwhich do not want to introduce a dependency on libstagefright_foundation.\n\nBug: 70805723\nTest: compilation/linking, CTS subset\nChange-Id: I66de971b6ec354444e06112607a2d7614084cef8\n"
    },
    {
      "commit": "ed30470cf0a20c0c1edb2b82075985ccaa6c75c1",
      "tree": "b90723f645ab06ca927b3e9a7d81fdef1f99d57e",
      "parents": [
        "21f6d6cbecf190724b044251576edf6ee6f48364"
      ],
      "author": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Tue Dec 12 14:00:57 2017 -0800"
      },
      "committer": {
        "name": "Ray Essick",
        "email": "essick@google.com",
        "time": "Thu Jan 11 14:57:53 2018 -0800"
      },
      "message": "collect media.metrics from audiotrack\n\ninitial pass at collecting metrics information from audiotrack.\n\nBug: 70569777\nTest: manual via dumpsys media.metrics\nChange-Id: Ia6ed6d93bd487e4323b86dd4ffabae232f79f94b\n"
    },
    {
      "commit": "6bf135b03e58c8b6399df2937358242977c77b2b",
      "tree": "64a1245f079864eb8a450028ca82999bb976732b",
      "parents": [
        "b6549b6297c7f6dcbd2c0b27b61407cde144530c"
      ],
      "author": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Tue Nov 14 13:05:37 2017 -0800"
      },
      "committer": {
        "name": "Colin Cross",
        "email": "ccross@android.com",
        "time": "Wed Nov 29 11:05:37 2017 -0800"
      },
      "message": "Export AIDL files as a filegroup for framework.jar\n\nPut AIDL files into a filegroup so they can be imported as sources\nfor framework.jar.\n\nBug: 69917341\nTest: m checkbuild\nChange-Id: Ia500ff881bcc8d4a6f0aa66e12d9e6bb5a07ecc1\n"
    },
    {
      "commit": "8cf3a0788df2ee184b498086b1b8da322eeadcca",
      "tree": "1bd36129bbd4afa491689deca23977dbf30930f6",
      "parents": [
        "a5ec8b0ec9c94fd9474fae1d1d1dc798ae6c4d2d"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Aug 09 09:01:33 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Fri Sep 01 10:14:30 2017 -0700"
      },
      "message": "Generate the IPlayer interface with AIDL.\n\nThis removes the manually rolled IPlayer implementation and instead uses\nan aidl generated implementation. The IPlayer aidl file is moved from\nframeworks/base/.\n\nTest: run cts --module CtsMediaTestCases\nBug: 64223827\nChange-Id: Ia609f7ba1cc6f71ce919d6174dd8b5e0e1b05575\n"
    },
    {
      "commit": "ff6900d8f991aac0b67b625f8a1d4d0461b4c50e",
      "tree": "1c81319f27784e4d611f7895d519b7754f869c26",
      "parents": [
        "ce10f65fb5b48d81798caa2c2914b016082b5089"
      ],
      "author": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Tue Aug 01 15:47:38 2017 -0700"
      },
      "committer": {
        "name": "Ivan Lozano",
        "email": "ivanlozano@google.com",
        "time": "Wed Aug 09 09:15:59 2017 -0700"
      },
      "message": "Generate IAudioRecord with AIDL.\n\nUse AIDL to generate the IAudioRecord interface rather than using\na manually implemented interface.\n\nBug: 64223827\nTest: Ran the AudioNativeTest and CtsMediaTestCases CTS tests.\n\nChange-Id: Iade23c73253a97c358050bbd697ebe592b89a4c0\n"
    },
    {
      "commit": "e5ed4fc299dce4783cdd015595f733a51da92c19",
      "tree": "163c5269faf1479fa0f041c4abdec841504f6d77",
      "parents": [
        "a31d18c95c2404536f8c555f2b3a3165c98b837f",
        "a9034e0e535ea8f41a7b1d0a5c9e4e9f074be236"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Fri Jun 02 19:03:00 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Fri Jun 02 19:03:00 2017 +0000"
      },
      "message": "Merge \"add native IPlayer interface implementation\" into oc-dev\nam: a9034e0e53\n\nChange-Id: I83e86118e969a3d305850114a879b73cb9caba21\n"
    },
    {
      "commit": "b5323222bd524876dda1ebf89694f186278e2229",
      "tree": "fe007d41f19f26925d55e35ffd81351dcb40f644",
      "parents": [
        "cc12f885a86a25fd28aa1bb449c6ea0d5cc60417"
      ],
      "author": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Wed May 31 15:01:56 2017 -0700"
      },
      "committer": {
        "name": "Eric Laurent",
        "email": "elaurent@google.com",
        "time": "Thu Jun 01 19:23:40 2017 -0700"
      },
      "message": "add native IPlayer interface implementation\n\nGeneralized the IPlayer implementation done for OpenSL ES\nso that it can be used by other native audio players\nCreated two classes:\n - PlayerBase implementing the interfacin native AudioManager and\n IPlayer methods\n - TrackPlayerBase, a derived class specialized for AudioTrack.\n\nBug: 62027849\nTest: verify regressions with OpenSL ES buffer queue player\n\nChange-Id: If5ad21a3c1a243fba0b312001c5034102e6d6672\n"
    },
    {
      "commit": "e0ad778bfe63308a37f5b5745d92f0d7d165660a",
      "tree": "3319716b837ca02c13ffce53dcb2083216e0afb8",
      "parents": [
        "c8df2c1881daaf3743abf3b3dfc7299c4918de63",
        "ed566c401ff959cd8a6ef15b7be12a47218e97df"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Wed May 03 18:01:31 2017 +0000"
      },
      "committer": {
        "name": "android-build-merger",
        "email": "android-build-merger@google.com",
        "time": "Wed May 03 18:01:31 2017 +0000"
      },
      "message": "Merge \"Remove reference to libc_logging.\" am: 87428f1e82 am: 46b2135bfb\nam: ed566c401f\n\nChange-Id: Ia3390de121f6146e81c5bd61d9b8327e7d810a7c\n"
    },
    {
      "commit": "5a00c54fac03ab2f3ee3eb79b2837832eeef3186",
      "tree": "7211c75035bbb708876b62a0d38d8c5ebd02afcd",
      "parents": [
        "afca9ca288c46038527ee28a34b9f2206132ba55"
      ],
      "author": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue Apr 25 13:05:49 2017 -0700"
      },
      "committer": {
        "name": "Christopher Ferris",
        "email": "cferris@google.com",
        "time": "Tue May 02 10:46:20 2017 -0700"
      },
      "message": "Remove reference to libc_logging.\n\nThe libc_malloc_debug_backtrace includes the log functions so there\nis no need to also add the libc log library.\n\nTest: Built and booted a bullhead device.\nChange-Id: I00457ad0c321b385e68232ee87575588a8188db7\n"
    },
    {
      "commit": "25a9e5561a7f14e79b04f713a515a9464b9ea077",
      "tree": "ea551e17c5a57e4615e474feb60ebc8366f2e133",
      "parents": [
        "2efd6be69a00b55bd2c20f27a99039b5ac2c5ff3"
      ],
      "author": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Mon Apr 17 14:30:39 2017 -0700"
      },
      "committer": {
        "name": "Steven Moreland",
        "email": "smoreland@google.com",
        "time": "Tue Apr 18 02:31:04 2017 +0000"
      },
      "message": "Add libaudioclient_headers\n\nTest: works with BOARD_VNDK_VERSION :\u003d current\nBug: 33241851\nChange-Id: I31cf7e7cd89fe6e71d4e52f7682990146a12b2fb\n"
    },
    {
      "commit": "e2b43843fd12783188edd2c54188ea8d26864788",
      "tree": "baab518964134359128ed35e5ebfc36cf977cde4",
      "parents": [
        "b4d5ec0d8f3755ccb8d5ce51798c3004330e1120"
      ],
      "author": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Thu Feb 02 13:35:37 2017 -0800"
      },
      "committer": {
        "name": "Vijay Venkatraman",
        "email": "vijaykv@google.com",
        "time": "Fri Feb 24 11:47:45 2017 -0800"
      },
      "message": "Moved headers from include/ to appropriate libs\n\ninclude/camera -\u003e camera/include/camera\ninclude/media/audiohal -\u003e media/libaudiohal/include\ninclude/media/AudioResampler*.h -\u003e media/libaudioprocessing/include\ninclude/media/Audio*.h,IAudio*.h,IEffect*.h,ToneGenerator.h -\u003e media/libaudioclient/include\ninclude/media/EffectsFactoryApi.h -\u003e media/libeffects/include\ninclude/media/stagefright -\u003e media/libstagefright/include\ninclude/media/nbaio -\u003e media/libnbaio/include\ninclude/media/\u003crest of files\u003e -\u003e media/libmedia/include\ninclude/cpustats -\u003e media/libcpustats/include/cpustats\n\nAdded symlinks from old location to new ones\n\nBug: 33241851\n\nTest: VNDK linked modules will need to add explicit lib dep.\nAll other modules should compile the same\n\nChange-Id: I0ecf754a2132640ae781a3cc31428fb8c0bd1669\n"
    },
    {
      "commit": "d92d34e86cca348097cea2afa3ddb009572b9303",
      "tree": "dff68900160963ab0800da0af99d249ede268203",
      "parents": [
        "98d1217d58b1879eccee445c3510a8c563a61d11"
      ],
      "author": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Thu Dec 08 15:44:14 2016 -0800"
      },
      "committer": {
        "name": "Jack He",
        "email": "siyuanh@google.com",
        "time": "Tue Jan 10 11:13:25 2017 -0800"
      },
      "message": "Convert Android.mk in libaudioclient to Android.bp\n\n* Since system/bt depends on this library, it needs to be converted to\n  Android.bp before the conversion in system/bt can be continued.\n* Majority of work is done by androidmk Android.mk \u003e Android.bp\n* Fixed sanitize arguements\n* Removed LOCAL_EXPORT_C_INCLUDE_DIRS as Android.bp only supports\n  exporting sub-directories of current Android.bp file\n* Removed frameworks/av/media/libmedia/aidl include path as it no longer\n  exists and Android.mk failed to check that\n* Removed include path for audio-utils as it is being automatically\n  included when we link against libaudioutils\n* Android.mk file must be deleted as a library of the same name can only\n  be defined once in either Android.bp or Android.mk\n* A library defined in Android.bp can be used by either Android.bp or\n  Android.mk files. However, a library defined in Android.mk cannot be\n  used by Android.bp file. Therefore, for system/bt to link against this\n  library in the Android.bp, this library must be converted first\n\nBug: 32958753\nTest: Code compilation, no user visible effect\n\nChange-Id: I2ae87a1151ed4235122c7774096c2dbff8b1fc62\n"
    }
  ]
}
