Audio Resource Management

Audio Modes

In Pre-routed mode, each crosspoint with a blue dot can be muted/unmuted to control where each input is routed.

BrightSign tools offer two audio modes, Dynamic and Pre-routed. Pre-routed is the BrightAuthor and BrightAuthor:connected default mode, and Dynamic is the OS default mode and is generally only used for USB audio or high bitrate audio.

In Pre-routed mode (also known as "Mixed Audio" in BrightAuthor:connected/Bright Author), the audio players are pre-wired to all audio outputs at boot-up and then unmuted when the media is played (see the image at right for all the possible connections in Pre-routed mode). This mode has the following limitations:

  • USB audio can't be used.

  • High bitrate compressed audio can't be used (for example, EAC3/Dolby Digital Plus).

  • Care must be taken when playing back PCM and compressed audio together (of course, this doesn't work at all in Dynamic mode).

In Dynamic Mode (also known as "Fixed Audio" in BrightAuthor:connected/Bright Author), the audio player wires itself when the media is played. This mode has the following limitations:

  • Media files need to have the same sample rate (it doesn't support sample rate conversion).

  • Media playback can't be started through an output which is already playing. 

  • It doesn't support auto-level volume (the audio compressor tries to smooth all audio to the same level).

Use Cases

These are our recommendations for common use cases: 

Use Case

Recommendations

Use Case

Recommendations

Playback generic website with video players

Select "Mixed Audio/PCM only" in BrightAuthor:connected/Bright Author (in pre-routed mode with the "PCM only" flag set). The audio from any videos being played will be mixed together regardless of sample rate.

Playback to USB speakers

Select "Fixed Audio" in BrightAuthor:connected/Bright Author (Dynamic mode). Pre-routed mode doesn't support USB.

Playback of only AC3 audio to HDMI®

Select "Fixed Audio" in BrightAuthor:connected/Bright Author (Dynamic mode). Pre-routed mode has no benefit in this situation.

Playback switching between AC3 and AAC to HDMI

Select "Mixed Audio PCM/Compressed" in BrightAuthor:connected/Bright Author (in pre-routed mode). Multiple AAC files can be played simultaneously or single AC3 with the HDMI output. 

If the playback stream or file could be AC3 or AAC but it’s not known until runtime, you can't mix the audio of more than one player (unless an AC3 decoder has been licensed). In this case, pre-routed mode doesn't provide any benefits and dynamic mode is recommended since it has fewer restrictions.

If the presentation controls when AC3 is played and when AAC is played, it can used pre-routed mode and output either a single AC3 or multiple simultaneous AAC streams. Again, if no mixing is required, dynamic mode makes the most sense.

Playback of Dolby Digital Plus

Select "Fixed Audio" in BrightAuthor:connected/Bright Author (Dynamic mode). Pre-routed mode doesn't support high bitrate compressed audio.

Reserved Routing

If a playback file has its audio routed to none when it is started, it will never have audio until the routing is changed and it is played again (since the audio doesn't need to be decoded, no audio decoder is allocated when the playback starts). In pre-routed mode, audio routing might be dynamically changed during playback, so BrightSign created a :reserved qualifier for audio outputs which lets you allocate an audio decoder but wait to route the audio (for example, hdmi:reserved).

For example, if you have two video players, one configured with PCM output hdmi and the other with hdmi:reserved, both video players will be assigned audio decoders and the audio can be re-routed during playback.

Using roAudioConfiguration to Set Modes

The roAudioConfiguration object ConfigureAudio method will return false if called when there are audio resources currently in use (audio or video players active). It will re-configure the audio resources on the fly, which means that it is easy to switch between presentations with different routing modes.

To set to Pre-routed mode:

ac=CreateObject("roAudioConfiguration") print ac.ConfigureAudio({ mode: "prerouted", autolevel: "off", pcmonly: "true", srcrate: 48000 })

To set to Dynamic mode:

ac=CreateObject("roAudioConfiguration") print ac.ConfigureAudio({ mode: "dynamic" })

roObject GetConfiguration ()

Returns an roAssociativeArray which describes how many audio decoders are available, the current routing mode and the other settings that apply to that mode.

AC3/EAC3 Licensing

BrightSign players support passthrough but do not support AC3/EAC3 decoding out of the box. Players must be purchased with an AC3/EAC3 license or returned to the factory for an upgrade. There is a per-player license cost - contact your reseller or BrightSign sales for more information. The SKU for this purchase is SVC-AC3 BS.