breadcast/bakery.toml
Breadway 17abeed7ae Fix Cast teardown leaks, keyframe latch, and DLNA session lifecycle
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.
2026-08-16 14:16:23 +08:00

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",
]