summaryrefslogtreecommitdiffstats
path: root/include/private/media
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
commit0d255b2d9061ba31f13ada3fc0f7e51916407176 (patch)
tree4df26e48710542386bddab7a0d1cbfa5d6835ac0 /include/private/media
parent65580f9adf6c4d98449ad0716488f9fe3869aa5a (diff)
downloadframeworks_av-0d255b2d9061ba31f13ada3fc0f7e51916407176.zip
frameworks_av-0d255b2d9061ba31f13ada3fc0f7e51916407176.tar.gz
frameworks_av-0d255b2d9061ba31f13ada3fc0f7e51916407176.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/media')
-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);