CRI ADX  Last Updated: 2024-07-17 10:47 p
Streaming
Memory Playback and Streaming Playback
We call the playback of the sound by loading the entire sound data on the memory and then playing back the sound "memory playback" at CRI Middleware.
On the other hand, we call the method of playing back the sound by reading a small amount of the sound data onto the memory and playing back these data as they are loaded on the memory "streaming playback."
Advantages and disadvantages for each method are as follows.
Memory Playback Streaming Playback
Memory size Disadvantage: Consumes a large working memory Advantage: Needs less working memory
Preparation of the playback Disadvantage: Sound cannot start until the entire sound data loaded Advantage: No need to wait for the entire sound data to be loaded.
Latency Advantage: Smaller latency Disadvantage: Larger latency since streaming starts after playback request is received.
File access Advantage: Does not affect loading of other files during the playback Disadvantage: Loading of other files needs more time.
In many applications, it is not possible to have a memory area for storing many large sound data.
In these cases, streaming playback function which enables the sound data to be played back in a small memory space is required.

Method of Streaming Playback
Voice can stream the sound files stored on the separate media.
Streaming playback starts when the sound file name or the file ID in the AWB file is set.
(AWB file is the file in which multiple sound files are packaged.)
Even in a playback using Cue, by specifying streaming playback in the authoring tool, streaming playback automatically starts.

Application sets up the buffer for streaming at the time of initialization. The streamed Voice uses this buffer if needed.



D-BAS
In a streaming playback, a buffer of a fixed size is used repeatedly to play back the sound data.
This buffer is called streaming buffer.
In ADX, it uses CRI-proprietary D-BAS technology to efficiently manage the streaming buffer.
D-BAS secures the streaming buffer of a fixed size,
and assigns the streaming buffer to each streaming playback by blocks.
The following are the advantages of using D-BAS.
  1. Easy estimation of the streaming buffer size,
  2. Effective use of a fixed length streaming buffer is used efficiently, and
  3. No external fragmentation of the memory.
When creating D-BAS, specify the maximum number of the streaming playback and the momentary maximum bit rate of streaming playback in the application.
That is, the worst case of the streaming playback is assumed.
If other data such as a movie are played using streaming playback at the same time, the number of playback and the bit rate need to be specified including these.
Since enough streaming buffer is reserved even for the worst case,
as long as the application keeps the settings at the time of creating the D-BAS, streaming will not stop.
(Error will occur if streaming playback beyond the setting occurs.)
Depending on the number and bit rate of the streaming playback, D-BAS
allocates a buffer block dynamically to each streaming playback.
As shown in the following figure, it uses the residual buffer when the number of streaming playback is small, and it assigns the streaming buffer which is larger than the minimum requirement size to each streaming playback.

Since the buffering size is increased, the access frequency to the storage medium by streaming playback is reduced,
and this makes loading of other files more efficient.
On the other hand, when the streaming playback condition is close to the worst case like, the following figure,
the minimum requirement streaming buffer is assigned to each streaming playback.
The streaming playback will not stop even in such cases, and other files can still be loaded.
However, since it increases the frequency of the access to the media, it decreases the efficiency in loading other files.
Next:Panning