Loading services/audioflinger/Tracks.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -399,6 +399,21 @@ AudioFlinger::PlaybackThread::Track::Track( mAudioTrackServerProxy = new AudioTrackServerProxy(mCblk, mBuffer, frameCount, mFrameSize, !isExternalTrack(), sampleRate); } else { // Is the shared buffer of sufficient size? // (frameCount * mFrameSize) is <= SIZE_MAX, checked in TrackBase. if (sharedBuffer->size() < frameCount * mFrameSize) { // Workaround: clear out mCblk to indicate track hasn't been properly created. mCblk->~audio_track_cblk_t(); // destroy our shared-structure. if (mClient == 0) { free(mCblk); } mCblk = NULL; mSharedBuffer.clear(); // release shared buffer early android_errorWriteLog(0x534e4554, "38340117"); return; } mAudioTrackServerProxy = new StaticAudioTrackServerProxy(mCblk, mBuffer, frameCount, mFrameSize); } Loading Loading
services/audioflinger/Tracks.cpp +15 −0 Original line number Diff line number Diff line Loading @@ -399,6 +399,21 @@ AudioFlinger::PlaybackThread::Track::Track( mAudioTrackServerProxy = new AudioTrackServerProxy(mCblk, mBuffer, frameCount, mFrameSize, !isExternalTrack(), sampleRate); } else { // Is the shared buffer of sufficient size? // (frameCount * mFrameSize) is <= SIZE_MAX, checked in TrackBase. if (sharedBuffer->size() < frameCount * mFrameSize) { // Workaround: clear out mCblk to indicate track hasn't been properly created. mCblk->~audio_track_cblk_t(); // destroy our shared-structure. if (mClient == 0) { free(mCblk); } mCblk = NULL; mSharedBuffer.clear(); // release shared buffer early android_errorWriteLog(0x534e4554, "38340117"); return; } mAudioTrackServerProxy = new StaticAudioTrackServerProxy(mCblk, mBuffer, frameCount, mFrameSize); } Loading