Hi All, I don't know whether there is someone who have a look at the structure audio_track_cblk_t, which is at frameworks/base/include/private/media/AudioTrackShared.h struct audio_track_cblk_t {
// The data members are grouped so that members accessed frequently and in the same context // are in the same line of data cache. Mutex lock; Condition cv; volatile uint32_t user; volatile uint32_t server; uint32_t userBase; uint32_t serverBase; void* buffers; uint32_t frameCount; // Cache line boundary uint32_t loopStart; uint32_t loopEnd; int loopCount; volatile union { uint16_t volume[2]; uint32_t volumeLR; }; uint16_t sampleRate; uint16_t channels; int16_t flowControlFlag; // underrun (out) or overrrun (in) indication uint8_t out; // out equals 1 for AudioTrack and 0 for AudioRecord uint8_t forceReady; uint16_t bufferTimeoutMs; // Maximum cumulated timeout before restarting audioflinger uint16_t waitTimeMs; // Cumulated wait time // Padding ensuring that data buffer starts on a cache line boundary (32 bytes). // See AudioFlinger::TrackBase constructor int32_t Padding[3]; audio_track_cblk_t(); uint32_t stepUser(uint32_t frameCount); bool stepServer(uint32_t frameCount); void* buffer(uint32_t offset) const; uint32_t framesAvailable(); uint32_t framesAvailable_l(); uint32_t framesReady(); }; I try to find where is the definition of framesReady(), stepUser() and etc, but I cann't get the location, anybody can tell me? Thanks a lot --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Android Developers" group. To post to this group, send email to android-developers@googlegroups.com To unsubscribe from this group, send email to android-developers-unsubscr...@googlegroups.com For more options, visit this group at http://groups.google.com/group/android-developers?hl=en -~----------~----~----~----~------~----~------~--~---