[gmpi] Revised Topic 7.1: Audio I/O

  • From: Tim Hockin <thockin@xxxxxxxxxx>
  • To: gmpi@xxxxxxxxxxxxx (GMPI Mailing list)
  • Date: Fri, 6 Jun 2003 02:37:51 -0700 (PDT)

A new summary - please update it if you think anything is missing,
inaccurate, or mis-represented.


Topic 7.1:  Audio channel formats/packaging/bundling
------------------------------------------

Q 7.1.1: Do we support interleaved or mono buffers?

  a) Mono buffers only.

  b) Interleaved buffers only.

  c) Both, as requested by the plugin.

  d) Other.  Explain.




Q 7.1.2: Do we support multiple audio datatypes?

  a) Yes.  Each audio port of a plugin has a list of datatypes it can
     accept.  format is negotiated at connection time.

  b) Yes.  Each audio port of a plugin has a single datatype, which the
     host must ensure is provided.

  c) Yes.  Each plugin has a single datatype for all audio ports, which
     the host must ensure is provided.

  d) Yes.  Similar to C, but more limited.  All plugins are either 32bit
     I/O or 64bit I/O.  Plugins have a plugin-global flag which identifies
     their I/O.  Simple GMPI32<->GMPI64 plugins can be part of the SDK.

  e) No.  Everything uses Float32, for now.

  f) No.  Everything uses Float64, for now.

  g) Other.  Explain.




Q 7.1.3: Do we support non-trivial encodings?  For example: 'LtRt' is a
4-channel encoding, stored on 2-channels, which uses phase information
to decode into 4 channels.

  a) Yes.  Plugins that care can accept those encodings.  LtRt data can
     only be connected to plugins which explicitly accept LtRt.

  b) Yes.  Plugins are not aware of encodings unless they ask about
     them.  LtRt data can be sent to any two-channel plugin.

  c) No.  Encodings are decoded when entering the GMPI graph.  LtRt is
     turned into 4 mono streams.

  d)  Other. Explain.




Q 7.1.4: What are the connections (virtual wires) between plugins?

  a) 1-or-more named/hinted mono streams with no hard relationships to
     each other.  Each stream may be connected/disconnected independently.

  b) 1-or-more named bundles of mono streams with defined, enumerated
     relationships to each other (their format: mono, stereo, 5.1, etc).
     Only entire bundles may be connected/disconnected.

  c) 1-or-more named bundles of streams with defined, enumerated
     formats.  The format defines (either as flags, multiple fields,
     whatever) the number of channels (1, 2, 6..) and all the other
     variables (datatype, interleave, encoding, etc).  Each audio port
     of a plugin needs to list, in order of preference (or somehow
     wieghted), the formats it can handle.

  d) Other. Explain.

----------------------------------------------------------------------
Generalized Music Plugin Interface (GMPI) public discussion list
Participation in this list is contingent upon your abiding by the
following rules:  Please stay on topic.  You are responsible for your own
words.  Please respect your fellow subscribers.  Please do not
redistribute anyone else's words without their permission.

Archive: //www.freelists.org/archives/gmpi
Email gmpi-request@xxxxxxxxxxxxx w/ subject "unsubscribe" to unsubscribe

Other related posts: