diff options
Diffstat (limited to 'media/libmedia/AudioSystem.cpp')
| -rw-r--r-- | media/libmedia/AudioSystem.cpp | 50 | 
1 files changed, 46 insertions, 4 deletions
| diff --git a/media/libmedia/AudioSystem.cpp b/media/libmedia/AudioSystem.cpp index 5e6ce425c763..7e3b7439d83c 100644 --- a/media/libmedia/AudioSystem.cpp +++ b/media/libmedia/AudioSystem.cpp @@ -364,6 +364,12 @@ unsigned int AudioSystem::getInputFramesLost(audio_io_handle_t ioHandle) {      return result;  } +int AudioSystem::newAudioSessionId() { +    const sp<IAudioFlinger>& af = AudioSystem::get_audio_flinger(); +    if (af == 0) return 0; +    return af->newAudioSessionId(); +} +  // ---------------------------------------------------------------------------  void AudioSystem::AudioFlingerClient::binderDied(const wp<IBinder>& who) { @@ -584,18 +590,22 @@ audio_io_handle_t AudioSystem::getOutput(stream_type stream,      return output;  } -status_t AudioSystem::startOutput(audio_io_handle_t output, AudioSystem::stream_type stream) +status_t AudioSystem::startOutput(audio_io_handle_t output, +                                  AudioSystem::stream_type stream, +                                  int session)  {      const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();      if (aps == 0) return PERMISSION_DENIED; -    return aps->startOutput(output, stream); +    return aps->startOutput(output, stream, session);  } -status_t AudioSystem::stopOutput(audio_io_handle_t output, AudioSystem::stream_type stream) +status_t AudioSystem::stopOutput(audio_io_handle_t output, +                                 AudioSystem::stream_type stream, +                                 int session)  {      const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service();      if (aps == 0) return PERMISSION_DENIED; -    return aps->stopOutput(output, stream); +    return aps->stopOutput(output, stream, session);  }  void AudioSystem::releaseOutput(audio_io_handle_t output) @@ -660,6 +670,38 @@ status_t AudioSystem::getStreamVolumeIndex(stream_type stream, int *index)      return aps->getStreamVolumeIndex(stream, index);  } +uint32_t AudioSystem::getStrategyForStream(AudioSystem::stream_type stream) +{ +    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); +    if (aps == 0) return 0; +    return aps->getStrategyForStream(stream); +} + +audio_io_handle_t AudioSystem::getOutputForEffect(effect_descriptor_t *desc) +{ +    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); +    if (aps == 0) return PERMISSION_DENIED; +    return aps->getOutputForEffect(desc); +} + +status_t AudioSystem::registerEffect(effect_descriptor_t *desc, +                                audio_io_handle_t output, +                                uint32_t strategy, +                                int session, +                                int id) +{ +    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); +    if (aps == 0) return PERMISSION_DENIED; +    return aps->registerEffect(desc, output, strategy, session, id); +} + +status_t AudioSystem::unregisterEffect(int id) +{ +    const sp<IAudioPolicyService>& aps = AudioSystem::get_audio_policy_service(); +    if (aps == 0) return PERMISSION_DENIED; +    return aps->unregisterEffect(id); +} +  // ---------------------------------------------------------------------------  void AudioSystem::AudioPolicyServiceClient::binderDied(const wp<IBinder>& who) { | 
