Home | History | Annotate | Download | only in libmedia

Lines Matching full:cblk

59 Proxy::Proxy(audio_track_cblk_t* cblk, void *buffers, size_t frameCount, size_t frameSize,
61 : mCblk(cblk), mBuffers(buffers), mFrameCount(frameCount), mFrameSize(frameSize),
69 ClientProxy::ClientProxy(audio_track_cblk_t* cblk, void *buffers, size_t frameCount,
71 : Proxy(cblk, buffers, frameCount, frameSize, isOut, clientInServer)
73 , mTimestampObserver(&cblk->mExtendedTimestampQueue)
141 audio_track_cblk_t* cblk = mCblk;
149 int32_t flags = android_atomic_and(~CBLK_INTERRUPT, &cblk->mFlags);
179 front = android_atomic_acquire_load(&cblk->u.mStreaming.mFront);
180 rear = cblk->u.mStreaming.mRear;
183 rear = android_atomic_acquire_load(&cblk->u.mStreaming.mRear);
184 front = cblk->u.mStreaming.mFront;
199 cblk->u.mStreaming.mFront = rear;
200 (void) android_atomic_or(CBLK_OVERRUN, &cblk->mFlags);
273 int32_t old = android_atomic_and(~CBLK_FUTEX_WAKE, &cblk->mFutex);
280 (void) syscall(__NR_futex, &cblk->mFutex,
350 audio_track_cblk_t* cblk = mCblk;
353 int32_t rear = cblk->u.mStreaming.mRear;
354 android_atomic_release_store(stepCount + rear, &cblk->u.mStreaming.mRear);
356 int32_t front = cblk->u.mStreaming.mFront;
357 android_atomic_release_store(stepCount + front, &cblk->u.mStreaming.mFront);
363 audio_track_cblk_t* cblk = mCblk;
364 if (!(android_atomic_or(CBLK_INVALID, &cblk->mFlags) & CBLK_INVALID)) {
365 android_atomic_or(CBLK_FUTEX_WAKE, &cblk->mFutex);
367 (void) syscall(__NR_futex, &cblk->mFutex, mClientInServer ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE,
374 audio_track_cblk_t* cblk = mCblk;
375 if (!(android_atomic_or(CBLK_INTERRUPT, &cblk->mFlags) & CBLK_INTERRUPT)) {
376 android_atomic_or(CBLK_FUTEX_WAKE, &cblk->mFutex);
377 (void) syscall(__NR_futex, &cblk->mFutex, mClientInServer ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE,
385 audio_track_cblk_t* cblk = mCblk;
386 return (mFrameCountP2 - (mIsOut ? cblk->u.mStreaming.mRear : cblk->u.mStreaming.mFront)) &
397 audio_track_cblk_t* cblk = mCblk;
399 // Should newFlush = cblk->u.mStreaming.mRear? Only problem is
401 int32_t newFlush = (cblk->u.mStreaming.mRear & mask) |
402 ((cblk->u.mStreaming.mFlush & ~mask) + increment);
403 android_atomic_release_store(newFlush, &cblk->u.mStreaming.mFlush);
419 audio_track_cblk_t* cblk = mCblk;
437 int32_t flags = android_atomic_and(~(CBLK_INTERRUPT|CBLK_STREAM_END_DONE), &cblk->mFlags);
495 int32_t old = android_atomic_and(~CBLK_FUTEX_WAKE, &cblk->mFutex);
498 (void) syscall(__NR_futex, &cblk->mFutex,
523 StaticAudioTrackClientProxy::StaticAudioTrackClientProxy(audio_track_cblk_t* cblk, void *buffers,
525 : AudioTrackClientProxy(cblk, buffers, frameCount, frameSize),
526 mMutator(&cblk->u.mStatic.mSingleStateQueue),
527 mPosLoopObserver(&cblk->u.mStatic.mPosLoopQueue)
615 ServerProxy::ServerProxy(audio_track_cblk_t* cblk, void *buffers, size_t frameCount,
617 : Proxy(cblk, buffers, frameCount, frameSize, isOut, clientInServer),
619 , mTimestampMutator(&cblk->mExtendedTimestampQueue)
621 cblk->mBufferSizeInFrames = frameCount;
632 audio_track_cblk_t* cblk = mCblk;
639 int32_t flush = cblk->u.mStreaming.mFlush;
640 rear = android_atomic_acquire_load(&cblk->u.mStreaming.mRear);
641 front = cblk->u.mStreaming.mFront;
665 android_atomic_release_store(newFront, &cblk->u.mStreaming.mFront);
668 int32_t old = android_atomic_or(CBLK_FUTEX_WAKE, &cblk->mFutex);
670 (void) syscall(__NR_futex, &cblk->mFutex,
678 front = android_atomic_acquire_load(&cblk->u.mStreaming.mFront);
679 rear = cblk->u.mStreaming.mRear;
749 audio_track_cblk_t* cblk = mCblk;
751 int32_t front = cblk->u.mStreaming.mFront;
752 android_atomic_release_store(stepCount + front, &cblk->u.mStreaming.mFront);
754 int32_t rear = cblk->u.mStreaming.mRear;
755 android_atomic_release_store(stepCount + rear, &cblk->u.mStreaming.mRear);
758 cblk->mServer += stepCount;
765 size_t minimum = (size_t) cblk->mMinimum;
774 int32_t old = android_atomic_or(CBLK_FUTEX_WAKE, &cblk->mFutex);
776 (void) syscall(__NR_futex, &cblk->mFutex,
796 audio_track_cblk_t* cblk = mCblk;
798 int32_t flush = cblk->u.mStreaming.mFlush;
804 int32_t rear = android_atomic_acquire_load(&cblk->u.mStreaming.mRear);
805 ssize_t filled = rear - cblk->u.mStreaming.mFront;
819 audio_track_cblk_t* cblk = mCblk;
821 (android_atomic_or(CBLK_STREAM_END_DONE, &cblk->mFlags) & CBLK_STREAM_END_DONE) != 0;
823 (void) syscall(__NR_futex, &cblk->mFutex, mClientInServer ? FUTEX_WAKE_PRIVATE : FUTEX_WAKE,
831 audio_track_cblk_t* cblk = mCblk;
833 cblk->u.mStreaming.mUnderrunFrames += frameCount;
837 cblk->u.mStreaming.mUnderrunCount = mUnderrunCount;
840 frameCount, cblk->u.mStreaming.mUnderrunFrames, mUnderrunCount);
844 (void) android_atomic_or(CBLK_UNDERRUN, &cblk->mFlags);
848 frameCount, cblk->u.mStreaming.mUnderrunFrames);
861 StaticAudioTrackServerProxy::StaticAudioTrackServerProxy(audio_track_cblk_t* cblk, void *buffers,
863 : AudioTrackServerProxy(cblk, buffers, frameCount, frameSize),
864 mObserver(&cblk->u.mStatic.mSingleStateQueue),
865 mPosLoopMutator(&cblk->u.mStatic.mPosLoopQueue),
1035 audio_track_cblk_t* cblk = mCblk;
1060 cblk->mServer += stepCount;
1069 (void) android_atomic_or(setFlags, &cblk->mFlags);