diff --git a/src/modules/module-protocol-pulse/pulse-server.c b/src/modules/module-protocol-pulse/pulse-server.c index 6846b3d9e..1983f3543 100644 --- a/src/modules/module-protocol-pulse/pulse-server.c +++ b/src/modules/module-protocol-pulse/pulse-server.c @@ -4004,7 +4004,9 @@ static uint64_t bytes_to_usec(uint64_t length, const struct sample_spec *ss) static int fill_sample_info(struct client *client, struct message *m, struct sample *sample) { - struct volume vol = VOLUME_INIT; + struct volume vol; + + volume_make(&vol, sample->ss.channels); message_put(m, TAG_U32, sample->index, diff --git a/src/modules/module-protocol-pulse/volume.c b/src/modules/module-protocol-pulse/volume.c index e400f6710..91eb69723 100644 --- a/src/modules/module-protocol-pulse/volume.c +++ b/src/modules/module-protocol-pulse/volume.c @@ -44,6 +44,14 @@ static inline bool volume_valid(const struct volume *vol) return true; } +static inline void volume_make(struct volume *vol, uint8_t channels) +{ + uint8_t i; + for (i = 0; i < channels; i++) + vol->values[i] = 1.0f; + vol->channels = channels; +} + struct volume_info { struct volume volume; struct channel_map map;