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

Rework playback architecture to use dispatcher #50

Merged
merged 16 commits into from
Mar 8, 2024

Conversation

rtshkmr
Copy link
Member

@rtshkmr rtshkmr commented Mar 5, 2024

No description provided.

@rtshkmr rtshkmr self-assigned this Mar 5, 2024
ks0m1c_dharma and others added 10 commits March 5, 2024 09:10
This is not entirely complete, some quirks exist, but it is intended to
represent how a topic-specific events bridge can be used.
TLDR;
1. there are 2 initiators:
    - initiated when progress bar is clicked
    - initiated when verse is clicked ==> media_bridge.ex server issues seekTime
2. we can categorise events based on emitters / producers or consumers.
3. consumers generally consume events and generally only have internal
actions they carry out
4. sometimes, consumers may have external actions they carry out as
well. For example, if MediaBridge hook gets a server-initiated request
to seekTime, then it shall carry out internal actions (i.e. seekToS, as
well as pub the seekTimePayload to others via the seekTimeBridge)
This has some bugs, but the overall pattern should be correct.

Also pending cleanups
this.eventBridgeDeregisterers = {
seekTime: seekTimeDeregisterer,
heatbeat: heartbeatDeregisterer,
// playPause: playPauseDeregisterer, // FIXME @bala
Copy link
Member Author

Choose a reason for hiding this comment

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

Copy link
Member Author

@rtshkmr rtshkmr left a comment

Choose a reason for hiding this comment

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

LEGGGOOO

@rtshkmr
Copy link
Member Author

rtshkmr commented Mar 8, 2024

Visual Bug:

Representation steps:

  1. play. the song
  2. pause the song
  3. use the progressbar to click somewhere else
  4. observe that for a splitsecond, the progress bar width updates correctly, then immediate goes to 0

possible reasons:

  1. looks like a visual bug, but probably a state bug from the POV of progressbar.js

@ks0m1c ks0m1c changed the base branch from feature/video-sync to feature/media-bridge March 8, 2024 02:10
@ks0m1c ks0m1c merged commit cc49283 into feature/media-bridge Mar 8, 2024
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.

2 participants