<feed xmlns='http://www.w3.org/2005/Atom'>
<title>android_frameworks_ex/variablespeed, branch stable/cm-11.0</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/'/>
<entry>
<title>Fix AudioEngine to allow re-initialization - DO NOT MERGE</title>
<updated>2014-03-06T16:58:27+00:00</updated>
<author>
<name>Jay Shrauner</name>
<email>shrauner@google.com</email>
</author>
<published>2014-02-26T18:08:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=ce2b95ae200332495b348be07f77fe60b6c23dcc'/>
<id>ce2b95ae200332495b348be07f77fe60b6c23dcc</id>
<content type='text'>
Add AudioEngine::CompareAndSetEngine and change
VariableSpeed::initializeEngine to use this method so it only initializes
a new engine once rather than asserting on subsequent calls.

Change AudioEngine::DeleteEngine so it ignores repeated calls instead of
asserting. Add VariableSpeed::isReadyToPlay so callers can detect when
the audio library has been properly initialized.

Bug:11511992
Change-Id: I4517cb2ab4c186da43dffc7dbc2a9ad49000059f
(cherry picked from commit 8502b724a9fdc104e7b4a3aba1641e101b4c7be9)
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Add AudioEngine::CompareAndSetEngine and change
VariableSpeed::initializeEngine to use this method so it only initializes
a new engine once rather than asserting on subsequent calls.

Change AudioEngine::DeleteEngine so it ignores repeated calls instead of
asserting. Add VariableSpeed::isReadyToPlay so callers can detect when
the audio library has been properly initialized.

Bug:11511992
Change-Id: I4517cb2ab4c186da43dffc7dbc2a9ad49000059f
(cherry picked from commit 8502b724a9fdc104e7b4a3aba1641e101b4c7be9)
</pre>
</div>
</content>
</entry>
<entry>
<title>Add liblog</title>
<updated>2013-04-10T04:54:58+00:00</updated>
<author>
<name>Ying Wang</name>
<email>wangying@google.com</email>
</author>
<published>2013-04-10T04:54:58+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=a3b037722065668349e1da3dab26b5ce1509e553'/>
<id>a3b037722065668349e1da3dab26b5ce1509e553</id>
<content type='text'>
Bug: 8580410
Change-Id: I64962c4175c8bb6e98cdd39efd3982d55082c66d
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 8580410
Change-Id: I64962c4175c8bb6e98cdd39efd3982d55082c66d
</pre>
</div>
</content>
</entry>
<entry>
<title>Initialize requested interfaces array</title>
<updated>2012-07-03T22:59:04+00:00</updated>
<author>
<name>Glenn Kasten</name>
<email>gkasten@google.com</email>
</author>
<published>2012-07-03T20:13:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=cd961432e31018599e107ef7bc008fd28d70b0c7'/>
<id>cd961432e31018599e107ef7bc008fd28d70b0c7</id>
<content type='text'>
Bug: 6768181
Change-Id: Ic8ca44594aea8a0e50740fe69270464ccdd7da6c
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Bug: 6768181
Change-Id: Ic8ca44594aea8a0e50740fe69270464ccdd7da6c
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix build</title>
<updated>2012-03-27T01:16:43+00:00</updated>
<author>
<name>Glenn Kasten</name>
<email>gkasten@google.com</email>
</author>
<published>2012-03-27T01:16:43+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=0bf0772111444b4b4d591344efc32c47f7646a5e'/>
<id>0bf0772111444b4b4d591344efc32c47f7646a5e</id>
<content type='text'>
Change-Id: I998b4503bbc6b8ce2149e6801548749a54b237b2
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Change-Id: I998b4503bbc6b8ce2149e6801548749a54b237b2
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix playback in variable speed audio.</title>
<updated>2011-09-09T13:46:15+00:00</updated>
<author>
<name>Hugo Hudson</name>
<email>hugohudson@google.com</email>
</author>
<published>2011-09-09T13:46:15+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=efaa38a16baad0f8665ac23f8e0a8ba166daf75d'/>
<id>efaa38a16baad0f8665ac23f8e0a8ba166daf75d</id>
<content type='text'>
- Recent changes to system/media broke variable speed playback.
- Traced to http://go/android-cl/132098 which presumed that variable
  speed playback wasn't using the renamed sample rate field, but we
  had our own copy of the field (it wasn't previously available in the
  api).
