diff options
author | Klaus Schmidinger <vdr@tvdr.de> | 2013-02-01 12:06:50 +0100 |
---|---|---|
committer | Klaus Schmidinger <vdr@tvdr.de> | 2013-02-01 12:06:50 +0100 |
commit | 45f660e35894902316045782232cb5a95a971212 (patch) | |
tree | 33d43b061edbe71baf5590896728b67271001ca5 /device.c | |
parent | 250419d2c9fce77bdd4714d0d7a0debbd893db51 (diff) | |
download | vdr-45f660e35894902316045782232cb5a95a971212.tar.gz vdr-45f660e35894902316045782232cb5a95a971212.tar.bz2 |
When pausing live video, the current audio and subtitle tracks are now retained
Diffstat (limited to 'device.c')
-rw-r--r-- | device.c | 9 |
1 files changed, 8 insertions, 1 deletions
@@ -4,7 +4,7 @@ * See the main source file 'vdr.c' for copyright information and * how to reach the author. * - * $Id: device.c 2.70 2012/11/19 09:59:09 kls Exp $ + * $Id: device.c 2.71 2013/02/01 12:00:09 kls Exp $ */ #include "device.h" @@ -98,6 +98,7 @@ cDevice::cDevice(void) currentAudioTrack = ttNone; currentAudioTrackMissingCount = 0; currentSubtitleTrack = ttNone; + keepTracks = false; liveSubtitle = NULL; dvbSubtitleConverter = NULL; autoSelectPreferredSubtitleLanguage = true; @@ -923,6 +924,8 @@ void cDevice::SetVolume(int Volume, bool Absolute) void cDevice::ClrAvailableTracks(bool DescriptionsOnly, bool IdsOnly) { + if (keepTracks) + return; if (DescriptionsOnly) { for (int i = ttNone; i < ttMaxTrackTypes; i++) *availableTracks[i].description = 0; @@ -1044,6 +1047,8 @@ bool cDevice::SetCurrentSubtitleTrack(eTrackType Type, bool Manual) void cDevice::EnsureAudioTrack(bool Force) { + if (keepTracks) + return; if (Force || !availableTracks[currentAudioTrack].id) { eTrackType PreferredTrack = ttAudioFirst; int PreferredAudioChannel = 0; @@ -1075,6 +1080,8 @@ void cDevice::EnsureAudioTrack(bool Force) void cDevice::EnsureSubtitleTrack(void) { + if (keepTracks) + return; if (Setup.DisplaySubtitles) { eTrackType PreferredTrack = ttNone; int LanguagePreference = INT_MAX; // higher than the maximum possible value |