25 Commits

Author SHA1 Message Date
Deluan
31a599a39a
Add support for timeOffset in /stream endpoint 2026-01-02 20:31:56 +00:00
tomleb
c8fd9190e1
Allow configuring cache folder (#2357)
* Set all clients to dev_download for make get-music

* Use multiple TranscodingCache instances in tests

This fixes flaky tests. The issue is that the TranscodingCache object
was being reused in tests from media_stream_Internal_test.go and
media_stream_test.go. If tests from the former was run first, the cache
would be filled up, so that when running tests from the latter, the `NON
seekable` test would fail.

* Allow configuring cache folder

This commit introduces a new configuration option to configure the cache
folder. This allows the cache to be in a separate folder such as
/var/cache/navidrome on Linux distributions.

* Fix tests

* Removed unused test setup code

---------

Co-authored-by: Deluan <deluan@deluan.com>
Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:27:26 +00:00
Deluan
b266473672
Fix lint errors 2026-01-02 20:27:26 +00:00
Deluan
7970863a81
Don't try to downsample if requested bitrate is equal or greater than original. Fix #2066 2026-01-02 20:21:19 +00:00
Deluan
203a0f3657
Fallback extracting tags using ffmpeg 2026-01-02 20:20:18 +00:00
Kendall Garner
b130c69cfd
Enable transcoding of downlods (#1667)
* feat(download): Enable transcoding of downlods - #573

Signed-off-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>

* feat(download): Make automatic transcoding of downloads optional

Signed-off-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>

* Fix spelling

* address changes

* prettier

* fix config

* use previous name

Signed-off-by: Kendall Garner <17521368+kgarner7@users.noreply.github.com>
2026-01-02 20:19:53 +00:00
gauth-fr
558c669252
Add global Downsampling feature (#1575)
* Add global downsampling feature

* Default to Opus &  consider player transcoder

* Add a test case for DefaultDownsamplingFormat

Co-authored-by: Deluan <deluan@navidrome.org>
2026-01-02 20:19:50 +00:00
Deluan
0abbb270e6
Add nakedret linter 2026-01-02 20:17:50 +00:00
Deluan
2afc93bb9b
Add missing context to logger calls 2026-01-02 20:16:00 +00:00
Deluan
f39d23e71d
Small refactorings 2026-01-02 20:06:10 +00:00
Deluan
0a94249d38
Move utilitarian/generic packages to utils: lastfm, spotify, gravatar, cache, and pool 2026-01-02 19:21:28 +00:00
Deluan
10cf2372f8
Move project to Navidrome GitHub organization 2026-01-02 19:20:16 +00:00
Deluan
1571f1b804
Fix "seekable" log message (was always "false") 2026-01-02 19:19:33 +00:00
Deluan
d9a8e354e9
Make caches singletons 2026-01-02 19:18:26 +00:00
Deluan
53196f8344
Revert "Make caches singletons" 2026-01-02 19:18:25 +00:00
Deluan
437339b9b2
Make caches singletons 2026-01-02 19:18:25 +00:00
Deluan
f75670efe1
Add dedicated Item interface for cache items 2026-01-02 19:18:24 +00:00
Deluan
3e5e33cce0
New Cache FileSystem implementation 2026-01-02 19:18:17 +00:00
Deluan
d877928f11 Add UpdatedAt to transcoding cache key 2020-07-28 17:16:01 -04:00
Deluan
67da83c84d Use a RWMutex instead of an AtomicBool, to reduce contention 2020-07-26 00:45:33 -04:00
Deluan
58b816c2ed Show cached in info log 2020-07-24 18:43:03 -04:00
Deluan
9b1d5c196f Load cache asynchronously 2020-07-24 16:54:04 -04:00
Deluan
9f4f2f7381 Use new FileCache in cover service 2020-07-24 13:30:27 -04:00
Deluan
433e31acc8 Refactor FileCache, allow disabling Trasncoding cache 2020-07-24 12:42:11 -04:00
Deluan
5620c58a30 Started the big refactor to extract common logic from engine package (Subsonic only) to core package (more generic) 2020-07-10 12:53:11 -04:00