Changeset 11300
- Timestamp:
- 01/01/17 20:23:24 (6 years ago)
- Location:
- trunk
- Files:
-
- 1 added
- 3 edited
Legend:
- Unmodified
- Added
- Removed
-
trunk/Makefile
r11246 r11300 273 273 SRC-$(CONFIG_WITH_AZBOX) += module-dvbapi-azbox.c 274 274 SRC-$(CONFIG_WITH_MCA) += module-dvbapi-mca.c 275 SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi.c 275 ### SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi.c 276 ### experimental reversed API 277 SRC-$(CONFIG_WITH_COOLAPI) += module-dvbapi-coolapi-legacy.c 276 278 SRC-$(CONFIG_WITH_COOLAPI2) += module-dvbapi-coolapi.c 277 279 SRC-$(CONFIG_WITH_SU980) += module-dvbapi-coolapi.c -
trunk/module-dvbapi-coolapi.c
r11095 r11300 689 689 coolapi_check_error("cnxt_dmx_close_filter", result); 690 690 } 691 692 // COOLAPI2 - We don't want to close Channel on no ECM Filters (Makes AU / EMMs work) 693 if(dmx->type != TYPE_ECM) 694 { return 0; } 695 691 696 if (channel) { 692 697 result = cnxt_dmx_channel_close(channel); -
trunk/module-dvbapi.c
r11289 r11300 1125 1125 int32_t dvbapi_stop_filter(int32_t demux_index, int32_t type) 1126 1126 { 1127 #if defined(WITH_COOLAPI) || defined(WITH_COOLAPI2) 1128 // We prevented PAT and PMT from starting, so lets don't close them either. 1129 if (type != TYPE_ECM && type != TYPE_EMM && type != TYPE_SDT) { 1130 return 1; 1131 } 1132 #endif 1133 1127 1134 int32_t g, error = 0; 1128 1135 … … 1372 1379 void dvbapi_start_pat_filter(int32_t demux_index) 1373 1380 { 1381 #if defined(WITH_COOLAPI) || defined(WITH_COOLAPI2) 1382 // PAT-Filter breaks API and OSCAM for Coolstream. 1383 // Don't use it 1384 return; 1385 #endif 1386 1374 1387 dvbapi_start_filter(demux_index, demux[demux_index].pidindex, 0x00, 0x001, 0x01, 0x00, 0xFF, 0, TYPE_PAT); 1375 1388 } … … 1377 1390 void dvbapi_start_pmt_filter(int32_t demux_index, int32_t pmt_pid) 1378 1391 { 1392 #if defined(WITH_COOLAPI) || defined(WITH_COOLAPI2) 1393 // PMT-Filter breaks API and OSCAM for Coolstream. 1394 // Don't use it 1395 return; 1396 #endif 1397 1379 1398 uchar filter[16], mask[16]; 1380 1399 memset(filter, 0, 16); … … 3530 3549 } 3531 3550 3532 if(cfg.dvbapi_au > 0 && demux[demux_id].EMMpidcount == 0) // only do emm setup if au enabled and not running!3533 {3534 demux[demux_id].emm_filter = -1; // to register first run emmfilter start3535 if(demux[demux_id].emmstart.time == 1) // irdeto fetch emm cat direct!3536 {3537 cs_ftime(&demux[demux_id].emmstart); // trick to let emm fetching start after 30 seconds to speed up zapping3538 dvbapi_start_filter(demux_id, demux[demux_id].pidindex, 0x001, 0x001, 0x01, 0x01, 0xFF, 0, TYPE_EMM); //CAT3539 }3540 else { cs_ftime(&demux[demux_id].emmstart); } // for all other caids delayed start!3541 }3542 3543 3551 if(start_descrambling) 3544 3552 { … … 3578 3586 } 3579 3587 } 3588 3589 int32_t DoNotStartEMM = NULL; 3590 #if defined(WITH_COOLAPI) || defined(WITH_COOLAPI2) 3591 // Don't start and Stop EMM Filters over and over again if we are on FTA 3592 if (dvbapi_client->last_caid == NO_CAID_VALUE) { 3593 DoNotStartEMM = 1; 3594 } 3595 #endif 3596 3597 if(cfg.dvbapi_au > 0 && demux[demux_id].EMMpidcount == 0 && !DoNotStartEMM) // only do emm setup if au enabled and not running! 3598 { 3599 demux[demux_id].emm_filter = -1; // to register first run emmfilter start 3600 if(demux[demux_id].emmstart.time == 1) // irdeto fetch emm cat direct! 3601 { 3602 cs_ftime(&demux[demux_id].emmstart); // trick to let emm fetching start after 30 seconds to speed up zapping 3603 dvbapi_start_filter(demux_id, demux[demux_id].pidindex, 0x001, 0x001, 0x01, 0x01, 0xFF, 0, TYPE_EMM); //CAT 3604 } 3605 else { cs_ftime(&demux[demux_id].emmstart); } // for all other caids delayed start! 3606 } 3607 3580 3608 return demux_id; 3581 3609 } … … 6657 6685 } 6658 6686 #endif 6659 #if defined WITH_COOLAPI || defined WITH_COOLAPI2 6687 // Isn't implemented in COOLAPI-1 (legacy) 6688 #if defined WITH_COOLAPI2 6660 6689 case COOLAPI: 6661 6690 {
Note:
See TracChangeset
for help on using the changeset viewer.