Skip to content

Commit 9aa3ac8

Browse files
hi-ogawaOpenCode (gpt-5.6-sol)
andcommitted
chore: document external audio follow-ups
Co-authored-by: OpenCode (gpt-5.6-sol) <noreply@opencode.ai>
1 parent 1ba0621 commit 9aa3ac8

3 files changed

Lines changed: 5 additions & 0 deletions

File tree

packages/youtube-external-audio/src/lib/external-audio-panel.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,8 @@ export function ExternalAudioPanel({
1818
getVideo: () => VideoClock | null | undefined;
1919
}) {
2020
// TODO: Add a floating open/close button and persist panel state per video.
21+
// TODO: Persist the chosen audio per video, following ytsub-v5's per-video
22+
// state pattern.
2123
const inputRef = useRef<HTMLInputElement>(null);
2224
const audioRef = useRef<HTMLAudioElement>(null);
2325
const syncRef = useRef<PlayerSync>(null);

packages/youtube-external-audio/src/lib/player-sync.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -39,6 +39,8 @@ export class PlayerSync {
3939

4040
this.#originalMuted = this.video.muted;
4141
this.#enabled = true;
42+
// TODO: YouTube sometimes clears video.muted during playback. Investigate
43+
// how its own mute control keeps the player muted and mirror that behavior.
4244
this.video.muted = true;
4345
this.#alignTime();
4446
this.#alignRate();

packages/youtube-external-audio/src/web.tsx

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@ class FakeVideo extends EventTarget implements VideoClock {
1313

1414
const fakeVideo = new FakeVideo();
1515

16+
// TODO: Add Playwright coverage for the standalone panel preview.
1617
function Web() {
1718
const [dark, setDark] = useState(false);
1819

0 commit comments

Comments
 (0)