On Fri, 2015-12-11 at 05:30 +0100, Kamil Rytarowski wrote: > Patch from pkgsrc by Jonathan Perkin (Joyent). > --- The two patches should be separated, since they are unrelated. >  src/modules/module-solaris.c | 12 +++++++++--- >  src/utils/padsp.c            |  2 ++ >  2 files changed, 11 insertions(+), 3 deletions(-) > > diff --git a/src/modules/module-solaris.c b/src/modules/module- > solaris.c > index c79918a..2fa0bff 100644 > --- a/src/modules/module-solaris.c > +++ b/src/modules/module-solaris.c > @@ -412,10 +412,12 @@ static int sink_process_msg(pa_msgobject *o, > int code, void *data, int64_t offse >                          pa_smoother_resume(u->smoother, > pa_rtclock_now(), true); >  >                          if (!u->source || u->source_suspended) { > +                            bool mute; >                              if (unsuspend(u) < 0) >                                  return -1; >                              u->sink->get_volume(u->sink); > -                            u->sink->get_mute(u->sink); > +                            if (u->sink->get_mute(u->sink, &mute) >= > 0) > +                                pa_sink_set_mute(u->sink, mute, > false); >                          } >                          u->sink_suspended = false; >                      } > @@ -1033,8 +1035,12 @@ int pa__init(pa_module *m) { >  >          if (sink_new_data.muted_is_set) >              u->sink->set_mute(u->sink); > -        else > -            u->sink->get_mute(u->sink); > +        else { > +            bool mute; > + > +            if (u->sink->get_mute(u->sink, &mute) >= 0) > +                pa_sink_set_mute(u->sink, mute, false); > +        } >  >          pa_sink_put(u->sink); >      } > diff --git a/src/utils/padsp.c b/src/utils/padsp.c > index 5e336bb..2eff0f0 100644 > --- a/src/utils/padsp.c > +++ b/src/utils/padsp.c > @@ -2278,6 +2278,7 @@ static int dsp_ioctl(fd_info *i, unsigned long > request, void*argp, int *_errno) >              break; >          } >  > +#ifndef __sun >          case SOUND_PCM_READ_RATE: >              debug(DEBUG_LEVEL_NORMAL, __FILE__": > SOUND_PCM_READ_RATE\n"); >  > @@ -2301,6 +2302,7 @@ static int dsp_ioctl(fd_info *i, unsigned long > request, void*argp, int *_errno) >              *(int*) argp = pa_sample_size(&i->sample_spec)*8; >              pa_threaded_mainloop_unlock(i->mainloop); >              break; > +#endif >  >          case SNDCTL_DSP_GETOPTR: { >              count_info *info; Is this really not supported on Solaris? Do you have a bug report or some other reference for this (which would ideally go into the commit message after splitting this off separately). -- Arun