From a188928e6ea462e45da7c363a3098065c4691953 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Tue, 28 Feb 2012 09:28:54 +0100 Subject: [PATCH] Added support for automatically selecting subtitles when playing old PES recordings made with the subtitles plugin --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ device.c | 5 +++-- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 128d8207..341419e6 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -2378,6 +2378,8 @@ Anssi Hannula for fixing stopping subtitle display when switching the primary device for fixing plugin arguments corruption with glibc 2.11 on x86_64 for setting the audio type of language descriptors to 0x00 in the PAT/PMT generator + for adding support for automatically selecting subtitles when playing old PES + recordings made with the subtitles plugin Antti Hartikainen for updating 'S13E' in 'sources.conf' diff --git a/HISTORY b/HISTORY index 7bfae8b5..5c10eeaf 100644 --- a/HISTORY +++ b/HISTORY @@ -6930,3 +6930,5 @@ Video Disk Recorder Revision History The REMOTE=RCU option in the 'make' call for VDR is now obsolete. The command line option --rcu is now obsolete. Use -Prcu instead. If you have used --rcu with a device path, use -P"rcu -d". +- Added support for automatically selecting subtitles when playing old PES + recordings made with the subtitles plugin (thanks to Anssi Hannula). diff --git a/device.c b/device.c index e1ae304c..9f6af55f 100644 --- a/device.c +++ b/device.c @@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.50 2012/02/25 12:45:53 kls Exp $ + * $Id: device.c 2.51 2012/02/28 09:25:57 kls Exp $ */ #include "device.h" @@ -1046,7 +1046,8 @@ void cDevice::EnsureSubtitleTrack(void) int LanguagePreference = INT_MAX; // higher than the maximum possible value for (int i = ttSubtitleFirst; i <= ttSubtitleLast; i++) { const tTrackId *TrackId = GetTrack(eTrackType(i)); - if (TrackId && TrackId->id && I18nIsPreferredLanguage(Setup.SubtitleLanguages, TrackId->language, LanguagePreference)) + if (TrackId && TrackId->id && (I18nIsPreferredLanguage(Setup.SubtitleLanguages, TrackId->language, LanguagePreference) || + (i == ttSubtitleFirst + 8 && !*TrackId->language && LanguagePreference == INT_MAX))) // compatibility mode for old subtitles plugin PreferredTrack = eTrackType(i); } // Make sure we're set to an available subtitle track: