1#![allow(non_upper_case_globals)]
4#![allow(non_camel_case_types)]
5#![allow(non_snake_case)]
6
7impl OH_AudioChannelSet {
8 pub const CH_SET_FRONT_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(1);
9 pub const CH_SET_FRONT_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(2);
10 pub const CH_SET_FRONT_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(4);
11 pub const CH_SET_LOW_FREQUENCY: OH_AudioChannelSet = OH_AudioChannelSet(8);
12 pub const CH_SET_BACK_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(16);
13 pub const CH_SET_BACK_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(32);
14 pub const CH_SET_FRONT_LEFT_OF_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(64);
15 pub const CH_SET_FRONT_RIGHT_OF_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(128);
16 pub const CH_SET_BACK_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(256);
17 pub const CH_SET_SIDE_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(512);
18 pub const CH_SET_SIDE_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(1024);
19 pub const CH_SET_TOP_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(2048);
20 pub const CH_SET_TOP_FRONT_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(4096);
21 pub const CH_SET_TOP_FRONT_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(8192);
22 pub const CH_SET_TOP_FRONT_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(16384);
23 pub const CH_SET_TOP_BACK_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(32768);
24 pub const CH_SET_TOP_BACK_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(65536);
25 pub const CH_SET_TOP_BACK_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(131072);
26 pub const CH_SET_STEREO_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(536870912);
27 pub const CH_SET_STEREO_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(1073741824);
28 pub const CH_SET_WIDE_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(2147483648);
29 pub const CH_SET_WIDE_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(4294967296);
30 pub const CH_SET_SURROUND_DIRECT_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(8589934592);
31 pub const CH_SET_SURROUND_DIRECT_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(17179869184);
32 pub const CH_SET_LOW_FREQUENCY_2: OH_AudioChannelSet = OH_AudioChannelSet(34359738368);
33 pub const CH_SET_TOP_SIDE_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(68719476736);
34 pub const CH_SET_TOP_SIDE_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(137438953472);
35 pub const CH_SET_BOTTOM_FRONT_CENTER: OH_AudioChannelSet = OH_AudioChannelSet(274877906944);
36 pub const CH_SET_BOTTOM_FRONT_LEFT: OH_AudioChannelSet = OH_AudioChannelSet(549755813888);
37 pub const CH_SET_BOTTOM_FRONT_RIGHT: OH_AudioChannelSet = OH_AudioChannelSet(1099511627776);
38}
39#[repr(transparent)]
40#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
41pub struct OH_AudioChannelSet(pub ::core::ffi::c_ulonglong);
42impl OH_AmbAttributeSet {
43 pub const AMB_ORD_1: OH_AmbAttributeSet = OH_AmbAttributeSet(1);
44 pub const AMB_ORD_2: OH_AmbAttributeSet = OH_AmbAttributeSet(2);
45 pub const AMB_ORD_3: OH_AmbAttributeSet = OH_AmbAttributeSet(3);
46 pub const AMB_COM_ACN: OH_AmbAttributeSet = OH_AmbAttributeSet(0);
47 pub const AMB_COM_FUMA: OH_AmbAttributeSet = OH_AmbAttributeSet(256);
48 pub const AMB_NOR_N3D: OH_AmbAttributeSet = OH_AmbAttributeSet(0);
49 pub const AMB_NOR_SN3D: OH_AmbAttributeSet = OH_AmbAttributeSet(4096);
50 pub const AMB_MODE: OH_AmbAttributeSet = OH_AmbAttributeSet(17592186044416);
51}
52#[repr(transparent)]
53#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
54pub struct OH_AmbAttributeSet(pub ::core::ffi::c_ulonglong);
55impl OH_AudioChannelLayout {
56 pub const CH_LAYOUT_UNKNOWN: OH_AudioChannelLayout = OH_AudioChannelLayout(0);
57 pub const CH_LAYOUT_MONO: OH_AudioChannelLayout = OH_AudioChannelLayout(4);
58 pub const CH_LAYOUT_STEREO: OH_AudioChannelLayout = OH_AudioChannelLayout(3);
59 pub const CH_LAYOUT_STEREO_DOWNMIX: OH_AudioChannelLayout = OH_AudioChannelLayout(1610612736);
60 pub const CH_LAYOUT_2POINT1: OH_AudioChannelLayout = OH_AudioChannelLayout(11);
61 pub const CH_LAYOUT_3POINT0: OH_AudioChannelLayout = OH_AudioChannelLayout(259);
62 pub const CH_LAYOUT_SURROUND: OH_AudioChannelLayout = OH_AudioChannelLayout(7);
63 pub const CH_LAYOUT_3POINT1: OH_AudioChannelLayout = OH_AudioChannelLayout(15);
64 pub const CH_LAYOUT_4POINT0: OH_AudioChannelLayout = OH_AudioChannelLayout(263);
65 pub const CH_LAYOUT_QUAD_SIDE: OH_AudioChannelLayout = OH_AudioChannelLayout(1539);
66 pub const CH_LAYOUT_QUAD: OH_AudioChannelLayout = OH_AudioChannelLayout(51);
67 pub const CH_LAYOUT_2POINT0POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(206158430211);
68 pub const CH_LAYOUT_AMB_ORDER1_ACN_N3D: OH_AudioChannelLayout =
69 OH_AudioChannelLayout(17592186044417);
70 pub const CH_LAYOUT_AMB_ORDER1_ACN_SN3D: OH_AudioChannelLayout =
71 OH_AudioChannelLayout(17592186048513);
72 pub const CH_LAYOUT_AMB_ORDER1_FUMA: OH_AudioChannelLayout =
73 OH_AudioChannelLayout(17592186044673);
74 pub const CH_LAYOUT_4POINT1: OH_AudioChannelLayout = OH_AudioChannelLayout(271);
75 pub const CH_LAYOUT_5POINT0: OH_AudioChannelLayout = OH_AudioChannelLayout(1543);
76 pub const CH_LAYOUT_5POINT0_BACK: OH_AudioChannelLayout = OH_AudioChannelLayout(55);
77 pub const CH_LAYOUT_2POINT1POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(206158430219);
78 pub const CH_LAYOUT_3POINT0POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(206158430215);
79 pub const CH_LAYOUT_5POINT1: OH_AudioChannelLayout = OH_AudioChannelLayout(1551);
80 pub const CH_LAYOUT_5POINT1_BACK: OH_AudioChannelLayout = OH_AudioChannelLayout(63);
81 pub const CH_LAYOUT_6POINT0: OH_AudioChannelLayout = OH_AudioChannelLayout(1799);
82 pub const CH_LAYOUT_3POINT1POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(20495);
83 pub const CH_LAYOUT_6POINT0_FRONT: OH_AudioChannelLayout = OH_AudioChannelLayout(1731);
84 pub const CH_LAYOUT_HEXAGONAL: OH_AudioChannelLayout = OH_AudioChannelLayout(311);
85 pub const CH_LAYOUT_6POINT1: OH_AudioChannelLayout = OH_AudioChannelLayout(1807);
86 pub const CH_LAYOUT_6POINT1_BACK: OH_AudioChannelLayout = OH_AudioChannelLayout(319);
87 pub const CH_LAYOUT_6POINT1_FRONT: OH_AudioChannelLayout = OH_AudioChannelLayout(1739);
88 pub const CH_LAYOUT_7POINT0: OH_AudioChannelLayout = OH_AudioChannelLayout(1591);
89 pub const CH_LAYOUT_7POINT0_FRONT: OH_AudioChannelLayout = OH_AudioChannelLayout(1735);
90 pub const CH_LAYOUT_7POINT1: OH_AudioChannelLayout = OH_AudioChannelLayout(1599);
91 pub const CH_LAYOUT_OCTAGONAL: OH_AudioChannelLayout = OH_AudioChannelLayout(1847);
92 pub const CH_LAYOUT_5POINT1POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(206158431759);
93 pub const CH_LAYOUT_7POINT1_WIDE: OH_AudioChannelLayout = OH_AudioChannelLayout(1743);
94 pub const CH_LAYOUT_7POINT1_WIDE_BACK: OH_AudioChannelLayout = OH_AudioChannelLayout(255);
95 pub const CH_LAYOUT_AMB_ORDER2_ACN_N3D: OH_AudioChannelLayout =
96 OH_AudioChannelLayout(17592186044418);
97 pub const CH_LAYOUT_AMB_ORDER2_ACN_SN3D: OH_AudioChannelLayout =
98 OH_AudioChannelLayout(17592186048514);
99 pub const CH_LAYOUT_AMB_ORDER2_FUMA: OH_AudioChannelLayout =
100 OH_AudioChannelLayout(17592186044674);
101 pub const CH_LAYOUT_5POINT1POINT4: OH_AudioChannelLayout = OH_AudioChannelLayout(185871);
102 pub const CH_LAYOUT_7POINT1POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(206158431807);
103 pub const CH_LAYOUT_7POINT1POINT4: OH_AudioChannelLayout = OH_AudioChannelLayout(185919);
104 pub const CH_LAYOUT_10POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(6442473271);
105 pub const CH_LAYOUT_9POINT1POINT4: OH_AudioChannelLayout = OH_AudioChannelLayout(6442636863);
106 pub const CH_LAYOUT_9POINT1POINT6: OH_AudioChannelLayout = OH_AudioChannelLayout(212601067071);
107 pub const CH_LAYOUT_HEXADECAGONAL: OH_AudioChannelLayout = OH_AudioChannelLayout(6442710839);
108 pub const CH_LAYOUT_AMB_ORDER3_ACN_N3D: OH_AudioChannelLayout =
109 OH_AudioChannelLayout(17592186044419);
110 pub const CH_LAYOUT_AMB_ORDER3_ACN_SN3D: OH_AudioChannelLayout =
111 OH_AudioChannelLayout(17592186048515);
112 pub const CH_LAYOUT_AMB_ORDER3_FUMA: OH_AudioChannelLayout =
113 OH_AudioChannelLayout(17592186044675);
114 pub const CH_LAYOUT_22POINT2: OH_AudioChannelLayout = OH_AudioChannelLayout(2164663779327);
115}
116#[repr(transparent)]
117#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
118pub struct OH_AudioChannelLayout(pub ::core::ffi::c_ulonglong);
119pub type OH_AudioStream_Result = Result<(), OH_AudioStreamErrorCode>;
120impl OH_AudioStreamErrorCode {
121 pub const INVALID_PARAM: OH_AudioStreamErrorCode =
126 OH_AudioStreamErrorCode(const { core::num::NonZero::new(1).unwrap() });
127 pub const ILLEGAL_STATE: OH_AudioStreamErrorCode =
132 OH_AudioStreamErrorCode(const { core::num::NonZero::new(2).unwrap() });
133 pub const SYSTEM: OH_AudioStreamErrorCode =
138 OH_AudioStreamErrorCode(const { core::num::NonZero::new(3).unwrap() });
139 #[cfg(feature = "api-19")]
144 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
145 pub const UNSUPPORTED_FORMAT: OH_AudioStreamErrorCode =
146 OH_AudioStreamErrorCode(const { core::num::NonZero::new(4).unwrap() });
147}
148#[repr(transparent)]
149#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
154pub struct OH_AudioStreamErrorCode(pub core::num::NonZero<::core::ffi::c_uint>);
155impl OH_AudioStream_Type {
156 pub const AUDIOSTREAM_TYPE_RENDERER: OH_AudioStream_Type = OH_AudioStream_Type(1);
161 pub const AUDIOSTREAM_TYPE_CAPTURER: OH_AudioStream_Type = OH_AudioStream_Type(2);
166}
167#[repr(transparent)]
168#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
173pub struct OH_AudioStream_Type(pub ::core::ffi::c_uint);
174impl OH_AudioStream_SampleFormat {
175 pub const AUDIOSTREAM_SAMPLE_U8: OH_AudioStream_SampleFormat = OH_AudioStream_SampleFormat(0);
180 pub const AUDIOSTREAM_SAMPLE_S16LE: OH_AudioStream_SampleFormat =
185 OH_AudioStream_SampleFormat(1);
186 pub const AUDIOSTREAM_SAMPLE_S24LE: OH_AudioStream_SampleFormat =
191 OH_AudioStream_SampleFormat(2);
192 pub const AUDIOSTREAM_SAMPLE_S32LE: OH_AudioStream_SampleFormat =
197 OH_AudioStream_SampleFormat(3);
198 #[cfg(feature = "api-17")]
203 #[cfg_attr(docsrs, doc(cfg(feature = "api-17")))]
204 pub const AUDIOSTREAM_SAMPLE_F32LE: OH_AudioStream_SampleFormat =
205 OH_AudioStream_SampleFormat(4);
206}
207#[repr(transparent)]
208#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
213pub struct OH_AudioStream_SampleFormat(pub ::core::ffi::c_uint);
214impl OH_AudioStream_EncodingType {
215 pub const AUDIOSTREAM_ENCODING_TYPE_RAW: OH_AudioStream_EncodingType =
220 OH_AudioStream_EncodingType(0);
221 #[cfg(feature = "api-12")]
226 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
227 pub const AUDIOSTREAM_ENCODING_TYPE_AUDIOVIVID: OH_AudioStream_EncodingType =
228 OH_AudioStream_EncodingType(1);
229 #[cfg(feature = "api-19")]
234 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
235 pub const AUDIOSTREAM_ENCODING_TYPE_E_AC3: OH_AudioStream_EncodingType =
236 OH_AudioStream_EncodingType(2);
237}
238#[repr(transparent)]
239#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
244pub struct OH_AudioStream_EncodingType(pub ::core::ffi::c_uint);
245#[cfg(feature = "api-19")]
250#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
251#[repr(C)]
252#[derive(Debug, Copy, Clone)]
253pub struct OH_AudioStreamInfo {
254 pub samplingRate: i32,
259 pub channelLayout: OH_AudioChannelLayout,
264 pub encodingType: OH_AudioStream_EncodingType,
269 pub sampleFormat: OH_AudioStream_SampleFormat,
274}
275impl OH_AudioStream_Usage {
276 pub const AUDIOSTREAM_USAGE_UNKNOWN: OH_AudioStream_Usage = OH_AudioStream_Usage(0);
281 pub const AUDIOSTREAM_USAGE_MUSIC: OH_AudioStream_Usage = OH_AudioStream_Usage(1);
286 pub const AUDIOSTREAM_USAGE_VOICE_COMMUNICATION: OH_AudioStream_Usage = OH_AudioStream_Usage(2);
291 pub const AUDIOSTREAM_USAGE_VOICE_ASSISTANT: OH_AudioStream_Usage = OH_AudioStream_Usage(3);
296 pub const AUDIOSTREAM_USAGE_ALARM: OH_AudioStream_Usage = OH_AudioStream_Usage(4);
301 pub const AUDIOSTREAM_USAGE_VOICE_MESSAGE: OH_AudioStream_Usage = OH_AudioStream_Usage(5);
306 pub const AUDIOSTREAM_USAGE_RINGTONE: OH_AudioStream_Usage = OH_AudioStream_Usage(6);
311 pub const AUDIOSTREAM_USAGE_NOTIFICATION: OH_AudioStream_Usage = OH_AudioStream_Usage(7);
316 pub const AUDIOSTREAM_USAGE_ACCESSIBILITY: OH_AudioStream_Usage = OH_AudioStream_Usage(8);
321 pub const AUDIOSTREAM_USAGE_MOVIE: OH_AudioStream_Usage = OH_AudioStream_Usage(10);
326 pub const AUDIOSTREAM_USAGE_GAME: OH_AudioStream_Usage = OH_AudioStream_Usage(11);
331 pub const AUDIOSTREAM_USAGE_AUDIOBOOK: OH_AudioStream_Usage = OH_AudioStream_Usage(12);
336 pub const AUDIOSTREAM_USAGE_NAVIGATION: OH_AudioStream_Usage = OH_AudioStream_Usage(13);
341 #[cfg(feature = "api-12")]
346 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
347 pub const AUDIOSTREAM_USAGE_VIDEO_COMMUNICATION: OH_AudioStream_Usage =
348 OH_AudioStream_Usage(17);
349}
350#[repr(transparent)]
351#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
358pub struct OH_AudioStream_Usage(pub ::core::ffi::c_uint);
359impl OH_AudioStream_LatencyMode {
360 pub const AUDIOSTREAM_LATENCY_MODE_NORMAL: OH_AudioStream_LatencyMode =
365 OH_AudioStream_LatencyMode(0);
366 pub const AUDIOSTREAM_LATENCY_MODE_FAST: OH_AudioStream_LatencyMode =
371 OH_AudioStream_LatencyMode(1);
372}
373#[repr(transparent)]
374#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
379pub struct OH_AudioStream_LatencyMode(pub ::core::ffi::c_uint);
380#[cfg(feature = "api-19")]
381#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
382impl OH_AudioStream_DirectPlaybackMode {
383 #[cfg(feature = "api-19")]
388 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
389 pub const AUDIOSTREAM_DIRECT_PLAYBACK_NOT_SUPPORTED: OH_AudioStream_DirectPlaybackMode =
390 OH_AudioStream_DirectPlaybackMode(0);
391 #[cfg(feature = "api-19")]
396 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
397 pub const AUDIOSTREAM_DIRECT_PLAYBACK_BITSTREAM_SUPPORTED: OH_AudioStream_DirectPlaybackMode =
398 OH_AudioStream_DirectPlaybackMode(1);
399 #[cfg(feature = "api-19")]
404 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
405 pub const AUDIOSTREAM_DIRECT_PLAYBACK_PCM_SUPPORTED: OH_AudioStream_DirectPlaybackMode =
406 OH_AudioStream_DirectPlaybackMode(2);
407}
408#[repr(transparent)]
409#[cfg(feature = "api-19")]
414#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
415#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
416pub struct OH_AudioStream_DirectPlaybackMode(pub ::core::ffi::c_uint);
417impl OH_AudioStream_Event {
418 #[deprecated(
427 since = "20",
428 note = "Use instead: OH_AudioRenderer_OutputDeviceChangeCallback"
429 )]
430 pub const AUDIOSTREAM_EVENT_ROUTING_CHANGED: OH_AudioStream_Event = OH_AudioStream_Event(0);
431}
432#[repr(transparent)]
433#[deprecated(
442 since = "20",
443 note = "Use instead: OH_AudioRenderer_OutputDeviceChangeCallback"
444)]
445#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
446pub struct OH_AudioStream_Event(pub ::core::ffi::c_uint);
447impl OH_AudioStream_State {
448 pub const AUDIOSTREAM_STATE_INVALID: OH_AudioStream_State = OH_AudioStream_State(-1);
453 pub const AUDIOSTREAM_STATE_NEW: OH_AudioStream_State = OH_AudioStream_State(0);
458 pub const AUDIOSTREAM_STATE_PREPARED: OH_AudioStream_State = OH_AudioStream_State(1);
463 pub const AUDIOSTREAM_STATE_RUNNING: OH_AudioStream_State = OH_AudioStream_State(2);
468 pub const AUDIOSTREAM_STATE_STOPPED: OH_AudioStream_State = OH_AudioStream_State(3);
473 pub const AUDIOSTREAM_STATE_RELEASED: OH_AudioStream_State = OH_AudioStream_State(4);
478 pub const AUDIOSTREAM_STATE_PAUSED: OH_AudioStream_State = OH_AudioStream_State(5);
483}
484#[repr(transparent)]
485#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
490pub struct OH_AudioStream_State(pub ::core::ffi::c_int);
491impl OH_AudioInterrupt_ForceType {
492 pub const AUDIOSTREAM_INTERRUPT_FORCE: OH_AudioInterrupt_ForceType =
497 OH_AudioInterrupt_ForceType(0);
498 pub const AUDIOSTREAM_INTERRUPT_SHARE: OH_AudioInterrupt_ForceType =
503 OH_AudioInterrupt_ForceType(1);
504}
505#[repr(transparent)]
506#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
511pub struct OH_AudioInterrupt_ForceType(pub ::core::ffi::c_uint);
512impl OH_AudioInterrupt_Hint {
513 pub const AUDIOSTREAM_INTERRUPT_HINT_NONE: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(0);
518 pub const AUDIOSTREAM_INTERRUPT_HINT_RESUME: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(1);
523 pub const AUDIOSTREAM_INTERRUPT_HINT_PAUSE: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(2);
528 pub const AUDIOSTREAM_INTERRUPT_HINT_STOP: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(3);
533 pub const AUDIOSTREAM_INTERRUPT_HINT_DUCK: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(4);
538 pub const AUDIOSTREAM_INTERRUPT_HINT_UNDUCK: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(5);
543 #[cfg(feature = "api-20")]
548 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
549 pub const AUDIOSTREAM_INTERRUPT_HINT_MUTE: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(6);
550 #[cfg(feature = "api-20")]
555 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
556 pub const AUDIOSTREAM_INTERRUPT_HINT_UNMUTE: OH_AudioInterrupt_Hint = OH_AudioInterrupt_Hint(7);
557}
558#[repr(transparent)]
559#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
564pub struct OH_AudioInterrupt_Hint(pub ::core::ffi::c_uint);
565impl OH_AudioStream_SourceType {
566 pub const AUDIOSTREAM_SOURCE_TYPE_INVALID: OH_AudioStream_SourceType =
571 OH_AudioStream_SourceType(-1);
572 pub const AUDIOSTREAM_SOURCE_TYPE_MIC: OH_AudioStream_SourceType = OH_AudioStream_SourceType(0);
577 pub const AUDIOSTREAM_SOURCE_TYPE_VOICE_RECOGNITION: OH_AudioStream_SourceType =
582 OH_AudioStream_SourceType(1);
583 #[deprecated(
592 since = "12",
593 note = "Use instead: OH_AVScreenCapture in native interface"
594 )]
595 pub const AUDIOSTREAM_SOURCE_TYPE_PLAYBACK_CAPTURE: OH_AudioStream_SourceType =
596 OH_AudioStream_SourceType(2);
597 pub const AUDIOSTREAM_SOURCE_TYPE_VOICE_COMMUNICATION: OH_AudioStream_SourceType =
602 OH_AudioStream_SourceType(7);
603 #[cfg(feature = "api-12")]
608 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
609 pub const AUDIOSTREAM_SOURCE_TYPE_VOICE_MESSAGE: OH_AudioStream_SourceType =
610 OH_AudioStream_SourceType(10);
611 #[cfg(feature = "api-13")]
616 #[cfg_attr(docsrs, doc(cfg(feature = "api-13")))]
617 pub const AUDIOSTREAM_SOURCE_TYPE_CAMCORDER: OH_AudioStream_SourceType =
618 OH_AudioStream_SourceType(13);
619 #[cfg(feature = "api-14")]
624 #[cfg_attr(docsrs, doc(cfg(feature = "api-14")))]
625 pub const AUDIOSTREAM_SOURCE_TYPE_UNPROCESSED: OH_AudioStream_SourceType =
626 OH_AudioStream_SourceType(14);
627 #[cfg(feature = "api-20")]
632 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
633 pub const AUDIOSTREAM_SOURCE_TYPE_LIVE: OH_AudioStream_SourceType =
634 OH_AudioStream_SourceType(17);
635}
636#[repr(transparent)]
637#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
642pub struct OH_AudioStream_SourceType(pub ::core::ffi::c_int);
643#[cfg(feature = "api-12")]
644#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
645impl OH_AudioInterrupt_Mode {
646 pub const AUDIOSTREAM_INTERRUPT_MODE_SHARE: OH_AudioInterrupt_Mode = OH_AudioInterrupt_Mode(0);
648 pub const AUDIOSTREAM_INTERRUPT_MODE_INDEPENDENT: OH_AudioInterrupt_Mode =
650 OH_AudioInterrupt_Mode(1);
651}
652#[repr(transparent)]
653#[cfg(feature = "api-12")]
658#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
659#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
660pub struct OH_AudioInterrupt_Mode(pub ::core::ffi::c_uint);
661#[cfg(feature = "api-12")]
662#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
663impl OH_AudioStream_AudioEffectMode {
664 #[cfg(feature = "api-12")]
669 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
670 pub const EFFECT_NONE: OH_AudioStream_AudioEffectMode = OH_AudioStream_AudioEffectMode(0);
671 #[cfg(feature = "api-12")]
676 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
677 pub const EFFECT_DEFAULT: OH_AudioStream_AudioEffectMode = OH_AudioStream_AudioEffectMode(1);
678}
679#[repr(transparent)]
680#[cfg(feature = "api-12")]
685#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
686#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
687pub struct OH_AudioStream_AudioEffectMode(pub ::core::ffi::c_uint);
688#[cfg(feature = "api-20")]
689#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
690impl OH_AudioStream_FastStatus {
691 pub const AUDIOSTREAM_FASTSTATUS_NORMAL: OH_AudioStream_FastStatus =
693 OH_AudioStream_FastStatus(0);
694 pub const AUDIOSTREAM_FASTSTATUS_FAST: OH_AudioStream_FastStatus = OH_AudioStream_FastStatus(1);
696}
697#[repr(transparent)]
698#[cfg(feature = "api-20")]
703#[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
704#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
705pub struct OH_AudioStream_FastStatus(pub ::core::ffi::c_uint);
706#[repr(C)]
707pub struct OH_AudioStreamBuilderStruct {
708 _unused: [u8; 0],
709}
710pub type OH_AudioStreamBuilder = OH_AudioStreamBuilderStruct;
716#[repr(C)]
717pub struct OH_AudioRendererStruct {
718 _unused: [u8; 0],
719}
720pub type OH_AudioRenderer = OH_AudioRendererStruct;
726#[repr(C)]
727pub struct OH_AudioCapturerStruct {
728 _unused: [u8; 0],
729}
730pub type OH_AudioCapturer = OH_AudioCapturerStruct;
736#[deprecated(
746 since = "20",
747 note = "Use instead: Use the callback type: OH_AudioRenderer_OnWriteDataCallback, OH_AudioRenderer_OutputDeviceChangeCallback, OH_AudioRenderer_OnInterruptEvent, OH_AudioRenderer_OnErrorCallback separately"
748)]
749#[repr(C)]
750#[derive(Debug, Copy, Clone)]
751pub struct OH_AudioRenderer_Callbacks_Struct {
752 pub OH_AudioRenderer_OnWriteData: ::core::option::Option<
762 unsafe extern "C" fn(
763 renderer: *mut OH_AudioRenderer,
764 userData: *mut ::core::ffi::c_void,
765 buffer: *mut ::core::ffi::c_void,
766 length: i32,
767 ) -> i32,
768 >,
769 pub OH_AudioRenderer_OnStreamEvent: ::core::option::Option<
779 unsafe extern "C" fn(
780 renderer: *mut OH_AudioRenderer,
781 userData: *mut ::core::ffi::c_void,
782 event: OH_AudioStream_Event,
783 ) -> i32,
784 >,
785 pub OH_AudioRenderer_OnInterruptEvent: ::core::option::Option<
795 unsafe extern "C" fn(
796 renderer: *mut OH_AudioRenderer,
797 userData: *mut ::core::ffi::c_void,
798 type_: OH_AudioInterrupt_ForceType,
799 hint: OH_AudioInterrupt_Hint,
800 ) -> i32,
801 >,
802 pub OH_AudioRenderer_OnError: ::core::option::Option<
812 unsafe extern "C" fn(
813 renderer: *mut OH_AudioRenderer,
814 userData: *mut ::core::ffi::c_void,
815 error: OH_AudioStream_Result,
816 ) -> i32,
817 >,
818}
819#[deprecated(
829 since = "20",
830 note = "Use instead: Use the callback type: OH_AudioRenderer_OnWriteDataCallback, OH_AudioRenderer_OutputDeviceChangeCallback, OH_AudioRenderer_OnInterruptEvent, OH_AudioRenderer_OnErrorCallback separately"
831)]
832pub type OH_AudioRenderer_Callbacks = OH_AudioRenderer_Callbacks_Struct;
833#[deprecated(
843 since = "20",
844 note = "Use instead: Use the callback type: OH_AudioCapturer_OnReadDataCallback, OH_AudioCapturer_OnDeviceChangeCallback, OH_AudioCapturer_OnInterruptCallback and OH_AudioCapturer_OnErrorCallback separately"
845)]
846#[repr(C)]
847#[derive(Debug, Copy, Clone)]
848pub struct OH_AudioCapturer_Callbacks_Struct {
849 pub OH_AudioCapturer_OnReadData: ::core::option::Option<
859 unsafe extern "C" fn(
860 capturer: *mut OH_AudioCapturer,
861 userData: *mut ::core::ffi::c_void,
862 buffer: *mut ::core::ffi::c_void,
863 length: i32,
864 ) -> i32,
865 >,
866 pub OH_AudioCapturer_OnStreamEvent: ::core::option::Option<
876 unsafe extern "C" fn(
877 capturer: *mut OH_AudioCapturer,
878 userData: *mut ::core::ffi::c_void,
879 event: OH_AudioStream_Event,
880 ) -> i32,
881 >,
882 pub OH_AudioCapturer_OnInterruptEvent: ::core::option::Option<
892 unsafe extern "C" fn(
893 capturer: *mut OH_AudioCapturer,
894 userData: *mut ::core::ffi::c_void,
895 type_: OH_AudioInterrupt_ForceType,
896 hint: OH_AudioInterrupt_Hint,
897 ) -> i32,
898 >,
899 pub OH_AudioCapturer_OnError: ::core::option::Option<
909 unsafe extern "C" fn(
910 capturer: *mut OH_AudioCapturer,
911 userData: *mut ::core::ffi::c_void,
912 error: OH_AudioStream_Result,
913 ) -> i32,
914 >,
915}
916#[deprecated(
926 since = "20",
927 note = "Use instead: Use the callback type: OH_AudioCapturer_OnReadDataCallback, OH_AudioCapturer_OnDeviceChangeCallback, OH_AudioCapturer_OnInterruptCallback and OH_AudioCapturer_OnErrorCallback separately"
928)]
929pub type OH_AudioCapturer_Callbacks = OH_AudioCapturer_Callbacks_Struct;
930#[cfg(feature = "api-11")]
931#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
932impl OH_AudioStream_DeviceChangeReason {
933 pub const REASON_UNKNOWN: OH_AudioStream_DeviceChangeReason =
934 OH_AudioStream_DeviceChangeReason(0);
935 pub const REASON_NEW_DEVICE_AVAILABLE: OH_AudioStream_DeviceChangeReason =
936 OH_AudioStream_DeviceChangeReason(1);
937 pub const REASON_OLD_DEVICE_UNAVAILABLE: OH_AudioStream_DeviceChangeReason =
938 OH_AudioStream_DeviceChangeReason(2);
939 pub const REASON_OVERRODE: OH_AudioStream_DeviceChangeReason =
940 OH_AudioStream_DeviceChangeReason(3);
941 #[cfg(feature = "api-20")]
946 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
947 pub const REASON_SESSION_ACTIVATED: OH_AudioStream_DeviceChangeReason =
948 OH_AudioStream_DeviceChangeReason(4);
949 #[cfg(feature = "api-20")]
954 #[cfg_attr(docsrs, doc(cfg(feature = "api-20")))]
955 pub const REASON_STREAM_PRIORITY_CHANGED: OH_AudioStream_DeviceChangeReason =
956 OH_AudioStream_DeviceChangeReason(5);
957}
958#[repr(transparent)]
959#[cfg(feature = "api-11")]
964#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
965#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
966pub struct OH_AudioStream_DeviceChangeReason(pub ::core::ffi::c_uint);
967#[cfg(feature = "api-11")]
979#[cfg_attr(docsrs, doc(cfg(feature = "api-11")))]
980pub type OH_AudioRenderer_OutputDeviceChangeCallback = ::core::option::Option<
981 unsafe extern "C" fn(
982 renderer: *mut OH_AudioRenderer,
983 userData: *mut ::core::ffi::c_void,
984 reason: OH_AudioStream_DeviceChangeReason,
985 ),
986>;
987#[cfg(feature = "api-12")]
999#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1000pub type OH_AudioRenderer_OnMarkReachedCallback = ::core::option::Option<
1001 unsafe extern "C" fn(
1002 renderer: *mut OH_AudioRenderer,
1003 samplePos: u32,
1004 userData: *mut ::core::ffi::c_void,
1005 ),
1006>;
1007#[cfg(feature = "api-12")]
1030#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1031pub type OH_AudioRenderer_WriteDataWithMetadataCallback = ::core::option::Option<
1032 unsafe extern "C" fn(
1033 renderer: *mut OH_AudioRenderer,
1034 userData: *mut ::core::ffi::c_void,
1035 audioData: *mut ::core::ffi::c_void,
1036 audioDataSize: i32,
1037 metadata: *mut ::core::ffi::c_void,
1038 metadataSize: i32,
1039 ) -> i32,
1040>;
1041#[cfg(feature = "api-12")]
1042#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1043impl OH_AudioStream_PrivacyType {
1044 #[cfg(feature = "api-12")]
1048 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1049 pub const AUDIO_STREAM_PRIVACY_TYPE_PUBLIC: OH_AudioStream_PrivacyType =
1050 OH_AudioStream_PrivacyType(0);
1051 #[cfg(feature = "api-12")]
1055 #[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1056 pub const AUDIO_STREAM_PRIVACY_TYPE_PRIVATE: OH_AudioStream_PrivacyType =
1057 OH_AudioStream_PrivacyType(1);
1058 #[cfg(feature = "api-21")]
1065 #[cfg_attr(docsrs, doc(cfg(feature = "api-21")))]
1066 pub const AUDIO_STREAM_PRIVACY_TYPE_SHARED: OH_AudioStream_PrivacyType =
1067 OH_AudioStream_PrivacyType(2);
1068}
1069#[repr(transparent)]
1070#[cfg(feature = "api-12")]
1075#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1076#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1077pub struct OH_AudioStream_PrivacyType(pub ::core::ffi::c_uint);
1078#[cfg(feature = "api-12")]
1079#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1080impl OH_AudioData_Callback_Result {
1081 pub const AUDIO_DATA_CALLBACK_RESULT_INVALID: OH_AudioData_Callback_Result =
1083 OH_AudioData_Callback_Result(-1);
1084 pub const AUDIO_DATA_CALLBACK_RESULT_VALID: OH_AudioData_Callback_Result =
1086 OH_AudioData_Callback_Result(0);
1087}
1088#[repr(transparent)]
1089#[cfg(feature = "api-12")]
1094#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1095#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1096pub struct OH_AudioData_Callback_Result(pub ::core::ffi::c_int);
1097#[cfg(feature = "api-12")]
1119#[cfg_attr(docsrs, doc(cfg(feature = "api-12")))]
1120pub type OH_AudioRenderer_OnWriteDataCallback = ::core::option::Option<
1121 unsafe extern "C" fn(
1122 renderer: *mut OH_AudioRenderer,
1123 userData: *mut ::core::ffi::c_void,
1124 audioData: *mut ::core::ffi::c_void,
1125 audioDataSize: i32,
1126 ) -> OH_AudioData_Callback_Result,
1127>;
1128#[cfg(feature = "api-19")]
1129#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1130impl OH_AudioStream_VolumeMode {
1131 #[cfg(feature = "api-19")]
1136 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1137 pub const AUDIOSTREAM_VOLUMEMODE_SYSTEM_GLOBAL: OH_AudioStream_VolumeMode =
1138 OH_AudioStream_VolumeMode(0);
1139 #[cfg(feature = "api-19")]
1145 #[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1146 pub const AUDIOSTREAM_VOLUMEMODE_APP_INDIVIDUAL: OH_AudioStream_VolumeMode =
1147 OH_AudioStream_VolumeMode(1);
1148}
1149#[repr(transparent)]
1150#[cfg(feature = "api-19")]
1155#[cfg_attr(docsrs, doc(cfg(feature = "api-19")))]
1156#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1157pub struct OH_AudioStream_VolumeMode(pub ::core::ffi::c_uint);
1158#[cfg(feature = "api-23")]
1159#[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1160impl OH_AudioStream_LatencyType {
1161 #[cfg(feature = "api-23")]
1166 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1167 pub const AUDIOSTREAM_LATENCY_TYPE_ALL: OH_AudioStream_LatencyType =
1168 OH_AudioStream_LatencyType(0);
1169 #[cfg(feature = "api-23")]
1174 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1175 pub const AUDIOSTREAM_LATENCY_TYPE_SOFTWARE: OH_AudioStream_LatencyType =
1176 OH_AudioStream_LatencyType(1);
1177 #[cfg(feature = "api-23")]
1182 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1183 pub const AUDIOSTREAM_LATENCY_TYPE_HARDWARE: OH_AudioStream_LatencyType =
1184 OH_AudioStream_LatencyType(2);
1185}
1186#[repr(transparent)]
1187#[cfg(feature = "api-23")]
1192#[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1193#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1194pub struct OH_AudioStream_LatencyType(pub ::core::ffi::c_uint);
1195#[cfg(feature = "api-23")]
1196#[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1197impl OH_AudioStream_PlaybackCaptureMode {
1198 #[cfg(feature = "api-23")]
1202 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1203 pub const AUDIOSTREAM_PLAYBACKCAPTURE_MODE_DEFAULT: OH_AudioStream_PlaybackCaptureMode =
1204 OH_AudioStream_PlaybackCaptureMode(0);
1205 #[cfg(feature = "api-23")]
1209 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1210 pub const AUDIOSTREAM_PLAYBACKCAPTURE_MODE_MEDIA: OH_AudioStream_PlaybackCaptureMode =
1211 OH_AudioStream_PlaybackCaptureMode(1);
1212 #[cfg(feature = "api-23")]
1216 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1217 pub const AUDIOSTREAM_PLAYBACKCAPTURE_MODE_EXCLUDING_SELF: OH_AudioStream_PlaybackCaptureMode =
1218 OH_AudioStream_PlaybackCaptureMode(32768);
1219}
1220#[repr(transparent)]
1221#[cfg(feature = "api-23")]
1227#[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1228#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1229pub struct OH_AudioStream_PlaybackCaptureMode(pub ::core::ffi::c_uint);
1230#[cfg(feature = "api-23")]
1231#[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1232impl OH_AudioStream_PlaybackCaptureStartState {
1233 #[cfg(feature = "api-23")]
1237 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1238 pub const AUDIOSTREAM_PLAYBACKCAPTURE_START_STATE_SUCCESS:
1239 OH_AudioStream_PlaybackCaptureStartState = OH_AudioStream_PlaybackCaptureStartState(0);
1240 #[cfg(feature = "api-23")]
1245 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1246 pub const AUDIOSTREAM_PLAYBACKCAPTURE_START_STATE_FAILED:
1247 OH_AudioStream_PlaybackCaptureStartState = OH_AudioStream_PlaybackCaptureStartState(1);
1248 #[cfg(feature = "api-23")]
1252 #[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1253 pub const AUDIOSTREAM_PLAYBACKCAPTURE_START_STATE_NOT_AUTHORIZED:
1254 OH_AudioStream_PlaybackCaptureStartState = OH_AudioStream_PlaybackCaptureStartState(2);
1255}
1256#[repr(transparent)]
1257#[cfg(feature = "api-23")]
1263#[cfg_attr(docsrs, doc(cfg(feature = "api-23")))]
1264#[derive(Debug, Copy, Clone, Hash, PartialEq, Eq)]
1265pub struct OH_AudioStream_PlaybackCaptureStartState(pub ::core::ffi::c_uint);