Version 2 (modified by ming, 4 years ago) (diff)


Audio Switchboard (the non-mixing conference bridge)

Since audio frames are forwarded back and forth in encoded format, the traditional conference bridge would not be able to handle it. A new object will be added, we call this audio switchboard (conf_switch.c) and its API will be compatible with the existing conference bridge API to maintain compatibility with existing applications/PJSUA-LIB.

Understandably some conference bridge features will not be available:

  • audio mixing feature (no conferencing feature),
  • audio level adjustment and query (only when the port is using non-PCM format),
  • audio resampling,
  • passive ports.

Some of the features of the switchboard:

  • uses the conference bridge API to control it (so it is compile-time compatible),
  • one source may transmit to more than one destinations (though obviously one destination cannot take more than one sources since the switchboard cannot mix audio). This is useful for example to implement call recording feature in the application.
  • it is optimized for low latency to the sound device (no delaybuf buffering for the microphone),
  • much more lightweight (footprint and performance),
  • supports routing audio from ports with different ptime settings.