Skip to content

feat(media): in-channel video streaming with embedded controls#7

Open
xogium wants to merge 1 commit into
math65:mainfrom
xogium:stream-improvement
Open

feat(media): in-channel video streaming with embedded controls#7
xogium wants to merge 1 commit into
math65:mainfrom
xogium:stream-improvement

Conversation

@xogium
Copy link
Copy Markdown
Contributor

@xogium xogium commented May 21, 2026

Summary

  • Adds in-channel media file streaming with embedded playback controls (play, pause, seek, broadcast gain) directly in the connected-server view
  • Replaces the separate media streaming window with a collapsible in-window video panel so the main UI stays fully usable while playback controls remain within easy reach
  • Adds optional system ffmpeg pre-conversion via MediaTranscodeService when the TeamTalk SDK cannot open a file format (playback itself uses the SDK's bundled FFmpeg)

Out of scope: webcam video capture/transmission. The macOS TeamTalk 5 SDK uses 0RGB mode for camera capture, which fails on modern Mac hardware and cameras. Fixing that would require patching the SDK binary — something that feels extremely hackish and is deliberately not included in this PR.

Testing notes

I did what testing I could given that I am totally blind: keyboard navigation, VoiceOver announcements, control flow, and audio-side behavior. I have not been able to visually verify video rendering. Someone with some vision left should double-check the collapsible video panel for rendering glitches, layout issues, or other visual problems.

Test plan

  • Connect to a server and stream a media file the SDK opens natively; confirm audio and video play in the in-window panel
  • Collapse and expand the video panel; confirm preference persists across sessions
  • Use embedded controls (play, pause, seek, broadcast gain) while navigating the rest of the main UI
  • Stream a file the SDK cannot open; confirm optional ffmpeg pre-conversion path works when ffmpeg is installed
  • Confirm remote users receive the stream as expected
  • Visual pass: verify video frames render correctly, panel sizing/scrolling looks sane, and nothing overlaps or clips oddly
  • Confirm no regression to push-to-talk / microphone preferences from the rebase onto main

Made with Cursor

Stream audio and video files from the connected-server view with embedded
playback controls and a collapsible video panel for media-file streams.

- Collapsible in-window video panel for local and remote media streams
- Embedded player in the channel UI (play, pause, seek, broadcast gain)
- Video file picker; optional system ffmpeg pre-conversion when the SDK
  cannot open a format (playback uses the SDK's bundled FFmpeg)

Webcam transmission is out of scope for this client; patching the TeamTalk
dylib is not acceptable.

Co-authored-by: Cursor <cursoragent@cursor.com>
@Jookia
Copy link
Copy Markdown

Jookia commented May 21, 2026

Xogium sent me a video showing the video playing and it visually looks correct and functional.

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