From 01ace0891b1aaa0c5874ae1074780c80094a158d Mon Sep 17 00:00:00 2001 From: nicodvb Date: Sat, 6 Jan 2007 11:09:27 +0000 Subject: [PATCH] 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 --- stream/stream_dvb.c | 11 +++++------ 1 file 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++;