@@ -133,6 +133,10 @@ static GVariant *ba_variant_new_pcm_delay(const struct ba_transport_pcm *pcm) {
133
133
return g_variant_new_uint16 (ba_transport_pcm_get_delay (pcm ));
134
134
}
135
135
136
+ static GVariant * ba_variant_new_pcm_client_delay (const struct ba_transport_pcm * pcm ) {
137
+ return g_variant_new_uint16 (pcm -> client_delay );
138
+ }
139
+
136
140
static GVariant * ba_variant_new_pcm_soft_volume (const struct ba_transport_pcm * pcm ) {
137
141
return g_variant_new_boolean (pcm -> soft_volume );
138
142
}
@@ -160,6 +164,7 @@ static void ba_variant_populate_pcm(GVariantBuilder *props, const struct ba_tran
160
164
g_variant_builder_add (props , "{sv}" , "Sampling" , ba_variant_new_pcm_sampling (pcm ));
161
165
g_variant_builder_add (props , "{sv}" , "Codec" , ba_variant_new_pcm_codec (pcm ));
162
166
g_variant_builder_add (props , "{sv}" , "Delay" , ba_variant_new_pcm_delay (pcm ));
167
+ g_variant_builder_add (props , "{sv}" , "ClientDelay" , ba_variant_new_pcm_client_delay (pcm ));
163
168
g_variant_builder_add (props , "{sv}" , "SoftVolume" , ba_variant_new_pcm_soft_volume (pcm ));
164
169
g_variant_builder_add (props , "{sv}" , "Volume" , ba_variant_new_pcm_volume (pcm ));
165
170
}
@@ -706,6 +711,8 @@ static GVariant *bluealsa_pcm_get_property(const char *property,
706
711
return ba_variant_new_pcm_codec (pcm );
707
712
if (strcmp (property , "Delay" ) == 0 )
708
713
return ba_variant_new_pcm_delay (pcm );
714
+ if (strcmp (property , "ClientDelay" ) == 0 )
715
+ return ba_variant_new_pcm_client_delay (pcm );
709
716
if (strcmp (property , "SoftVolume" ) == 0 )
710
717
return ba_variant_new_pcm_soft_volume (pcm );
711
718
if (strcmp (property , "Volume" ) == 0 )
@@ -721,6 +728,12 @@ static bool bluealsa_pcm_set_property(const char *property, GVariant *value,
721
728
722
729
struct ba_transport_pcm * pcm = (struct ba_transport_pcm * )userdata ;
723
730
731
+ if (strcmp (property , "ClientDelay" ) == 0 ) {
732
+ ba_transport_pcm_set_delay (pcm , g_variant_get_uint16 (value ));
733
+ bluealsa_dbus_pcm_update (pcm , BA_DBUS_PCM_UPDATE_CLIENT_DELAY );
734
+ return TRUE;
735
+ }
736
+
724
737
if (strcmp (property , "SoftVolume" ) == 0 ) {
725
738
pcm -> soft_volume = g_variant_get_boolean (value );
726
739
bluealsa_dbus_pcm_update (pcm , BA_DBUS_PCM_UPDATE_SOFT_VOLUME );
@@ -822,6 +835,8 @@ void bluealsa_dbus_pcm_update(struct ba_transport_pcm *pcm, unsigned int mask) {
822
835
g_variant_builder_add (& props , "{sv}" , "Codec" , ba_variant_new_pcm_codec (pcm ));
823
836
if (mask & BA_DBUS_PCM_UPDATE_DELAY )
824
837
g_variant_builder_add (& props , "{sv}" , "Delay" , ba_variant_new_pcm_delay (pcm ));
838
+ if (mask & BA_DBUS_PCM_UPDATE_CLIENT_DELAY )
839
+ g_variant_builder_add (& props , "{sv}" , "ClientDelay" , ba_variant_new_pcm_client_delay (pcm ));
825
840
if (mask & BA_DBUS_PCM_UPDATE_SOFT_VOLUME )
826
841
g_variant_builder_add (& props , "{sv}" , "SoftVolume" , ba_variant_new_pcm_soft_volume (pcm ));
827
842
if (mask & BA_DBUS_PCM_UPDATE_VOLUME )
0 commit comments