rosemary: libshim_vtservice: Call AudioTrack constructor directly

* Also compile shim only for 32bit since the constructors symbol changes
  between 32bit and 64bit and our IMS stack is 32bit only anyway.

Signed-off-by: bengris32 <bengris32@protonmail.ch>
This commit is contained in:
bengris32
2022-09-18 12:06:14 +01:00
committed by Matsvei Niaverau
parent c66158fbdd
commit 2e85cebfc9
2 changed files with 27 additions and 4 deletions

View File

@@ -42,6 +42,7 @@ cc_library_shared {
cc_library_shared {
name: "libshim_vtservice",
srcs: ["libshim_vtservice.cpp"],
compile_multilib: "32",
shared_libs: [
"libaudioclient",
"libgui",

View File

@@ -4,7 +4,28 @@
using namespace android;
extern "C" {
void _ZN7android10AudioTrackC1E19audio_stream_type_tj14audio_format_t20audio_channel_mask_tj20audio_output_flags_tPFviPvS5_ES5_i15audio_session_tNS0_13transfer_typeEPK20audio_offload_info_tRKNS_7content22AttributionSourceStateEPK18audio_attributes_tbfi(
void* thisptr,
audio_stream_type_t streamType,
uint32_t sampleRate,
audio_format_t format,
audio_channel_mask_t channelMask,
size_t frameCount,
audio_output_flags_t flags,
android::AudioTrack::callback_t cbf,
void* user,
int32_t notificationFrames,
audio_session_t sessionId,
android::AudioTrack::transfer_type transferType,
const audio_offload_info_t *offloadInfo,
const AttributionSourceState& attributionSource,
const audio_attributes_t* pAttributes,
bool doNotReconnect,
float maxRequiredSpeed,
audio_port_handle_t selectedDeviceId);
void _ZN7android10AudioTrackC1E19audio_stream_type_tj14audio_format_tjj20audio_output_flags_tPFviPvS4_ES4_i15audio_session_tNS0_13transfer_typeEPK20audio_offload_info_tjiPK18audio_attributes_tbfi(
void* thisptr,
audio_stream_type_t streamType,
uint32_t sampleRate,
audio_format_t format,
@@ -24,10 +45,11 @@ void _ZN7android10AudioTrackC1E19audio_stream_type_tj14audio_format_tjj20audio_o
float maxRequiredSpeed,
audio_port_handle_t selectedDeviceId) {
const AttributionSourceState& attributionSource = AttributionSourceState();
new android::AudioTrack(streamType, sampleRate, format, channelMask, frameCount, flags, cbf,
user, notificationFrames, sessionId, transferType, offloadInfo, attributionSource,
pAttributes, doNotReconnect, maxRequiredSpeed, selectedDeviceId);
}
_ZN7android10AudioTrackC1E19audio_stream_type_tj14audio_format_t20audio_channel_mask_tj20audio_output_flags_tPFviPvS5_ES5_i15audio_session_tNS0_13transfer_typeEPK20audio_offload_info_tRKNS_7content22AttributionSourceStateEPK18audio_attributes_tbfi(
thisptr, streamType, sampleRate, format, channelMask, frameCount, flags, cbf,
user, notificationFrames, sessionId, transferType, offloadInfo,
attributionSource, pAttributes, doNotReconnect, maxRequiredSpeed, selectedDeviceId);
}
void _ZN7android7SurfaceC1ERKNS_2spINS_22IGraphicBufferProducerEEEbRKNS1_INS_7IBinderEEE(
void* thisptr, const sp<IGraphicBufferProducer>& bufferProducer, bool controlledByApp, const sp<IBinder>& surfaceControlHandle);