You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 26 Next »

Rialto provides a solution to implement the AV (audio and video) pipelines of containerised native applications and browsers without exposing hardware-specific handles and critical system resources inside the application containers, i.e., it enables us to implement the AV pipeline of the containerised applications in a secure and portable way. 

It offers APIs according to W3C MSE (Media Source Extensions), EME (Encrypted Media Extensions), and Web Audio specifications, among others. It is a client-server solution. Fig 1. presents an overview. A client is an application whose AV pipelines are implemented using Rialto. The client relies on the server for actual playback and decryption. Multiple clients can be simultaneously connected to the server. However, only one client can access a particular AV decoder at a given time. 

The Rialto server manages the player and CDM sessions of an application using a dedicated server session, i.e., it creates a separate server session per client. The client should close the session at shutdown or as needed. The server cleans up any resource and closes the session when the client disconnects from the server or when the application manager instructs the server.

The Rialto gets information about the states and capabilities of the applications from the application manager. Using this information, it decides which applications can access which player pipelines (decoders). For instance, it does not allow an inactive application to access hardware-specific player resources.  A particular application can be configured to create multiple player sessions (dual-decoding) and CDM sessions (subject to the availability of the resources at the platform level). 

Rialto clients and the server exchange commands and events using Rialto IPC. Bulk data (audio, video, and meta-data) for decode is carried from the client process to the server process over shared memory. 

draw.io

Diagram attachment access error: cannot display diagram

Fig 1. Rialto client-server model.


AV1 SFR Tests22/22
01:TotalVideoFramesPassed
02:FrameDropPassed
03:PlaybackPerfAV1.144p.30fps@1XPassed
04:PlaybackPerfAV1.240p.30fps@1XPassed
05:PlaybackPerfAV1.360p.30fps@1XPassed
06:PlaybackPerfAV1.480p.30fps@1XPassed
07:PlaybackPerfAV1.720p.30fps@0.25XPassed
08:PlaybackPerfAV1.720p.30fps@0.5XPassed
09:PlaybackPerfAV1.720p.30fps@0.75XPassed
10:PlaybackPerfAV1.720p.30fps@1XPassed
11:PlaybackPerfAV1.720p.30fps@1.25XPassed
12:PlaybackPerfAV1.720p.30fps@1.5XPassed
13:PlaybackPerfAV1.720p.30fps@1.75XPassed
14:PlaybackPerfAV1.720p.30fps@2XPassed
15:PlaybackPerfAV1.1080p.30fps@0.25XPassed
16:PlaybackPerfAV1.1080p.30fps@0.5XPassed
17:PlaybackPerfAV1.1080p.30fps@0.75XPassed
18:PlaybackPerfAV1.1080p.30fps@1XPassed
19:PlaybackPerfAV1.1080p.30fps@1.25XPassed
20:PlaybackPerfAV1.1080p.30fps@1.5XPassed
21:PlaybackPerfAV1.1080p.30fps@1.75XPassed
22:PlaybackPerfAV1.1080p.30fps@2XPassed
AV1 SFR Tests22/22
01:TotalVideoFramesPassed
02:FrameDropPassed
03:PlaybackPerfAV1.144p.30fps@1XPassed
04:PlaybackPerfAV1.240p.30fps@1XPassed
05:PlaybackPerfAV1.360p.30fps@1XPassed
06:PlaybackPerfAV1.480p.30fps@1XPassed
07:PlaybackPerfAV1.720p.30fps@0.25XPassed
08:PlaybackPerfAV1.720p.30fps@0.5XPassed
09:PlaybackPerfAV1.720p.30fps@0.75XPassed
10:PlaybackPerfAV1.720p.30fps@1XPassed
11:PlaybackPerfAV1.720p.30fps@1.25XPassed
12:PlaybackPerfAV1.720p.30fps@1.5XPassed
13:PlaybackPerfAV1.720p.30fps@1.75XPassed
14:PlaybackPerfAV1.720p.30fps@2XPassed
15:PlaybackPerfAV1.1080p.30fps@0.25XPassed
16:PlaybackPerfAV1.1080p.30fps@0.5XPassed
17:PlaybackPerfAV1.1080p.30fps@0.75XPassed
18:PlaybackPerfAV1.1080p.30fps@1XPassed
19:PlaybackPerfAV1.1080p.30fps@1.25XPassed
20:PlaybackPerfAV1.1080p.30fps@1.5XPassed
21:PlaybackPerfAV1.1080p.30fps@1.75XPassed
22:PlaybackPerfAV1.1080p.30fps@2XPassed

Rialto provides a solution to implement the AV (audio and video) pipelines of containerised native applications and browsers without exposing hardware-specific handles and critical system resources inside the application containers, i.e., it enables us to implement the AV pipeline of the containerised applications in a secure and portable way. 

It offers APIs according to W3C MSE (Media Source Extensions), EME (Encrypted Media Extensions), and Web Audio specifications, among others. It is a client-server solution. Fig 1. presents an overview. A client is an application whose AV pipelines are implemented using Rialto. The client relies on the server for actual playback and decryption. Multiple clients can be simultaneously connected to the server. However, only one client can access a particular AV decoder at a given time. 

The Rialto server manages the player and CDM sessions of an application using a dedicated server session, i.e., it creates a separate server session per client. The client should close the session at shutdown or as needed. The server cleans up any resource and closes the session when the client disconnects from the server or when the application manager instructs the server.