- This cl also fixes the TODO by removing our own copy of the fields,
  and using instead the defines from the OpenSL android api directly.

Bug: 5282965
Change-Id: I58033e9299d26d6a05259e4d50708d27fc3fa7e1
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Recent changes to system/media broke variable speed playback.
- Traced to http://go/android-cl/132098 which presumed that variable
  speed playback wasn't using the renamed sample rate field, but we
  had our own copy of the field (it wasn't previously available in the
  api).
- This cl also fixes the TODO by removing our own copy of the fields,
  and using instead the defines from the OpenSL android api directly.

Bug: 5282965
Change-Id: I58033e9299d26d6a05259e4d50708d27fc3fa7e1
</pre>
</div>
</content>
</entry>
<entry>
<title>Enables detailed logging during variable speed playback.</title>
<updated>2011-09-05T09:40:33+00:00</updated>
<author>
<name>Flavio Lerda</name>
<email>flerda@google.com</email>
</author>
<published>2011-09-02T15:40:13+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=e863816a885b0a0e1a0930969fe3e818f68f2478'/>
<id>e863816a885b0a0e1a0930969fe3e818f68f2478</id>
<content type='text'>
This commit adds support for dynamically enabling logging in the
variable speed library if log.tag.VariableSpeed is set.

After this change, you can enable logging by running:

adb shell setprop log.tag.VariableSpeed 1

Logging will be disabled after reboot or after running:

adb shell setprop log.tag.VariableSpeed ""

The logging in the library is quite verbose, so we do not want to enable
it by default.

Bug: 5253004
Change-Id: I3addde5552093eb0c4926b67245d578a7da0fb7a
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
This commit adds support for dynamically enabling logging in the
variable speed library if log.tag.VariableSpeed is set.

After this change, you can enable logging by running:

adb shell setprop log.tag.VariableSpeed 1

Logging will be disabled after reboot or after running:

adb shell setprop log.tag.VariableSpeed ""

The logging in the library is quite verbose, so we do not want to enable
it by default.

Bug: 5253004
Change-Id: I3addde5552093eb0c4926b67245d578a7da0fb7a
</pre>
</div>
</content>
</entry>
<entry>
<title>Allows selecting the audio stream used for playback.</title>
<updated>2011-09-01T11:23:19+00:00</updated>
<author>
<name>Flavio Lerda</name>
<email>flerda@google.com</email>
</author>
<published>2011-08-31T14:49:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=dc442b4d99512bf7c41ee5ceae6c93a3c3568b57'/>
<id>dc442b4d99512bf7c41ee5ceae6c93a3c3568b57</id>
<content type='text'>
Adds setAudioStreamType() to the MediaPlayerProxy interface and
implements it in the variable speed player.

Bug: 5240848
Change-Id: I1bb9fdbee7aa6113c5d5d5a8000e9794800fad9f
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
Adds setAudioStreamType() to the MediaPlayerProxy interface and
implements it in the variable speed player.

Bug: 5240848
Change-Id: I1bb9fdbee7aa6113c5d5d5a8000e9794800fad9f
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix the audio stutter during playback.</title>
<updated>2011-08-27T00:21:54+00:00</updated>
<author>
<name>Hugo Hudson</name>
<email>hugohudson@google.com</email>
</author>
<published>2011-08-27T00:21:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=d2772c48b3ba3cb78f814f83f4a65bbac2cf8337'/>
<id>d2772c48b3ba3cb78f814f83f4a65bbac2cf8337</id>
<content type='text'>
- Was using the base pointer from callback context when I meant to be
  using the 'current position' pointer.

Bug: 5114126
Change-Id: Ie9baded973672cd8ac7ffe0f16f1bdf22c8f1030
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Was using the base pointer from callback context when I meant to be
  using the 'current position' pointer.

