From 1086b05f7d3cb296d55facd88621f16c2737cf33 Mon Sep 17 00:00:00 2001 From: Kevin Rocard Date: Tue, 18 Dec 2018 17:52:55 -0800 Subject: [PATCH] Add MIX_ROUTE_FLAG_LOOP_BACK_RENDER Test: adb shell audiorecorder --target /data/file.raw Bug: 111453086 Change-Id: I276a10921aac9f5e709c0a44c661cbbdc94e49db Signed-off-by: Kevin Rocard --- media/libaudioclient/include/media/AudioPolicy.h | 9 +++++++++ .../common/managerdefinitions/src/TypeConverter.cpp | 1 + 2 files changed, 10 insertions(+) diff --git a/media/libaudioclient/include/media/AudioPolicy.h b/media/libaudioclient/include/media/AudioPolicy.h index 786fb9ab34..bf8d62795c 100644 --- a/media/libaudioclient/include/media/AudioPolicy.h +++ b/media/libaudioclient/include/media/AudioPolicy.h @@ -49,8 +49,12 @@ namespace android { #define MIX_STATE_IDLE 0 #define MIX_STATE_MIXING 1 +/** Control to which device some audio is rendered */ #define MIX_ROUTE_FLAG_RENDER 0x1 +/** Loop back some audio instead of rendering it */ #define MIX_ROUTE_FLAG_LOOP_BACK (0x1 << 1) +/** Loop back some audio while it is rendered */ +#define MIX_ROUTE_FLAG_LOOP_BACK_AND_RENDER (MIX_ROUTE_FLAG_RENDER | MIX_ROUTE_FLAG_LOOP_BACK) #define MIX_ROUTE_FLAG_ALL (MIX_ROUTE_FLAG_RENDER | MIX_ROUTE_FLAG_LOOP_BACK) #define MAX_MIXES_PER_POLICY 10 @@ -119,6 +123,11 @@ public: #define RECORD_CONFIG_EVENT_START 1 #define RECORD_CONFIG_EVENT_STOP 0 +static inline bool is_mix_loopback_render(uint32_t routeFlags) { + return (routeFlags & MIX_ROUTE_FLAG_LOOP_BACK_AND_RENDER) + == MIX_ROUTE_FLAG_LOOP_BACK_AND_RENDER; +} + }; // namespace android #endif // ANDROID_AUDIO_POLICY_H diff --git a/services/audiopolicy/common/managerdefinitions/src/TypeConverter.cpp b/services/audiopolicy/common/managerdefinitions/src/TypeConverter.cpp index 6f48eae9c1..7c76d8a35b 100644 --- a/services/audiopolicy/common/managerdefinitions/src/TypeConverter.cpp +++ b/services/audiopolicy/common/managerdefinitions/src/TypeConverter.cpp @@ -45,6 +45,7 @@ template <> const RouteFlagTypeConverter::Table RouteFlagTypeConverter::mTable[] = { MAKE_STRING_FROM_ENUM(MIX_ROUTE_FLAG_RENDER), MAKE_STRING_FROM_ENUM(MIX_ROUTE_FLAG_LOOP_BACK), + MAKE_STRING_FROM_ENUM(MIX_ROUTE_FLAG_LOOP_BACK_AND_RENDER), MAKE_STRING_FROM_ENUM(MIX_ROUTE_FLAG_ALL), TERMINATOR };