Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fixed fetching of current closest users and their media. #5412

Merged
merged 1 commit into from
Mar 8, 2022

Conversation

barankyle
Copy link
Member

@barankyle barankyle commented Mar 4, 2022

Summary

MediaStreamService had been disabled on the client. Re-enabled it, and made pause/resume
producer/consumer functions push their actions to mediasoupOperationQueue.

Complete split of world and media servers had resulted in WebRTCRequestCurrentProducers message
being sent to world server, which has no knowledge of producers. Added a new MediaStreamSystem
message TRIGGER_REQUEST_CURRENT_PRODUCERS; the world server now gets the closest users and
sends them with that message, with the media server setup adding a listener to take that list
and call RequestCurrentProducers from the media server.

With new hookstate implementation, updated PartyVideoWindows to properly use nearbyLayerUsers
to populate PartyParticipantWindows.

Checklist

  • Pre-push checks pass npm run check
    • Linter passing via npm run lint
    • Unit & Integration tests passing via npm run test:packages
    • Docker build process passing via npm run build-client
  • If this PR is still a WIP, convert to a draft
  • When this PR is ready, mark it as "Ready for review"
  • Changes have been manually QA'd
  • Changes reviewed by at least 2 approved reviewers

References

References to pertaining issue(s)

QA Steps

  1. git checkout pr_branch_name
  2. npm install
  3. npm run dev-reinit
  4. npm run dev

List any additional steps required to QA the changes of this PR, as well as any supplemental images or videos.

Reviewers

Reviewers for this PR

},
{
type: 'PRE_RENDER',
systemModulePromise: import('@xrengine/engine/src/networking/systems/MediaStreamSystem')
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should add this back to initializeRealitmeSystems in initialiseEngine.ts along with the conditional argument

@barankyle barankyle force-pushed the enable-media-stream-system-client branch from 0358382 to a7bb64b Compare March 7, 2022 18:51
@barankyle barankyle requested a review from HexaField March 7, 2022 19:34
MediaStreamService had been disabled on the client. Re-enabled it, and made pause/resume
producer/consumer functions push their actions to mediasoupOperationQueue. Moved
initialization of MediaStreamSystem back to initializeEngine:initializeRealtimeSystems()
from initializeMediaServerSystem and restored 'media' input parameter. gameserver/channels.ts
now calls initializeRealtimeSystems(true, false) if in channel mode.

Complete split of world and media servers had resulted in WebRTCRequestCurrentProducers message
being sent to world server, which has no knowledge of producers. Added a new MediaStreamSystem
message `TRIGGER_REQUEST_CURRENT_PRODUCERS`; the world server now gets the closest users and
sends them with that message, with the media server setup adding a listener to take that list
and call RequestCurrentProducers from the media server.

With new hookstate implementation, updated PartyVideoWindows to properly use nearbyLayerUsers
to populate PartyParticipantWindows.
@barankyle barankyle force-pushed the enable-media-stream-system-client branch from a7bb64b to d4a0a76 Compare March 7, 2022 23:57
@barankyle barankyle merged commit 903c79f into dev Mar 8, 2022
@barankyle barankyle deleted the enable-media-stream-system-client branch March 8, 2022 00:28
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants