Dropped frames never requested a keyframe, SessionEnded skipped ordered stop (portal/TV/FFI leak, next start could abort), and a late end could kill the following cast. Failed starts left PlatformClientPosix alive. DLNA leaked its HTTP server and ignored portal EOS. Also: start no longer blocks the daemon actor, IPC accept/request loops stay up, HLS Range is clamped, LAN IP follows the renderer subnet, and the picker closes before the portal dialog and handles Escape.
39 lines
1.5 KiB
TOML
39 lines
1.5 KiB
TOML
name = "breadcast"
|
|
description = "Cast your screen to any Chromecast/Google TV or DLNA renderer — daemon + GTK4 popup"
|
|
binaries = ["breadcast", "breadcastd"]
|
|
# gst-plugins-base: videoconvert/videoscale/videorate/appsink -- the
|
|
# `gstreamer` package is only the core library. gst-plugin-va: the
|
|
# `vah264enc` element both encode pipelines use (see
|
|
# breadcast-core/src/pipeline/mod.rs) -- a separate Arch package from
|
|
# gst-plugins-bad itself, not bundled into it. jsoncpp/openssl: runtime
|
|
# shared-library deps of breadcastd itself (not just a build dep of
|
|
# breadcast-caststream-sys), confirmed via `ldd target/release/breadcastd`
|
|
# showing libjsoncpp.so/libcrypto.so -- the vendored openscreen Cast
|
|
# Streaming code (see breadcast-caststream-sys/vendor/openscreen) links
|
|
# dynamically against the system's jsoncpp/libcrypto rather than vendoring
|
|
# them too.
|
|
system_deps = [
|
|
"gtk4",
|
|
"gtk4-layer-shell",
|
|
"gstreamer",
|
|
"gst-plugins-base",
|
|
"gst-plugin-pipewire",
|
|
"gst-plugins-bad",
|
|
"gst-plugin-hlssink3",
|
|
"gst-plugin-va",
|
|
"jsoncpp",
|
|
"openssl",
|
|
]
|
|
optional_system_deps = ["hyprland", "xdg-desktop-portal-hyprland"]
|
|
# breadd is optional: breadcastd publishes bread.cast.* when it is running
|
|
# and works the same without it. See EVENTS.md. Not a bakery bread dep.
|
|
bread_deps = []
|
|
|
|
[[service]]
|
|
unit = "breadcastd.service"
|
|
enable = true
|
|
|
|
[install]
|
|
post_install = [
|
|
"systemctl --user is-active --quiet breadcastd || systemctl --user start breadcastd",
|
|
]
|