Loading services/core/jni/tvinput/JTvInputHal.cpp +27 −3 Original line number Diff line number Diff line Loading @@ -168,6 +168,24 @@ const std::vector<AidlTvStreamConfig> JTvInputHal::getStreamConfigs(int deviceId return list; } static const std::map<std::pair<AidlAudioDeviceType, std::string>, audio_devices_t> aidlToNativeAudioType = { {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_ANALOG}, AUDIO_DEVICE_IN_LINE}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_HDMI}, AUDIO_DEVICE_IN_HDMI}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_HDMI_ARC}, AUDIO_DEVICE_IN_HDMI_ARC}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_HDMI_EARC}, AUDIO_DEVICE_IN_HDMI_EARC}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_IP_V4}, AUDIO_DEVICE_IN_IP}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_SPDIF}, AUDIO_DEVICE_IN_SPDIF}, {{AidlAudioDeviceType::IN_LOOPBACK, ""}, AUDIO_DEVICE_IN_LOOPBACK}, {{AidlAudioDeviceType::IN_TV_TUNER, ""}, AUDIO_DEVICE_IN_TV_TUNER}, }; void JTvInputHal::onDeviceAvailable(const TvInputDeviceInfoWrapper& info) { { Mutex::Autolock autoLock(&mLock); Loading @@ -187,9 +205,15 @@ void JTvInputHal::onDeviceAvailable(const TvInputDeviceInfoWrapper& info) { if (info.isHidl) { hidlSetUpAudioInfo(env, builder, info); } else { AidlAudioDeviceType audioType = info.aidlAudioDevice.type.type; env->CallObjectMethod(builder, gTvInputHardwareInfoBuilderClassInfo.audioType, audioType); if (audioType != AidlAudioDeviceType::NONE) { auto it = aidlToNativeAudioType.find({info.aidlAudioDevice.type.type, info.aidlAudioDevice.type.connection}); audio_devices_t nativeAudioType = AUDIO_DEVICE_NONE; if (it != aidlToNativeAudioType.end()) { nativeAudioType = it->second; } env->CallObjectMethod(builder, gTvInputHardwareInfoBuilderClassInfo.audioType, nativeAudioType); if (info.aidlAudioDevice.type.type != AidlAudioDeviceType::NONE) { std::stringstream ss; switch (info.aidlAudioDevice.address.getTag()) { case AidlAudioDeviceAddress::id: Loading services/core/jni/tvinput/JTvInputHal.h +1 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ using ::aidl::android::hardware::tv::input::TvMessageEventType; using AidlAudioDevice = ::aidl::android::media::audio::common::AudioDevice; using AidlAudioDeviceAddress = ::aidl::android::media::audio::common::AudioDeviceAddress; using AidlAudioDeviceDescription = ::aidl::android::media::audio::common::AudioDeviceDescription; using AidlAudioDeviceType = ::aidl::android::media::audio::common::AudioDeviceType; using AidlITvInput = ::aidl::android::hardware::tv::input::ITvInput; using AidlNativeHandle = ::aidl::android::hardware::common::NativeHandle; Loading Loading
services/core/jni/tvinput/JTvInputHal.cpp +27 −3 Original line number Diff line number Diff line Loading @@ -168,6 +168,24 @@ const std::vector<AidlTvStreamConfig> JTvInputHal::getStreamConfigs(int deviceId return list; } static const std::map<std::pair<AidlAudioDeviceType, std::string>, audio_devices_t> aidlToNativeAudioType = { {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_ANALOG}, AUDIO_DEVICE_IN_LINE}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_HDMI}, AUDIO_DEVICE_IN_HDMI}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_HDMI_ARC}, AUDIO_DEVICE_IN_HDMI_ARC}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_HDMI_EARC}, AUDIO_DEVICE_IN_HDMI_EARC}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_IP_V4}, AUDIO_DEVICE_IN_IP}, {{AidlAudioDeviceType::IN_DEVICE, AidlAudioDeviceDescription::CONNECTION_SPDIF}, AUDIO_DEVICE_IN_SPDIF}, {{AidlAudioDeviceType::IN_LOOPBACK, ""}, AUDIO_DEVICE_IN_LOOPBACK}, {{AidlAudioDeviceType::IN_TV_TUNER, ""}, AUDIO_DEVICE_IN_TV_TUNER}, }; void JTvInputHal::onDeviceAvailable(const TvInputDeviceInfoWrapper& info) { { Mutex::Autolock autoLock(&mLock); Loading @@ -187,9 +205,15 @@ void JTvInputHal::onDeviceAvailable(const TvInputDeviceInfoWrapper& info) { if (info.isHidl) { hidlSetUpAudioInfo(env, builder, info); } else { AidlAudioDeviceType audioType = info.aidlAudioDevice.type.type; env->CallObjectMethod(builder, gTvInputHardwareInfoBuilderClassInfo.audioType, audioType); if (audioType != AidlAudioDeviceType::NONE) { auto it = aidlToNativeAudioType.find({info.aidlAudioDevice.type.type, info.aidlAudioDevice.type.connection}); audio_devices_t nativeAudioType = AUDIO_DEVICE_NONE; if (it != aidlToNativeAudioType.end()) { nativeAudioType = it->second; } env->CallObjectMethod(builder, gTvInputHardwareInfoBuilderClassInfo.audioType, nativeAudioType); if (info.aidlAudioDevice.type.type != AidlAudioDeviceType::NONE) { std::stringstream ss; switch (info.aidlAudioDevice.address.getTag()) { case AidlAudioDeviceAddress::id: Loading
services/core/jni/tvinput/JTvInputHal.h +1 −0 Original line number Diff line number Diff line Loading @@ -54,6 +54,7 @@ using ::aidl::android::hardware::tv::input::TvMessageEventType; using AidlAudioDevice = ::aidl::android::media::audio::common::AudioDevice; using AidlAudioDeviceAddress = ::aidl::android::media::audio::common::AudioDeviceAddress; using AidlAudioDeviceDescription = ::aidl::android::media::audio::common::AudioDeviceDescription; using AidlAudioDeviceType = ::aidl::android::media::audio::common::AudioDeviceType; using AidlITvInput = ::aidl::android::hardware::tv::input::ITvInput; using AidlNativeHandle = ::aidl::android::hardware::common::NativeHandle; Loading