158 lines
11 KiB
C++
158 lines
11 KiB
C++
|
//
|
||
|
// Copyright (C) 2020 The Android Open Source Project
|
||
|
//
|
||
|
// Licensed under the Apache License, Version 2.0 (the "License");
|
||
|
// you may not use this file except in compliance with the License.
|
||
|
// You may obtain a copy of the License at
|
||
|
//
|
||
|
// http://www.apache.org/licenses/LICENSE-2.0
|
||
|
//
|
||
|
// Unless required by applicable law or agreed to in writing, software
|
||
|
// distributed under the License is distributed on an "AS IS" BASIS,
|
||
|
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||
|
// See the License for the specific language governing permissions and
|
||
|
// limitations under the License.
|
||
|
//
|
||
|
|
||
|
// clang-format off
|
||
|
#include "native_bridge_support/vdso/interceptable_functions.h"
|
||
|
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_delete);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_openStream);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setAllowedCapturePolicy);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setAttributionTag);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setBufferCapacityInFrames);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setChannelCount);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setChannelMask);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setContentType);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setDataCallback);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setDeviceId);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setDirection);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setErrorCallback);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setFormat);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setFramesPerDataCallback);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setInputPreset);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setIsContentSpatialized);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setPackageName);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setPerformanceMode);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setPrivacySensitive);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setSampleRate);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setSamplesPerFrame);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setSessionId);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setSharingMode);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setSpatializationBehavior);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStreamBuilder_setUsage);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_close);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getAllowedCapturePolicy);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getBufferCapacityInFrames);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getBufferSizeInFrames);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getChannelCount);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getChannelMask);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getContentType);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getDeviceId);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getDirection);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getFormat);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getFramesPerBurst);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getFramesPerDataCallback);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getFramesRead);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getFramesWritten);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getInputPreset);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getPerformanceMode);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getSampleRate);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getSamplesPerFrame);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getSessionId);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getSharingMode);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getSpatializationBehavior);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getState);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getTimestamp);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getUsage);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_getXRunCount);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_isContentSpatialized);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_isMMapUsed);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_isPrivacySensitive);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_read);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_release);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_requestFlush);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_requestPause);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_requestStart);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_requestStop);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_setBufferSizeInFrames);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_waitForStateChange);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudioStream_write);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudio_convertResultToText);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudio_convertStreamStateToText);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudio_createStreamBuilder);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudio_getMMapPolicy);
|
||
|
DEFINE_INTERCEPTABLE_STUB_FUNCTION(AAudio_setMMapPolicy);
|
||
|
|
||
|
static void __attribute__((constructor(0))) init_stub_library() {
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_delete);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_openStream);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setAllowedCapturePolicy);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setAttributionTag);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setBufferCapacityInFrames);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setChannelCount);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setChannelMask);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setContentType);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setDataCallback);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setDeviceId);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setDirection);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setErrorCallback);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setFormat);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setFramesPerDataCallback);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setInputPreset);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setIsContentSpatialized);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setPackageName);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setPerformanceMode);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setPrivacySensitive);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setSampleRate);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setSamplesPerFrame);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setSessionId);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setSharingMode);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setSpatializationBehavior);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStreamBuilder_setUsage);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_close);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getAllowedCapturePolicy);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getBufferCapacityInFrames);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getBufferSizeInFrames);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getChannelCount);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getChannelMask);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getContentType);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getDeviceId);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getDirection);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getFormat);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getFramesPerBurst);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getFramesPerDataCallback);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getFramesRead);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getFramesWritten);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getInputPreset);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getPerformanceMode);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getSampleRate);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getSamplesPerFrame);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getSessionId);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getSharingMode);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getSpatializationBehavior);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getState);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getTimestamp);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getUsage);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_getXRunCount);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_isContentSpatialized);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_isMMapUsed);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_isPrivacySensitive);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_read);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_release);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_requestFlush);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_requestPause);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_requestStart);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_requestStop);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_setBufferSizeInFrames);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_waitForStateChange);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudioStream_write);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudio_convertResultToText);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudio_convertStreamStateToText);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudio_createStreamBuilder);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudio_getMMapPolicy);
|
||
|
INIT_INTERCEPTABLE_STUB_FUNCTION("libaaudio.so", AAudio_setMMapPolicy);
|
||
|
}
|
||
|
// clang-format on
|