policy-hal: upgrade custom audio policy for concurrency
this change contains all the change and fixes
for concurrency feature went in audio policy made
by QTI as below
Audio: voice concurrency support for Bear family
Change-Id: I6879081dd30969a7d1f162ea73b912442db2bef6
audio_policy: Null check for output profile types
Change-Id: I6abc2e28c93a6de9922a8ac7b2a81a477b3ea566
audio: add support for VoIP & playback record concurrency
Change-Id: Ia93a51f0d0d2cfdd447d73ce65bfc07965190ab4
audio: Fix ringtone mute issue
Change-Id: I2bcdcb2591942f48eac4635a3b36ee575787ee92
audio: Fix for ringtone playback issue on USB AOA
Change-Id: I323e80470e64b58a53d68ca57a29605768324e14
audio: Fix for camcorder shutter playback issue on BT
Change-Id: Ib6f46bacd70da5de5958f65d921c7c219a5b0dc1
audiopolicy: fix crash in camcorder during voice call
Change-Id: Id83111957dab04a3db396401547989db8e8ed573
Change-Id: I37d811a2c947b6ba333b5937ffd5c94fa50714b8
diff --git a/policy_hal/AudioPolicyManager.h b/policy_hal/AudioPolicyManager.h
index b8c9b6e..eb05e38 100644
--- a/policy_hal/AudioPolicyManager.h
+++ b/policy_hal/AudioPolicyManager.h
@@ -50,10 +50,7 @@
{
public:
- AudioPolicyManagerCustom(AudioPolicyClientInterface *clientInterface)
- : AudioPolicyManager(clientInterface) {
- mHdmiAudioDisabled = false;
- mHdmiAudioEvent = false;}
+ AudioPolicyManagerCustom(AudioPolicyClientInterface *clientInterface);
virtual ~AudioPolicyManagerCustom() {}
@@ -66,7 +63,22 @@
virtual bool isOffloadSupported(const audio_offload_info_t& offloadInfo);
- // true if given state represents a device in a telephony or VoIP call
+ virtual status_t getInputForAttr(const audio_attributes_t *attr,
+ audio_io_handle_t *input,
+ audio_session_t session,
+ uid_t uid,
+ uint32_t samplingRate,
+ audio_format_t format,
+ audio_channel_mask_t channelMask,
+ audio_input_flags_t flags,
+ audio_port_handle_t selectedDeviceId,
+ input_type_t *inputType);
+ // indicates to the audio policy manager that the input starts being used.
+ virtual status_t startInput(audio_io_handle_t input,
+ audio_session_t session);
+ // indicates to the audio policy manager that the input stops being used.
+ virtual status_t stopInput(audio_io_handle_t input,
+ audio_session_t session);
protected:
status_t checkAndSetVolume(audio_stream_type_t stream,
@@ -98,6 +110,10 @@
// the mute/unmute happened 315
uint32_t handleEventForBeacon(int){return 0;}
uint32_t setBeaconMute(bool){return 0;}
+#ifdef VOICE_CONCURRENCY
+ static audio_output_flags_t getFallBackPath();
+ int mFallBackflag;
+#endif /*VOICE_CONCURRENCY*/
// handle special cases for sonification strategy while in call: mute streams or replace by
// a special tone in the device used for communication
@@ -128,6 +144,11 @@
// Used for voip + voice concurrency usecase
int mPrevPhoneState;
int mvoice_call_state;
+#ifdef RECORD_PLAY_CONCURRENCY
+ // Used for record + playback concurrency
+ bool mIsInputRequestOnProgress;
+#endif
+
};