From ce2b95ae200332495b348be07f77fe60b6c23dcc Mon Sep 17 00:00:00 2001 From: Jay Shrauner Date: Wed, 26 Feb 2014 10:08:37 -0800 Subject: Fix AudioEngine to allow re-initialization - DO NOT MERGE 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) --- .../com/android/ex/variablespeed/SingleThreadedMediaPlayerProxy.java | 5 +++++ 1 file changed, 5 insertions(+) (limited to 'variablespeed/src/com/android/ex/variablespeed/SingleThreadedMediaPlayerProxy.java') diff --git a/variablespeed/src/com/android/ex/variablespeed/SingleThreadedMediaPlayerProxy.java b/variablespeed/src/com/android/ex/variablespeed/SingleThreadedMediaPlayerProxy.java index 17692f7..c9a9741 100644 --- a/variablespeed/src/com/android/ex/variablespeed/SingleThreadedMediaPlayerProxy.java +++ b/variablespeed/src/com/android/ex/variablespeed/SingleThreadedMediaPlayerProxy.java @@ -84,6 +84,11 @@ public class SingleThreadedMediaPlayerProxy implements MediaPlayerProxy { mDelegate.start(); } + @Override + public synchronized boolean isReadyToPlay() { + return mDelegate.isReadyToPlay(); + } + @Override public synchronized boolean isPlaying() { return mDelegate.isPlaying(); -- cgit v1.2.3