Implement Cast Streaming mirroring, DLNA casting, daemon+GUI, and breadd integration
Some checks failed
dev release / build (push) Failing after 12s
Some checks failed
dev release / build (push) Failing after 12s
Builds out the full v1 scope: a vendored+patched openscreen subset for low-latency Cast Streaming (Mirroring receiver 0F5096E8) alongside the existing Cast V2/HLS and new DLNA/AVTransport casting paths, breadcastd's Idle/Casting state machine with a private IPC socket, the breadcast GTK4 popup as a thin IPC client, and bread.cast.*/bread.command.cast.* breadd integration (device discovery, start/stop, mirroring lifecycle events). Also adds bakery/systemd/Forgejo CI packaging. Validated end-to-end against a real Chromecast/Google TV: negotiated Cast Streaming session, live pipeline playback, and daemon+GUI click-to-cast/ stop through the actual popup.
This commit is contained in:
parent
887c29002f
commit
8c745d18e0
283 changed files with 36788 additions and 0 deletions
22
vendor/rust_cast-0.21.0/build.rs
vendored
Normal file
22
vendor/rust_cast-0.21.0/build.rs
vendored
Normal file
|
|
@ -0,0 +1,22 @@
|
|||
use protobuf_codegen::{Codegen, Customize};
|
||||
use std::env;
|
||||
|
||||
fn main() {
|
||||
let generate_proto = env::var("GENERATE_PROTO").unwrap_or_else(|_| "false".to_string());
|
||||
if generate_proto == "true" {
|
||||
Codegen::new()
|
||||
.out_dir("src/cast")
|
||||
.inputs([
|
||||
"protobuf/authority_keys.proto",
|
||||
"protobuf/cast_channel.proto",
|
||||
])
|
||||
.includes(["protobuf"])
|
||||
.customize(Customize::default().gen_mod_rs(false))
|
||||
.run()
|
||||
.expect("protoc");
|
||||
}
|
||||
|
||||
println!("rerun-if-env-changed=GENERATE_PROTO");
|
||||
println!("rerun-if-changed=protobuf/authority_keys.proto");
|
||||
println!("rerun-if-changed=protobuf/cast_channel.proto");
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue