1 /*
2  * This file is auto-generated.  DO NOT MODIFY.
3  * Using: out/host/linux-x86/bin/aidl --lang=ndk -Weverything -Wno-missing-permission-annotation --structured --version 3 --hash notfrozen -t --stability vintf --min_sdk_version current -pout/soong/.intermediates/system/hardware/interfaces/media/android.media.audio.common.types_interface/4/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.effect_interface/3/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.core.sounddose_interface/3/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.common_interface/4/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/aidl/android.hardware.common_interface/2/preprocessed.aidl -pout/soong/.intermediates/hardware/interfaces/common/fmq/aidl/android.hardware.common.fmq_interface/1/preprocessed.aidl --previous_api_dir=hardware/interfaces/audio/aidl/aidl_api/android.hardware.audio.core/2 --previous_hash 003735b3fd3c94c53b02a6eb5e099731f7062610 --ninja -d out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.core-V3-ndk-source/gen/staging/android/hardware/audio/core/IStreamOut.cpp.d -h out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.core-V3-ndk-source/gen/include/staging -o out/soong/.intermediates/hardware/interfaces/audio/aidl/android.hardware.audio.core-V3-ndk-source/gen/staging -Nhardware/interfaces/audio/aidl hardware/interfaces/audio/aidl/android/hardware/audio/core/IStreamOut.aidl
4  *
5  * DO NOT CHECK THIS FILE INTO A CODE TREE (e.g. git, etc..).
6  * ALWAYS GENERATE THIS FILE FROM UPDATED AIDL COMPILER
7  * AS A BUILD INTERMEDIATE ONLY. THIS IS NOT SOURCE CODE.
8  */
9 #pragma once
10 
11 #include <cstdint>
12 #include <memory>
13 #include <optional>
14 #include <string>
15 #include <vector>
16 #include <android/binder_interface_utils.h>
17 #include <aidl/android/hardware/audio/common/AudioOffloadMetadata.h>
18 #include <aidl/android/hardware/audio/common/SourceMetadata.h>
19 #include <aidl/android/hardware/audio/core/IStreamCommon.h>
20 #include <aidl/android/media/audio/common/AudioDualMonoMode.h>
21 #include <aidl/android/media/audio/common/AudioLatencyMode.h>
22 #include <aidl/android/media/audio/common/AudioPlaybackRate.h>
23 #ifdef BINDER_STABILITY_SUPPORT
24 #include <android/binder_stability.h>
25 #endif  // BINDER_STABILITY_SUPPORT
26 
27 namespace aidl::android::hardware::audio::common {
28 class AudioOffloadMetadata;
29 class SourceMetadata;
30 }  // namespace aidl::android::hardware::audio::common
31 namespace aidl::android::hardware::audio::core {
32 class IStreamCommon;
33 }  // namespace aidl::android::hardware::audio::core
34 namespace aidl::android::media::audio::common {
35 class AudioPlaybackRate;
36 }  // namespace aidl::android::media::audio::common
37 namespace aidl {
38 namespace android {
39 namespace hardware {
40 namespace audio {
41 namespace core {
42 class IStreamOutDelegator;
43 
44 class IStreamOut : public ::ndk::ICInterface {
45 public:
46   typedef IStreamOutDelegator DefaultDelegator;
47   static const char* descriptor;
48   IStreamOut();
49   virtual ~IStreamOut();
50 
51   enum : int32_t { HW_VOLUME_MIN = 0 };
52   enum : int32_t { HW_VOLUME_MAX = 1 };
53   enum : int32_t { AUDIO_DESCRIPTION_MIX_LEVEL_MAX = 48 };
54   static inline const int32_t version = true ? 2 : 3;
55   static inline const std::string hash = true ? "003735b3fd3c94c53b02a6eb5e099731f7062610" : "notfrozen";
56   static constexpr uint32_t TRANSACTION_getStreamCommon = FIRST_CALL_TRANSACTION + 0;
57   static constexpr uint32_t TRANSACTION_updateMetadata = FIRST_CALL_TRANSACTION + 1;
58   static constexpr uint32_t TRANSACTION_updateOffloadMetadata = FIRST_CALL_TRANSACTION + 2;
59   static constexpr uint32_t TRANSACTION_getHwVolume = FIRST_CALL_TRANSACTION + 3;
60   static constexpr uint32_t TRANSACTION_setHwVolume = FIRST_CALL_TRANSACTION + 4;
61   static constexpr uint32_t TRANSACTION_getAudioDescriptionMixLevel = FIRST_CALL_TRANSACTION + 5;
62   static constexpr uint32_t TRANSACTION_setAudioDescriptionMixLevel = FIRST_CALL_TRANSACTION + 6;
63   static constexpr uint32_t TRANSACTION_getDualMonoMode = FIRST_CALL_TRANSACTION + 7;
64   static constexpr uint32_t TRANSACTION_setDualMonoMode = FIRST_CALL_TRANSACTION + 8;
65   static constexpr uint32_t TRANSACTION_getRecommendedLatencyModes = FIRST_CALL_TRANSACTION + 9;
66   static constexpr uint32_t TRANSACTION_setLatencyMode = FIRST_CALL_TRANSACTION + 10;
67   static constexpr uint32_t TRANSACTION_getPlaybackRateParameters = FIRST_CALL_TRANSACTION + 11;
68   static constexpr uint32_t TRANSACTION_setPlaybackRateParameters = FIRST_CALL_TRANSACTION + 12;
69   static constexpr uint32_t TRANSACTION_selectPresentation = FIRST_CALL_TRANSACTION + 13;
70 
71   static std::shared_ptr<IStreamOut> fromBinder(const ::ndk::SpAIBinder& binder);
72   static binder_status_t writeToParcel(AParcel* parcel, const std::shared_ptr<IStreamOut>& instance);
73   static binder_status_t readFromParcel(const AParcel* parcel, std::shared_ptr<IStreamOut>* instance);
74   static bool setDefaultImpl(const std::shared_ptr<IStreamOut>& impl);
75   static const std::shared_ptr<IStreamOut>& getDefaultImpl();
76   virtual ::ndk::ScopedAStatus getStreamCommon(std::shared_ptr<::aidl::android::hardware::audio::core::IStreamCommon>* _aidl_return) = 0;
77   virtual ::ndk::ScopedAStatus updateMetadata(const ::aidl::android::hardware::audio::common::SourceMetadata& in_sourceMetadata) = 0;
78   virtual ::ndk::ScopedAStatus updateOffloadMetadata(const ::aidl::android::hardware::audio::common::AudioOffloadMetadata& in_offloadMetadata) = 0;
79   virtual ::ndk::ScopedAStatus getHwVolume(std::vector<float>* _aidl_return) = 0;
80   virtual ::ndk::ScopedAStatus setHwVolume(const std::vector<float>& in_channelVolumes) = 0;
81   virtual ::ndk::ScopedAStatus getAudioDescriptionMixLevel(float* _aidl_return) = 0;
82   virtual ::ndk::ScopedAStatus setAudioDescriptionMixLevel(float in_leveldB) = 0;
83   virtual ::ndk::ScopedAStatus getDualMonoMode(::aidl::android::media::audio::common::AudioDualMonoMode* _aidl_return) = 0;
84   virtual ::ndk::ScopedAStatus setDualMonoMode(::aidl::android::media::audio::common::AudioDualMonoMode in_mode) = 0;
85   virtual ::ndk::ScopedAStatus getRecommendedLatencyModes(std::vector<::aidl::android::media::audio::common::AudioLatencyMode>* _aidl_return) = 0;
86   virtual ::ndk::ScopedAStatus setLatencyMode(::aidl::android::media::audio::common::AudioLatencyMode in_mode) = 0;
87   virtual ::ndk::ScopedAStatus getPlaybackRateParameters(::aidl::android::media::audio::common::AudioPlaybackRate* _aidl_return) = 0;
88   virtual ::ndk::ScopedAStatus setPlaybackRateParameters(const ::aidl::android::media::audio::common::AudioPlaybackRate& in_playbackRate) = 0;
89   virtual ::ndk::ScopedAStatus selectPresentation(int32_t in_presentationId, int32_t in_programId) = 0;
90   virtual ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) = 0;
91   virtual ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) = 0;
92 private:
93   static std::shared_ptr<IStreamOut> default_impl;
94 };
95 class IStreamOutDefault : public IStreamOut {
96 public:
97   ::ndk::ScopedAStatus getStreamCommon(std::shared_ptr<::aidl::android::hardware::audio::core::IStreamCommon>* _aidl_return) override;
98   ::ndk::ScopedAStatus updateMetadata(const ::aidl::android::hardware::audio::common::SourceMetadata& in_sourceMetadata) override;
99   ::ndk::ScopedAStatus updateOffloadMetadata(const ::aidl::android::hardware::audio::common::AudioOffloadMetadata& in_offloadMetadata) override;
100   ::ndk::ScopedAStatus getHwVolume(std::vector<float>* _aidl_return) override;
101   ::ndk::ScopedAStatus setHwVolume(const std::vector<float>& in_channelVolumes) override;
102   ::ndk::ScopedAStatus getAudioDescriptionMixLevel(float* _aidl_return) override;
103   ::ndk::ScopedAStatus setAudioDescriptionMixLevel(float in_leveldB) override;
104   ::ndk::ScopedAStatus getDualMonoMode(::aidl::android::media::audio::common::AudioDualMonoMode* _aidl_return) override;
105   ::ndk::ScopedAStatus setDualMonoMode(::aidl::android::media::audio::common::AudioDualMonoMode in_mode) override;
106   ::ndk::ScopedAStatus getRecommendedLatencyModes(std::vector<::aidl::android::media::audio::common::AudioLatencyMode>* _aidl_return) override;
107   ::ndk::ScopedAStatus setLatencyMode(::aidl::android::media::audio::common::AudioLatencyMode in_mode) override;
108   ::ndk::ScopedAStatus getPlaybackRateParameters(::aidl::android::media::audio::common::AudioPlaybackRate* _aidl_return) override;
109   ::ndk::ScopedAStatus setPlaybackRateParameters(const ::aidl::android::media::audio::common::AudioPlaybackRate& in_playbackRate) override;
110   ::ndk::ScopedAStatus selectPresentation(int32_t in_presentationId, int32_t in_programId) override;
111   ::ndk::ScopedAStatus getInterfaceVersion(int32_t* _aidl_return) override;
112   ::ndk::ScopedAStatus getInterfaceHash(std::string* _aidl_return) override;
113   ::ndk::SpAIBinder asBinder() override;
114   bool isRemote() override;
115 };
116 }  // namespace core
117 }  // namespace audio
118 }  // namespace hardware
119 }  // namespace android
120 }  // namespace aidl
121