summaryrefslogtreecommitdiffstats
path: root/services/audioflinger/AudioMixer.cpp
diff options
context:
space:
mode:
authorJean-Michel Trivi <jmtrivi@google.com>2012-09-12 15:47:07 -0700
committerJean-Michel Trivi <jmtrivi@google.com>2012-09-12 15:49:56 -0700
commitd06e132358d44f02c22527b4f463df1f58da9216 (patch)
tree26cd7f3324f6c50726ed0377f3137e38f316aab3 /services/audioflinger/AudioMixer.cpp
parent4b2247510410ef71718199ea028ace8609e92fdd (diff)
downloadframeworks_av-d06e132358d44f02c22527b4f463df1f58da9216.zip
frameworks_av-d06e132358d44f02c22527b4f463df1f58da9216.tar.gz
frameworks_av-d06e132358d44f02c22527b4f463df1f58da9216.tar.bz2
Communicate audio session ID to downmixer
The audio downmixer effect might need the audio session Id, pass it from the track creation in AudioFlinger to the downmix effect creation in AudioMixer. Change-Id: I836873eebd6711f1048fce81cd2eb29b94f0ad0c
Diffstat (limited to 'services/audioflinger/AudioMixer.cpp')
-rw-r--r--services/audioflinger/AudioMixer.cpp5
1 files changed, 3 insertions, 2 deletions
diff --git a/services/audioflinger/AudioMixer.cpp b/services/audioflinger/AudioMixer.cpp
index 183c1f3..1f13625 100644
--- a/services/audioflinger/AudioMixer.cpp
+++ b/services/audioflinger/AudioMixer.cpp
@@ -163,7 +163,7 @@ AudioMixer::~AudioMixer()
delete [] mState.resampleTemp;
}
-int AudioMixer::getTrackName(audio_channel_mask_t channelMask)
+int AudioMixer::getTrackName(audio_channel_mask_t channelMask, int sessionId)
{
uint32_t names = (~mTrackNames) & mConfiguredNames;
if (names != 0) {
@@ -189,6 +189,7 @@ int AudioMixer::getTrackName(audio_channel_mask_t channelMask)
t->enabled = false;
t->format = 16;
t->channelMask = AUDIO_CHANNEL_OUT_STEREO;
+ t->sessionId = sessionId;
// setBufferProvider(name, AudioBufferProvider *) is required before enable(name)
t->bufferProvider = NULL;
t->buffer.raw = NULL;
@@ -269,7 +270,7 @@ status_t AudioMixer::prepareTrackForDownmix(track_t* pTrack, int trackName)
}
if (EffectCreate(&dwnmFxDesc.uuid,
- -2 /*sessionId*/, -2 /*ioId*/,// both not relevant here, using random value
+ pTrack->sessionId /*sessionId*/, -2 /*ioId not relevant here, using random value*/,
&pDbp->mDownmixHandle/*pHandle*/) != 0) {
ALOGE("prepareTrackForDownmix(%d) fails: error creating downmixer effect", trackName);
goto noDownmixForActiveTrack;