Files
shaka-player/docs/design/offline.gv
T
Joey Parrish f0a3dbe1e2 Update architecture diagrams
This updates the existing diagrams and adds new ones for cast and
offline.  The offline diagrams will need to be updated again after
we resolve #1248.

Closes #1197

Change-Id: I6b6b1fac732b4997c579f58c7f12f0f84f202380
2018-03-15 08:07:22 +00:00

44 lines
1.2 KiB
Plaintext

# Generate png with: dot -Tpng -O offline.gv
digraph shaka2_offline {
label=<<u>Shaka 2 Offline Diagram</u>>
labelloc=t
node [ shape=rectangle ]
edge [ fontsize=10 ]
# Provided by the browser
HTMLMediaElement [ shape=oval ]
IndexedDB [ shape=oval ]
# UI provided by the app
"App UI" [ shape=polygon ]
# Plugins
OfflineScheme [ shape=trapezium ]
HttpFetchPlugin [ shape=trapezium ]
OfflineManifestParser [ shape=trapezium ]
"App UI" -> Storage [ label=".list()\n.store()\n.remove()" ]
"App UI" -> Player [ label=".load()\n.configure()" ]
Storage -> Player [ style=dotted, label="config\nfiltering " ]
Player -> HTMLMediaElement
Storage -> DrmEngine
Storage -> DBEngine
Player -> NetworkingEngine
NetworkingEngine -> HttpFetchPlugin [ label="for HTTP URIs" ]
NetworkingEngine -> OfflineScheme [ label="for offline URIs" ]
Storage -> DownloadManager
DownloadManager -> NetworkingEngine [ style=dotted ]
Player -> OfflineManifestParser
OfflineManifestParser -> DBEngine [ dir=both label="get manifest" ]
OfflineScheme -> DBEngine [ dir=both label="get segments" ]
DownloadManager -> DBEngine [ style=dotted dir=both label="store" ]
DBEngine -> IndexedDB [ dir=both label=" load/store" ]
}