Commit 47bead8
Add Qt dock UI for MoQ streaming (#41)
* Add Qt dock UI for MoQ streaming
OBS's stable Settings -> Stream UI does not surface third-party services
(pending obsproject/obs-studio#12911), so the registered MoQ service/output
are invisible in the UI. Add a dockable panel that drives the MoQ output
directly instead, working on stable OBS today.
The dock (moq-dock.cpp/h, registered via obs_frontend_add_dock_by_id) lets
the user enter a relay URL and broadcast path and start/stop streaming. It
creates its own service/output and reuses the encoders configured in OBS's
Output settings (both Simple and Advanced modes), so no encoder options are
exposed in the dock. Settings persist via obs_module_config_path, and a live
statistics panel shows status, duration, bitrate, data sent, dropped frames,
and connect time. The bundled libmoq version is shown from MOQ_VERSION.
Enable ENABLE_FRONTEND_API and ENABLE_QT (gated so the dock only builds when
both are on, via MOQ_FRONTEND_ENABLED). Add a build-time workaround for the
AGL framework: recent macOS SDKs ship no linkable AGL binary (it exists only
in the runtime dyld shared cache), but the obs-deps Qt6 build references it
transitively via WrapOpenGL; generate a stub whose install name points at the
real framework so the link succeeds and dyld resolves AGL at load.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* Apply clang-format and gersemi formatting
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
* Fix audio mixer index and preserve stop error message
- Use the configured TrackIndex (1-based) as the libobs audio mixer index
(0-based) instead of hardcoding mixer 0, so Advanced mode with Track 2+
publishes the correct audio track.
- Set the stop failure message after StopStream() resets status to Idle, so
the failure reason is actually shown.
Addresses CodeRabbit review feedback.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
---------
Co-authored-by: Claude Opus 4.8 <noreply@anthropic.com>1 parent 29a90c6 commit 47bead8
5 files changed
Lines changed: 556 additions & 2 deletions
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
46 | 46 | | |
47 | 47 | | |
48 | 48 | | |
| 49 | + | |
| 50 | + | |
| 51 | + | |
| 52 | + | |
| 53 | + | |
| 54 | + | |
| 55 | + | |
| 56 | + | |
| 57 | + | |
| 58 | + | |
| 59 | + | |
| 60 | + | |
| 61 | + | |
| 62 | + | |
| 63 | + | |
| 64 | + | |
| 65 | + | |
| 66 | + | |
| 67 | + | |
| 68 | + | |
| 69 | + | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
| 77 | + | |
| 78 | + | |
49 | 79 | | |
50 | 80 | | |
51 | 81 | | |
| |||
76 | 106 | | |
77 | 107 | | |
78 | 108 | | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
79 | 115 | | |
80 | 116 | | |
81 | 117 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
10 | 10 | | |
11 | 11 | | |
12 | 12 | | |
13 | | - | |
14 | | - | |
| 13 | + | |
| 14 | + | |
15 | 15 | | |
16 | 16 | | |
17 | 17 | | |
| |||
0 commit comments