Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save svagionitis/5435571 to your computer and use it in GitHub Desktop.
Save svagionitis/5435571 to your computer and use it in GitHub Desktop.
Sequence Diagram For Playback a DVB stream (Error on demux or dcr) for http://www.websequencediagrams.com/
<div class="wsd" wsd_style="vs2010"><pre>
# Error on demux or dcr
title Sequence Diagram For Playback a DVB stream (Error on demux or dcr)
participant "Higher Layer (HTML page, JS)" as HigherLayer
participant "HTMLMediaElement" 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_CURRENT_DATA
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_IDLE
end note
note right of MediaPlayer
Abort play.
end note
</pre></div><script type="text/javascript" src="http://www.websequencediagrams.com/service.js"></script>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment