Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in
Toggle navigation
Menu
Open sidebar
Stream Server Project
Stream Server
Commits
7d41609f
Commit
7d41609f
authored
Aug 07, 2019
by
Simon Kirsten
Browse files
Fixed CI build
parent
8e057225
Pipeline
#22110
failed with stages
in 8 seconds
Changes
2
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
.gitlab-ci-server.yml
View file @
7d41609f
...
...
@@ -2,27 +2,17 @@
server
:
stage
:
build
image
:
golang
before_script
:
# Create a symbolic link under $GOPATH, this is needed for local build
# i.e. /go/src/gitlab.com/ykyuen/gitlab-ci-go-build
-
cd $GOPATH/src
-
mkdir -p $GITLAB_DOMAIN/$CI_PROJECT_NAMESPACE
-
cd $GITLAB_DOMAIN/$CI_PROJECT_NAMESPACE
-
ln -s $CI_PROJECT_DIR
-
cd $CI_PROJECT_NAME
script
:
-
sed -i -e '/insert:index\.html/r server/website/index.html' server/website/website.go
-
env GOOS=darwin GOARCH=386 go build -o stream-tv-server-darwin-x86
-
env GOOS=darwin GOARCH=amd64 go build -o stream-tv-server-darwin-x86_64
-
env GOOS=darwin GOARCH=386 go build cmd/stream-tv-server -o stream-tv-server-darwin-x86
-
env GOOS=darwin GOARCH=amd64 go build cmd/stream-tv-server -o stream-tv-server-darwin-x86_64
-
env GOOS=linux GOARCH=386 go build -o stream-tv-server-linux-x86
-
env GOOS=linux GOARCH=amd64 go build -o stream-tv-server-linux-x86_64
-
env GOOS=linux GOARCH=arm go build -o stream-tv-server-linux-arm
-
env GOOS=linux GOARCH=arm64 go build -o stream-tv-server-linux-arm64
-
env GOOS=linux GOARCH=386 go build
cmd/stream-tv-server
-o stream-tv-server-linux-x86
-
env GOOS=linux GOARCH=amd64 go build
cmd/stream-tv-server
-o stream-tv-server-linux-x86_64
-
env GOOS=linux GOARCH=arm go build
cmd/stream-tv-server
-o stream-tv-server-linux-arm
-
env GOOS=linux GOARCH=arm64 go build
cmd/stream-tv-server
-o stream-tv-server-linux-arm64
-
env GOOS=windows GOARCH=386 go build -o stream-tv-server-windows-x86.exe
-
env GOOS=windows GOARCH=amd64 go build -o stream-tv-server-windows-x86_64.exe
-
env GOOS=windows GOARCH=386 go build
cmd/stream-tv-server
-o stream-tv-server-windows-x86.exe
-
env GOOS=windows GOARCH=amd64 go build
cmd/stream-tv-server
-o stream-tv-server-windows-x86_64.exe
artifacts
:
paths
:
...
...
internal/website/website.go
View file @
7d41609f
...
...
@@ -4,9 +4,184 @@ import (
"net/http"
)
//
sed -i -e '/insert:index\.html/r website/index.html' website/website.go
//
TODO: syntax highlighting etc.
var
website
=
[]
byte
(
/* insert:index.html */
`
var
website
=
[]
byte
(
`
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Stream TV</title>
<!-- Twitch embed -->
<script src="https://player.twitch.tv/js/embed/v1.js"></script>
<style>
html, body {
width: 100%;
height: 100%;
margin: 0;
padding: 0;
font-family: Arial, Helvetica, sans-serif;
color: white;
background-color: black;
overflow: hidden;
}
iframe {
width: 100%;
height: 100%;
pointer-events: none;
}
#small-player iframe {
position: absolute;
left: 0;
top: 0;
}
#large-player {
width: 100%;
height: 100%;
}
#small-player {
position: absolute;
display: none;
width: 100%;
height: 0;
padding-bottom: 56.25%;
transition: transform 300ms;
transform-origin: top right;
transform: scale(0.2) translate(-16%, 16%); /* will be changed by js */
}
#overlay {
position: absolute;
left: 50%;
top: 50%;
transform: translate(-50%,-50%);
text-align: center;
}
a:link { color:inherit; }
a:active { color:inherit; }
a:visited { color:inherit; }
a:hover { color:inherit; }
</style>
</head>
<body>
<div id="large-player" onmousedown="toggleFullscreen(event)">
<div id="small-player"></div>
<div id="overlay">
<h3>Nothing playing</h3>
<p>Documentation at <a href="https://simons-nzse-2.h-da.io/stream-tv">https://simons-nzse-2.h-da.io/stream-tv</a></p>
</div>
</div>
<script>
const large_player = new Twitch.Player('large-player', {
width: 0,
height: 0,
controls: false,
muted: false
});
const small_player = new Twitch.Player('small-player', {
width: 0,
height: 0,
controls: false,
muted: true
});
const small_player_elem = document.getElementById('small-player');
const overlay_elem = document.getElementById('overlay');
let state = {
large_channel: null,
small_channel: null
};
function updateState(newState) {
if (state.large_channel != newState.large_channel) {
large_player.setChannel(newState.large_channel);
large_player.setMuted(false); // TODO: investigate with autoplay
}
if (state.small_channel != newState.small_channel) {
small_player.setChannel(newState.small_channel);
}
state = newState;
console.log("State:", state);
large_player.setVolume(state.volume);
const inset_percent = (1.0 - state.small_scale) * 20;
small_player_elem.style.transform = 'scale(' + state.small_scale + ') translate(-' + inset_percent + '%, ' + inset_percent + '%)';
small_player_elem.style.display = (state.small_channel != null) ? 'block' : 'none';
overlay_elem.style.display = (state.large_channel != null || state.small_channel != null) ? 'none' : 'block';
}
fetch("/tv/state").then(resp => {
if (!resp.ok) {
throw Error(resp.statusText);
}
return resp;
}).then(resp => resp.json()).then(state => {
updateState(state)
const updateEventSource = new EventSource("/tv/events");
updateEventSource.onmessage = m => {
updateState(JSON.parse(m.data));
};
// TODO this could not exist
updateEventSource.onerror = err => {
console.error(err);
};
}).catch(err => {
console.error(err);
overlay_elem.firstElementChild.innerText = "Failed to connect to stream-tv-server. Make sure it's running and reload the page.";
});
// TODO: what happens if user returns after channel(s) went offline?
large_player.addEventListener(Twitch.Player.ENDED, () => {
});
small_player.addEventListener(Twitch.Player.ENDED, () => {
});
function toggleFullscreen(event) {
if (event.detail > 1) {
if (!document.fullscreenElement) {
document.getElementById('large-player').requestFullscreen();
} else {
if (document.exitFullscreen) {
document.exitFullscreen();
}
}
event.preventDefault();
}
}
</script>
</body>
</html>
`
)
func
websiteHandlerFunc
(
w
http
.
ResponseWriter
,
r
*
http
.
Request
)
{
...
...
Write
Preview
Supports
Markdown
0%
Try again
or
attach a new file
.
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment