1
0
Fork 0
mirror of https://gitlab.com/futo-org/fcast.git synced 2025-06-24 21:25:23 +00:00

rs-terminal: add volume argument to play command

This commit is contained in:
Marcus Hanestad 2025-06-24 08:41:23 +02:00
parent 471c780785
commit 3fa46af0bd
2 changed files with 16 additions and 2 deletions

View file

@ -259,6 +259,7 @@ impl<'a> FCastSession<'a> {
time: Option<f64>,
speed: Option<f64>,
headers: Option<HashMap<String, String>>,
volume: Option<f64>,
) -> Result<(), Box<dyn std::error::Error>> {
match self.state {
SessionState::Connected(ProtoVersion::V2) => {
@ -278,7 +279,7 @@ impl<'a> FCastSession<'a> {
url,
content,
time,
volume: Some(1.0),
volume,
speed,
headers,
metadata: None,

View file

@ -135,6 +135,14 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
.help("Custom request headers in key:value format")
.required(false)
.multiple_occurrences(true),
)
.arg(
Arg::with_name("volume")
.short('v')
.long("volume")
.value_name("VOLUME")
.help("The desired volume")
.takes_value(true)
),
)
.subcommand(
@ -301,6 +309,11 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
.collect::<HashMap<String, String>>()
});
let volume = match play_matches.value_of("volume") {
Some(v) => v.parse::<f64>().ok(),
_ => None,
};
#[allow(unused_assignments)]
let mut url = None;
let mut content = None;
@ -340,7 +353,7 @@ fn run() -> Result<(), Box<dyn std::error::Error>> {
content = Some(buffer);
}
session.send_play_message(mime_type, url, content, time, speed, headers)?;
session.send_play_message(mime_type, url, content, time, speed, headers, volume)?;
} else if let Some(seek_matches) = matches.subcommand_matches("seek") {
let seek_message = SeekMessage::new(match seek_matches.value_of("timestamp") {
Some(s) => s.parse::<f64>()?,