diff options
author | nicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-06 11:09:27 +0000 |
---|---|---|
committer | nicodvb <nicodvb@b3059339-0415-0410-9bf9-f77b7e298cf2> | 2007-01-06 11:09:27 +0000 |
commit | 01ace0891b1aaa0c5874ae1074780c80094a158d (patch) | |
tree | ddfcefafefb6f85df7e29d60b494f87c8619fff8 /stream/stream_dvb.c | |
parent | 190ea55d2e5afd83f55c4aa6dd28885a29ed01a3 (diff) | |
download | mpv-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/stream_dvb.c')
-rw-r--r-- | stream/stream_dvb.c | 11 |
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++; |