...
The shared memory buffer shall be split into two three regions for each playback session, one first for a video stream and the other , second for audio (only one concurrent audio track supported, for audio track selection previous audio must be removed first) and third for webaudio regions. Each region must be big enough to accommodate the largest possible frame of audio/video/webaudio data plus associated decryption parameters and metadata. The buffer shall initially be sized to 8Mb per playback session to allow some overhead + 10kB * number of webaudio regions. There can be 0 or more Web Audio regions per Rialto Client.
For apps that can support more than one concurrent playback the shared memory buffer shall be sized accordingly and partitioned into different logical areas for each playback session. The partitions need not necessarily be equally sized, for example if an app supports one UHD and one HD playback the 'HD' partition may be smaller. There can be 0 or more Web Audio regions per Rialto Client.
| draw.io Diagram | ||||||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...