1
0
Fork 0
mirror of https://github.com/FrankerFaceZ/FrankerFaceZ.git synced 2025-09-17 02:16:54 +00:00
* Fixed: Add support for a player experiment that renames internal state, breaking certain FrankerFaceZ features that interact with the player.
This commit is contained in:
SirStendec 2020-04-24 11:20:05 -04:00
parent 13af2f3046
commit b3266a2ef3
3 changed files with 16 additions and 13 deletions

View file

@ -1,7 +1,7 @@
{
"name": "frankerfacez",
"author": "Dan Salvato LLC",
"version": "4.19.10",
"version": "4.19.11",
"description": "FrankerFaceZ is a Twitch enhancement suite.",
"license": "Apache-2.0",
"scripts": {

View file

@ -220,7 +220,7 @@ export default class Metadata extends Module {
skippedFrames: temp.dropped_frames,
videoResolution: `${temp.vid_width}x${temp.vid_height}`
}
} else if ( player.stats ) {
} else if ( player.stats || player.core?.stats ) {
const videoHeight = maybe_call(player.getVideoHeight, player) || 0,
videoWidth = maybe_call(player.getVideoWidth, player) || 0,
displayHeight = maybe_call(player.getDisplayHeight, player) || 0,
@ -237,8 +237,8 @@ export default class Metadata extends Module {
displayWidth,
rate: maybe_call(player.getPlaybackRate, player),
fps: Math.floor(maybe_call(player.getVideoFrameRate, player) || 0),
hlsLatencyBroadcaster: player.stats?.broadcasterLatency,
hlsLatencyEncoder: player.stats?.transcoderLatency,
hlsLatencyBroadcaster: player.stats?.broadcasterLatency || player.core?.stats?.broadcasterLatency,
hlsLatencyEncoder: player.stats?.transcoderLatency || player.core?.stats?.transcoderLatency,
playbackRate: Math.floor((maybe_call(player.getVideoBitRate, player) || 0) / 1000),
skippedFrames: maybe_call(player.getDroppedFrames, player),
}

View file

@ -715,7 +715,7 @@ export default class Player extends Module {
const delta = event.wheelDelta || -(event.deltaY || event.detail || 0),
player = this.props?.mediaPlayerInstance,
video = player?.mediaSinkManager?.video;
video = player?.mediaSinkManager?.video || player?.core?.mediaSinkManager?.video;
if ( ! player?.getVolume )
return;
@ -960,7 +960,7 @@ export default class Player extends Module {
addCompressorButton(inst, visible_only, tries = 0) {
const outer = inst.props.containerRef || this.fine.getChildNode(inst),
video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video,
video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video || inst.props.mediaPlayerInstance?.core?.mediaSinkManager?.video,
container = outer && outer.querySelector('.player-controls__left-control-group'),
has_comp = HAS_COMPRESSOR && video != null && this.settings.get('player.compressor.enable');
@ -1032,7 +1032,8 @@ export default class Player extends Module {
}
compressPlayer(inst, e) {
const video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video;
const video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video ||
inst.props.mediaPlayerInstance?.core?.mediaSinkManager?.video;
if ( ! video || ! HAS_COMPRESSOR )
return;
@ -1088,7 +1089,7 @@ export default class Player extends Module {
if ( player == null )
return false;
const video = player.mediaSinkManager?.video;
const video = player.mediaSinkManager?.video || player.core?.mediaSinkManager?.video;
if ( ! video )
return false;
@ -1133,7 +1134,8 @@ export default class Player extends Module {
updateCompressor(inst, comp) {
if ( comp == null ) {
const video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video;
const video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video ||
inst.props.mediaPlayerInstance?.core?.mediaSinkManager?.video;
comp = video?._ffz_compressor;
}
@ -1150,7 +1152,7 @@ export default class Player extends Module {
addPiPButton(inst, tries = 0) {
const outer = inst.props.containerRef || this.fine.getChildNode(inst),
video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video,
video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video || inst.props.mediaPlayerInstance?.core?.mediaSinkManager?.video,
is_fs = video && document.fullscreenElement && document.fullscreenElement.contains(video),
container = outer && outer.querySelector('.player-controls__right-control-group'),
has_pip = document.pictureInPictureEnabled && this.settings.get('player.button.pip');
@ -1223,7 +1225,8 @@ export default class Player extends Module {
pipPlayer(inst, e) {
const video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video;
const video = inst.props.mediaPlayerInstance?.mediaSinkManager?.video ||
inst.props.mediaPlayerInstance?.core?.mediaSinkManager?.video;
if ( ! video || ! document.pictureInPictureEnabled )
return;
@ -1382,7 +1385,7 @@ export default class Player extends Module {
resetPlayer(inst, e) {
const player = inst ? (inst.mediaSinkManager ? inst : inst?.props?.mediaPlayerInstance) : null;
const player = inst ? ((inst.mediaSinkManager || inst.core?.mediaSinkManager) ? inst : inst?.props?.mediaPlayerInstance) : null;
if ( e ) {
e.preventDefault();
@ -1404,7 +1407,7 @@ export default class Player extends Module {
}
}
const video = player.mediaSinkManager?.video;
const video = player.mediaSinkManager?.video || player.core?.mediaSinkManager?.video;
if ( video?._ffz_compressor && player.attachHTMLVideoElement ) {
const new_vid = createElement('video'),
vol = player.getVolume(),