[pulseaudio-discuss] [PATCH] SunOS: Catch up with newer API and blacklist SOUND_PCM_* on SunOS
Arun Raghavan
arun at accosted.net
Tue Dec 15 22:02:09 PST 2015
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
More information about the pulseaudio-discuss
mailing list