BlueHuskyStudios / BlueHuskyStudios/DeadassSimpleMediaPlayer

`isPlaying` is both an input and an output

Open
#60 0 comments 0 reactions 0 assignees Claimed by @KyNorthstar View on GitHub
Automatically found
Dominant language
Swift
Stars
0
Forks
3
Avg merge
2d 22h
Merged PRs (30d)
9

Description

`onChange(of: isPlaying)` drives `player.play()` / `player.pause()`, while a `rate` publisher sink drives `isPlaying` from the player. The loop converges because assignments are idempotent, but the direction of authority is ambiguous, and duplicate sinks (#5) make it noisier.

Worth settling before the custom transport controls land, since they'll add a third writer.

Contributor guide

Open the contributing guide

Research direction

Start by tracing the onChange(of: isPlaying) handler, the rate publisher sink, and the player.play()/player.pause() calls. Review the linked pull request and the planned custom transport controls before deciding which component owns playback state. Done should mean one clear authority, no ambiguous duplicate writers, and behavior that remains correct when transport controls are added.

Written by the indexing model from the issue text.

Assessment

Tech stack
swift
Domain
audio-video-rtc
Issue type
Refactor
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.