Sound reasoning

Евгений Б. Спамаковский spamakowski at gmail.com
Mon Feb 9 09:49:33 UTC 2015


On Mon, Feb 9, 2015 at 10:34 AM, Hans Petter Selasky <hps at selasky.org>
wrote:

> On 02/08/15 22:48, Евгений Б. Спамаковский wrote:
>
>> On Sun, Feb 8, 2015 at 10:29 PM, Hans Petter Selasky <hps at selasky.org>
>> wrote:
>>
>>  On 02/08/15 22:22, Евгений Б. Спамаковский wrote:
>>>
>>>  Hi.
>>>>
>>>> Is there a point to writing a pcm device to have multiple "channel"s in
>>>> the
>>>> same direction?
>>>> Say, two SND_FORMAT(AFMT_S16_LE, 1, 0) for record and two for playback,
>>>> vs.
>>>> just one SND_FORMAT(AFMT_S16_LE, 2, 0) in each direction.
>>>>
>>>> pcm_register() has so prominently two arguments 'numrec' and 'numplay'
>>>> and
>>>> even if they are ignored, one can do pcm_addchan() any number of times.
>>>> How is this expressed to the user-land programmer?
>>>>
>>>> "Read the code" is a fine answer, but it would be nice if someone can
>>>> readily explain the idea behind the options.
>>>>
>>>>
>>> Hi,
>>>
>>>
>>>
>>  Sounds similar to what my "virtual_oss" is doing. See:
>>>
>>> svn --username anonsvn --password anonsvn \
>>>        checkout svn://svn.turbocat.net/i4b/trunk/ports
>>>
>>
>>
>>  From the description it looks like virtual_oss is trying to do what
>>> VCHANs
>>>
>> already succeed at doing.
>> No offense, but this still does not explain what the difference is between
>> a pcm unit collecting its physical streams in one channel vs. having a
>> channel for each...
>>
>> Let's say I'm five years old?
>>
>
> Hi,
>
> Maybe I'm not answering your question ...
>
> "virtual_oss" is a bit more advanced than VCHANs. It can also record what
> is played back all bit-perfect and clock synced. A bit more in the
> direction of jackd. A multi-channel audio device can be split by a set of
> configuration parameters into any number of mono/stereo or multi-channel
> OSS devices.
>
> And there is a graphical QT based frontend: "virtual_oss_ctl"


So this is Jack for clients that don't speak Jack, but need an actual
/dev/<something-that-is-OSS> ?
Why not instead make a /dev/<something> which loops back to interface with
Jack?

And my question is still not answered :-(

Maybe I should clarify that the question is in the context of writing sound
card device drivers.

I shall endeavor to do due diligence, and myself understand the
/sys/dev/sound/pcm/* code.


>
> --HPS
>
>


More information about the freebsd-multimedia mailing list