From d8f69f7acdc3c9accc66ebc4bd00fb8bd4f15446 Mon Sep 17 00:00:00 2001 From: edde746 <86283021+edde746@users.noreply.github.com> Date: Thu, 21 May 2026 07:58:26 +0200 Subject: [PATCH] fix(plex): copy mkv attachments during transcode close #1083 --- lib/services/plex_client.dart | 4 ++++ test/services/plex_playback_data_request_test.dart | 7 +++++++ 2 files changed, 11 insertions(+) diff --git a/lib/services/plex_client.dart b/lib/services/plex_client.dart index 883b7d0e..dc932e3e 100644 --- a/lib/services/plex_client.dart +++ b/lib/services/plex_client.dart @@ -2945,6 +2945,10 @@ class PlexClient '&protocol=http&container=mkv&videoCodec=h264%2Chevc%2C*' '&audioCodec=opus%2Cvorbis%2Cflac%2C*&subtitleCodec=ass%2Cpgs%2Cvobsub%2C*)', ); + profileExtraClauses.add( + 'add-transcode-target-settings(type=videoProfile&context=streaming' + '&protocol=http&CopyMatroskaAttachments=true)', + ); final clientProfileExtra = profileExtraClauses.join('+'); // HTTP/MKV matches Plex Desktop and lets MPV see embedded subtitle streams. diff --git a/test/services/plex_playback_data_request_test.dart b/test/services/plex_playback_data_request_test.dart index de41a980..0561a74b 100644 --- a/test/services/plex_playback_data_request_test.dart +++ b/test/services/plex_playback_data_request_test.dart @@ -186,6 +186,13 @@ void main() { '&audioCodec=opus%2Cvorbis%2Cflac%2C*&subtitleCodec=ass%2Cpgs%2Cvobsub%2C*)', ), ); + expect( + params['X-Plex-Client-Profile-Extra'], + contains( + 'add-transcode-target-settings(type=videoProfile&context=streaming' + '&protocol=http&CopyMatroskaAttachments=true)', + ), + ); expect(params['X-Plex-Client-Profile-Extra'], isNot(contains('protocol=hls'))); expect(params['X-Plex-Client-Profile-Extra'], isNot(contains('type=subtitleProfile'))); });