PSARC 2008/318 Boomer - potential issues
Garrett D'Amore
gdamore at sun.com
Mon Nov 3 14:42:42 PST 2008
Brian Cameron wrote:
>
> Garrett:
>
>> I think that as part of our implementation, we will convert the main
>> control applications to the full featured OSS API, and just punt on
>> this problem -- control applications using Sun audio(7i) won't be
>> able to adjust surround levels, etc.
>>
>> 6) This seems to be leading us toward the road that we should, once
>> OSS APIs become available everywhere, deprecate the use of Sun audio
>> for mixer and control applications.
>
> Since GStreamer supports a plugin-in approach, it can support both
> SunAudio and OSS and let the user pick which mixer controls they want to
> use in gnome-volume-control at run time. The only question is which
> should be used by default. As you say, in the long run, OSS makes the
> most sense.
>
> One factor which could affect the default choice is Sun Ray. I am not
> sure we can switch to using OSS mixing controls by default until the Sun
> Ray support is done. Otherwise, won't audio just break for any Sun Ray
> users? Maybe we don't care, but I thought we were trying to promote
> Sun Ray usage on OpenSolaris.
Sun Ray is in fact the only hold out here.
We're working in parallel on Sun Ray support, but there are some issues
with Sun Ray support:
1) Sun Ray isn't supported officially on OpenSolaris yet. And the Sun
Ray team hasn't given me a time frame for when it will be.
2) There is additional complexity in the code, that might required a
phased delivery.
3) There is a substantial challenge for OSS applications (the OSS API)
on Sun Ray. That is, these applications have not been coded to look
for $AUDIODEV in the environment file. So we need to have some kind of
virtual device in the kernel to reroute audio to the userland utaudio
daemon associated with the user's session. *That* requires a mechanism
to be able to identify the Sun Ray session a process should be running
under, which means some new API and probably a new field or two in the
uarea. And *that* is an architectural change that will need to be
designed and reviewed separately.
So, the above issues result in us "deferring" Sun Ray support to Phase 2.
Note that if we only have to support GStreamer, and if GStreamer is
willing to identify the Sun Ray session ID for us (e.g. with a new
ioctl, or by opening a different file), then we could make those APPs
work fairly easily. I was trying to find a solution which didn't rely
on modification of userland code, though. (I have hypothesized that
there are interesting audio applications which use OSS, and which are
not based on GStreamer.)
-- Garrett
>
> Brian
>
More information about the opensolaris-arc
mailing list