From 755b0a611f539dfa49e88aac592a938427c7e1b8 Mon Sep 17 00:00:00 2001 From: Glenn Kasten Date: Tue, 13 May 2014 11:30:28 -0700 Subject: Pull up mFlags and isFastTrack from Track to TrackBase Change-Id: I6bd48292310be4e05758a11f617f50585904422d --- services/audioflinger/PlaybackTracks.h | 3 --- services/audioflinger/RecordTracks.h | 2 +- services/audioflinger/Threads.cpp | 2 +- services/audioflinger/TrackBase.h | 3 +++ services/audioflinger/Tracks.cpp | 12 +++++++----- 5 files changed, 12 insertions(+), 10 deletions(-) diff --git a/services/audioflinger/PlaybackTracks.h b/services/audioflinger/PlaybackTracks.h index e9c6834..08b1728 100644 --- a/services/audioflinger/PlaybackTracks.h +++ b/services/audioflinger/PlaybackTracks.h @@ -115,7 +115,6 @@ public: void invalidate(); bool isInvalid() const { return mIsInvalid; } virtual bool isTimedTrack() const { return false; } - bool isFastTrack() const { return (mFlags & IAudioFlinger::TRACK_FAST) != 0; } int fastIndex() const { return mFastIndex; } protected: @@ -142,8 +141,6 @@ protected: // audio HAL when this track will be fully rendered // zero means not monitoring private: - IAudioFlinger::track_flags_t mFlags; - // The following fields are only for fast tracks, and should be in a subclass int mFastIndex; // index within FastMixerState::mFastTracks[]; // either mFastIndex == -1 if not isFastTrack() diff --git a/services/audioflinger/RecordTracks.h b/services/audioflinger/RecordTracks.h index 4ca2ad4..fe15571 100644 --- a/services/audioflinger/RecordTracks.h +++ b/services/audioflinger/RecordTracks.h @@ -30,7 +30,7 @@ public: size_t frameCount, int sessionId, int uid, - bool isFast); + IAudioFlinger::track_flags_t flags); virtual ~RecordTrack(); virtual status_t start(AudioSystem::sync_event_t event, int triggerSession); diff --git a/services/audioflinger/Threads.cpp b/services/audioflinger/Threads.cpp index 470b018..91d63e7 100644 --- a/services/audioflinger/Threads.cpp +++ b/services/audioflinger/Threads.cpp @@ -5154,7 +5154,7 @@ sp AudioFlinger::RecordThread::createRe track = new RecordTrack(this, client, sampleRate, format, channelMask, frameCount, sessionId, uid, - (*flags & IAudioFlinger::TRACK_FAST) != 0); + *flags); lStatus = track->initCheck(); if (lStatus != NO_ERROR) { diff --git a/services/audioflinger/TrackBase.h b/services/audioflinger/TrackBase.h index 06023fd..5f13be3 100644 --- a/services/audioflinger/TrackBase.h +++ b/services/audioflinger/TrackBase.h @@ -48,6 +48,7 @@ public: const sp& sharedBuffer, int sessionId, int uid, + IAudioFlinger::track_flags_t flags, bool isOut, bool useReadOnlyHeap = false); virtual ~TrackBase(); @@ -63,6 +64,7 @@ public: virtual status_t setSyncEvent(const sp& event); sp getBuffers() const { return mBufferMemory; } + bool isFastTrack() const { return (mFlags & IAudioFlinger::TRACK_FAST) != 0; } protected: TrackBase(const TrackBase&); @@ -134,6 +136,7 @@ protected: const int mSessionId; int mUid; Vector < sp >mSyncEvents; + const IAudioFlinger::track_flags_t mFlags; const bool mIsOut; ServerProxy* mServerProxy; const int mId; diff --git a/services/audioflinger/Tracks.cpp b/services/audioflinger/Tracks.cpp index d8f3423..56107aa 100644 --- a/services/audioflinger/Tracks.cpp +++ b/services/audioflinger/Tracks.cpp @@ -69,6 +69,7 @@ AudioFlinger::ThreadBase::TrackBase::TrackBase( const sp& sharedBuffer, int sessionId, int clientUid, + IAudioFlinger::track_flags_t flags, bool isOut, bool useReadOnlyHeap) : RefBase(), @@ -85,6 +86,7 @@ AudioFlinger::ThreadBase::TrackBase::TrackBase( mChannelCount * audio_bytes_per_sample(format) : sizeof(int8_t)), mFrameCount(frameCount), mSessionId(sessionId), + mFlags(flags), mIsOut(isOut), mServerProxy(NULL), mId(android_atomic_inc(&nextTrackId)), @@ -349,7 +351,7 @@ AudioFlinger::PlaybackThread::Track::Track( int uid, IAudioFlinger::track_flags_t flags) : TrackBase(thread, client, sampleRate, format, channelMask, frameCount, sharedBuffer, - sessionId, uid, true /*isOut*/), + sessionId, uid, flags, true /*isOut*/), mFillingUpStatus(FS_INVALID), // mRetryCount initialized later when needed mSharedBuffer(sharedBuffer), @@ -359,7 +361,6 @@ AudioFlinger::PlaybackThread::Track::Track( mAuxBuffer(NULL), mAuxEffectId(0), mHasVolumeController(false), mPresentationCompleteFrames(0), - mFlags(flags), mFastIndex(-1), mCachedVolume(1.0), mIsInvalid(false), @@ -1833,10 +1834,11 @@ AudioFlinger::RecordThread::RecordTrack::RecordTrack( size_t frameCount, int sessionId, int uid, - bool isFast) + IAudioFlinger::track_flags_t flags) : TrackBase(thread, client, sampleRate, format, - channelMask, frameCount, 0 /*sharedBuffer*/, sessionId, uid, false /*isOut*/, - isFast /*useReadOnlyHeap*/), + channelMask, frameCount, 0 /*sharedBuffer*/, sessionId, uid, + flags, false /*isOut*/, + (flags & IAudioFlinger::TRACK_FAST) != 0 /*useReadOnlyHeap*/), mOverflow(false), mResampler(NULL), mRsmpOutBuffer(NULL), mRsmpOutFrameCount(0), // See real initialization of mRsmpInFront at RecordThread::start() mRsmpInUnrel(0), mRsmpInFront(0), mFramesToDrop(0), mResamplerBufferProvider(NULL) -- cgit v1.1