summaryrefslogtreecommitdiffstats
path: root/media/libmediaplayerservice/MediaPlayerService.h
diff options
context:
space:
mode:
authorGlenn Kasten <gkasten@google.com>2013-05-30 14:33:29 -0700
committerGlenn Kasten <gkasten@google.com>2013-06-03 11:28:36 -0700
commit2799d743ee2ae5a25fe869a7f9c052acc029559f (patch)
tree5cab5ff06f7cae0025b93fdcd549cfb2ec72b755 /media/libmediaplayerservice/MediaPlayerService.h
parent7c684c622110af460025eff85082030947278430 (diff)
downloadframeworks_av-2799d743ee2ae5a25fe869a7f9c052acc029559f.zip
frameworks_av-2799d743ee2ae5a25fe869a7f9c052acc029559f.tar.gz
frameworks_av-2799d743ee2ae5a25fe869a7f9c052acc029559f.tar.bz2
Use sp<AudioTrack> instead of raw AudioTrack *
This change prepares for the new implementation of AudioTrack client, which will require clients to use only sp<AudioTrack>, not raw AudioTrack *. A raw delete will cause a race condition during AudioTrack destruction. AudioTrack was made a RefBase by commit b68a91a70bc8d0d18e7404e14443d4e4020b3635 on 2011/11/15, when it was needed by OpenSL ES (for the callback protector). At that time, the only other client that was also converted from AudioTrack * to sp<AudioTrack> was android.media.AudioTrack JNI in project frameworks/base (file android_media_AudioTrack.cpp). Details: * Use .clear() instead of delete followed by = NULL. * ALOG %p need .get(). * sp<> don't need to be listed in constructor initializer, if initially 0. * Use == 0 for sp<> vs == NULL for raw pointers. * Use if (sp != 0) instead of if (raw). Change-Id: Ic7cad25795d6e862e112abdc227b6d33afdfce17
Diffstat (limited to 'media/libmediaplayerservice/MediaPlayerService.h')
-rw-r--r--media/libmediaplayerservice/MediaPlayerService.h6
1 files changed, 3 insertions, 3 deletions
diff --git a/media/libmediaplayerservice/MediaPlayerService.h b/media/libmediaplayerservice/MediaPlayerService.h
index b33805d..e586156 100644
--- a/media/libmediaplayerservice/MediaPlayerService.h
+++ b/media/libmediaplayerservice/MediaPlayerService.h
@@ -78,7 +78,7 @@ class MediaPlayerService : public BnMediaPlayerService
AudioOutput(int sessionId);
virtual ~AudioOutput();
- virtual bool ready() const { return mTrack != NULL; }
+ virtual bool ready() const { return mTrack != 0; }
virtual bool realtime() const { return true; }
virtual ssize_t bufferSize() const;
virtual ssize_t frameCount() const;
@@ -120,8 +120,8 @@ class MediaPlayerService : public BnMediaPlayerService
static void CallbackWrapper(
int event, void *me, void *info);
- AudioTrack* mTrack;
- AudioTrack* mRecycledTrack;
+ sp<AudioTrack> mTrack;
+ sp<AudioTrack> mRecycledTrack;
sp<AudioOutput> mNextOutput;
AudioCallback mCallback;
void * mCallbackCookie;