diff --git a/src/main.rs b/src/main.rs
index 622ab3e..2073903 100644
--- a/src/main.rs
+++ b/src/main.rs
@@ -104,7 +104,9 @@ impl Frame {
);
data.remove(data.len() - 1);
- stream.write_all(data.as_slice()).expect("api: write failed");
+ stream
+ .write_all(data.as_slice())
+ .expect("api: write failed");
stream.flush().expect("api: flush failed");
self.cache_stream = Some(stream);
@@ -144,7 +146,9 @@ async fn send_frames(message: Message, ctx: Context) {
use tokio::sync::Mutex;
let mut v: Vec = Vec::new();
- let dir = fs::read_dir("vid_encoded").expect("unable to read dir").count();
+ let dir = fs::read_dir("vid_encoded")
+ .expect("unable to read dir")
+ .count();
for i in 0..dir {
let mut file = OpenOptions::new()
.read(true)
@@ -208,7 +212,15 @@ async fn send_frames(message: Message, ctx: Context) {
handle.set_volume(1.0).unwrap();
println!("voice: waiting for video [api_time={api_time}]");
tokio::time::sleep(Duration::from_millis(
- 5000 - (unix_millis() - sa) + (api_time as i64 * i64::from_str_radix(env::var("PROJBOTV3_API_TIME_FACTOR").unwrap_or("3".into()).as_str(), 10).unwrap()) as u64,
+ 5000 - (unix_millis() - sa)
+ + (api_time as i64
+ * i64::from_str_radix(
+ env::var("PROJBOTV3_API_TIME_FACTOR")
+ .unwrap_or("3".into())
+ .as_str(),
+ 10,
+ )
+ .unwrap()) as u64,
))
.await;
println!("voice: playing");
@@ -236,10 +248,7 @@ async fn send_frames(message: Message, ctx: Context) {
println!("vid: waiting");
let mut to_sleep = 5000 - ((unix_millis() - sa) as i128);
sa = unix_millis();
- if let Some(Ok(msg)) = msgs
- .iter()
- .find(|x| x.as_ref().unwrap().content == "!stop")
- {
+ if let Some(Ok(msg)) = msgs.iter().find(|x| x.as_ref().unwrap().content == "!stop") {
msg.delete(&ctx.http)
.await
.expect("discord: unable to delete command");
@@ -302,7 +311,9 @@ async fn send_frames(message: Message, ctx: Context) {
println!("vid: completing");
tokio::task::spawn_blocking(move || {
frame.complete_send();
- }).await.unwrap();
+ })
+ .await
+ .unwrap();
}
tokio::time::sleep(Duration::from_millis(5000)).await;
n.delete(&ctx.http)
@@ -379,7 +390,6 @@ async fn main() {
command.wait().expect("encode: ffmpeg failed: mp4->opus");
fs::rename("aud.opus", "aud_encoded")
.expect("encode: unable to move aud.opus to aud_encoded");
-
}
let _ = fs::create_dir("vid_encoded");
let dir = fs::read_dir("vid")
@@ -395,7 +405,8 @@ async fn main() {
let mut image = File::create(format!("vid_encoded/{n}"))
.expect("encode: unable to create gif file");
let mut encoder = Some(
- Encoder::new(&mut image, 240, 180, &[]).expect("encode: unable to create gif"),
+ Encoder::new(&mut image, 240, 180, &[])
+ .expect("encode: unable to create gif"),
);
encoder
.as_mut()
@@ -416,17 +427,17 @@ async fn main() {
for i in (n * (25 * 5))..dir {
{
let i = i + 1;
- let decoder = Decoder::new(
- File::open(format!("vid/{}.png", i))
- .expect(format!("encode: unable to read vid/{}.png", i).as_str()),
+ let decoder =
+ Decoder::new(File::open(format!("vid/{}.png", i)).expect(
+ format!("encode: unable to read vid/{}.png", i).as_str(),
+ ));
+ let mut reader = decoder.read_info().expect(
+ format!("encode: invalid ffmpeg output in vid/{}.png", i).as_str(),
);
- let mut reader = decoder
- .read_info()
- .expect(format!("encode: invalid ffmpeg output in vid/{}.png", i).as_str());
let mut buf: Vec = vec![0; reader.output_buffer_size()];
- let info = reader
- .next_frame(&mut buf)
- .expect(format!("encode: invalid ffmpeg output in vid/{}.png", i).as_str());
+ let info = reader.next_frame(&mut buf).expect(
+ format!("encode: invalid ffmpeg output in vid/{}.png", i).as_str(),
+ );
let bytes = &mut buf[..info.buffer_size()];
let mut frame = gif::Frame::from_rgb(240, 180, bytes);
frame.delay = 4;