Skip to content

Commit

Permalink
fullscreen fallback to video #62.
Browse files Browse the repository at this point in the history
  • Loading branch information
m1k1o committed May 24, 2021
1 parent 3dbb265 commit 8177b23
Show file tree
Hide file tree
Showing 2 changed files with 27 additions and 11 deletions.
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ For n.eko room management software visit https://github.com/m1k1o/neko-rooms.
- Disable debug mode by default.
- Remove HTML tags from user name.
- Upgraded `pion/webrtc` to v3 (by @mbattista).
- Added `requestFullscreen` compatibility for older browsers.
- Added `requestFullscreen` compatibility for older browsersn and iOS devices.
- Fixed small lags in video and improved video UX (by @mbattista).
- Added `m1k1o/neko:vncviewer` tag, use `NEKO_VNC_URL` to specify VNC target and use n.eko as a bridge.
- Abiltiy to include neko as a component in another Vue.Js project (by @gbrian).
Expand Down
36 changes: 26 additions & 10 deletions client/src/components/video.vue
Original file line number Diff line number Diff line change
Expand Up @@ -478,24 +478,40 @@
this.$accessor.remote.toggle()
}
requestFullscreen() {
if (typeof this._player.requestFullscreen === 'function') {
this._player.requestFullscreen()
_elementRequestFullscreen(el: HTMLElement) {
if (typeof el.requestFullscreen === 'function') {
el.requestFullscreen()
//@ts-ignore
} else if (typeof this._player.webkitRequestFullscreen === 'function') {
} else if (typeof el.webkitRequestFullscreen === 'function') {
//@ts-ignore
this._player.webkitRequestFullscreen()
el.webkitRequestFullscreen()
//@ts-ignore
} else if (typeof this._player.webkitEnterFullscreen === 'function') {
} else if (typeof el.webkitEnterFullscreen === 'function') {
//@ts-ignore
this._player.webkitEnterFullscreen()
el.webkitEnterFullscreen()
//@ts-ignore
} else if (typeof this._player.msRequestFullScreen === 'function') {
} else if (typeof el.msRequestFullScreen === 'function') {
//@ts-ignore
this._player.msRequestFullScreen()
el.msRequestFullScreen()
} else {
return false
}
this.onResise()
return true
}
requestFullscreen() {
// try to fullscreen player element
if (this._elementRequestFullscreen(this._player)) {
this.onResise()
return
}
// fallback to fullscreen video itself (on mobile devices)
if (this._elementRequestFullscreen(this._video)) {
this.onResise()
return
}
}
requestPictureInPicture() {
Expand Down

0 comments on commit 8177b23

Please sign in to comment.