Commit Graph

4326 Commits

Author SHA1 Message Date
gnattu
b1870792b1
fix: use Metal tonemap instead of OpenCL (#11198) 2024-03-24 08:20:05 -06:00
gnattu
cf16110a56
fix: map encoder preset to quality setting for VideoToolbox (#11205) 2024-03-24 08:19:48 -06:00
vedant
3bbb57eb83
Add new VideoRangeTypes to fully support DoVi on webOS (#10469) 2024-03-23 07:39:49 -06:00
Gary Wang
c16135800c
feat(i18n): transliterate item name before sorting (#11172) 2024-03-22 20:59:59 -06:00
Claus Vium
eae031ae5a
refactor: use Channels as queueing mechanism for periodic websocket messages (#11092) 2024-03-18 13:55:18 -06:00
Claus Vium
239727e896
fix: skip library folders that are inaccessible or empty (#9291) 2024-03-18 09:09:00 -06:00
Cody Robibero
833bc06eb4
Merge pull request #11161 from nyanmisaka/fix-segment-deletion
Co-authored-by: Claus Vium <cvium@users.noreply.github.com>
2024-03-18 08:37:02 -06:00
Bond-009
f44ec318d6
Merge pull request #11163 from robert-hamilton36/lyrics
Add lyric files to supported extensions
2024-03-17 18:07:34 +01:00
Bond-009
adb08c0aaa
Merge pull request #11149 from Bond-009/nullable4
Enable nullable for more files
2024-03-17 18:00:10 +01:00
btopherjohnson
9a40a67c60
Add ability to enable/disable libraries (#11037)
Co-authored-by: Bond-009 <bond.009@outlook.com>
Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-17 09:50:48 -06:00
nyanmisaka
ae7c0c83e9 Bump the required minimum ffmpeg version to 4.4
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 21:30:42 +08:00
nyanmisaka
557b8f0c78 Apply suggestions from code review
Drop the unnecessary initial capacity from the list.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 20:45:00 +08:00
nyanmisaka
47a77974b8 Apply suggestions from code review
Drop excludeFilePaths and lower the log level to debug to avoid
spamming in the log file.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-17 17:17:47 +08:00
nyanmisaka
50541aea91 Apply suggestions from code review
Add excludeFilePaths to skip segment files in which IOException occurred.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 22:09:31 +08:00
nyanmisaka
39b953e41c Set input readrate for using SegmentDeletion with stream-copy
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka
55fd6b5cb9 Add sanity check for ThrottleDelaySeconds
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
nyanmisaka
eca9bf41bc Add TranscodingSegmentCleaner to replace ffmpeg's hlsenc deletion
FFmpeg deletes segments based on its own transcoding progress,
but we need to delete segments based on client download progress.
Since disk and GPU speeds vary, using hlsenc's built-in deletion
will result in premature deletion of some segments. As a consequence,
the server has to constantly respin new ffmpeg instances, resulting
in choppy video playback.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-03-16 07:35:05 +08:00
robert-hamilton36
2234b5bec6 add lyric files to supportedExtensions 2024-03-16 12:14:29 +13:00
standstaff
64b7f0f721 chore: remove repetitive words
Signed-off-by: standstaff <zhengxingru@yeah.net>
2024-03-15 17:08:03 +08:00
Bond_009
651681c276 Enable nullable for more files 2024-03-13 14:56:51 +01:00
Cody Robibero
a92de9b2e3
Merge pull request #11014 from gnattu/vf-videotoolbox 2024-03-09 09:19:36 -07:00
gnattu
0909ee7208 fix: convert all non-yuv420 inputs to nv12
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 15:16:00 +08:00
gnattu
e6dee627e3 fix: force a pixel format for 10-bit inputs
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 14:22:27 +08:00
gnattu
d10ad6c383 fix: no need to check filters prematurely
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-09 11:02:53 +08:00
gnattu
2f66871040 fix: also check if we are doing scaling
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:37:27 +08:00
gnattu
f31549cc0d fix: code clean up
Co-authored-by: nyanmisaka <nst799610810@gmail.com>
Signed-off-by: gnattu <gnattuoc@me.com>
2024-03-08 23:23:24 +08:00
Cody Robibero
f7f3ad9eb7
Precache livetv program images (#11083)
* Precache livetv program images

* return if cache hit

* use EnsureSuccessStatusCode

* Read proper bytes
2024-03-03 13:32:55 -07:00
gnattu
a30dc81b28 fix: stack overflow
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 09:03:00 +08:00
Cody Robibero
169e0dcb11 Save embedded lyrics when probing audio 2024-02-28 17:34:33 -07:00
gnattu
ec896a901c fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-29 05:37:31 +08:00
gnattu
1cb7264f0d feat: fully support videotoolbox hardware filters
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-28 17:56:59 +08:00
Cody Robibero
0bc41c015f
Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Patrick Barron
b5a3c71b3a Move media source code from LiveTvManager to LiveTvMediaSourceProvider 2024-02-23 09:57:55 -05:00
Patrick Barron
0370167b8d Add IRecordingsManager service 2024-02-21 09:42:14 -05:00
Cody Robibero
31715c6b8a
Merge pull request #10981 from barronpm/livetv-listingsmanager
Add IListingsManager Service
2024-02-20 10:44:46 -08:00
Nyanmisaka
aa3aaa94fe
Fix the preproc filters for dvbsub burn-in (#11034)
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-20 10:49:39 -07:00
gnattu
21bf557145 fix: use hardware videotoolbox filter even only scale is available
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:43:40 +08:00
gnattu
0a8560f64a fix: use hardware filter option name explicitly
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:30:12 +08:00
gnattu
2f3e5cfa06 fix: correctly set the supported formats of videotoolbox tone mapping
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 01:08:17 +08:00
gnattu
0a4457dd68 fix: typo
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:18:19 +08:00
gnattu
5c743f2b4d feat: separate videotoolbox tone mapping option
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-16 00:16:59 +08:00
gnattu
cf3e3e2c3d fix: code style
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 23:22:32 +08:00
gnattu
c18ef13b3b feat: add tone mapping for videotoolbox
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 23:00:51 +08:00
gnattu
44cb9f5fdd feat: add hw scale filter for videotoolbox
Signed-off-by: gnattu <gnattuoc@me.com>
2024-02-15 21:52:41 +08:00
Shadowghost
9230472056 Fix file extension based on container 2024-02-10 16:57:10 +01:00
Patrick Barron
42b052a5a6 Add IListingsManager service 2024-02-08 15:20:46 -05:00
Patrick Barron
19a72e8bf2 Remove IServerEntryPoint 2024-02-07 10:52:36 -05:00
Patrick Barron
4c7eca9313 Use IHostApplicationLifetime to start library monitor 2024-02-07 10:52:36 -05:00
Bond-009
143ef71528
Merge pull request #10969 from barronpm/progress-cleanup
Progress cleanup
2024-02-07 16:24:36 +01:00
Patrick Barron
505c09c85b Fix tests 2024-02-06 12:21:52 -05:00
Patrick Barron
4dd2ed8fb7 Remove some unused drawing code 2024-02-06 10:11:47 -05:00
Patrick Barron
a54c08209e Remove some unused media encoding code 2024-02-06 10:06:39 -05:00
Patrick Barron
0960438065 Remove ActionableProgress 2024-02-06 09:58:25 -05:00
Patrick Barron
8698b90594 Remove SimpleProgress 2024-02-06 09:50:46 -05:00
nyanmisaka
be265cd87f Add EqualsAny for VideoCodecTag condition
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-05 23:41:43 +08:00
Cody Robibero
ccfc85af11
Merge pull request #10951 from barronpm/livetv-di
Live TV DI
2024-02-03 08:25:25 -07:00
Mark Cilia Vincenti
f26fc7dfb2 Merge changes 2024-02-03 08:45:14 +01:00
Patrick Barron
34269dee58 Use DI for ILiveTvService 2024-02-02 20:13:24 -05:00
Patrick Barron
efd024bafe Use DI for IListingsProvider 2024-02-02 20:13:24 -05:00
Cody Robibero
bf4c3bb1e4
Merge pull request #10878 from barronpm/livetv-guidemanager
Add IGuideManager service
2024-02-02 16:57:54 -07:00
nyanmisaka
e62dab627e Add full HWA transcoding pipeline for RKMPP
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-02-01 18:59:27 +08:00
nyanmisaka
92c0ec0c1b Use video framerate for ASS subtitle HW burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
nyanmisaka
9323390add Fix the display aspect ratio of PGSSUB subtitle burn-in
Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-28 20:06:42 +08:00
Patrick Barron
4399b51dca Merge branch 'master' into livetv-guidemanager
# Conflicts:
#	src/Jellyfin.LiveTv/LiveTvManager.cs
2024-01-17 12:08:01 -05:00
Cody Robibero
e7b8d45bbb
Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Patrick Barron
59c2ae944d Add IGuideManager service 2024-01-17 09:52:11 -05:00
Bond-009
484ccf7f28
Merge pull request #10858 from barronpm/livetv-tunerhostmanager
Add ITunerHostManager service and minor LiveTv cleanup
2024-01-17 15:42:37 +01:00
Patrick Barron
c101d287f2 Remove unused Live TV code 2024-01-15 13:29:55 -05:00
Patrick Barron
c23a038ba8 Remove unnecessary allocations in TunerHostManager 2024-01-15 09:37:03 -05:00
JPVenson
3ce16713dd
Fixed disposable not being called (#10613)
* Fixed disposable not being called

* PulledUp usage of IAsyncDisposable for sessioninfo

Co-authored-by: Patrick Barron <barronpm@gmail.com>
2024-01-14 16:50:09 +01:00
Mark Cilia Vincenti
e47144e7c7 Updated contributors, upgraded to AsyncKeyedLocker 6.3.0 which now supports non-keyed locking using a similar interface and changed SemaphoreSlim-based locks to using AsyncNonKeyedLocker. 2024-01-14 12:11:16 +01:00
Mark Cilia Vincenti
6a257e1b40 Merge branch 'master' into AsyncKeyedLock-migration 2024-01-14 11:45:19 +01:00
Patrick Barron
9c2c066e6f Add ITunerHostManager service 2024-01-12 21:17:09 -05:00
Patrick Barron
051fa04a80 Move GetRecordingStreamMediaSources to IMediaSourceManager 2024-01-09 09:47:07 -05:00
Patrick Barron
82f93afa22
Fix More Live TV Warnings (#10818)
* Fix CA1819 in LiveTvManager

* Call ConfigureAwait in ChannelManager
2024-01-06 13:33:58 -07:00
Niels van Velzen
55916a09eb
Remove some unused client capabilities and sync code (#10812) 2024-01-06 13:33:48 -07:00
Nyanmisaka
aa71129cff
Use -noauto{scale,rotate} for disabling auto filters (#10810)
`-auto{scale,rotate} 0` has been dropped in upstream FFmpeg.

Signed-off-by: nyanmisaka <nst799610810@gmail.com>
2024-01-04 16:31:45 -07:00
Mark Cilia Vincenti
d1677dc680 AsyncKeyedLock migration 2024-01-03 16:47:25 +01:00
Patrick Barron
c49539cbe0 Move ProgressiveFileStream to Controller 2023-12-21 12:53:50 -05:00
Patrick Barron
9215a4d40a Add ITranscodeManager service 2023-12-21 12:53:50 -05:00
Patrick Barron
c2081955c8 Rename and clean up TranscodingJob 2023-12-21 12:53:50 -05:00
Patrick Barron
abd74fd5a4 Move TranscodingJobDto and TranscodingThrottler to Controller 2023-12-21 12:53:49 -05:00
Bond-009
053c3392f4
Merge pull request #10682 from barronpm/livetv-warnings
Fix some warnings in LiveTV
2023-12-18 23:21:45 +01:00
Bond-009
ce45b73c8b
Merge pull request #10702 from crobibero/collection-type-lowercase
Convert CollectionType to use lowercase enum names
2023-12-18 19:38:44 +01:00
Bond-009
24cbd64450
Merge pull request #10573 from arabcoders/master
Add new API endpoint to view/update Item UserData
2023-12-15 18:00:50 +01:00
jkhsjdhjs
547d97d602
Use eof_action=pass when overlaying subtitles
The previous behavior using `eof_action=endall` and `shortest=1` would
end the video stream if one of the input stream (video, subtitle) ends.
In some cases the duration of the overlayed subtitles is shorter than the
video stream, causing the output to end when the subtitles end and dropping
the remaining video stream.

This commit changes this behavior so `eof_action=pass` is used instead,
which continues passing the video stream through even if the subtitles end
earlier [1]. `shortest=1` is also removed, as this option implies
`eof_action=endall`.

If the subtitle stream has a higher duration than the video stream, the output
will also end with the video stream without `shortest=1`, as the video stream
is the primary input to the `overlay` filter.

Fix #10698

[1] https://ffmpeg.org/ffmpeg-filters.html#Options-for-filters-with-several-inputs-_0028framesync_0029
2023-12-13 13:11:42 +01:00
Cody Robibero
033cfa59c4 Convert CollectionType to use lowercase enum names 2023-12-08 15:45:36 -07:00
Patrick Barron
0d5bbfda32
Remove unused DLNA models (#10685)
* Remove unused DLNA models

* Remove IDlnaManager
2023-12-06 16:06:42 -07:00
Patrick Barron
192559db32 Make ILiveStream an IDisposable 2023-12-05 14:26:35 -05:00
Patrick Barron
5c593b120a Don't use List directly in ITunerHost method signatures 2023-12-05 13:35:18 -05:00
Claus Vium
0be2817ccb
Merge pull request #10371 from Pithaya/feat/book-persons
Allow persons on books
2023-11-23 23:09:06 +01:00
Abdulmohsen
9d5dc4d71b
Merge branch 'jellyfin:master' into master 2023-11-24 00:00:53 +03:00
Bond_009
faa22cdb84 Update deps
* Removes SourceLink as it should work automagically with .NET 8
2023-11-16 00:50:48 +01:00
ArabCoders
c4013d2e10 Updated the summary and the Dto name. 2023-11-15 13:55:14 +03:00
Bond_009
b62b0ec2b5 Fix warnings 2023-11-14 21:14:21 +01:00
Bond_009
eb022c49cc Update to .NET 8 2023-11-14 21:12:16 +01:00
Pithaya
eb2bcc91c5
Merge branch 'master' into feat/book-persons 2023-11-13 18:07:23 +01:00
ArabCoders
2a25c5a2e3 Refactored api call logic handling. 2023-11-13 15:51:06 +03:00
Bond-009
fc694289a9
Merge pull request #10557 from barronpm/dlna-plugin
Move DLNA to Plugin (Part 1)
2023-11-12 16:23:11 +01:00
Patrick Barron
1e1e1560a4 Add IServerApplicationHost parameter to IPluginServiceRegistrator 2023-11-10 07:43:46 -05:00