summaryrefslogtreecommitdiffstats
path: root/stream
diff options
context:
space:
mode:
authornicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-06 11:09:27 +0000
committernicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2>2007-01-06 11:09:27 +0000
commit01ace0891b1aaa0c5874ae1074780c80094a158d (patch)
treeddfcefafefb6f85df7e29d60b494f87c8619fff8 /stream
parent190ea55d2e5afd83f55c4aa6dd28885a29ed01a3 (diff)
downloadmpv-01ace0891b1aaa0c5874ae1074780c80094a158d.tar.bz2
mpv-01ace0891b1aaa0c5874ae1074780c80094a158d.tar.xz
don't add pid 0 if it's already present in the list
git-svn-id: svn://svn.mplayerhq.hu/mplayer/trunk@21832 b3059339-0415-0410-9bf9-f77b7e298cf2
Diffstat (limited to 'stream')
-rw-r--r--stream/stream_dvb.c11
1 files changed, 5 insertions, 6 deletions
diff --git a/stream/stream_dvb.c b/stream/stream_dvb.c
index 40cd27371b..26d6a3bcd1 100644
--- a/stream/stream_dvb.c
+++ b/stream/stream_dvb.c
@@ -133,7 +133,7 @@ static dvb_channels_list *dvb_get_channels(char *filename, int type)
char line[CHANNEL_LINE_LEN], *colon;
int fields, cnt, pcnt, k;
- int has8192;
+ int has8192, has0;
dvb_channel_t *ptr, *tmp, chn;
char tmp_lcr[256], tmp_hier[256], inv[256], bw[256], cr[256], mod[256], transm[256], gi[256], vpid_str[256], apid_str[256];
const char *cbl_conf = "%d:%255[^:]:%d:%255[^:]:%255[^:]:%255[^:]:%255[^:]\n";
@@ -258,21 +258,20 @@ static dvb_channels_list *dvb_get_channels(char *filename, int type)
if((fields < 2) || (ptr->pids_cnt <= 0) || (ptr->freq == 0) || (strlen(ptr->name) == 0))
continue;
- has8192 = 0;
+ has8192 = has0 = 0;
for(cnt = 0; cnt < ptr->pids_cnt; cnt++)
{
if(ptr->pids[cnt] == 8192)
- {
has8192 = 1;
- break;
- }
+ if(ptr->pids[cnt] == 0)
+ has0 = 1;
}
if(has8192)
{
ptr->pids[0] = 8192;
ptr->pids_cnt = 1;
}
- else
+ else if(! has0)
{
ptr->pids[ptr->pids_cnt] = 0; //PID 0 is the PAT
ptr->pids_cnt++;