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 [email protected]
To unsubscribe from this group, send email to
[email protected]
For more options, visit this group at
http://groups.google.com/group/android-developers?hl=en
-~----------~----~----~----~------~----~------~--~---