Skip to content

Instantly share code, notes, and snippets.

@svagionitis
Last active December 17, 2015 16:19
Show Gist options
  • Save svagionitis/5637873 to your computer and use it in GitHub Desktop.
Save svagionitis/5637873 to your computer and use it in GitHub Desktop.
Seeking
title Seeking
participant JavaScript
participant WebKitPlayer
participant IrisPlayer
note right of WebKitPlayer:
networkState: NETWORK_LOADING
readyState: HAVE_ENOUGH_DATA
end note
JavaScript ->+ WebKitPlayer: play()
WebKitPlayer -> IrisPlayer: sesnStart()
WebKitPlayer ->> JavaScript: play
WebKitPlayer ->> JavaScript: playing
WebKitPlayer -->- JavaScript:
note right of IrisPlayer: Playback now running at 1.0x.
alt SessionProps.canSeek == false
JavaScript ->+ WebKitPlayer: seek(pos)
note right of WebKitPlayer:
seeking: true
end note
WebKitPlayer ->+ IrisPlayer: sesnGetPos()
IrisPlayer -->- WebKitPlayer: Error or duration unknown
note right of WebKitPlayer:
seekable attribute cannot get any ranges
end note
note right of WebKitPlayer:
seeking: false
end note
note right of WebKitPlayer:
seeking aborting
end note
WebKitPlayer -->- JavaScript:
else SessionProps.canSeek == true
JavaScript ->+ WebKitPlayer: seek(pos)
note right of WebKitPlayer: seeking: true
WebKitPlayer ->+ IrisPlayer: sesnGetPos()
IrisPlayer -->- WebKitPlayer: PosInfo(start, duration, cur)
WebKitPlayer ->+ IrisPlayer: sesnSetPos(pos)
IrisPlayer -->- WebKitPlayer:
WebKitPlayer -->- JavaScript:
IrisPlayer ->>+ WebKitPlayer:EVT_SET_POS_COMPLETE
WebKitPlayer ->> JavaScript: seeking
note right of WebKitPlayer: seeking: false
WebKitPlayer ->> JavaScript: timeupdate
WebKitPlayer ->> JavaScript: seeked
WebKitPlayer -->- IrisPlayer:
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment