@@ -15,6 +15,7 @@ use crate::{
15
15
} ,
16
16
protocol:: {
17
17
connect:: { Capabilities , Device , DeviceInfo , MemberType , PutStateReason , PutStateRequest } ,
18
+ media:: AudioQuality ,
18
19
player:: {
19
20
ContextIndex , ContextPlayerOptions , PlayOrigin , PlayerState , ProvidedTrack ,
20
21
Suppressions ,
@@ -82,6 +83,7 @@ pub struct ConnectStateConfig {
82
83
pub device_type : DeviceType ,
83
84
pub volume_steps : i32 ,
84
85
pub is_group : bool ,
86
+ pub disable_volume : bool ,
85
87
}
86
88
87
89
impl Default for ConnectStateConfig {
@@ -93,6 +95,7 @@ impl Default for ConnectStateConfig {
93
95
device_type : DeviceType :: Speaker ,
94
96
volume_steps : 64 ,
95
97
is_group : false ,
98
+ disable_volume : false ,
96
99
}
97
100
}
98
101
}
@@ -137,14 +140,14 @@ impl ConnectState {
137
140
is_group : cfg. is_group ,
138
141
capabilities : MessageField :: some ( Capabilities {
139
142
volume_steps : cfg. volume_steps ,
140
- hidden : false , // could be exposed later to only observe the playback
143
+ disable_volume : cfg. disable_volume ,
144
+
141
145
gaia_eq_connect_id : true ,
142
146
can_be_player : true ,
143
-
144
147
needs_full_player_state : true ,
145
-
146
148
is_observable : true ,
147
149
is_controllable : true ,
150
+ hidden : false ,
148
151
149
152
supports_gzip_pushes : true ,
150
153
// todo: enable after logout handling is implemented, see spirc logout_request
@@ -157,14 +160,19 @@ impl ConnectState {
157
160
158
161
is_voice_enabled : false ,
159
162
restrict_to_local : false ,
160
- disable_volume : false ,
161
163
connect_disabled : false ,
162
164
supports_rename : false ,
163
165
supports_external_episodes : false ,
164
166
supports_set_backend_metadata : false ,
165
167
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 ) ,
166
173
167
174
command_acks : true ,
175
+
168
176
..Default :: default ( )
169
177
} ) ,
170
178
..Default :: default ( )
0 commit comments