From 6ef9ec9ac0863fdd15e15b1e332270f1b09ab849 Mon Sep 17 00:00:00 2001 From: Klaus Schmidinger Date: Sat, 26 Feb 2005 11:46:37 +0100 Subject: [PATCH] Fixed ensuring there is a current audio track in case there is only one track --- CONTRIBUTORS | 2 ++ HISTORY | 2 ++ device.c | 8 ++++---- 3 files changed, 8 insertions(+), 4 deletions(-) diff --git a/CONTRIBUTORS b/CONTRIBUTORS index 5f327ddf..36111d63 100644 --- a/CONTRIBUTORS +++ b/CONTRIBUTORS @@ -275,6 +275,8 @@ Werner Fink Transfer Modes for suggestions that led to the addition of the 'Id' parameter to cAudio::Play(). for pointing out that MAXDPIDS needs to be to 16 (8xAC3 + 8xDTS) + for reporting a problem with ensuring there is a current audio track in case there + is only one track Rolf Hakenes for providing 'libdtv' and adapting the EIT mechanisms to it diff --git a/HISTORY b/HISTORY index babd602c..524b8aef 100644 --- a/HISTORY +++ b/HISTORY @@ -3435,3 +3435,5 @@ Video Disk Recorder Revision History - Changed MAXDPIDS to 16 (8xAC3 + 8xDTS) (thanks to Werner Fink for pointing this out). - Completed Dutch language texts (thanks to Hans Dingemans). - Added 'smi' to the Finnish language codes (thanks to Rolf Ahrenberg). +- Fixed ensuring there is a current audio track in case there is only one track + (thanks to Werner Fink for reporting this one). diff --git a/device.c b/device.c index d3a0765d..85d91235 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.95 2005/02/20 13:35:38 kls Exp $ + * $Id: device.c 1.96 2005/02/26 11:45:10 kls Exp $ */ #include "device.h" @@ -719,10 +719,10 @@ bool cDevice::SetAvailableTrack(eTrackType Type, int Index, uint16_t Id, const c strn0cpy(availableTracks[t].description, Description, sizeof(availableTracks[t].description)); if (Id) availableTracks[t].id = Id; // setting 'id' last to avoid the need for extensive locking - if (t == currentAudioTrack) - currentAudioTrackMissingCount = 0; - else if (!availableTracks[currentAudioTrack].id && currentAudioTrackMissingCount++ > NumAudioTracks() * 10) + if (!availableTracks[currentAudioTrack].id && currentAudioTrackMissingCount++ > NumAudioTracks() * 10) EnsureAudioTrack(); + else if (t == currentAudioTrack) + currentAudioTrackMissingCount = 0; return true; } else