summaryrefslogtreecommitdiff
path: root/device.c
diff options
context:
space:
mode:
authorKlaus Schmidinger <vdr@tvdr.de>2013-02-01 12:06:50 +0100
committerKlaus Schmidinger <vdr@tvdr.de>2013-02-01 12:06:50 +0100
commit45f660e35894902316045782232cb5a95a971212 (patch)
tree33d43b061edbe71baf5590896728b67271001ca5 /device.c
parent250419d2c9fce77bdd4714d0d7a0debbd893db51 (diff)
downloadvdr-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.c9
1 files changed, 8 insertions, 1 deletions
diff --git a/device.c b/device.c
index 2678d688..af416411 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.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