Last active
December 16, 2015 17:09
-
-
Save svagionitis/5468697 to your computer and use it in GitHub Desktop.
Sequence Diagram For Playback a DVB stream (Error on tslock or dcr) for http://www.websequencediagrams.com/
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# Error on tslock or dcr | |
title Sequence Diagram For Playback a DVB stream (Error on tslock or dcr) | |
participant "Higher Layer (HTML page, JS)" as HigherLayer | |
participant "Media Player (Webkit {HTMLMediaElement, MediaPlayer, MediaPlayerPrivate}, Irisplayer)" as MediaPlayer | |
participant "Video pipeline(Tuner, Demod, Demux, Decoder)" as VideoPipeline | |
HigherLayer->MediaPlayer: play() | |
alt networkState> NETWORK_EMPTY | |
note right of MediaPlayer | |
networkState: NETWORK_LOADING | |
readyState: HAVE_ENOUGH_DATA | |
end note | |
else networkState: NETWORK_EMPTY | |
note right of HigherLayer | |
Play without having called the load(). | |
end note | |
note right of MediaPlayer | |
networkState: NETWORK_EMPTY | |
end note | |
HigherLayer->MediaPlayer: load() | |
note right of MediaPlayer | |
The load function is described in detail in the load diagram. | |
end note | |
note right of VideoPipeline | |
There was no problem executing the load. | |
end note | |
note right of MediaPlayer | |
networkState: NETWORK_LOADING | |
readyState: HAVE_ENOUGH_DATA | |
end note | |
end | |
MediaPlayer->HigherLayer: play | |
MediaPlayer->HigherLayer: playing | |
MediaPlayer->HigherLayer: timeupdate (every 15 to 250 ms) | |
note right of VideoPipeline | |
1. There is a problem on tslock, or | |
2. There is a problem on dcr and cannot generate the stream. | |
end note | |
note right of MediaPlayer | |
readyState: HAVE_NOTHING | |
end note | |
VideoPipeline->MediaPlayer: Error returned from tslock or dcr. | |
note right of MediaPlayer | |
error: MEDIA_ERR_DECODE | |
end note | |
MediaPlayer->HigherLayer: error | |
note right of MediaPlayer | |
On Webkit the errors are included in the networkState. | |
networkState: DecodeError | |
end note | |
note right of MediaPlayer | |
networkState: NETWORK_EMPTY | |
end note | |
MediaPlayer->HigherLayer: emptied | |
note right of MediaPlayer | |
Abort play. | |
end note |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment