OSDN Git Service

Remove AudioFlinger dependencies on client
authorGlenn Kasten <gkasten@google.com>
Sat, 21 Jan 2012 01:00:00 +0000 (17:00 -0800)
committerGlenn Kasten <gkasten@google.com>
Sat, 21 Jan 2012 01:12:59 +0000 (17:12 -0800)
Change-Id: Ibb591e41a3ca5d7015e2b66b98b8fef5f415fb37

include/media/AudioTrack.h
services/audioflinger/AudioFlinger.cpp
services/audioflinger/AudioFlinger.h

index fe91799..98abfbd 100644 (file)
@@ -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
         };
 
index c6a9c77..f5892d4 100644 (file)
@@ -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) {
index d862c1d..48edfcd 100644 (file)
@@ -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();