Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 80a0d2de authored by Glenn Kasten's avatar Glenn Kasten Committed by Android (Google) Code Review
Browse files

Merge "Remove AudioFlinger dependencies on client"

parents 873cc576 335787fe
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -411,7 +411,7 @@ public:
     */

        enum {
            NO_MORE_BUFFERS = 0x80000001,
            NO_MORE_BUFFERS = 0x80000001,   // same name in AudioFlinger.h, ok to be different value
            STOPPED = 1
        };

+4 −6
Original line number Diff line number Diff line
@@ -37,8 +37,6 @@
#include <cutils/properties.h>
#include <cutils/compiler.h>

#include <media/AudioTrack.h>
#include <media/AudioRecord.h>
#include <media/IMediaPlayerService.h>
#include <media/IMediaDeathNotifier.h>

@@ -3909,7 +3907,7 @@ bool AudioFlinger::PlaybackThread::OutputTrack::write(int16_t* data, uint32_t fr
        if (mOutBuffer.frameCount == 0) {
            mOutBuffer.frameCount = pInBuffer->frameCount;
            nsecs_t startTime = systemTime();
            if (obtainBuffer(&mOutBuffer, waitTimeLeftMs) == (status_t)AudioTrack::NO_MORE_BUFFERS) {
            if (obtainBuffer(&mOutBuffer, waitTimeLeftMs) == (status_t)NO_MORE_BUFFERS) {
                ALOGV ("OutputTrack::write() %p thread %p no more output buffers", this, mThread.unsafe_get());
                outputBufferFull = true;
                break;
@@ -4000,11 +3998,11 @@ status_t AudioFlinger::PlaybackThread::OutputTrack::obtainBuffer(AudioBufferProv
            active = mActive;
            if (CC_UNLIKELY(!active)) {
                ALOGV("Not active and NO_MORE_BUFFERS");
                return AudioTrack::NO_MORE_BUFFERS;
                return NO_MORE_BUFFERS;
            }
            result = cblk->cv.waitRelative(cblk->lock, milliseconds(waitTimeMs));
            if (result != NO_ERROR) {
                return AudioTrack::NO_MORE_BUFFERS;
                return NO_MORE_BUFFERS;
            }
            // read the server count again
        start_loop_here:
@@ -4013,7 +4011,7 @@ status_t AudioFlinger::PlaybackThread::OutputTrack::obtainBuffer(AudioBufferProv
    }

//    if (framesAvail < framesReq) {
//        return AudioTrack::NO_MORE_BUFFERS;
//        return NO_MORE_BUFFERS;
//    }

    if (framesReq > framesAvail) {
+6 −1
Original line number Diff line number Diff line
@@ -26,7 +26,7 @@
#include <media/IAudioFlingerClient.h>
#include <media/IAudioTrack.h>
#include <media/IAudioRecord.h>
#include <media/AudioTrack.h>
#include <media/AudioSystem.h>

#include <utils/Atomic.h>
#include <utils/Errors.h>
@@ -207,6 +207,7 @@ public:
                bool        btNrecIsOff() { return mBtNrecIsOff; }

private:

                            AudioFlinger();
    virtual                 ~AudioFlinger();

@@ -674,6 +675,10 @@ private:

        private:

            enum {
                NO_MORE_BUFFERS = 0x80000001,   // same in AudioTrack.h, ok to be different value
            };

            status_t            obtainBuffer(AudioBufferProvider::Buffer* buffer, uint32_t waitTimeMs);
            void                clearBufferQueue();