feat: Improve export speed (reduced total time by ~16%) #3747
ci.yml
on: pull_request
Detect Changes
9s
Typecheck
1m 14s
Format (Biome)
7s
Format (Cargo)
11s
Lint (Biome)
15s
Matrix: Build Desktop
Annotations
1 error and 11 warnings
|
Format (Biome)
Process completed with exit code 1.
|
|
unneeded `return` statement:
crates/enc-ffmpeg/src/audio/buffered_resampler.rs#L51
warning: unneeded `return` statement
--> crates/enc-ffmpeg/src/audio/buffered_resampler.rs:51:9
|
51 | return remaining_samples;
| ^^^^^^^^^^^^^^^^^^^^^^^^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#needless_return
= note: `#[warn(clippy::needless_return)]` on by default
help: remove `return`
|
51 - return remaining_samples;
51 + remaining_samples
|
|
|
field `config` is never read:
crates/enc-ffmpeg/src/video/h264.rs#L145
warning: field `config` is never read
--> crates/enc-ffmpeg/src/video/h264.rs:145:5
|
142 | pub struct H264Encoder {
| ----------- field in this struct
...
145 | config: VideoInfo,
| ^^^^^^
|
= note: `#[warn(dead_code)]` on by default
|
|
this `map_or` can be simplified:
crates/rendering/src/lib.rs#L1365
warning: this `map_or` can be simplified
--> crates/rendering/src/lib.rs:1365:25
|
1365 | let needs_new = self
| _________________________^
1366 | | .readback_buffers
1367 | | .0
1368 | | .as_ref()
1369 | | .map_or(true, |_| self.readback_buffer_size < size);
| |_______________________________________________________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or
help: use is_none_or instead
|
1369 - .map_or(true, |_| self.readback_buffer_size < size);
1369 + .is_none_or(|_| self.readback_buffer_size < size);
|
|
|
this `map_or` can be simplified:
crates/rendering/src/decoder/frame_converter.rs#L58
warning: this `map_or` can be simplified
--> crates/rendering/src/decoder/frame_converter.rs:58:25
|
58 | let needs_new = self.scaler.as_ref().map_or(true, |state| {
| _________________________^
59 | | state.input_format != input_format || state.width != width || state.height != height
60 | | });
| |__________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or
help: use is_none_or instead
|
58 - let needs_new = self.scaler.as_ref().map_or(true, |state| {
58 + let needs_new = self.scaler.as_ref().is_none_or(|state| {
|
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
crates/rendering/src/decoder/frame_converter.rs#L51
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> crates/rendering/src/decoder/frame_converter.rs:51:13
|
51 | rgba_frame.stride(0) as usize,
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `rgba_frame.stride(0)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
crates/rendering/src/decoder/frame_converter.rs#L27
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> crates/rendering/src/decoder/frame_converter.rs:27:26
|
27 | let stride = frame.stride(0) as usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `frame.stride(0)`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
crates/rendering/src/decoder/avassetreader.rs#L98
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> crates/rendering/src/decoder/avassetreader.rs:98:22
|
98 | let height = image_buf.height() as usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `image_buf.height()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
|
|
casting to the same type is unnecessary (`usize` -> `usize`):
crates/rendering/src/decoder/avassetreader.rs#L97
warning: casting to the same type is unnecessary (`usize` -> `usize`)
--> crates/rendering/src/decoder/avassetreader.rs:97:21
|
97 | let width = image_buf.width() as usize;
| ^^^^^^^^^^^^^^^^^^^^^^^^^^ help: try: `image_buf.width()`
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_cast
= note: `#[warn(clippy::unnecessary_cast)]` on by default
|
|
this `map_or` can be simplified:
crates/rendering/src/decoder/avassetreader.rs#L77
warning: this `map_or` can be simplified
--> crates/rendering/src/decoder/avassetreader.rs:77:13
|
77 | / self.scratch_spec
78 | | .map_or(true, |(current_format, current_width, current_height)| {
79 | | current_format != format || current_width != width || current_height != height
80 | | });
| |__________________^
|
= help: for further information visit https://rust-lang.github.io/rust-clippy/master/index.html#unnecessary_map_or
= note: `#[warn(clippy::unnecessary_map_or)]` on by default
help: use is_none_or instead
|
78 - .map_or(true, |(current_format, current_width, current_height)| {
78 + .is_none_or(|(current_format, current_width, current_height)| {
|
|
|
unused import: `tracing::trace`:
crates/scap-targets/src/platform/macos.rs#L23
warning: unused import: `tracing::trace`
--> crates/scap-targets/src/platform/macos.rs:23:5
|
23 | use tracing::trace;
| ^^^^^^^^^^^^^^
|
= note: `#[warn(unused_imports)]` on by default
|
|
Clippy
Cache not found for keys: v0-rust-clippy-Darwin-arm64-8f100275-d37d3454, v0-rust-clippy-Darwin-arm64-8f100275
|