Christian Benincasa
307ebc9454
fix: download external subtitles as part of scanning
2026-04-16 13:54:52 -04:00
Christian Benincasa
5724999b28
fix: include subtitle streams in minted programs from PlexApiClient
...
Also explicitly excludes CC tracks that are embedded in the video stream
2026-04-16 12:18:21 -04:00
Christian Benincasa
9e592b1c6b
refactor: bind FfmpegInfo in singleton scope
2026-04-15 07:47:30 -04:00
Christian Benincasa
cdf0eb99e8
fix: only create one instance of ChildProcessHelper per-FfmpegInfo
2026-04-15 07:46:13 -04:00
Christian Benincasa
30ff2f88fc
fix: guide generation after initial server start should always happen
2026-04-14 17:08:33 -04:00
Christian Benincasa
0b65142666
revert: "fix: add high-water mark deletion to hls session"
...
This reverts commit 6a030f168b .
2026-04-12 19:19:05 -04:00
Christian Benincasa
9ab26976c2
fix: backdate initial guide generation at startup
2026-04-11 09:00:32 -04:00
Christian Benincasa
b62507274d
fix: include programs that start or end within requested guide date range
2026-04-11 08:23:35 -04:00
Christian Benincasa
149e3f7129
chore: make husky commit-msg executable
2026-04-10 12:52:10 -04:00
Christian Benincasa
c95d8028a6
refactor: break up DB classes into focused repositories
2026-04-10 12:52:10 -04:00
Christian Benincasa
c9266d436f
fix: properly handle asynchronous indexing when scanning plex collections
2026-04-09 13:47:34 -04:00
Christian Benincasa
013081475f
refactor: log full error when subtitle download fails
2026-04-09 11:36:20 -04:00
Christian Benincasa
b97531440c
fix: do not leak FDs in local music scanner
2026-04-08 19:18:42 -04:00
Christian Benincasa
2c7fa22921
fix: manually trigger temp db migration file cleanup
...
otherwise it wont happen until exit
2026-04-08 17:34:34 -04:00
Christian Benincasa
9410efac7a
fix: properly set child log levels on level change from UI
2026-04-04 08:19:49 -04:00
Christian Benincasa
1ab22ccc22
fix: explicitly set state=ok for DB updates and search indexing
2026-04-04 07:50:33 -04:00
Christian Benincasa
61b2839a39
refactor: remove unused stream cache code
2026-04-03 08:25:44 -04:00
Christian Benincasa
18e84445b1
fix(qsv): ensure setpts filter is only run on software
2026-04-03 08:03:08 -04:00
Christian Benincasa
4e46aa5c9e
fix: always set state = ok for newly minted groupings
2026-04-02 10:35:17 -04:00
Christian Benincasa
73954b2a26
fix: more QSV pixel format fixes ( #1723 )
2026-03-30 15:28:55 -04:00
Christian Benincasa
805b6eaa28
fix: add high-water mark deletion to hls session ( #1737 )
...
Also ensures that deletion happens sequentially (no fire-and-forget)
2026-03-30 12:15:47 -04:00
Christian Benincasa
12abc265a9
fix: ensure vaapi hardware pad filters appropriately set frame data location
2026-03-29 21:14:41 -04:00
Christian Benincasa
fcfa537279
fix: ensure scaling happens on hw for vaapi when tonemap env var is false
...
includes many other integration tests
2026-03-29 21:14:41 -04:00
Christian Benincasa
89eb55c82c
fix: parse tvshow.uniqueid tag as array in nfo parser
...
Fixes : #1749
2026-03-27 13:47:56 -04:00
Christian Benincasa
3af479008b
fix: add more randomness to filler picker ( #1746 )
...
Rework the filler picker to add more randomness and better weighting
behavior. Specifically:
1. Shuffle incoming filler lists
2. Filler weights only added to sampling if they have a program that can
fit in the requested time slot
3. Once a list is chosen, we shuffle the programs within that list
4. The rest of the algorithm remains the same with weighted sampling of
programs with slight adjustments based on last-seen and duration.
2026-03-27 12:08:26 -04:00
Jason Dove
29b635e89c
fix: aresample requires hz, so convert from khz ( #1745 )
...
* fix: aresample requires hz, so convert from khz
* fix: always send khz to loudnorm filter; convert inside
2026-03-26 19:35:19 -04:00
Christian Benincasa
3f5e536d71
fix: allow more granular trust proxy settings
...
Allow setting all variant of supported trust proxy settings from
https://fastify.dev/docs/latest/Reference/Server/#trustproxy , except for
a custom function. Allows for specifying >=1 IP or CIDR ranges, n-th hop
trust.
2026-03-23 12:31:19 -04:00
Christian Benincasa
c98fc89233
refactor: add log line for scanning so it is clear
2026-03-23 10:44:45 -04:00
Christian Benincasa
87974b629c
test: add "integration" style tests that check basic transcoding pipelines
2026-03-23 10:41:06 -04:00
Christian Benincasa
ddd2613735
fix: allow unsetting loudnorm config
2026-03-20 16:42:04 -04:00
Christian Benincasa
464de4ce71
fix: enable passing loudnorm params to ffmpeg pipeline
2026-03-20 16:31:24 -04:00
Christian Benincasa
6123497f27
refactor: use lightweight bootstrap process when generating openapi
2026-03-19 16:27:14 -04:00
Christian Benincasa
2ea5565c37
test: fix tests for filler picker bug
2026-03-19 15:44:22 -04:00
Christian Benincasa
66b2676233
chore: fix build
2026-03-19 15:44:22 -04:00
Christian Benincasa
1c39f48288
fix: ensure effective "now" timestamp passed to filler picker
...
wall clock time is not necessarily stream time now due to workahead
2026-03-19 15:44:22 -04:00
Christian Benincasa
d3529f2c6f
fix: properly calculator time since for filler list cooldowns
...
this is a side effect of the previous units mismatch bug
2026-03-19 15:44:22 -04:00
Christian Benincasa
cd488cd259
fix: ensure hardware padded vaapi pipelines hwdownload before watermark overlay
2026-03-19 15:44:22 -04:00
Christian Benincasa
d80863c2b9
fix: properly count discontinuity sequences without parsing master playlist
2026-03-19 15:44:22 -04:00
Christian Benincasa
8933b9873b
chore: update hls.js to latest version
2026-03-19 15:44:22 -04:00
Christian Benincasa
0c8a5b7aed
refactor: downgrade log level for meilisearch task watcher
2026-03-19 14:53:07 -04:00
Christian Benincasa
4abd307b06
fix: actually specify pad_opencl filter
2026-03-19 10:44:45 -04:00
Christian Benincasa
70b430f470
fix: better unparseable smart collection parse handling
...
Ensures that stateful errors are checked in the mutex block
2026-03-18 13:12:52 -04:00
Christian Benincasa
c07cd898c9
fix: ensure no empty discontinuity periods in generated playlists ( #1722 )
2026-03-18 11:28:19 -04:00
Christian Benincasa
b74ad3d619
fix: properly convert per-filler-list cooldown to millis
2026-03-18 11:26:58 -04:00
Christian Benincasa
e5e8d7353b
fix: ensure no empty discontinuity periods in generated playlists
2026-03-18 10:12:51 -04:00
Christian Benincasa
eb898c253f
fix: explicitly upload software overlay frames in QSV pipeline
...
Also removes erroneous gpu_copy option
2026-03-17 21:55:22 -04:00
Christian Benincasa
dff248fefd
fix: use system fonts for error screen
...
Tunarr does not package font files anymore
2026-03-17 21:55:22 -04:00
Christian Benincasa
d7ed74e999
fix: remove minByIp segment mappings when clients disconnect
2026-03-16 13:37:15 -04:00
Christian Benincasa
71c245c36c
fix: do not double-count discontinuities in HlsPlaylistMutator
2026-03-16 13:37:14 -04:00
Christian Benincasa
44602d651a
test: fix TonemapVaapiFilter tests
2026-03-16 12:08:28 -04:00