OSDN Git Service

Start isolating control block accesses in a proxy
authorGlenn Kasten <gkasten@google.com>
Tue, 4 Dec 2012 20:22:46 +0000 (12:22 -0800)
committerGlenn Kasten <gkasten@google.com>
Wed, 12 Dec 2012 20:21:59 +0000 (12:21 -0800)
commite3aa659e9cee7df5c12a80d285cc29ab3b2cbb39
tree90fdb6e9da1a03f4f24691aae27ae94ff913f1c7
parent84b6440fa1d1274267deabe0bd8dc626b5548e4c
Start isolating control block accesses in a proxy

The proxy object will eventually be the only code that understands the
details of the control block.  This should make it easier to change the
control block in the future.

Initial set of control block fields that are isolated:
 - sample rate
 - send level
 - volume

Prepare for streaming/static separation by adding a union to the control
block for the new fields.

Fix bug in handling of max sample rate on a track.  It was only checking
at re-configuration, not at each mix.

Simplify OutputTrack::obtainBuffer.

Change-Id: I2249f9d04f73a911a922ad1d7f6197292c74cd92
12 files changed:
include/media/AudioRecord.h
include/media/AudioTrack.h
include/private/media/AudioTrackShared.h
media/libmedia/AudioRecord.cpp
media/libmedia/AudioTrack.cpp
media/libmedia/AudioTrackShared.cpp
services/audioflinger/AudioFlinger.h
services/audioflinger/PlaybackTracks.h
services/audioflinger/RecordTracks.h
services/audioflinger/Threads.cpp
services/audioflinger/TrackBase.h
services/audioflinger/Tracks.cpp