From 8bfee7a1b4d581685fdef82416ff624e5fca8853 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Fri, 7 Mar 2008 15:44:52 +0100 Subject: [PATCH] Fixed automatically selecting the preferred subtitle language --- CONTRIBUTORS | 2 ++ HISTORY | 4 +++- device.c | 6 +++--- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index ff96b56d..66df5978 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -1046,6 +1046,8 @@ Rolf Ahrenberg SVDRP in case VDR is run with --vfat, in order to avoid names that are too long for Windows for increasing the valid range of the "Subtitle offset" setup option to -100...100 + for a patch that was used to fix automatically selecting the preferred subtitle + language Ralf Klueber for reporting a bug in cutting a recording if there is only a single editing mark diff --git a/HISTORY b/HISTORY index 4c490612..ada68b3c 100644 --- a/HISTORY +++ b/HISTORY @@ -5694,7 +5694,7 @@ Video Disk Recorder Revision History standard ETSI EN 300 468) to ISO-8859-9, in order to work around the stupidity of some providers, who actually use ISO-8859-9, but fail to correctly announce that. -2008-03-05: Version 1.5.18 +2008-03-07: Version 1.5.18 - Added a missing reset of maxNumber in cChannels::Renumber() (reported by Sundararaj Reel). @@ -5706,3 +5706,5 @@ Video Disk Recorder Revision History - Fixed a signed character used as index in cBase64Encoder::NextLine() (thanks to Tobias Grimm). - Updated the Spanish and Catalanian OSD texts (thanks to Luca Olivetti). +- Fixed automatically selecting the preferred subtitle language (based on a patch + from Rolf Ahrenberg). diff --git a/device.c b/device.c index 7c82d97f..22cf181f 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 1.155 2008/02/23 13:09:01 kls Exp $ + * $Id: device.c 1.156 2008/03/07 15:36:25 kls Exp $ */ #include "device.h" @@ -1096,8 +1096,8 @@ void cDevice::EnsureAudioTrack(bool Force) void cDevice::EnsureSubtitleTrack(void) { if (Setup.DisplaySubtitles) { - eTrackType PreferredTrack = ttSubtitleFirst; - int LanguagePreference = -1; + eTrackType PreferredTrack = ttNone; + 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))