State Model - READY FOR REVIEW

This state machine describes the state transitions per player session in the Rialto Client.



@startuml




@enduml




State Behaviour - READY FOR REVIEW

The following table defines how various calls should be handled by Rialto client depending on the state of the player session:

Rialto Client StatesetPositionhaveDataneedData
BufferingProcess normallyProcess normallyProcess normally
PlayingProcess normallyProcess normallyProcess normally
EosProcess normallyUnexpected, log warning & discardUnexpected, log warning & discard
SeekingProcess normallyExpected, log info & discard*Expected, log info & discard*
FailureUnexpected, log warning & discardUnexpected, log warning & discardUnexpected, log warning & discard

*Due to race conditions between client & server it is possible to get stale needData() & haveData() notifications and these should be ignored.