diff options
author | metamuffin <metamuffin@disroot.org> | 2023-08-06 15:30:58 +0200 |
---|---|---|
committer | metamuffin <metamuffin@disroot.org> | 2023-08-06 15:30:58 +0200 |
commit | 3fb34048a1efc0a24766288d3d2d0b7f30c141c4 (patch) | |
tree | d2e4873f52b67836969b1c4e889fbe0a3fbd81b7 /server/src | |
parent | dfdce26961ed87d471d9c2a8d2719fbbe78fb9fb (diff) | |
download | jellything-3fb34048a1efc0a24766288d3d2d0b7f30c141c4.tar jellything-3fb34048a1efc0a24766288d3d2d0b7f30c141c4.tar.bz2 jellything-3fb34048a1efc0a24766288d3d2d0b7f30c141c4.tar.zst |
transcode width grid
Diffstat (limited to 'server/src')
-rw-r--r-- | server/src/routes/ui/assets.rs | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/server/src/routes/ui/assets.rs b/server/src/routes/ui/assets.rs index 2d175f9..f2c3f3f 100644 --- a/server/src/routes/ui/assets.rs +++ b/server/src/routes/ui/assets.rs @@ -47,7 +47,9 @@ pub async fn r_item_assets( let asset = asset.unwrap_or(AssetLocation::Assets( PathBuf::from_str("fallback.jpeg").unwrap(), )); - let path = jellytranscoder::image::transcode(asset, 50., 5, width.unwrap_or(2048))?; + // fit the resolution into a finite set so the maximum cache is finite too. + let width = 2usize.pow(width.unwrap_or(2048).clamp(128, 8196).ilog2()); + let path = jellytranscoder::image::transcode(asset, 50., 5, width)?; info!("loading asset from {path:?}"); Ok(( ContentType::AVIF, |