import './videojs-components/settings-panel-child'
import './videojs-components/theater-button'
import './playlist/playlist-plugin'
+import './mobile/peertube-mobile-plugin'
+import './mobile/peertube-mobile-buttons'
import videojs from 'video.js'
import { HlsJsEngineSettings } from '@peertube/p2p-media-loader-hlsjs'
import { PluginsManager } from '@root-helpers/plugins-manager'
VideoJSPluginOptions
} from './peertube-videojs-typings'
import { TranslationsManager } from './translations-manager'
-import { buildVideoOrPlaylistEmbed, getRtcConfig, isIOS, isSafari } from './utils'
+import { buildVideoOrPlaylistEmbed, getRtcConfig, isIOS, isMobile, isSafari } from './utils'
// Change 'Playback Rate' to 'Speed' (smaller for our settings menu)
(videojs.getComponent('PlaybackRateMenuButton') as any).prototype.controlText_ = 'Speed'
videoEmbedTitle: options.common.embedTitle
})
+ if (isMobile()) player.peertubeMobile()
+
player.bezels()
+
player.stats({
videoUUID: options.common.videoUUID,
videoIsLive: options.common.isLive,
player.playbackRate(parseFloat(newValue.toFixed(2)))
}
},
- frameByFrame: {
+ previousFrame: {
+ key: function (event: KeyboardEvent) {
+ return event.key === ','
+ },
+ handler: function (player: videojs.Player) {
+ player.pause()
+ // Calculate movement distance (assuming 30 fps)
+ const dist = 1 / 30
+ player.currentTime(player.currentTime() - dist)
+ }
+ },
+ nextFrame: {
key: function (event: KeyboardEvent) {
- return isNaked(event, '.')
+ return event.key === '.'
},
handler: function (player: videojs.Player) {
player.pause()