VolumeShaper: Initial implementation
The VolumeShaper is used to apply a volume
envelope to an AudioTrack or a MediaPlayer.
Test: CTS
Bug: 30920125
Bug: 31015569
Change-Id: I42e2f13bd6879299dc780e60d143c2d465483a44
diff --git a/include/media/AudioTrack.h b/include/media/AudioTrack.h
index cd33a44..1996dbe 100644
--- a/include/media/AudioTrack.h
+++ b/include/media/AudioTrack.h
@@ -732,6 +732,14 @@
/* Set parameters - only possible when using direct output */
status_t setParameters(const String8& keyValuePairs);
+ /* Sets the volume shaper object */
+ VolumeShaper::Status applyVolumeShaper(
+ const sp<VolumeShaper::Configuration>& configuration,
+ const sp<VolumeShaper::Operation>& operation);
+
+ /* Gets the volume shaper state */
+ sp<VolumeShaper::State> getVolumeShaperState(int id);
+
/* Get parameters */
String8 getParameters(const String8& keys);
@@ -1118,6 +1126,10 @@
// a value of AUDIO_PORT_HANDLE_NONE indicated default (AudioPolicyManager) routing.
audio_port_handle_t mSelectedDeviceId;
+ sp<VolumeHandler> mVolumeHandler;
+
+ int32_t mVolumeShaperId;
+
private:
class DeathNotifier : public IBinder::DeathRecipient {
public: