Skip to content

Commit b54f3e3

Browse files
authored
connect: expose disable_volume (#1451)
1 parent f3bb380 commit b54f3e3

File tree

1 file changed

+12
-4
lines changed

1 file changed

+12
-4
lines changed

connect/src/state.rs

+12-4
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ use crate::{
1515
},
1616
protocol::{
1717
connect::{Capabilities, Device, DeviceInfo, MemberType, PutStateReason, PutStateRequest},
18+
media::AudioQuality,
1819
player::{
1920
ContextIndex, ContextPlayerOptions, PlayOrigin, PlayerState, ProvidedTrack,
2021
Suppressions,
@@ -82,6 +83,7 @@ pub struct ConnectStateConfig {
8283
pub device_type: DeviceType,
8384
pub volume_steps: i32,
8485
pub is_group: bool,
86+
pub disable_volume: bool,
8587
}
8688

8789
impl Default for ConnectStateConfig {
@@ -93,6 +95,7 @@ impl Default for ConnectStateConfig {
9395
device_type: DeviceType::Speaker,
9496
volume_steps: 64,
9597
is_group: false,
98+
disable_volume: false,
9699
}
97100
}
98101
}
@@ -137,14 +140,14 @@ impl ConnectState {
137140
is_group: cfg.is_group,
138141
capabilities: MessageField::some(Capabilities {
139142
volume_steps: cfg.volume_steps,
140-
hidden: false, // could be exposed later to only observe the playback
143+
disable_volume: cfg.disable_volume,
144+
141145
gaia_eq_connect_id: true,
142146
can_be_player: true,
143-
144147
needs_full_player_state: true,
145-
146148
is_observable: true,
147149
is_controllable: true,
150+
hidden: false,
148151

149152
supports_gzip_pushes: true,
150153
// todo: enable after logout handling is implemented, see spirc logout_request
@@ -157,14 +160,19 @@ impl ConnectState {
157160

158161
is_voice_enabled: false,
159162
restrict_to_local: false,
160-
disable_volume: false,
161163
connect_disabled: false,
162164
supports_rename: false,
163165
supports_external_episodes: false,
164166
supports_set_backend_metadata: false,
165167
supports_hifi: MessageField::none(),
168+
// that "AI" dj thingy only available to specific regions/users
169+
supports_dj: false,
170+
supports_rooms: false,
171+
// AudioQuality::HIFI is available, further investigation necessary
172+
supported_audio_quality: EnumOrUnknown::new(AudioQuality::VERY_HIGH),
166173

167174
command_acks: true,
175+
168176
..Default::default()
169177
}),
170178
..Default::default()

0 commit comments

Comments
 (0)