Added support for automatically selecting subtitles when playing old PES recordings made with the subtitles plugin

This commit is contained in:
Klaus Schmidinger 2012-02-28 09:28:54 +01:00
parent d2d4dacf5b
commit a188928e6e
3 changed files with 7 additions and 2 deletions

View File

@ -2378,6 +2378,8 @@ Anssi Hannula <anssi.hannula@gmail.com>
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 <ami+vdr@ah.fi>
for updating 'S13E' in 'sources.conf'

View File

@ -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<device>".
- Added support for automatically selecting subtitles when playing old PES
recordings made with the subtitles plugin (thanks to Anssi Hannula).

View File

@ -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: