snd_worker: Don't send empty audio-volume messages

If no volume has been set it, we end up sending a volume message with
audio-volume for 0 channels (iow an empty message). This is not useful
and triggers the following warning in spice-gtk:

(remote-viewer:8726): GSpice-WARNING **: set_sink_input_volume() failed:
Invalid argument

Signed-off-by: Hans de Goede <hdegoede@redhat.com>
This commit is contained in:
Hans de Goede 2013-04-01 22:10:55 +02:00
parent baa7cab700
commit 71315b2e09

View File

@ -1100,6 +1100,7 @@ static void on_new_playback_channel(SndWorker *worker)
{
PlaybackChannel *playback_channel =
SPICE_CONTAINEROF(worker->connection, PlaybackChannel, base);
SpicePlaybackState *st = SPICE_CONTAINEROF(worker, SpicePlaybackState, worker);
spice_assert(playback_channel);
@ -1107,7 +1108,9 @@ static void on_new_playback_channel(SndWorker *worker)
if (playback_channel->base.active) {
snd_set_command((SndChannel *)playback_channel, SND_PLAYBACK_CTRL_MASK);
}
snd_set_command((SndChannel *)playback_channel, SND_PLAYBACK_VOLUME_MASK);
if (st->volume.volume_nchannels) {
snd_set_command((SndChannel *)playback_channel, SND_PLAYBACK_VOLUME_MASK);
}
if (playback_channel->base.active) {
reds_disable_mm_timer();
}