Fixed checking pids in case a channel has only Dolby Digital audio

This commit is contained in:
Klaus Schmidinger 2012-03-08 10:04:16 +01:00
parent 9b68c100b2
commit 120fb54d49
3 changed files with 6 additions and 5 deletions

View File

@ -6960,7 +6960,7 @@ Video Disk Recorder Revision History
which was made in version 1.1.10, so please report if this has any unwanted
side effects.
2012-03-07: Version 1.7.26
2012-03-08: Version 1.7.26
- Now checking for NULL in cOsd::AddPixmap() (suggested by Christoph Haubrich).
- Fixed the German translation of "VDR will shut down in %s minutes" (thanks to
@ -6993,3 +6993,4 @@ Video Disk Recorder Revision History
broadcast Dolby Digital audio there were sometimes log entries like
"changing pids of channel ... from ... to ..." with no apparent difference
between the old and new set of pids.
- Fixed checking pids in case a channel has only Dolby Digital audio.

View File

@ -4,7 +4,7 @@
* See the main source file 'vdr.c' for copyright information and
* how to reach the author.
*
* $Id: dvbdevice.c 2.66 2012/03/07 13:37:01 kls Exp $
* $Id: dvbdevice.c 2.67 2012/03/08 09:49:58 kls Exp $
*/
#include "dvbdevice.h"
@ -1446,7 +1446,7 @@ bool cDvbDevice::ProvidesChannel(const cChannel *Channel, int Priority, bool *Ne
if (Priority >= 0) {
if (Receiving()) {
if (dvbTuner->IsTunedTo(Channel)) {
if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0))) {
if (Channel->Vpid() && !HasPid(Channel->Vpid()) || Channel->Apid(0) && !HasPid(Channel->Apid(0)) || Channel->Dpid(0) && !HasPid(Channel->Dpid(0))) {
if (CamSlot() && Channel->Ca() >= CA_ENCRYPTED_MIN) {
if (CamSlot()->CanDecrypt(Channel))
result = true;

4
vdr.c
View File

@ -22,7 +22,7 @@
*
* The project's page is at http://www.tvdr.de
*
* $Id: vdr.c 2.32 2012/03/06 12:14:17 kls Exp $
* $Id: vdr.c 2.33 2012/03/08 09:51:52 kls Exp $
*/
#include <getopt.h>
@ -761,7 +761,7 @@ int main(int argc, char *argv[])
static time_t lastTime = 0;
if ((!Menu || CheckHasProgramme) && Now - lastTime > MINCHANNELWAIT) { // !Menu to avoid interfering with the CAM if a CAM menu is open
cChannel *Channel = Channels.GetByNumber(cDevice::CurrentChannel());
if (Channel && (Channel->Vpid() || Channel->Apid(0))) {
if (Channel && (Channel->Vpid() || Channel->Apid(0) || Channel->Dpid(0))) {
if (cDevice::GetDeviceForTransponder(Channel, LIVEPRIORITY) && Channels.SwitchTo(Channel->Number())) // try to switch to the original channel...
;
else if (LastTimerChannel > 0) {