Skip to content

Commit

Permalink
Merge pull request #6455 from mozilla/bitecs-hide-audio-if-no-controls
Browse files Browse the repository at this point in the history
Fix video controls visibility
  • Loading branch information
keianhzo authored Jan 25, 2024
2 parents 9315087 + a53a4e4 commit 14c3e35
Show file tree
Hide file tree
Showing 2 changed files with 10 additions and 3 deletions.
10 changes: 8 additions & 2 deletions src/bit-systems/media-loading.ts
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,8 @@ import {
Networked,
ObjectMenuTarget,
Rigidbody,
MediaLoaderOffset
MediaLoaderOffset,
MediaVideo
} from "../bit-components";
import { inflatePhysicsShape, Shape } from "../inflators/physics-shape";
import { ErrorObject } from "../prefabs/error-object";
Expand All @@ -53,6 +54,7 @@ import { findAncestorsWithComponent, findChildWithComponent } from "../utils/bit
import { setMatrixWorld } from "../utils/three-utils";
import { computeObjectAABB, getScaleCoefficient } from "../utils/auto-box-collider";
import { updateHoverableVisuals } from "./hoverable-visuals-system";
import { VIDEO_FLAGS } from "../inflators/video";

export function* waitForMediaLoaded(world: HubsWorld, eid: EntityID) {
while (hasComponent(world, MediaLoader, eid)) {
Expand Down Expand Up @@ -380,7 +382,11 @@ export function mediaLoadingSystem(world: HubsWorld) {

const mediaEid = MediaLoader.mediaRef[mediaLoaderEid];
const mediaObj = world.eid2obj.get(mediaEid)!;
mediaObj.visible = true;
if (MediaInfo.mediaType[mediaEid] === MediaType.AUDIO) {
mediaObj.visible = Boolean(MediaVideo.flags[mediaEid] & VIDEO_FLAGS.CONTROLS);
} else {
mediaObj.visible = true;
}

resizeAndRecenter(world, mediaLoaderEid, box);

Expand Down
3 changes: 2 additions & 1 deletion src/bit-systems/video-menu-system.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ import { ObjectMenuTransformFlags } from "../inflators/object-menu-transform";
import { MediaType } from "../utils/media-utils";
import { VolumeControlsMaterial } from "../prefabs/video-menu";
import { updateAudioSettings } from "../update-audio-settings";
import { VIDEO_FLAGS } from "../inflators/video";

const videoMenuQuery = defineQuery([VideoMenu]);
const hoveredQuery = defineQuery([HoveredRemoteRight]);
Expand Down Expand Up @@ -100,7 +101,7 @@ function findVideoMenuTarget(world: HubsWorld, menu: EntityID, sceneIsFrozen: bo

function flushToObject3Ds(world: HubsWorld, menu: EntityID, frozen: boolean) {
const target = VideoMenu.videoRef[menu];
let visible = !!(target && !frozen);
let visible = !!(target && !frozen) && Boolean(MediaVideo.flags[target] & VIDEO_FLAGS.CONTROLS);

const loader = findAncestorWithComponent(world, MediaLoader, target);
if (loader && hasComponent(world, Deleting, loader)) {
Expand Down

0 comments on commit 14c3e35

Please sign in to comment.