Re: [linux-audio-dev] more fundamental questions

New Message Reply About this list Date view Thread view Subject view Author view Other groups

Subject: Re: [linux-audio-dev] more fundamental questions
From: Paul Davis (pbd_AT_op.net)
Date: Tue May 22 2001 - 20:20:56 EEST


>Well, the plugin knows wether its SP or MP at compile time, so you could
>just define a macro that wraps the pointer value and uses it raw in the SP
>case and adds it to the shared base address in the MP case.

Ah, but you were the one, I recall, who wanted SP&MP in the same
engine. If two plugins, one in-process and one out-of-process,
have their Ports connected, then the value for the Port's buffer must
be understandable by them both. It could be an offset from the shm
base or a real pointer, but not both. True?

>> First, we use strings to name the Port types, not integer values. This
>> way, people can invent arbitrary port types. Second, all such
>> "non-builtin type" Ports can only be connected 1:1. Thirdly, output
>> ports of such types provide their own sized buffer. Fourthly, and
>> rather obviously, you cannot connect a Port of type A to a Port of
>> type B.
>
>Is it neccesary to force them to be 1:1? Inplace may be more of an issue
>though.

If we allow any other form of connection, then the engine/port code
has to know how to handle the data. That is precisely what I'd like to
avoid. If we stick with zero-copy techniques, the buffers can be as
big or small as they need to be, with anything in them (including
structs), and the engine/port code doesn't have to care at all.

>Can't you force scheduler priority onto other processes with
>sched_setscheduler(2)?

thats a good point.
 
>stdin seems like an obvious choice. You could use kill (or its modern
>equivalent) back.

if we use stdin, then applications that use stdin (e.g. a non-GUI
application) will be screwed.

--p


New Message Reply About this list Date view Thread view Subject view Author view Other groups

This archive was generated by hypermail 2b28 : Thu May 24 2001 - 06:23:20 EEST