summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/AudioFlinger.h
diff options
context:
space:
mode:
authorEric Laurent <elaurent@google.com>2014-10-17 18:12:31 -0700
committerEric Laurent <elaurent@google.com>2014-10-22 10:04:14 -0700
commitfa90e84ed0cb2abdc0e0873a06d10ccf2b3c34f6 (patch)
treecfb0730e677246729f44e97465edfac2f0fb45ad /services/audioflinger/AudioFlinger.h
parent0cfc8f2500bb76d44ad45a723a570835aeff502b (diff)
downloadframeworks_av-fa90e84ed0cb2abdc0e0873a06d10ccf2b3c34f6.zip
frameworks_av-fa90e84ed0cb2abdc0e0873a06d10ccf2b3c34f6.tar.gz
frameworks_av-fa90e84ed0cb2abdc0e0873a06d10ccf2b3c34f6.tar.bz2
audioflinger: new HW A/V sync ID allocation flow
The HW A/V sync ID is now allocated by the audio HAL before the output stream is created by a call to global get_parameters() with key AUDIO_PARAMETER_HW_AV_SYNC. When the AudioTrack is created, the HW A/V sync ID is communicated to the output stream by stream set_parameters() with key AUDIO_PARAMETER_STREAM_HW_AV_SYNC. Bug: 17112525. Change-Id: Ia8bc6f3bf9f358aa89f3f56ac554e893a19811ad
Diffstat (limited to 'services/audioflinger/AudioFlinger.h')
-rw-r--r--services/audioflinger/AudioFlinger.h3
1 files changed, 3 insertions, 0 deletions
diff --git a/services/audioflinger/AudioFlinger.h b/services/audioflinger/AudioFlinger.h
index 1003017..4fb372d 100644
--- a/services/audioflinger/AudioFlinger.h
+++ b/services/audioflinger/AudioFlinger.h
@@ -733,6 +733,8 @@ private:
// Effect chains without a valid thread
DefaultKeyedVector< audio_session_t , sp<EffectChain> > mOrphanEffectChains;
+ // list of sessions for which a valid HW A/V sync ID was retrieved from the HAL
+ DefaultKeyedVector< audio_session_t , audio_hw_sync_t >mHwAvSyncIds;
private:
sp<Client> registerPid(pid_t pid); // always returns non-0
@@ -741,6 +743,7 @@ private:
void closeOutputInternal_l(sp<PlaybackThread> thread);
status_t closeInput_nonvirtual(audio_io_handle_t input);
void closeInputInternal_l(sp<RecordThread> thread);
+ void setAudioHwSyncForSession_l(PlaybackThread *thread, audio_session_t sessionId);
#ifdef TEE_SINK
// all record threads serially share a common tee sink, which is re-created on format change