Bug: 5114126
Change-Id: Ie9baded973672cd8ac7ffe0f16f1bdf22c8f1030
</pre>
</div>
</content>
</entry>
<entry>
<title>Fix a rare crash.</title>
<updated>2011-08-10T14:57:28+00:00</updated>
<author>
<name>Hugo Hudson</name>
<email>hugohudson@google.com</email>
</author>
<published>2011-08-10T14:57:28+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=64f5ba670d215847192b4ff46dc4538565f2f551'/>
<id>64f5ba670d215847192b4ff46dc4538565f2f551</id>
<content type='text'>
- Crash could be reproduced by seeking to the very end of a voicemail,
  playing the voicemail to see the ui reset to beginning, then
  increasing rate.
- Reason was that during playback, insufficient data has been read to
  read the sample rate and channels, and in that situation the increase
  rate requires constructing the time scaler, which in turn requires
  a valid sample rate and channels.
- Added a test to prove that the bug exists, and to prove the fix which
  is to ignore the rate change call when sample rate and channels not
  known.
- Also added another unit test in the process to verify that it's safe
  to call set rate at any point during the life cycle of the player.

Bug: 5140693
Change-Id: I474e5769f2b72762348534e4d06104af247e8726
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- Crash could be reproduced by seeking to the very end of a voicemail,
  playing the voicemail to see the ui reset to beginning, then
  increasing rate.
- Reason was that during playback, insufficient data has been read to
  read the sample rate and channels, and in that situation the increase
  rate requires constructing the time scaler, which in turn requires
  a valid sample rate and channels.
- Added a test to prove that the bug exists, and to prove the fix which
  is to ignore the rate change call when sample rate and channels not
  known.
- Also added another unit test in the process to verify that it's safe
  to call set rate at any point during the life cycle of the player.

Bug: 5140693
Change-Id: I474e5769f2b72762348534e4d06104af247e8726
</pre>
</div>
</content>
</entry>
<entry>
<title>Prove that there's an issue with media player audio.</title>
<updated>2011-08-09T11:40:19+00:00</updated>
<author>
<name>Hugo Hudson</name>
<email>hugohudson@google.com</email>
</author>
<published>2011-08-09T11:24:57+00:00</published>
<link rel='alternate' type='text/html' href='https://git.replicant.us/mirrors/LineageOS/android_frameworks_ex/commit/?id=5f65e43cf103514ddb69abca7cc78dfe99cd329c'/>
<id>5f65e43cf103514ddb69abca7cc78dfe99cd329c</id>
<content type='text'>
- File format of files downloaded from GoogleVoice:
  MPEG ADTS, layer III,  v2.5,  32 kbps, 8 kHz, Monaural
- If we seek in that file before beginning playback, there is a very
  obvious triple/quadruple stutter.
- This adds a unit test that plays such a file after seeking, which
  clearly demonstratest the stutter on my variable speed library.
- This same test can be used to demonstrate the stutter with the regular
  MediaPlayer.

Other:
  - Also adds the correct ADD_VOICEMAIL permission, which was renamed
    earlier.

Bug: 5114126
Change-Id: I3dfaf7686c879076d9949047d91875010b6d8b52
</content>
<content type='xhtml'>
<div xmlns='http://www.w3.org/1999/xhtml'>
<pre>
- File format of files downloaded from GoogleVoice:
  MPEG ADTS, layer III,  v2.5,  32 kbps, 8 kHz, Monaural
- If we seek in that file before beginning playback, there is a very
  obvious triple/quadruple stutter.
- This adds a unit test that plays such a file after seeking, which
  clearly demonstratest the stutter on my variable speed library.
- This same test can be used to demonstrate the stutter with the regular
  MediaPlayer.

Other:
  - Also adds the correct ADD_VOICEMAIL permission, which was renamed
    earlier.

Bug: 5114126
Change-Id: I3dfaf7686c879076d9949047d91875010b6d8b52
</pre>
</div>
</content>
</entry>
</feed>
