Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save svagionitis/5419763 to your computer and use it in GitHub Desktop.
Save svagionitis/5419763 to your computer and use it in GitHub Desktop.
Sequence Diagram For Loading 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 Loading 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
note right of MediaPlayer
networkState: NETWORK_EMPTY
readyState: HAVE_NOTHING
end note
HigherLayer->MediaPlayer: load()
note right of MediaPlayer
networkState: NETWORK_NO_SOURCE
end note
note right of MediaPlayer
networkState: NETWORK_LOADING
end note
MediaPlayer->HigherLayer: loadstart
MediaPlayer->VideoPipeline: Lock to the frequency specified in the DVB url.
MediaPlayer-->HigherLayer: progress
note right of VideoPipeline
Tuner tslock to the given frequency. Everything it's ok with no problem.
end note
VideoPipeline->MediaPlayer: Ok tslocked to the frequency with no problem.
MediaPlayer->VideoPipeline: Can you use the demux and decoder to get the DVB stream?
MediaPlayer-->HigherLayer: progress
note right of VideoPipeline
1. Media Player uses demux and dcr to create the stream. There was \nan error on demux or dcr. Could not generate the stream, or
2. Error retrieving PSI tables.
end note
VideoPipeline->MediaPlayer: Error generating the stream or retrieving PSI tables.
note right of MediaPlayer
error: MEDIA_ERR_DECODE
end note
note right of MediaPlayer
On Webkit the errors are included in the networkState.
networkState: DecodeError
end note
MediaPlayer->HigherLayer: error
note right of MediaPlayer
networkState: NETWORK_EMPTY
end note
MediaPlayer->HigherLayer: emptied
note right of MediaPlayer
Abort the load.
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