Commit Graph

87 Commits

Author SHA1 Message Date
Marc Brooks
5c7ee6a635 Improved resilience for fast-paths
Use fast paths only if we can TryGetBuffer on MemoryStream using segment's Array.
Reduce swap overhead for fast path B.
Avoid multiple virtcalls by memoizing the CanSeeks.
Overlap slow path stream async reads.
2026-05-29 15:54:58 -05:00
Marc Brooks
645ae6bb99 Use ReadAtLeastAsync to handle short-reads.
Seeks to beginning of streams if CanSeek is true.
Added remarks about stream position.
Add test coverage for short-reads.
Fix fast-path tests to actually test the fast path.
Also fix class comment.
2026-05-28 13:31:13 -05:00
Marc Brooks
f12b666cbb Remove IsStreamIdenticalAsync CanSeek requirement
Now only uses for the Length mismatch.
2026-05-27 20:13:52 -05:00
Marc Brooks
aa2370e021 Use TryGetBuffer() on MemoryStreams
Also now throws if the streams are no CanSeek.
2026-05-27 19:56:36 -05:00
Marc Brooks
c449a93372 Explicitly handle MemoryStream(s) 2026-05-26 18:12:31 -05:00
Marc Brooks
02ca63cd13 Moved IsFileIdenticalAsync & IsStreamIdenticalAsync to StreamExtensions. 2026-05-26 18:12:31 -05:00
Tim Eisele
bc074b5283 Switch to new version scheme (#16758)
Some checks failed
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
CodeQL / Analyze (csharp) (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Artifact (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI Publish / OpenAPI - Publish Stable Spec (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
Stale Issue Labeler / Check for stale issues (push) Has been cancelled
2026-05-06 17:41:34 -04:00
Shadowghost
ff0a64ecb9 Merge remote-tracking branch 'upstream/master' into perf-rebased 2026-02-20 21:17:55 +01:00
Bond_009
b346370dfc Fix build 2026-02-15 11:28:42 +01:00
Shadowghost
09a729effe Fix tag checks 2026-01-31 23:45:38 +01:00
Bond_009
098e8c6fed Replace AlphanumericComparator with new CompareOptions.NumericOrdering 2026-01-14 18:55:47 +01:00
Bond_009
9e480f6efb Update to .NET 10.0 2026-01-14 18:55:47 +01:00
stevenaw
ef73ed6ef7 optimize GetUniqueFlags() 2025-12-11 22:15:19 -05:00
Kirill Nikiforov
ac81ddd39a add support for more embedded metadata tags 2025-11-08 02:54:53 +04:00
Joshua M. Boniface
c274336563 Bump version to 10.12.0 (for real this time)
Some checks failed
CodeQL / Analyze (csharp) (push) Has been cancelled
Stale PR Check / Check PRs with merge conflicts (push) Has been cancelled
OpenAPI / OpenAPI - HEAD (push) Has been cancelled
OpenAPI / OpenAPI - BASE (push) Has been cancelled
OpenAPI / OpenAPI - Difference (push) Has been cancelled
OpenAPI / OpenAPI - Publish Unstable Spec (push) Has been cancelled
OpenAPI / OpenAPI - Publish Stable Spec (push) Has been cancelled
Tests / run-tests (macos-latest) (push) Has been cancelled
Tests / run-tests (ubuntu-latest) (push) Has been cancelled
Tests / run-tests (windows-latest) (push) Has been cancelled
Project Automation / Project board (push) Has been cancelled
Merge Conflict Labeler / Labeling (push) Has been cancelled
2025-10-26 21:52:03 -04:00
gnattu
9d601f8e9b Terminate at null char for audio tags (#14100)
Some checks are pending
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-18 18:40:18 -06:00
Bond-009
0c3ba30de2 Cleanup file related code (#14023)
Some checks are pending
CodeQL / Analyze (csharp) (push) Waiting to run
OpenAPI / OpenAPI - HEAD (push) Waiting to run
OpenAPI / OpenAPI - BASE (push) Waiting to run
OpenAPI / OpenAPI - Difference (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Unstable Spec (push) Blocked by required conditions
OpenAPI / OpenAPI - Publish Stable Spec (push) Blocked by required conditions
Tests / run-tests (macos-latest) (push) Waiting to run
Tests / run-tests (ubuntu-latest) (push) Waiting to run
Tests / run-tests (windows-latest) (push) Waiting to run
Project Automation / Project board (push) Waiting to run
Merge Conflict Labeler / Labeling (push) Waiting to run
2025-05-04 08:40:34 -06:00
Tim Eisele
9657708b38 Reduce allocations, simplifed code, faster implementation, included tests - StreamInfo.ToUrl (#9369)
* Rework PR 6168

* Fix test
2025-03-28 06:51:44 -06:00
Marc Brooks
a5f3d942f6 Merge branch 'master' into sort-nfo-data 2025-03-12 10:33:27 -05:00
Bond-009
2db0750abb Make the JsonConverters for delimited arrays more generic (#13396)
* Make the JsonConverters for delimited arrays more generic

Also adds some tests for serialization (with different types) as we didn't have any before.

* Ignore warnings
2025-02-13 20:24:55 -07:00
Marc Brooks
4e64b261a8 Moved Trimmed to Jellyfin.Extensions.StringExtensions 2025-02-05 18:13:28 -06:00
luzpaz
b37bc9016f Fix typos
Found via `codespell -q 3 -D ../../dictionary.txt -S "./Emby.Server.Implementations/Localization" -L allready,childrens,groupe,inh,raisons,re-use,som,supercede,superceded,thirdparty,whoknows`
2025-01-26 11:14:03 -05:00
gnattu
19c5c95f4e Backport pull request #12949 from jellyfin/release-10.10.z
Fix json array string writer in JsonDelimitedArrayConverter

Original-merge: 3089e9e40a

Merged-by: crobibero <cody@robibe.ro>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-11-19 15:43:20 -05:00
Bond-009
ceb850c770 Update projects to .NET 9 (#13023) 2024-11-16 10:11:01 -07:00
Jellyfin Release Bot
a0c634a6ed Bump version to 10.11.0 2024-10-26 13:32:51 -04:00
Tim Eisele
d4bde14a01 Update src/Jellyfin.Extensions/Json/Converters/JsonDelimitedArrayConverter.cs
Co-authored-by: Bond-009 <bond.009@outlook.com>
2024-09-19 16:46:59 +02:00
Shadowghost
7a2427bf07 Add SessionInfoDto, DeviceInfoDto and implement JsonDelimitedArrayConverter.Write 2024-09-18 15:42:15 +02:00
Gary Wang
81aca67745 feat(i18n): able to finetune transliterator (#12378) 2024-09-11 09:36:56 -06:00
Bond-009
7631956451 Backport pull request #12550 from jellyfin/release-10.9.z
Create and use FormattingStreamWriter

Original-merge: cd2f2ca178

Merged-by: Bond-009 <bond.009@outlook.com>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-09-07 18:09:52 -04:00
Bond_009
97a02f5803 Remove BOM from UTF-8 files
I think some people need to change their IDE configuration ;)
2024-08-30 15:29:48 +02:00
Bond-009
c7f87c0d69 Backport pull request #11910 from jellyfin/release-10.9.z
Audio normalization: parse ffmpeg output line by line

Original-merge: d2be2ee480

Merged-by: joshuaboniface <joshua@boniface.me>

Backported-by: Joshua M. Boniface <joshua@boniface.me>
2024-06-01 18:41:15 -04:00
Cody Robibero
1ec130757d Disable nuget warning in Jellyfin.Extensions (#11536) 2024-05-12 15:18:27 -06:00
Jellyfin Release Bot
04022f85af Bump version to 10.10.0 2024-05-11 14:23:59 -04:00
Cody Robibero
3ade3a8e63 Lowercase CollectionTypeOptions to match legacy experience (#11272) 2024-03-31 21:58:06 -06:00
Gary Wang
c16135800c feat(i18n): transliterate item name before sorting (#11172) 2024-03-22 20:59:59 -06:00
Niels van Velzen
407cf5d0bf Add MediaStreamProtocol enum (#10153)
* Add MediaStreamProtocol enum

* Add default handling for enum during deserialization

---------

Co-authored-by: Cody Robibero <cody@robibe.ro>
2024-03-04 16:44:54 -07:00
Cody Robibero
0bc41c015f Store lyrics in the database as media streams (#9951) 2024-02-26 05:09:40 -07:00
Cody Robibero
e7b8d45bbb Use helper function to compare guid (#10825) 2024-01-17 08:51:39 -07:00
Bond_009
8ee1525894 Fix runtime errors 2023-11-14 22:01:10 +01:00
Bond_009
eb022c49cc Update to .NET 8 2023-11-14 21:12:16 +01:00
Bond_009
a9ef103c95 Add IDisposableAnalyzers to more projects 2023-11-05 02:01:14 +01:00
Bond_009
afc195286f Start adding IDisposableAnalyzers to projects 2023-09-23 15:15:58 +02:00
Lehonti Ramos
bc959270b7 Removed nesting levels through block-scoped using statement (#10025)
Co-authored-by: John Doe <john@doe>
Co-authored-by: Lehonti Ramos <lehonti@ramos>
2023-09-11 12:12:40 +02:00
Bond_009
18a311d32f == null -> is null 2023-08-22 21:14:54 +02:00
Bond_009
b5f0760db8 Use RegexGenerator where possible 2023-06-28 17:07:57 +02:00
Stepan Goremykin
910617bbc3 Remove redundant 'else' keywords 2023-04-06 19:38:34 +02:00
Stepan Goremykin
26958162d0 Remove unused using directives 2023-04-06 19:17:28 +02:00
Bond-009
5b493e14ac Improve alternate ordering (#9336) 2023-02-20 08:07:51 -07:00
Bond-009
6fb2fac6e4 Always run code analyzers for tests projects (#9304) 2023-02-12 10:54:55 -07:00
Zoltan Csizmadia
e0519189b2 Use Directory.Packages.props (#9135)
Co-authored-by: Zoltan Csizmadia <CsizmadiaZ@valassis.com>
2023-02-04 10:15:08 -07:00