The Rialto gets information about the states and capabilities of the applications from the application manager. Using this information, it decides which applications can access which player pipelines (decoders). For instance, it does not allow an inactive application to access hardware-specific player resources.  A particular application can be configured to create multiple player sessions (dual-decoding) and CDM sessions (subject to the availability of the resources at the platform level). 

Rialto clients and the server exchange commands and events using Rialto IPC. Bulk data (audio, video, and meta-data) for decode is carried from the client process to the server process over shared memory. 

draw.io

Diagram attachment access error: cannot display diagram

Fig 1. Rialto client-server model.


AV1 SFR Tests22/22
01:TotalVideoFramesPassed
02:FrameDropPassed
03:PlaybackPerfAV1.144p.30fps@1XPassed
04:PlaybackPerfAV1.240p.30fps@1XPassed
05:PlaybackPerfAV1.360p.30fps@1XPassed
06:PlaybackPerfAV1.480p.30fps@1XPassed
07:PlaybackPerfAV1.720p.30fps@0.25XPassed
08:PlaybackPerfAV1.720p.30fps@0.5XPassed
09:PlaybackPerfAV1.720p.30fps@0.75XPassed
10:PlaybackPerfAV1.720p.30fps@1XPassed
11:PlaybackPerfAV1.720p.30fps@1.25XPassed
12:PlaybackPerfAV1.720p.30fps@1.5XPassed
13:PlaybackPerfAV1.720p.30fps@1.75XPassed
14:PlaybackPerfAV1.720p.30fps@2XPassed
15:PlaybackPerfAV1.1080p.30fps@0.25XPassed
16:PlaybackPerfAV1.1080p.30fps@0.5XPassed
17:PlaybackPerfAV1.1080p.30fps@0.75XPassed
18:PlaybackPerfAV1.1080p.30fps@1XPassed
19:PlaybackPerfAV1.1080p.30fps@1.25XPassed
20:PlaybackPerfAV1.1080p.30fps@1.5XPassed
21:PlaybackPerfAV1.1080p.30fps@1.75XPassed
22:PlaybackPerfAV1.1080p.30fps@2XPassed
AV1 SFR Tests22/22
01:TotalVideoFramesPassed
02:FrameDropPassed
03:PlaybackPerfAV1.144p.30fps@1XPassed
04:PlaybackPerfAV1.240p.30fps@1XPassed
05:PlaybackPerfAV1.360p.30fps@1XPassed
06:PlaybackPerfAV1.480p.30fps@1XPassed
07:PlaybackPerfAV1.720p.30fps@0.25XPassed
08:PlaybackPerfAV1.720p.30fps@0.5XPassed
09:PlaybackPerfAV1.720p.30fps@0.75XPassed
10:PlaybackPerfAV1.720p.30fps@1XPassed
11:PlaybackPerfAV1.720p.30fps@1.25XPassed
12:PlaybackPerfAV1.720p.30fps@1.5XPassed
13:PlaybackPerfAV1.720p.30fps@1.75XPassed
14:PlaybackPerfAV1.720p.30fps@2XPassed
15:PlaybackPerfAV1.1080p.30fps@0.25XPassed
16:PlaybackPerfAV1.1080p.30fps@0.5XPassed
17:PlaybackPerfAV1.1080p.30fps@0.75XPassed
18:PlaybackPerfAV1.1080p.30fps@1XPassed
19:PlaybackPerfAV1.1080p.30fps@1.25XPassed
20:PlaybackPerfAV1.1080p.30fps@1.5XPassed
21:PlaybackPerfAV1.1080p.30fps@1.75XPassed
22:PlaybackPerfAV1.1080p.30fps@2XPassed
  • No labels
AV1 SFR Tests22/22
01:TotalVideoFramesPassed
02:FrameDropPassed
03:PlaybackPerfAV1.144p.30fps@1XPassed
04:PlaybackPerfAV1.240p.30fps@1XPassed
05:PlaybackPerfAV1.360p.30fps@1XPassed
06:PlaybackPerfAV1.480p.30fps@1XPassed
07:PlaybackPerfAV1.720p.30fps@0.25XPassed
08:PlaybackPerfAV1.720p.30fps@0.5XPassed
09:PlaybackPerfAV1.720p.30fps@0.75XPassed
10:PlaybackPerfAV1.720p.30fps@1XPassed
11:PlaybackPerfAV1.720p.30fps@1.25XPassed
12:PlaybackPerfAV1.720p.30fps@1.5XPassed
13:PlaybackPerfAV1.720p.30fps@1.75XPassed
14:PlaybackPerfAV1.720p.30fps@2XPassed
15:PlaybackPerfAV1.1080p.30fps@0.25XPassed
16:PlaybackPerfAV1.1080p.30fps@0.5XPassed
17:PlaybackPerfAV1.1080p.30fps@0.75XPassed
18:PlaybackPerfAV1.1080p.30fps@1XPassed
19:PlaybackPerfAV1.1080p.30fps@1.25XPassed
20:PlaybackPerfAV1.1080p.30fps@1.5XPassed
21:PlaybackPerfAV1.1080p.30fps@1.75XPassed
22:PlaybackPerfAV1.1080p.30fps@2XPassed