[Spice-devel] [PATCH spice-server 1/5] sound: Move volume field to SndWorker
Marc-André Lureau
mlureau at redhat.com
Mon Nov 14 06:47:56 UTC 2016
----- Original Message -----
> Acked-by: Jonathon Jongsma <jjongsma at redhat.com>
>
>
>
> On Fri, 2016-11-11 at 18:02 +0000, Frediano Ziglio wrote:
> > This field is common to SpicePlaybackState and SpiceRecordState
> > which are based on SndWorker.
> >
same from "frequency" apparently.
> > Signed-off-by: Frediano Ziglio <fziglio at redhat.com>
> > ---
> > server/sound.c | 39 +++++++++++++++++++--------------------
> > 1 file changed, 19 insertions(+), 20 deletions(-)
> >
> > diff --git a/server/sound.c b/server/sound.c
> > index be9ad5f..385a908 100644
> > --- a/server/sound.c
> > +++ b/server/sound.c
> > @@ -147,6 +147,12 @@ struct PlaybackChannel {
> > uint8_t encode_buf[SND_CODEC_MAX_COMPRESSED_BYTES];
> > };
> >
> > +typedef struct SpiceVolumeState {
> > + uint8_t volume_nchannels;
> > + uint16_t *volume;
> > + int mute;
> > +} SpiceVolumeState;
> > +
> > /* Base class for SpicePlaybackState and SpiceRecordState */
> > struct SndWorker {
> > RedChannel *base_channel;
> > @@ -154,25 +160,18 @@ struct SndWorker {
> > SndWorker *next; /* For the global SndWorker list */
> >
> > int active;
> > + SpiceVolumeState volume;
> > };
> >
> > -typedef struct SpiceVolumeState {
> > - uint8_t volume_nchannels;
> > - uint16_t *volume;
> > - int mute;
> > -} SpiceVolumeState;
> > -
> > struct SpicePlaybackState {
> > struct SndWorker worker;
> > SpicePlaybackInstance *sin;
> > - SpiceVolumeState volume;
> > uint32_t frequency;
> > };
> >
> > struct SpiceRecordState {
> > struct SndWorker worker;
> > SpiceRecordInstance *sin;
> > - SpiceVolumeState volume;
> > uint32_t frequency;
> > };
> >
> > @@ -606,7 +605,7 @@ static int
> > snd_playback_send_volume(PlaybackChannel *playback_channel)
> > return TRUE;
> > }
> >
> > - return snd_send_volume(channel, &st->volume,
> > SPICE_MSG_PLAYBACK_VOLUME);
> > + return snd_send_volume(channel, &st->worker.volume,
> > SPICE_MSG_PLAYBACK_VOLUME);
> > }
> >
> > static int snd_send_mute(SndChannel *channel, SpiceVolumeState *st,
> > int msg)
> > @@ -632,7 +631,7 @@ static int snd_playback_send_mute(PlaybackChannel
> > *playback_channel)
> > return TRUE;
> > }
> >
> > - return snd_send_mute(channel, &st->volume,
> > SPICE_MSG_PLAYBACK_MUTE);
> > + return snd_send_mute(channel, &st->worker.volume,
> > SPICE_MSG_PLAYBACK_MUTE);
> > }
> >
> > static int snd_playback_send_latency(PlaybackChannel
> > *playback_channel)
> > @@ -742,7 +741,7 @@ static int snd_record_send_volume(RecordChannel
> > *record_channel)
> > return TRUE;
> > }
> >
> > - return snd_send_volume(channel, &st->volume,
> > SPICE_MSG_RECORD_VOLUME);
> > + return snd_send_volume(channel, &st->worker.volume,
> > SPICE_MSG_RECORD_VOLUME);
> > }
> >
> > static int snd_record_send_mute(RecordChannel *record_channel)
> > @@ -755,7 +754,7 @@ static int snd_record_send_mute(RecordChannel
> > *record_channel)
> > return TRUE;
> > }
> >
> > - return snd_send_mute(channel, &st->volume,
> > SPICE_MSG_RECORD_MUTE);
> > + return snd_send_mute(channel, &st->worker.volume,
> > SPICE_MSG_RECORD_MUTE);
> > }
> >
> > static int snd_record_send_migrate(RecordChannel *record_channel)
> > @@ -1028,7 +1027,7 @@ SPICE_GNUC_VISIBLE void
> > spice_server_playback_set_volume(SpicePlaybackInstance *
> > uint8_t nchannels,
> > uint16_t *volume)
> > {
> > - SpiceVolumeState *st = &sin->st->volume;
> > + SpiceVolumeState *st = &sin->st->worker.volume;
> > SndChannel *channel = sin->st->worker.connection;
> > PlaybackChannel *playback_channel = SPICE_CONTAINEROF(channel,
> > PlaybackChannel, base);
> >
> > @@ -1044,7 +1043,7 @@ SPICE_GNUC_VISIBLE void
> > spice_server_playback_set_volume(SpicePlaybackInstance *
> >
> > SPICE_GNUC_VISIBLE void
> > spice_server_playback_set_mute(SpicePlaybackInstance *sin, uint8_t
> > mute)
> > {
> > - SpiceVolumeState *st = &sin->st->volume;
> > + SpiceVolumeState *st = &sin->st->worker.volume;
> > SndChannel *channel = sin->st->worker.connection;
> > PlaybackChannel *playback_channel = SPICE_CONTAINEROF(channel,
> > PlaybackChannel, base);
> >
> > @@ -1198,7 +1197,7 @@ static void on_new_playback_channel(SndWorker
> > *worker)
> > if (playback_channel->base.active) {
> > snd_set_command((SndChannel *)playback_channel,
> > SND_PLAYBACK_CTRL_MASK);
> > }
> > - if (st->volume.volume_nchannels) {
> > + if (st->worker.volume.volume_nchannels) {
> > snd_set_command((SndChannel *)playback_channel,
> > SND_PLAYBACK_VOLUME_MASK);
> > }
> > if (playback_channel->base.active) {
> > @@ -1294,7 +1293,7 @@ SPICE_GNUC_VISIBLE void
> > spice_server_record_set_volume(SpiceRecordInstance *sin,
> > uint8_t nchannels,
> > uint16_t *volume)
> > {
> > - SpiceVolumeState *st = &sin->st->volume;
> > + SpiceVolumeState *st = &sin->st->worker.volume;
> > SndChannel *channel = sin->st->worker.connection;
> > RecordChannel *record_channel = SPICE_CONTAINEROF(channel,
> > RecordChannel, base);
> >
> > @@ -1310,7 +1309,7 @@ SPICE_GNUC_VISIBLE void
> > spice_server_record_set_volume(SpiceRecordInstance *sin,
> >
> > SPICE_GNUC_VISIBLE void
> > spice_server_record_set_mute(SpiceRecordInstance *sin, uint8_t mute)
> > {
> > - SpiceVolumeState *st = &sin->st->volume;
> > + SpiceVolumeState *st = &sin->st->worker.volume;
> > SndChannel *channel = sin->st->worker.connection;
> > RecordChannel *record_channel = SPICE_CONTAINEROF(channel,
> > RecordChannel, base);
> >
> > @@ -1453,7 +1452,7 @@ static void on_new_record_channel(SndWorker
> > *worker)
> >
> > spice_assert(record_channel);
> >
> > - if (st->volume.volume_nchannels) {
> > + if (st->worker.volume.volume_nchannels) {
> > snd_set_command((SndChannel *)record_channel,
> > SND_RECORD_VOLUME_MASK);
> > }
> > if (record_channel->base.active) {
> > @@ -1612,7 +1611,7 @@ static void snd_detach_common(SndWorker
> > *worker)
> >
> > static void spice_playback_state_free(SpicePlaybackState *st)
> > {
> > - free(st->volume.volume);
> > + free(st->worker.volume.volume);
> > free(st);
> > }
> >
> > @@ -1624,7 +1623,7 @@ void snd_detach_playback(SpicePlaybackInstance
> > *sin)
> >
> > static void spice_record_state_free(SpiceRecordState *st)
> > {
> > - free(st->volume.volume);
> > + free(st->worker.volume.volume);
> > free(st);
> > }
> >
> _______________________________________________
> Spice-devel mailing list
> Spice-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/spice-devel
>
More information about the Spice-devel
mailing list