The audio echo server is designed to test audio devices by routing incoming audio broker connections to outgoing audio broker connections. It currently handles 8-bit and 16-bit broker data.
This server is thread-safe, so make thread should work (used for CATS audio example).
This server also accepts the standard server arguments. See the command-line argument parsing library in the Galaxy Communicator documentation for details.
handle_audio_data
establishes an incoming broker connection and copies the broker data to
an outgoing broker connection. At the moment, it only handles binary (8-bit)
and 16-bit audio data. It supports compatibility with the MIT
playbox control protocol.
parameter | type | optional | depends on | description/constraints | |
IN: | :audio_host | string | yes | host of the outgoing audio broker, if not using broker proxies | |
:audio_port | integer | yes | port of the outgoing audio broker, if not using broker proxies | ||
:call_id | string | yes | call ID of the outgoing audio broker, if not using broker proxies | ||
:audio_proxy | proxy | yes | proxy object encapsulating broker information, if using broker proxies | ||
:batch | integer | yes | if 1, save the audio until the outgoing broker is done and then set up the return broker. If 0 or not present, set up the return broker immediately and relay audio as it arrives. | ||
:mit_playbox_protocol | integer | yes | If 1, use the MIT playbox control protocol on input and output | ||
:sample_rate | integer | yes | Sample rate of the incoming audio. The server does nothing with the value besides include it in the return broker announcement. | ||
:encoding_format | string | yes | Encoding format of the incoming audio. The server does nothing with the value besides include it in the return broker announcement. | ||
:logfile | string | yes | Pathname of file for storing raw audio data for this message. |
This message returns a frame.
{c FromEcho
:synth_host <string: host of return broker, if incoming broker was not a proxy>
:synth_port <integer: port of return broker, if incoming broker was not a proxy>
:call_id <string: call ID of return broker, if incoming broker was not a proxy>
:synth_proxy <proxy: untyped proxy stream for data, if incoming broker was a proxy>
:sample_rate <integer: sample rate reported by incoming broker, if present>
:encoding_format <string: encoding format reported by incoming broker, if present>
}