)]}'
{
  "commit": "3d00aa6de95fb46e36f2bab4e3facdf0b96acf06",
  "tree": "1ad12df4c11ca37280cbe6850eed9bff1e0a2f35",
  "parents": [
    "402dfba6dcd68f5fd8d8921f9751f3e47eb1449d"
  ],
  "author": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Tue Sep 24 09:53:27 2013 -0700"
  },
  "committer": {
    "name": "Eric Laurent",
    "email": "elaurent@google.com",
    "time": "Tue Sep 24 11:59:59 2013 -0700"
  },
  "message": "soundpool: allocate shared memory heap by client\n\nCurrent SoundPool implementation allocates the shared memory heap\ncontaining decoded PCM samples in mediaserver process.\nWhen mediaserver process crashes, the shared memory heaps allocated by\nAudioCache cannot be mapped anymore in the new instance of mediaserver.\nThis causes a silent failure to end playback of new sounds because\nAudioFlinger believes the new AudioTracks are opened in streaming mode\nand not static mode: it sees a NULL shared memory pointer when the track\nis created.\n\nThe fix consists in allocating the memory heap in the client process. Thus\nthe heap is not lost when mediaserver restarts. The global memory usage is\nthe same as this is shared memory.\n\nAlso added a way to detect that a shared memory is passed when the track is\ncreated but cannot be mapped on mediaserver side.\n\nAlso fix a crash in SoundPool when ALOGV is enabled.\n\nBug: 10894793.\nChange-Id: Ice6c66ec3b2a409d75dc903a508b6c6fbfb2e8a7\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "fef7af24e3b47d79fb7ebac85628afec4cc67057",
      "old_mode": 33188,
      "old_path": "include/media/IMediaPlayerService.h",
      "new_id": "2998b37608bb92bb34f5c544706dac530504b66a",
      "new_mode": 33188,
      "new_path": "include/media/IMediaPlayerService.h"
    },
    {
      "type": "modify",
      "old_id": "9e5654f4f10fa52cc147fd844f57d63fffd05683",
      "old_mode": 33188,
      "old_path": "include/media/SoundPool.h",
      "new_id": "2dd78cc07f7119c6f36b15a5603d6c31d431ecc8",
      "new_mode": 33188,
      "new_path": "include/media/SoundPool.h"
    },
    {
      "type": "modify",
      "old_id": "923c8b2b2ce08ea01404d984977b33bb32c13c8d",
      "old_mode": 33188,
      "old_path": "include/media/mediaplayer.h",
      "new_id": "2177c4c372ced265d3a3a4a05def1530868179e2",
      "new_mode": 33188,
      "new_path": "include/media/mediaplayer.h"
    },
    {
      "type": "modify",
      "old_id": "be818c6a77efbd136ad2ccadd5410ca91e53cbf6",
      "old_mode": 33188,
      "old_path": "media/libmedia/IAudioFlinger.cpp",
      "new_id": "68928f10820150b0b4f7154e6eb48a88a11c42c8",
      "new_mode": 33188,
      "new_path": "media/libmedia/IAudioFlinger.cpp"
    },
    {
      "type": "modify",
      "old_id": "74f574dc332e4697437b3653a06cd1b33986dfe2",
      "old_mode": 33188,
      "old_path": "media/libmedia/IMediaPlayerService.cpp",
      "new_id": "3c22b4ced007785386b00a79241871097e322c7d",
      "new_mode": 33188,
      "new_path": "media/libmedia/IMediaPlayerService.cpp"
    },
    {
      "type": "modify",
      "old_id": "5239b2feb943c0c138e2348e8b3fecdc9a3257d3",
      "old_mode": 33188,
      "old_path": "media/libmedia/SoundPool.cpp",
      "new_id": "8434d431a84b178228db8a8ed781090106c9d2ab",
      "new_mode": 33188,
      "new_path": "media/libmedia/SoundPool.cpp"
    },
    {
      "type": "modify",
      "old_id": "4323d0c6a4d5ddf262a65587b8cf3e56d95b65bd",
      "old_mode": 33188,
      "old_path": "media/libmedia/mediaplayer.cpp",
      "new_id": "0f6d897cce2a4468a33c2239682405b45d89f917",
      "new_mode": 33188,
      "new_path": "media/libmedia/mediaplayer.cpp"
    },
    {
      "type": "modify",
      "old_id": "0dabd37b25d3a9b8459a9acd95a40fb84734cbac",
      "old_mode": 33188,
      "old_path": "media/libmediaplayerservice/MediaPlayerService.cpp",
      "new_id": "9553458c595a2cd1b8b8496bad999accd50dc302",
      "new_mode": 33188,
      "new_path": "media/libmediaplayerservice/MediaPlayerService.cpp"
    },
    {
      "type": "modify",
      "old_id": "7d27944ae9950ea8d9e47e293127eaa7be7c2a04",
      "old_mode": 33188,
      "old_path": "media/libmediaplayerservice/MediaPlayerService.h",
      "new_id": "21f41177d870a6bf72cf9a0c3db9bca277c284fd",
      "new_mode": 33188,
      "new_path": "media/libmediaplayerservice/MediaPlayerService.h"
    }
  ]
}
