Changeset 18524
- Timestamp:
- 11/10/12 15:51:44 (11 years ago)
- Location:
- titan/titan
- Files:
-
- 7 edited
Legend:
- Unmodified
- Added
- Removed
-
titan/titan/audiodev.h
r14321 r18524 325 325 audioclose(NULL, fd); 326 326 count++; 327 adddvbdev(buf, i, y, -1, AUDIODEV, NULL, NULL );327 adddvbdev(buf, i, y, -1, AUDIODEV, NULL, NULL, 0); 328 328 } 329 329 } -
titan/titan/cidev.h
r10810 r18524 80 80 { 81 81 count++; 82 adddvbdev(buf, i, y, fd, CIDEV, NULL, NULL );82 adddvbdev(buf, i, y, fd, CIDEV, NULL, NULL, 0); 83 83 } 84 84 } -
titan/titan/dmxdev.h
r16303 r18524 476 476 count++; 477 477 for(z = 0; z < MAXDEMUXDEVOPEN; z++) 478 adddvbdev(buf, i, y, -1, DEMUXDEV, NULL, NULL );478 adddvbdev(buf, i, y, -1, DEMUXDEV, NULL, NULL, 0); 479 479 //without this, on atevio7500, if the second tuner is the maintuner 480 480 //no picture (i don't know why) -
titan/titan/dvbdev.h
r16286 r18524 2 2 #define DVBDEV 3 3 4 struct dvbdev* adddvbdev(char *dev, int adapter, int devnr, int fd, int type, struct dvb_frontend_info* feinfo, struct dvbdev* last) 4 //flag 0: use dvbdev 5 //flag 1: use dvbdevsim 6 struct dvbdev* adddvbdev(char *dev, int adapter, int devnr, int fd, int type, struct dvb_frontend_info* feinfo, struct dvbdev* last, int flag) 5 7 { 6 8 debug(1000, "in"); 7 struct dvbdev *newnode = NULL, *node = dvbdev;9 struct dvbdev *newnode = NULL, *node = NULL; 8 10 char* tmp = NULL, *tmp1 = NULL; 11 12 if(flag == 0) 13 node = dvbdev; 14 else 15 node = dvbdevsim; 9 16 10 17 newnode = (struct dvbdev*)malloc(sizeof(struct dvbdev)); … … 78 85 } 79 86 else 80 dvbdev = newnode; 87 { 88 if(flag == 0) 89 dvbdev = newnode; 90 else 91 dvbdevsim = newnode; 92 } 81 93 82 94 debug(1000, "out"); … … 84 96 } 85 97 86 void deldvbdev(char *dev) 98 //flag 0: use dvbdev 99 //flag 1: use dvbdevsim 100 void deldvbdev(char *dev, int flag) 87 101 { 88 102 debug(1000, "in"); 89 struct dvbdev *node = dvbdev, *prev = dvbdev; 103 struct dvbdev *node = NULL, *prev = NULL; 104 105 if(flag == 0) 106 { 107 node = dvbdev; 108 prev = dvbdev; 109 } 110 else 111 { 112 node = dvbdevsim; 113 prev = dvbdevsim; 114 } 90 115 91 116 while(node != NULL) … … 93 118 if(ostrcmp(node->dev, dev) == 0) 94 119 { 95 if( node == dvbdev)120 if(flag == 0 && node == dvbdev) 96 121 dvbdev = node->next; 122 else if(flag == 1 && node == dvbdevsim) 123 dvbdevsim = node->next; 97 124 else 98 125 prev->next = node->next; … … 126 153 } 127 154 128 void freedvbdev() 155 //flag 0: use dvbdev 156 //flag 1: use dvbdevsim 157 void freedvbdev(int flag) 129 158 { 130 159 debug(1000, "in"); 131 struct dvbdev *node = dvbdev, *prev = dvbdev; 160 struct dvbdev *node = NULL, *prev = NULL; 161 162 if(flag == 0) 163 { 164 node = dvbdev; 165 prev = dvbdev; 166 } 167 else 168 { 169 node = dvbdevsim; 170 prev = dvbdevsim; 171 } 132 172 133 173 while(node != NULL) … … 136 176 node = node->next; 137 177 if(prev != NULL) 138 deldvbdev(prev->dev );178 deldvbdev(prev->dev, flag); 139 179 } 140 180 debug(1000, "out"); -
titan/titan/frontenddev.h
r18216 r18524 1619 1619 { 1620 1620 count++; 1621 dvbnode = adddvbdev(buf, i, y, fd, FRONTENDDEV, feinfo, NULL );1621 dvbnode = adddvbdev(buf, i, y, fd, FRONTENDDEV, feinfo, NULL, 0); 1622 1622 if(dvbnode->feinfo->type == FE_QPSK) 1623 1623 fesetvoltage(dvbnode, SEC_VOLTAGE_OFF, 15); … … 1656 1656 { 1657 1657 sprintf(buf, frontenddev, 0, dvbnode->devnr); 1658 adddvbdev(buf, 0, dvbnode->devnr, -1, FRONTENDDEVDUMMY, NULL, NULL );1658 adddvbdev(buf, 0, dvbnode->devnr, -1, FRONTENDDEVDUMMY, NULL, NULL, 0); 1659 1659 } 1660 1660 -
titan/titan/rectimer.h
r18456 r18524 72 72 } 73 73 74 int checkrectimerconflict(struct rectimer* recnode) 75 { 76 struct dvbdev* dvbnode = dvbdev; 77 struct transponder* tpnode = NULL; 78 struct rectimer* node = rectimer; 79 80 while(dvbnode != NULL) 81 { 82 if(dvbnode->type == FRONTENDDEV) 83 { 84 adddvbdev(ostrcat(dvbnode->dev, NULL, 0, 0), dvbnode->adapter, dvbnode->devnr, dvbnode->fd, FRONTENDDEV, dvbnode->feinfo, NULL, 1); 85 } 86 dvbnode = dvbnode->next; 87 } 88 dvbnode = NULL; 89 90 tpnode = gettransponder(recnode->transponderid); 91 dvbnode = fegetfree(tpnode, 0, dvbdevsim); 92 if(dvbnode != NULL) 93 dvbnode->felock = 1; 94 95 while(node != NULL) 96 { 97 if(recnode != node && node->status < 2) 98 { 99 if((recnode->begin >= node->begin && recnode->begin < node->end) || (recnode->end >= node->begin && recnode->end < node->end)) 100 { 101 tpnode = gettransponder(recnode->transponderid); 102 dvbnode = fegetfree(tpnode, 0, dvbdevsim); 103 if(dvbnode == NULL) 104 { 105 freedvbdev(1); 106 dvbdevsim = NULL; 107 return 2; 108 } 109 else 110 dvbnode->felock = 1; 111 } 112 } 113 node = node->next; 114 } 115 116 freedvbdev(1); 117 dvbdevsim = NULL; 118 return 0; 119 } 120 74 121 int checkrectimeradd(struct rectimer* recnode, char** ret) 75 122 { … … 107 154 } 108 155 109 while(node != NULL) 110 { 111 if(recnode != node && node->status < 2) 112 { 113 if((recnode->begin >= node->begin && recnode->begin < node->end) || (recnode->end >= node->begin && recnode->end < node->end)) 114 { 115 *ret = "Timer conflicts with other timer\nWould you add the timer?"; 116 return 2; 117 } 118 } 119 node = node->next; 156 if(checkrectimerconflict(recnode) != 0) 157 { 158 *ret = "Timer conflicts with other timer\nWould you add the timer?"; 159 return 2; 120 160 } 121 161 -
titan/titan/titan.c
r18523 r18524 20 20 struct rc *rc = NULL; 21 21 struct dvbdev *dvbdev = NULL; 22 struct dvbdev *dvbdevsim = NULL; 22 23 struct channel *channel = NULL; 23 24 struct transponder *transponder = NULL; … … 380 381 freeconfig(); 381 382 382 freedvbdev( );383 freedvbdev(0); 383 384 384 385 closefb(fb);
Note: See TracChangeset
for help on using the changeset viewer.