Add an audio source picker to the GUI so users can capture a specific PipeWire device (sink monitor or microphone) instead of only the system default output. - vendor go2tv.app/screencast and patch the audio stream to accept a target PipeWire node serial (PW_KEY_TARGET_OBJECT); the upstream lib only ever auto-connected to the default - capture: ListAudioSources enumerates PipeWire sinks/sources via pw-dump; OpenPipeWire takes the selected node serial - flinger/config/gui: AudioSource config field, persisted and exposed as an Audio source dropdown (default output + enumerated devices) Also fixes two pre-existing bugs surfaced by stop/start testing: - engine Stop now waits for the video/audio/stats goroutines before destroying the encoder (was a use-after-free SIGSEGV) - Start/Stop now pause/resume the engine instead of tearing down and re-opening the portal session, which the portal cannot reliably do in-process (2nd CreateSession returned Ended/cancelled). Capture session stays open across stop/start.
49 lines
2.0 KiB
AMPL
49 lines
2.0 KiB
AMPL
module teleportfling
|
|
|
|
go 1.26.0
|
|
|
|
require (
|
|
fyne.io/fyne/v2 v2.8.1
|
|
github.com/schollz/peerdiscovery v1.7.6
|
|
go2tv.app/screencast v0.0.0-20260807191623-4cba6136251a
|
|
)
|
|
|
|
require (
|
|
fyne.io/systray v1.12.3-0.20260810170012-af4e8e793ec4 // indirect
|
|
github.com/BurntSushi/toml v1.6.0 // indirect
|
|
github.com/FyshOS/fancyfs v0.0.1 // indirect
|
|
github.com/anthonynsimon/bild v0.14.0 // indirect
|
|
github.com/clipperhouse/uax29/v2 v2.2.0 // indirect
|
|
github.com/davecgh/go-spew v1.1.1 // indirect
|
|
github.com/fsnotify/fsnotify v1.9.0 // indirect
|
|
github.com/fyne-io/gl-js v0.2.1-0.20260315212741-029c47fd27e8 // indirect
|
|
github.com/fyne-io/glfw-js v0.4.0 // indirect
|
|
github.com/fyne-io/image v0.1.1 // indirect
|
|
github.com/fyne-io/oksvg v0.2.0 // indirect
|
|
github.com/go-gl/gl v0.0.0-20260331235117-4566fea9a276 // indirect
|
|
github.com/go-gl/glfw/v3.4/glfw v0.1.0-pre.1.0.20260707082822-2a407d02d01a // indirect
|
|
github.com/go-text/render v0.2.1 // indirect
|
|
github.com/go-text/typesetting v0.3.4 // indirect
|
|
github.com/godbus/dbus/v5 v5.2.2 // indirect
|
|
github.com/hack-pad/go-indexeddb v0.3.2 // indirect
|
|
github.com/hack-pad/safejs v0.1.0 // indirect
|
|
github.com/jeandeaual/go-locale v0.0.0-20250612000132-0ef82f21eade // indirect
|
|
github.com/jsummers/gobmp v0.0.0-20230614200233-a9de23ed2e25 // indirect
|
|
github.com/mattn/go-runewidth v0.0.24 // indirect
|
|
github.com/nfnt/resize v0.0.0-20180221191011-83c6a9932646 // indirect
|
|
github.com/nicksnyder/go-i18n/v2 v2.5.1 // indirect
|
|
github.com/pmezard/go-difflib v1.0.0 // indirect
|
|
github.com/rymdport/portal v0.4.2 // indirect
|
|
github.com/srwiley/oksvg v0.0.0-20221011165216-be6e8873101c // indirect
|
|
github.com/srwiley/rasterx v0.0.0-20220730225603-2ab79fcdd4ef // indirect
|
|
github.com/stretchr/testify v1.11.1 // indirect
|
|
github.com/yuin/goldmark v1.8.2 // indirect
|
|
golang.org/x/image v0.24.0 // indirect
|
|
golang.org/x/net v0.59.0 // indirect
|
|
golang.org/x/sys v0.48.0 // indirect
|
|
golang.org/x/text v0.42.0 // indirect
|
|
gopkg.in/yaml.v3 v3.0.1 // indirect
|
|
)
|
|
|
|
replace go2tv.app/screencast => ./third_party/screencast
|