diff --git a/index.html b/index.html
index 0f7dc7d..742bdb3 100644
--- a/index.html
+++ b/index.html
@@ -31,14 +31,15 @@
}
});
- var app = Elm.Main.init({
+ const app = Elm.Main.init({
node: document.getElementById('container'),
+ flags: "video/manifest.m3u8",
});
- app.ports.initVideo.subscribe(function() {
+ app.ports.initVideo.subscribe(function(arg) {
const video = document.getElementById('video');
const hls = new Hls();
- hls.loadSource('video/manifest.m3u8');
+ hls.loadSource(arg);
hls.on(Hls.Events.MANIFEST_PARSED, function (event, data) {
// Transform available levels into an array of integers (height values).
diff --git a/src/Main.elm b/src/Main.elm
index 61c9269..39f7595 100644
--- a/src/Main.elm
+++ b/src/Main.elm
@@ -14,10 +14,10 @@ import Icons
import Json.Decode as Decode
-main : Program Decode.Value Model Msg
+main : Program String Model Msg
main =
Browser.application
- { init = \_ _ _ -> init
+ { init = \url _ _ -> init url
, update = update
, view = view
, subscriptions = \_ -> nowHasQualities NowHasQualities
@@ -55,10 +55,10 @@ type Msg
| NowHasQualities (List Int)
-init : ( Model, Cmd Msg )
-init =
+init : String -> ( Model, Cmd Msg )
+init url =
( Model
- "video/manifest.m3u8"
+ url
False
0.0
1.0
@@ -67,7 +67,7 @@ init =
False
False
[]
- , initVideo ()
+ , initVideo url
)
@@ -393,7 +393,7 @@ formatTime s =
hoursString ++ minutesString ++ ":" ++ secsString
-port initVideo : () -> Cmd msg
+port initVideo : String -> Cmd msg
port playPause : () -> Cmd msg