]> git.vomp.tv Git - vompclient.git/blob - channel.cc
Fix subs running during pause - after a jump then quick pause
[vompclient.git] / channel.cc
1 /*
2     Copyright 2004-2005 Chris Tallon
3
4     This file is part of VOMP.
5
6     VOMP is free software; you can redistribute it and/or modify
7     it under the terms of the GNU General Public License as published by
8     the Free Software Foundation; either version 2 of the License, or
9     (at your option) any later version.
10
11     VOMP is distributed in the hope that it will be useful,
12     but WITHOUT ANY WARRANTY; without even the implied warranty of
13     MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
14     GNU General Public License for more details.
15
16     You should have received a copy of the GNU General Public License
17     along with VOMP.  If not, see <https://www.gnu.org/licenses/>.
18 */
19
20 #include "channel.h"
21
22 #include "vdr.h"
23 #include "log.h"
24 #include "control.h"
25
26 static const char* TAG = "Channel";
27
28 void Channel::loadPids()
29 {
30   // Clear the list if this is a reload
31   if (numAPids)
32   {
33     apids.clear();
34     dpids.clear();
35     spids.clear();
36     vpid = 0;
37     tpid = 0;
38     numAPids = 0;
39     numDPids = 0;
40     numSPids = 0;
41   }
42
43   VDR::getInstance()->getChannelPids(this); // FIXME sort out this system
44   if (!VDR::getInstance()->isConnected())
45   {
46     Control::getInstance()->connectionLost();
47     return;
48   }
49
50   LogNT* logger = LogNT::getInstance();
51
52
53   logger->debug(TAG, "C.{} loaded, VPid={}, numApids={}, numDpids={}, numSpids={} TPid={}",
54       number, vpid, numAPids, numDPids, numSPids, tpid);
55   for (ULONG i = 0; i < numAPids; i++)
56   {
57     logger->debug(TAG, "APid {} {} {}", apids[i].pid, apids[i].desc,apids[i].type);
58   }
59   for (ULONG i = 0; i < numDPids; i++)
60   {
61     logger->debug(TAG, "DPid {} {} {}", dpids[i].pid, dpids[i].desc,dpids[i].type);
62   }
63   for (ULONG i = 0; i < numSPids; i++)
64   {
65     logger->debug(TAG, "SPid {} {} {} {} {}", spids[i].pid, spids[i].desc,spids[i].type,spids[i].data1,spids[i].data2);
66   }
67 }