diff options
author | Hans de Goede <hdegoede@redhat.com> | 2013-04-01 22:10:55 +0200 |
---|---|---|
committer | Hans de Goede <hdegoede@redhat.com> | 2013-04-01 22:10:55 +0200 |
commit | 71315b2e0983afaca7e6e681bf1ecff01ca3ed9f (patch) | |
tree | 04f9a10b7268ce36b67e4c4c853a3f679ad81c0c /server | |
parent | baa7cab700155201abde86e31018e1a8f28dc330 (diff) | |
download | spice-71315b2e0983afaca7e6e681bf1ecff01ca3ed9f.tar.gz spice-71315b2e0983afaca7e6e681bf1ecff01ca3ed9f.tar.xz spice-71315b2e0983afaca7e6e681bf1ecff01ca3ed9f.zip |
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>
Diffstat (limited to 'server')
-rw-r--r-- | server/snd_worker.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/server/snd_worker.c b/server/snd_worker.c index bc7be51f..010c1527 100644 --- a/server/snd_worker.c +++ b/server/snd_worker.c @@ -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(); } |