<feed xmlns='http://www.w3.org/2005/Atom'>
<title>jellyfin/MediaBrowser.Model/Dlna, branch master</title>
<subtitle>Unnamed repository; edit this file 'description' to name the repository.
</subtitle>
<id>https://git.b0n.dev/jellyfin/atom?h=master</id>
<link rel='self' href='https://git.b0n.dev/jellyfin/atom?h=master'/>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/'/>
<updated>2026-04-11T09:37:17Z</updated>
<entry>
<title>Merge pull request #16380 from LTe/fix-subtitle-extraction-setting</title>
<updated>2026-04-11T09:37:17Z</updated>
<author>
<name>Bond-009</name>
<email>bond.009@outlook.com</email>
</author>
<published>2026-04-11T09:37:17Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=046023b9ddbfa3cec30acded1cb547ee7a0628af'/>
<id>urn:sha1:046023b9ddbfa3cec30acded1cb547ee7a0628af</id>
<content type='text'>
Respect EnableSubtitleExtraction setting in subtitle delivery</content>
</entry>
<entry>
<title>Respect EnableSubtitleExtraction setting in subtitle delivery</title>
<updated>2026-03-13T15:34:44Z</updated>
<author>
<name>Piotr Niełacny</name>
<email>piotr.nielacny@gmail.com</email>
</author>
<published>2026-03-13T15:34:44Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=37983c943a7f65850cc2bd4854f22dbe2ae92c28'/>
<id>urn:sha1:37983c943a7f65850cc2bd4854f22dbe2ae92c28</id>
<content type='text'>
Wire up EnableSubtitleExtraction config to MediaEncoder.CanExtractSubtitles
so the setting is actually respected. Gate subtitle extraction check behind
PlayMethod.Transcode since DirectPlay has no competing ffmpeg process.

Add parameterized tests for StreamBuilder.GetSubtitleProfile covering
text and graphical codecs, profile format matching, and extraction
setting behavior. Remove misplaced SubtitleEncoder extraction test.
</content>
</entry>
<entry>
<title>Use generic Enum overloads to resolve CA2263 warnings</title>
<updated>2026-03-11T14:57:30Z</updated>
<author>
<name>jaxx2104</name>
<email>jaxx2104@gmail.com</email>
</author>
<published>2026-03-11T14:57:30Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=e4eba084dd0e852e90c7677f9a8b594ecd3f7669'/>
<id>urn:sha1:e4eba084dd0e852e90c7677f9a8b594ecd3f7669</id>
<content type='text'>
Replace Enum.Parse(typeof(T), ...) and Enum.GetNames(typeof(T)) with
their generic counterparts Enum.Parse&lt;T&gt;() and Enum.GetNames&lt;T&gt;() in
MediaBrowser.Model/Dlna for improved type safety.

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Fix malformed query string in StreamInfo.ToUrl() causing 500 error via proxies</title>
<updated>2026-02-18T20:08:35Z</updated>
<author>
<name>Cosmin Dumitru</name>
<email>cosu@cosu.ro</email>
</author>
<published>2026-02-18T20:08:35Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=37b50fe13c689e8fb89288da12f79bf7164e1194'/>
<id>urn:sha1:37b50fe13c689e8fb89288da12f79bf7164e1194</id>
<content type='text'>
StreamInfo.ToUrl() generated URLs like `/master.m3u8?&amp;DeviceId=...` (note `?&amp;`)
because `?` was appended to the path and all parameters started with `&amp;`. When
the first optional parameter (DeviceProfileId) was null, the result was a
malformed query string.

This is harmless when clients hit Jellyfin directly (ASP.NET Core tolerates `?&amp;`),
but when accessed through a reverse proxy that parses and re-serializes the URL
(e.g. Home Assistant ingress via aiohttp/yarl), `?&amp;` becomes `?=&amp;` — introducing
an empty-key query parameter. ParseStreamOptions then crashes on `param.Key[0]`
with IndexOutOfRangeException.

Changes:
- StreamInfo.ToUrl(): Track query start position and replace the first `&amp;` with
  `?` after all parameters are appended, producing valid query strings
- ParseStreamOptions: Guard against empty query parameter keys
- Tests: Remove .Replace("?&amp;", "?") workaround that masked the bug

Co-Authored-By: Claude Opus 4.6 &lt;noreply@anthropic.com&gt;
</content>
</entry>
<entry>
<title>Merge pull request #14809 from lostb1t/fix/subtitleencoder</title>
<updated>2026-01-26T11:00:14Z</updated>
<author>
<name>Niels van Velzen</name>
<email>nielsvanvelzen@users.noreply.github.com</email>
</author>
<published>2026-01-26T11:00:14Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=360b6bcce1fc3f353ec23fa82ca415c3035b5710'/>
<id>urn:sha1:360b6bcce1fc3f353ec23fa82ca415c3035b5710</id>
<content type='text'>
fix: prevent premature disposal of HTTP subtitle streams</content>
</entry>
<entry>
<title>Merge pull request #15926 from abitofevrything/feat/accurate_hls_seeking</title>
<updated>2026-01-18T11:17:06Z</updated>
<author>
<name>Abitofevrything</name>
<email>54505189+abitofevrything@users.noreply.github.com</email>
</author>
<published>2026-01-18T11:17:06Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=8d052a6cb17421e6c7774bafc6957029f3c9d4ae'/>
<id>urn:sha1:8d052a6cb17421e6c7774bafc6957029f3c9d4ae</id>
<content type='text'>
Refactor HLS transcode seeking</content>
</entry>
<entry>
<title>wip</title>
<updated>2025-12-21T13:34:27Z</updated>
<author>
<name>lostb1t</name>
<email>coding-mosses0z@icloud.com</email>
</author>
<published>2025-11-29T09:20:18Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=172b054f487c185efbe3f83639e1e896ca38dcb3'/>
<id>urn:sha1:172b054f487c185efbe3f83639e1e896ca38dcb3</id>
<content type='text'>
</content>
</entry>
<entry>
<title>wip</title>
<updated>2025-12-21T13:34:27Z</updated>
<author>
<name>lostb1t</name>
<email>coding-mosses0z@icloud.com</email>
</author>
<published>2025-11-29T09:11:18Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=2168847a45721c567c69767be28c4ce51fe5523a'/>
<id>urn:sha1:2168847a45721c567c69767be28c4ce51fe5523a</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Merge pull request #13977 from sususu98/fix/strm-local-subtitle-url</title>
<updated>2025-11-27T15:33:19Z</updated>
<author>
<name>Niels van Velzen</name>
<email>nielsvanvelzen@users.noreply.github.com</email>
</author>
<published>2025-11-27T15:33:19Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=a35ffbf17e313b293c2deac6c7320e8286d1cc95'/>
<id>urn:sha1:a35ffbf17e313b293c2deac6c7320e8286d1cc95</id>
<content type='text'>
refactor(StreamInfo): reorganize subtitle URL logic and conditions</content>
</entry>
<entry>
<title>Use square root scaling for high framerate videos' bitrate requirements (#14314)</title>
<updated>2025-06-15T21:22:49Z</updated>
<author>
<name>gnattu</name>
<email>gnattu@users.noreply.github.com</email>
</author>
<published>2025-06-15T21:22:49Z</published>
<link rel='alternate' type='text/html' href='https://git.b0n.dev/jellyfin/commit/?id=f60281d8fd36af6cdb3357a1bbd3317e2724afe9'/>
<id>urn:sha1:f60281d8fd36af6cdb3357a1bbd3317e2724afe9</id>
<content type='text'>
</content>
</entry>
</feed>
