summaryrefslogtreecommitdiffstats
path: root/include/private
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2011-05-24 15:53:33 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2011-06-01 10:55:29 -0700
commit5439223b5633679edcc255651e7062046004d75d (patch)
tree683090bec6f1a9a0fe95609fe5becf54aa3b1f8a /include/private
parent3a4b8bb6756120cfdef2faa7c1966963ef011faf (diff)
downloadframeworks_base-5439223b5633679edcc255651e7062046004d75d.zip
frameworks_base-5439223b5633679edcc255651e7062046004d75d.tar.gz
frameworks_base-5439223b5633679edcc255651e7062046004d75d.tar.bz2
Use channel mask instead of channel count for track creation
Record and playback objects (resp AudioRecord and AudioTrack) are created using a channel mask, but this information is lost in the mixer because only the channel count is known to AudioFlinger. A channel count can always be derived from a channel mask. The change consists in: - disambiguiting variable names for channel masks and counts - passing the mask information from the client to AudioFlinger and the mixer. - when using the DIRECT ouput, only verifying the format of the track is compatible with the output's for PCM. Change-Id: I50d87bfb7d7afcabdf5f12d4ab75ef3a54132c0e
Diffstat (limited to 'include/private')
-rw-r--r--include/private/media/AudioTrackShared.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/include/private/media/AudioTrackShared.h b/include/private/media/AudioTrackShared.h
index 1827c3e..072329d 100644
--- a/include/private/media/AudioTrackShared.h
+++ b/include/private/media/AudioTrackShared.h
@@ -82,7 +82,7 @@ struct audio_track_cblk_t
// 16 bit because data is converted to 16 bit before being stored in buffer
uint8_t frameSize;
- uint8_t channelCount;
+ uint8_t pad1;
uint16_t bufferTimeoutMs; // Maximum cumulated timeout before restarting audioflinger
uint16_t waitTimeMs; // Cumulated wait time
@@ -90,6 +90,7 @@ struct audio_track_cblk_t
volatile int32_t flags;
// Cache line boundary (32 bytes)
+
audio_track_cblk_t();
uint32_t stepUser(uint32_t frameCount);
bool stepServer(uint32_t frameCount);